Software PUF based on RISC-V processor for IoT security
11985261 ยท 2024-05-14
Assignee
Inventors
- Pengjun Wang (Zhejiang, CN)
- Li Ni (Zhejiang, CN)
- Yue Jun ZHANG (Zhejiang, CN)
- Di Zhou (Zhejiang, CN)
- Yijian SHI (Zhejiang, CN)
Cpc classification
G09C1/00
PHYSICS
H04L2209/12
ELECTRICITY
G06F21/73
PHYSICS
H04L2209/26
ELECTRICITY
G06F21/566
PHYSICS
H04L9/002
ELECTRICITY
International classification
H04L9/32
ELECTRICITY
Abstract
Disclosed is a software PUF based on an RISC-V processor for IoT security. A 32-bit RISC-V processor is used to generate abnormal information results in an abnormal operating state under a low voltage, and the abnormal information results are used to represent the features of the 32-bit RISC-V processor; 5-bit binary data obtained by comparing the abnormal information results with normal information results has high randomness and uniqueness and it is extremely difficult to directly extract internal abnormal information result from a hardware circuit of the 32-bit RISC-V processor, so modeling attacks based on the 5-bit binary data calculated according to the abnormal information results of the 32-bit RISC-V processor are almost impossible; in addition, when the 32-bit RISC-V processor is in an abnormal operating state, the operating frequency of the 32-bit RISC-V processor is dynamically adjusted through a frequency compensation method.
Claims
1. A software PUF based on an RISC-V processor for IoT security, characterized in that comprises a 32-bit RISC-V processor, wherein a temperature sensor for monitoring an operating temperature of the 32-bit RISC-V processor and a voltage sensor for monitoring an operating voltage of the 32-bit RISC-V processor are configured in the 32-bit RISC-V processor, and the 32-bit RISC-V processor generates an output response through the following method: (1) randomly selecting, from R instructions, four groups of instructions and four groups of operands corresponding to the four groups of instructions, wherein the four groups of instructions are all 32-bit binary data, and the four groups of operands are all 64-bit binary data; (2) accessing a supply voltage to the 32-bit RISC-V processor, wherein the supply voltage is a normal operating voltage of the 32-bit RISC-V processor, and the 32-bit RISC-V processor enters a normal operating state under the normal operating voltage, and an operating frequency of the 32-bit RISC-V processor at this moment is a normal operating frequency; sequentially loading the four groups of operands to a general register with a load instruction, sorting the four groups of instructions in chronological order, sequentially running the four groups of instructions and the corresponding four groups of operands according to the sorting order to successively obtain four normal information results corresponding to the four groups of instructions, and storing the four normal information results in the general register, wherein the four normal information results are 32-bit binary data; (3) decreasing the supply voltage accessed to the 32-bit RISC-V processor to 0.7V, wherein the supply voltage at this moment is an abnormal operating voltage of the 32-bit RISC-V processor, and the 32-bit RISC-V processor enters an abnormal operating state under the abnormal operating voltage; (4) acquiring a current operating temperature of the 32-bit RISC-V processor from the temperature sensor, acquiring a current operating voltage of the 32-bit RISC-V processor from the voltage sensor, denoting the current operating temperature of the 32-bit RISC-V processor as temp.sub.cur, denoting the current operating voltage of the 32-bit RISC-V processor as V.sub.cur, and obtaining a compensatory operating frequency of the 32-bit RISC-V processor by calculation according to formula (1):
2. The software PUF according to claim 1, wherein the four groups of instructions are add instructions, subtract instructions, multiply instructions and divide instructions.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION OF THE INVENTION
(7) The invention will be described in further detail below in conjunction with the accompanying drawings and embodiments.
(8) Embodiment: A software PUF based on an RISC-V processor for IoT security comprises a 32-bit RISC-V processor, wherein a temperature sensor for monitoring the operating temperature of the 32-bit RISC-V processor and a voltage sensor for monitoring the operating voltage of the 32-bit RISC-V processor are configured in the 32-bit RISC-V processor, and the 32-bit RISC-V processor generates an output response through the following method: (1) randomly selecting, from R instructions, four groups of instructions and four groups of operands corresponding to the four groups of instructions, wherein the four groups of instructions are all 32-bit binary data, and the four groups of operands are all 64-bit binary data; (2) accessing a supply voltage to the 32-bit RISC-V processor, wherein the supply voltage is a normal operating voltage of the 32-bit RISC-V processor, and the 32-bit RISC-V processor enters a normal operating state under the normal operating voltage, and the operating frequency of the 32-bit RISC-V processor at this moment is a normal operating frequency; sequentially loading the four groups of operands to a general register with a load instruction, sorting the four groups of instructions in chronological order (preset), sequentially running the four groups of instructions and the corresponding four groups of operands according to the sorting order to successively obtain four normal information results corresponding to the four groups of instructions, and storing the four normal information results in the general register, wherein the four normal information results are 32-bit binary data; (3) decreasing the supply voltage accessed to the 32-bit RISC-V processor to 0.7V, wherein the supply voltage at this moment is an abnormal operating voltage of the 32-bit RISC-V processor, and the 32-bit RISC-V processor enters an abnormal operating state under the abnormal operating voltage; (4) acquiring a current operating temperature of the 32-bit RISC-V processor from the temperature sensor, acquiring a current operating voltage of the 32-bit RISC-V processor from the voltage sensor, denoting the current operating temperature of the 32-bit RISC-V processor as temp.sub.cur, denoting the current operating voltage of the 32-bit RISC-V processor as V.sub.cur, and obtaining a compensatory operating frequency of the 32-bit RISC-V processor by calculation according to formula (1):
(9)
(10) In this embodiment, the four groups of instructions are add instructions, subtract instructions, multiply instructions and divide instructions.
(11) An RISC-V instruction is used to activate a path of the 32-bit RISC-V processor, and abnormal information of the 32-bit RISC-V processor under an abnormal operating condition is obtained by decreasing the supply voltage and adjusting the operating frequency of the 32-bit RISC-V processor. The operating states of the 32-bit RISC-V processor under different supply voltages are shown in
(12) The randomness of the PUF is generally visually evaluated by information entropy. The output of the PUF has two states: logic 1 and logic 1. So, the information entropy E may be expressed as:
(13)
(14) In formula (2), p(r=0) and p(r=1) respectively represent the probability of logic 0 and the probability of logic 1 of an output. When and only when p(r=0)=p(r=1)=0.5, E=1. To further study the influence of random processing on output responses, Monte Carlo emulation is performed 50 times under a voltage of 0.7V to simulate random process deviations of 50 32-bit RISC-V processors, and output responses of 50 software PUFs are recorded. Wherein, the entropy distribution of the output responses of the 50 software PUFs is shown in
(15) The uniqueness refers to the capacity to obtain process deviations of the PUF and is used to identify the difference between different software PUFs. The uniqueness of the software PUF of the invention is evaluated by calculating the Hamming distance (HD) between output responses of different PUFs of the same type. The uniqueness represents the average inter-chip HD of K different software PUFs, and may be expressed as:
(16)
(17) In formula (3), k is the number of the software PUFs, R.sub.i and R.sub.j are the output response of the i.sup.th software PUF and the output response of the j.sup.th software PUF, and HD(R.sub.i, R.sub.j) is the HD between the i.sup.th software PUF and the j.sup.th software PUF. By calculation according to formula (3), the uniqueness of the output responses of the software PUFs is 50.1%, which is close to the ideal value 50%, indicating that data of the software PUFs is completely free of biases. As can be seen from
(18) The security means that it is hardly possible for an attacker to predict PUF responses corresponding to new challenges by means of previous CRPs or CRPs of other PUFs. Generally, the security of the software PUF of the invention is evaluated with the NIST SP800-22 test suite and the auto-correlation test.
(19) 1. NIST test: the NIST statistical test suite is used to evaluate the randomness of encryption applications and pseudo-random numbers. 51,200 random response sequences generated by a test chip are used as inputs of NIST, and these inputs are divided into 50 individual bit streams and are subjected to different NIST tests. Table 1 shows the results of the output responses of the software PUF tested with NIST. The P values of the generated bit streams are all greater than 0.01, and the sequences pass all the tests. Specific test data is shown in Table 1.
(20) TABLE-US-00001 TABLE 1 NIST Test NIST Test Name Stream Run No. P value Pass Frequency 1024 50 0.3815 100 Block 1024 50 0.9782 100 Frequency Runs 1024 50 0.4301 100 Rank 1024 50 0.3018 100 Longest Runs 1024 50 0.5241 100 FFT 1024 50 0.7439 100 Cumulative 1024 50 0.5864 100 Sums Non-overlapping 1024 50 0.7921 100 Overlapping 1024 50 0.4276 100 Template Serial 1024 50 0.1254 100 Approximate 1024 50 0.4393 100 Entropy
(21) 2. Auto-correlation test: the auto-correlation test describes the degree of correlation between a current value and a previous value of the random response sequences to determine whether the tested PUF can generate independent numbers with the same distribution in the sequences. The software PUF of the invention is tested by evaluating the auto-correlation of a 4500-bit output response of the software PUF. The auto-correlation result of the output response of the software PUF is shown in
(22) System noise and changes of supply voltage and temperature will lead to a decline of the stability of the PUF. To evaluate the effectiveness of the frequency compensation method of the invention, the error rate of output response data of 50 software PUFs calibrated with the frequency compensation method and the error rate of output response data of 50 software PUFs not calibrated with the frequency compensation method under different voltages are tested. The error rates of the software PUF under different supply voltages are shown in