This repo contains the development of the frontend to execute, filter and analyse PUF-related (Physical Unclonable Function) behavior tests. The execution and evaluation platform was successfully was developed as part of the DFG projects:
- Nano Security: Von Nanoelektronik zu Sicheren Systemen
- Intrinsische Physical Unclonable Functions aus neuartigen nichtflüchtigen Speichern
The initial version of the platform was created as part of El khayari Abderrazzak's master's thesis.
- Test Template Definition: Users can define test templates for various PUF types, such as memory-based PUFs (e.g., SRAM, DRAM) and PUFs on passive circuit elements (e.g., memristors or CNT-FETs). Additionally, custom tests can be scripted.
- Device Management: The platform ables device detection, allowing users to add devices for test execution. It also supports scheduling tests on multiple devices in parallel.
-
Results Visualization: Users can visually explore and filter measurement results easily.
-
Test Result Evaluation: The platform enables the evaluation and visualization of test results, providing valuable insights.
-
Data Upload: Users can upload existing measurements, seamlessly integrating them into the platform's database.
-
Authentication and Rights Management: The platform ensures secure multi-user access with authentication and rights management features, granting users access to specific data based on their roles.
-
Integration with Measurement Instruments: Seamless integration with measurement instruments such as DC Power Supplies, Oscilloscopes, SMUs, and Signal Generators is achieved through the use of the instrument control library.
The platform is written as React Application utilizing Material UI design elements.
To install the required packages, the following commands must be executed:
sudo apt-get install nodejs npm
cd ./puf_frontend
npm install
The application can be started by the command:
npm start
Now the frontend is accessible over http://localhost:3000.
The platform requires a backend implementation. Currently, a Django backend server has been implemented, providing the necessary endpoints. However, it is stored in a closed repository due to the sensitivity of the algorithms involved. This ensures the protection of proprietary information and algorithms utilized in the platform's operation. An overview of the required endpoints is provided below.