Physically Unclonable Function (PUF)
What's PUF?
A physically unclonable function (PUF) is a function which produces an intrinsic manufacturing variation from unclonable physical features. Unclonable physical features include the fiber structure of paper, speckle patterns in laser beams passing through optically transparent objects containing impurities, and changes in capacitance of dielectric materials manufactured with micro-particle scattering. Among the different types of PUFs, silicon PUFs use the intrinsic manufacturing variability of silicon-based digital integrated circuits. A number of implementation methods exist for silicon PUFs, such as Arbiter PUF, Ring Oscillator PUF, SRAM PUF, Butterfly PUF, and Glitch PUF. By utilizing silicon PUFs, it is possible to identify each LSI and to prevent the distribution of imitative LSI.
In the following description, a silicon PUF is referred to simply as PUF. In this function, the output value changes depending on the type of implemented device and the circuit configuration method. It is necessary to perform quantitative evaluation in order to determine the type of PUF which is most suitable for a certain device as well as the most useful circuit configuration method for the device. To this end, we have proposed two quantitative evaluation studies, one of which is based on a statistical approach and the other one on a biometric approach. We have demonstrated the adequacy of these approaches by using Arbiter PUFs applied to FPGAs on 45 SASEBO-GII evaluation boards. We release here the 45 PUF output sets (AIST dataset), the manual, and the MATLAB source code used in our evaluation studies.
Statistical approach to quantitative evaluation of PUF performance
We have evaluated the performance of PUF by applying it to 45 SASEBO-GII boards. This type of board contains a built-in Xilinx Virtex-5 FPGA. A PUF circuit receives a 64-bit challenge as an input and produces a 1-bit response. The same PUF circuit is used 128 times for a given 64-bit challenge in order to produce a 128-bit response as an intrinsic identification code of the FPGA. We analyze the dataset gathered from 45 Arbiter PUF outputs with 1024 test iterations and 1024 IDs.
The following performance measurements are used for a quantitative evaluation.
- Rondomness
-
The balance between 0s and 1s in the responses of the PUF
- Steadiness
-
The stability of outputs with the same ID against the same challenge set
- Correctness
-
The feature of producing a correct ID
- Diffuseness
-
The features of outputs with different IDs against different challenge sets (within the same device)
- Uniqueness
-
The features of outputs with different IDs against the same challenge sets (in different devices)
The following figure is a diagram of the performance measurement (click to magnify). We release here the PUF output set, the MATLAB source code, and the manual of the program. The software and data on this website are freely available for academic research purposes. Please refer to the following paper for more specific information.
Analysis program
- MATLAB source code (zip 8KB)
- AIST PUF dataset (zip 68.6MB)
- Program manual (pdf 119KB)
Reference
Biometric approach to quantitative evaluation of PUF performance
In fact, the intrinsic PUF can be regarded as a fingerprint of the LSI. Therefore, we have tested the PUF performance from a biometric viewpoint (using the concept of equal error rate). The following figure is a diagram of the performance measurement (click to magnify). We release here the PUF output set, the MATLAB source code, and the manual of the program. The software and data on this website are freely available for academic research purposes. Please refer to the following paper for more specific information.
Analysis program
- MATLAB source code(zip 12KB)
- AIST PUF dataset (zip 68.6MB)
- Program manual (pdf 70KB)