A hardware device verification method based on an improved physically unclonable function
By generating dynamic challenges based on real-time data and device status, and combining timestamps and network latency to generate unique challenges, this method solves the problems of high storage overhead, susceptibility to replay attacks, and insufficient flexibility in existing PUF verification methods, and achieves efficient and secure device authentication.
Patent Information
- Application Number
- CN202411949718.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2044-12-27
AI Technical Summary
Existing pre-entered challenge-response pair (PUF) verification methods face problems such as high storage overhead, susceptibility to replay attacks, and insufficient flexibility and real-time performance in dynamic environments, failing to meet the security and adaptability requirements of modern network environments.
By generating dynamic challenges based on real-time data and device status, combining timestamps and network latency to generate unique challenges, encrypting responses using device keys, and decrypting and verifying them using a physically unclonable function model, dynamic response generation and real-time verification are achieved.
It improves the flexibility and security of device authentication, prevents replay attacks, ensures real-time performance and adaptability, and is suitable for complex and dynamically changing network environments.
Smart Images

Figure CN119814326B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a hardware device verification method, specifically a hardware device verification method based on an improved physically unclonable function. Background Technology
[0002] With the widespread application of the Internet of Things (IoT), embedded systems, and mobile devices, device authentication and secure communication have become critical issues in network security. Traditional authentication methods rely heavily on passwords, tokens, or certificate-based approaches, but these methods suffer from challenges such as difficult key management, vulnerability to attacks, and high storage overhead. To improve security and reduce the risk of key leakage, methods based on Physically Unclonable Functions (PUFs) have become an ideal alternative. PUF technology does not rely on traditional key storage but instead utilizes the physical characteristics of the hardware itself to generate unique identifiers, thus offering higher security, especially suitable for low-power, resource-constrained devices.
[0003] However, most existing PUF authentication methods rely on pre-recorded challenge-response pairs (CRPs) for authentication. These methods often suffer from problems such as high data storage and transmission overhead, lack of flexibility, and vulnerability to replay attacks, as detailed below:
[0004] The pre-entered challenge-response pair method requires devices to generate and store a large number of challenge-response pairs at the factory. This method can typically only verify fixed challenges and lacks adaptability to dynamic changes. As the device's operating environment changes (such as temperature, network latency, device load, etc.), the accuracy and reliability of the challenge-response pair may be affected, thereby reducing the flexibility and security of verification.
[0005] Pre-entered CRP authentication methods are vulnerable to replay attacks. In this method, the challenge-response pair is pre-stored; an attacker can simply intercept and replay a valid challenge-response pair to forge the device's identity and bypass authentication. Therefore, pre-entered authentication methods lack effective defense mechanisms against replay attacks, leading to reduced system security.
[0006] In dynamic environments, such as when devices are connected to different networks or face different operating conditions, the pre-entered CRP method cannot flexibly adjust to challenges and responses. The pre-entered verification mechanism is not adapted to dynamic factors such as network latency, bandwidth fluctuations, or changes in device performance, thus affecting the real-time performance and accuracy of verification.
[0007] Current pre-entered CRP methods are mostly used for traditional device authentication. However, in modern network environments, especially in scenarios with high real-time requirements, pre-entered authentication mechanisms cannot guarantee the timeliness and security of authentication. With the increasing complexity of inter-device communication and the growing number of security threats, pre-entered CRP methods face increasingly significant challenges.
[0008] Therefore, with the increasing demand for device authentication, it is necessary to propose a secure and effective device authentication method in a dynamically changing environment. Summary of the Invention
[0009] To address the problems and needs existing in the background technology, this invention proposes a hardware device verification method based on an improved physically unclonable function. This invention generates challenges and performs real-time verification using polymorphic inputs such as real-time data and device status, avoiding the storage overhead and replay attack risks of traditional methods. By utilizing real-time data transmitted by the device and current environmental information to generate challenges, combined with a real-time computation response generation mechanism, this invention provides a more flexible, secure, and efficient authentication scheme suitable for complex and dynamically changing environments, overcoming the limitations of existing pre-entered challenge-response pair verification methods in terms of real-time performance, adaptability, and security.
[0010] The technical solution adopted in this invention is:
[0011] I. A Hardware Device Verification Method Based on an Improved Physically Unclonable Function
[0012] During the registration phase, the verifier obtains the physical model of the physical non-clonable function used by the device and sends the device verifier key to the device.
[0013] During the verification phase, the device sends the normally transmitted data to the verifier. The verifier generates a dynamic challenge based on the received normally transmitted data. The device generates a dynamic response and a second timestamp based on the dynamic challenge generated by the verifier, and combines them into the transmitted data. The device encrypts the transmitted data using the device verifier's key before sending it to the verifier. The verifier decrypts, verifies the validity and correctness of the received encrypted transmitted data using the physical model of the physical non-cloning function used by the device, and obtains the corresponding device verification result.
[0014] The verifier generates a dynamic challenge based on the data received from the device during normal transmission, specifically including:
[0015] The verifier generates a dynamic challenge based on the data received from the device during normal transmission, the verifier's first timestamp, and the network latency between the verifier and the device.
[0016] The device provider generates a dynamic response and a second timestamp based on the dynamic challenge generated by the verifier, specifically including:
[0017] The device provider uses the dynamic challenge generated by the verifier and the device's current timestamp T. dt Generate the first pseudo-random number seed. t The pseudo-random number generator in the device is based on the first pseudo-random number seed. t Generate dynamic response, device current timestamp T dt As a second timestamp.
[0018] The device provider uses the device verification key to encrypt the transmitted data, including:
[0019] Based on the device verification key, the device uses symmetric encryption to encrypt the dynamic response and the corresponding timestamp respectively, to obtain the encrypted dynamic response and the second timestamp;
[0020] The device provider uses its private key, DeviceKey, to perform public-private key encryption on the encrypted dynamic response and the second timestamp to obtain the signature. t The encrypted dynamic response, timestamp, and signature will be combined. t Send them together to the verifier.
[0021] The verifier, in conjunction with the physical model of the physically unclonable function used by the device provider, decrypts, verifies the validity and correctness of the received encrypted transmission data, specifically including:
[0022] S1: After the authenticator receives the encrypted transmission data from the device, the authenticator records the timestamp T′ at this time. vt And record it as the third timestamp;
[0023] S2: Perform time-dynamic window verification: If the third timestamp T′ vt If the time difference between the first timestamp of the verifier and the first timestamp of the verifier does not exceed the maximum allowable time, proceed to the next step; otherwise, return a timeout message, fail the verification and end the verification process.
[0024] S3: The verifier uses the device verifier key Key to decrypt the encrypted dynamic response and the second timestamp in the received encrypted transmission data to obtain the decrypted dynamic response and the second timestamp.
[0025] S4: The verifier uses the device's public key (DevicePublicKey) to sign the device's message. t The verification process is performed. If the validity verification is successful, the process proceeds to the next step; otherwise, the process returns that the signature information has been tampered with, fails, and ends the verification.
[0026] S5: Combining the physical unclonable function physical model used by the device provider, the verifier generates a second pseudo-random number seed, Seed′, based on the data previously transmitted normally by the device, the dynamic challenge, and the decrypted second timestamp. t The verifier uses the second pseudo-random number seed, Seed′. t Generate a computational response and compare it with the decrypted dynamic response. If the comparison result meets the expected conditions, the correctness verification is passed and the device verification is finally passed; otherwise, the device verification fails.
[0027] II. A computer device
[0028] The device includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps of the hardware device verification method based on an improved physical non-cloning function.
[0029] III. A computer-readable storage medium
[0030] The medium stores a computer program that, when executed by a processor, implements the steps of the hardware device verification method based on an improved physical non-cloning function.
[0031] IV. A computer program product
[0032] The product includes a computer program / instructions that, when executed by a processor, implement the steps of the hardware device verification method based on an improved physically unclonable function.
[0033] Compared with the prior art, the beneficial effects of the present invention are:
[0034] This invention overcomes the technical problems of existing pre-entered challenge-response pair (CRP) methods by generating dynamic challenges based on real-time data and device status for device authentication, particularly in terms of adaptability, security, and real-time performance in device authentication. Specifically:
[0035] This approach addresses the limitations of pre-entered challenges by introducing polymorphic data input. Dynamic factors such as device status, timestamps, pseudo-random numbers, and network latency are incorporated into the challenge generation process, ensuring that each generated challenge is unique and unpredictable. This not only enhances the randomness of the challenges but also prevents the risk of replay attacks due to fixed challenges, a vulnerability inherent in traditional pre-entered challenge-response pair methods.
[0036] Enhanced resistance to replay attacks: The challenge generation mechanism proposed in this invention combines real-time data and environmental changes, ensuring that each verification process relies on real-time generated challenges and responses. This prevents attackers from bypassing authentication by replaying historical data, effectively preventing replay attacks.
[0037] Enhanced real-time performance and adaptability: This technical solution ensures real-time authentication through dynamic adjustments to network latency and PUF response generation speed. The authenticator adjusts the authentication window based on actual network latency and device response speed, ensuring the accuracy and timeliness of each authentication.
[0038] A flexible PUF verification mechanism is provided: This invention supports any type of inherent identity extraction circuit designed based on random fluctuations in hardware parameter performance, satisfies the basic response generation mechanism of any PUF, and can flexibly select the appropriate verification method according to different hardware platforms and environments. The output of the PUF no longer depends solely on the physical characteristics of the chip, but also incorporates environmental factors, making response generation more diverse and unpredictable. Attached Figure Description
[0039] Figure 1 A flowchart for hardware device authentication. Detailed Implementation
[0040] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0041] This embodiment uses the Nordic nRF52840DK kit as the hardware platform for detailed explanation. Figure 1 The demonstration shows the process from the verifier generating a challenge using polymorphic inputs such as data transmitted normally by the device, the verifier's first timestamp, pseudo-random numbers generated by the verifier's own pseudo-random number generator, and network latency between the verifier and the device, to the device generating a response, encrypting it, and sending it to the verifier, and finally the verifier decrypting the received response and comparing it with the calculated expected response to give the verification result.
[0042] The specific process is as follows:
[0043] During the registration phase, the verifier obtains the physical model of the physical non-clonable function used by the device and sends the device verifier key to the device.
[0044] During the verification phase, the device sends the normally transmitted data to the verifier. The verifier generates a dynamic challenge based on the received normally transmitted data. The device generates a dynamic response and a second timestamp based on the dynamic challenge generated by the verifier, and combines them into the transmitted data. The device encrypts the transmitted data using the device verifier's key before sending it to the verifier. The verifier decrypts, verifies the validity and correctness of the received encrypted transmitted data using the physical model of the physical non-cloning function used by the device, and obtains the corresponding device verification result, thus completing the current device verification.
[0045] The verifier generates a dynamic challenge based on the data received from the device during normal transmission, specifically including:
[0046] The verifier generates a dynamic challenge C based on the data received from the device during normal transmission, the verifier's first timestamp, and the network latency between the verifier and the device. t The continuously changing data can be adjusted according to real-time environmental conditions to ensure that each generated challenge is unique, thus guaranteeing the unpredictability and irreversibility of the generated challenges. The specific formula is as follows:
[0047] C t =H(D) t ⊕T vt ⊕P t ⊕ΔT net )
[0048] Where H() is a one-way encryption function, including but not limited to hash algorithms such as SHA-256; D t For data transmitted normally by the device, T vt P is the first timestamp for verification. t To verify the pseudo-random numbers generated by Fang's proprietary pseudo-random number generator, ΔT net To verify the network latency between the device and the receiver, it can be measured; ⊕ represents a bitwise XOR operation, ensuring data diversity.
[0049] This invention combines network latency, making the challenges not only dependent on device data and timestamps, but also incorporating actual network conditions, resulting in more dynamic challenges that can effectively prevent replay attacks by network attackers.
[0050] The device provider generates a dynamic response and a second timestamp based on the dynamic challenge generated by the verifier, specifically including:
[0051] The device provider uses the dynamic challenge generated by the verifier and the device's current timestamp T. dt Generate the first pseudo-random number seed. t The formula is as follows:
[0052] Seed t=H(C t ⊕T dt )
[0053] Where H() is a one-way encryption function, c t T is the dynamic challenge sent by the verifier to the device provider. dt The timestamp for the device to generate the pseudo-random number seed;
[0054] The pseudo-random number generator (PRNG) in the device is based on the first pseudo-random number seed. t Generate dynamic response, device current timestamp T dt As a second timestamp.
[0055] Specifically:
[0056] In identity verification using an inherent identity extraction circuit designed to handle random fluctuations in hardware parameter performance, regardless of the method employed, the generated pseudo-random number seed can be utilized. t To generate a response, the following are examples of two types of PUFs: For the Arbiter PUF class, a latency-based PUF, the device utilizes Seed... t The challenge is to use the generated random numbers as input to the PUF; for PUFs based on charge 0 and 1 distributions with random fluctuations in hardware parameters, the response is obtained by using a pseudo-random number generator (PRNG) with a seed. t Generate by selecting specified bits from stable bits:
[0057] SelectBits t =PRNG(Seed t )
[0058] Among them, SelectBits t To serve as the stable, randomly fluctuating bits of the PUF (Personalized Random Number Array) that need to be read, the 256 bits together constitute the device's PUF response. PRNG() is a pseudo-random number generator that utilizes a previously generated seed. t Generate a string of data, Seed t The randomness ensures that each selection is the response R. t Randomness and uniformity of PUF bits based on random fluctuations in hardware parameters.
[0059] The device provider uses the device authentication key to encrypt transmitted data, including:
[0060] To ensure the confidentiality of the response and prevent tampering, the device verifies the key using symmetric encryption methods (including but not limited to AES encryption) to authenticate the dynamic response R. t and the corresponding timestamp T dtEncrypt the data separately to obtain the encrypted dynamic response and the second timestamp, using the following formula:
[0061]
[0062] Where Encrypt() is the encryption method. and These are the encrypted dynamic response and the encrypted timestamp, respectively, with Key being the device verification key;
[0063] To ensure the authenticity of the response, the device provider uses its private key, DeviceKey, to perform public-private key encryption on the encrypted dynamic response and the second timestamp to obtain the signature. t Complete the response To achieve efficient integrity protection, the formula is: Sign() is a public-key encryption algorithm. It combines the encrypted dynamic response, timestamp, and signature (Signature) into a single key. t Both are sent to the verifier. Public and private key encryption algorithms include, but are not limited to, signature algorithms such as ECDSA; the specific method is selected based on the application scenario.
[0064] The verifier, in conjunction with the physical model of the physically unclonable function used by the device provider, decrypts, verifies the validity and correctness of the received encrypted transmitted data, specifically including:
[0065] To ensure the timeliness of challenges and responses, after the verifier receives the encrypted transmission data from the device, the verifier records the timestamp T at that moment. v ′ t This is recorded as the third timestamp, followed by dynamic time window verification: if the third timestamp T... v ′ t The time difference between the first timestamp of the verifier and the first timestamp of the verifier shall not exceed the maximum allowable time ΔT. tor That is, |T v ′ t -T vt |≤ΔT tor ΔT tor If the dynamic time tolerance window is set, it represents the maximum allowable time from response generation to response receipt allowed by the device. If so, proceed to the next step; otherwise, a timeout message is returned, the verification fails, and the process ends. Here, ΔT... tor The selection is based on network latency and PUF response generation speed. The validator measures the PUF response generation speed during registration, and different PUF categories affect the PUF response generation speed. Network latency is dynamically measured during use, and ΔT is calculated after the measurement. tor Adjustments will be made.
[0066] The verifier uses the shared device verifier key Key to decrypt the encrypted dynamic response and second timestamp in the received encrypted transmission data, obtaining the decrypted dynamic response and second timestamp, as shown in the following formula:
[0067]
[0068] Among them, R′ t and T′ dt These are the decrypted dynamic response and the second timestamp, respectively; Decrypt() is the decryption algorithm.
[0069] Next, the verifier uses the device's public key, DevicePublicKey, to verify the signature sent by the device. t The verification process is performed. If the validity verification is successful, the response is valid, ensuring the integrity of the response and that it has not been tampered with, and proceeding to the next step. Otherwise, the process returns that the signature information has been tampered with, fails the verification, and ends.
[0070] Then, combining the physical model of the physically unclonable function used by the device, the verifier generates a second pseudo-random number seed, Seed′, based on the data previously transmitted normally by the device, the dynamic challenge, and the second timestamp transmitted and decrypted by the device. t The verifier uses the second pseudo-random number seed, Seed′. t Generate a computational response, such as a PUF based on random fluctuations in hardware parameters, which selects the corresponding bit stored on the verifier. Compare the computational response with the decrypted dynamic response. If the comparison result meets the expected conditions, the correctness verification passes, and the final device verification passes. Otherwise, it returns a message indicating that the device identity in this verification does not match the expected device identity, and the correctness verification fails.
[0071] The present invention also proposes a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of a hardware device verification method based on an improved physical unclonable function.
[0072] The present invention also proposes a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of a hardware device verification method based on an improved physically unclonable function.
[0073] The present invention also proposes a computer program product comprising a computer program / instructions that, when executed by a processor, implement the steps of a hardware device verification method based on an improved physically unclonable function.
[0074] Finally, it should be noted that the above embodiments and descriptions are only used to illustrate the technical solutions of the present invention and not to limit it. Those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the disclosure of the technical solutions of the present invention, and all such modifications and substitutions should be covered within the protection scope of the claims of the present invention.
Claims
1. A hardware device verification method based on an improved physically unclonable function, characterized in that, include: During the registration phase, the verifier obtains the physical model of the physical non-clonable function used by the device and sends the device verifier key to the device. During the verification phase, the device sends the normally transmitted data to the verifier. The verifier generates a dynamic challenge based on the received normally transmitted data. The device generates a dynamic response and a second timestamp based on the dynamic challenge generated by the verifier, and then assembles the transmitted data. The device encrypts the transmitted data using the device verifier's key before sending it to the verifier. The verifier decrypts, verifies the validity and correctness of the received encrypted transmitted data using the physical model of the physical non-cloning function used by the device, and then obtains the corresponding device verification result. The verifier generates a dynamic challenge based on the data received from the device during normal transmission, specifically including: The verifier generates a dynamic challenge based on the data received from the device during normal transmission, the verifier's first timestamp, and the network latency between the verifier and the device. The verifier, in conjunction with the physical model of the physically unclonable function used by the device provider, decrypts, verifies the validity and correctness of the received encrypted transmission data, specifically including: S1: After the authenticator receives the encrypted transmission data back from the device, the authenticator records the timestamp at this time. And record it as the third timestamp; S2: Perform dynamic time window verification: if a third timestamp If the time difference between the first timestamp of the verifier and the first timestamp of the verifier does not exceed the maximum allowable time, proceed to the next step; otherwise, return a timeout message, fail the verification and end the verification process. S3: The authenticator uses the device authenticator key. The encrypted dynamic response and the second timestamp in the received encrypted transmission data are decrypted to obtain the decrypted dynamic response and the second timestamp. S4: The authenticator uses the device's public key. Signature sent by the device provider The verification process is performed. If the validity verification is successful, the process proceeds to the next step; otherwise, the process returns that the signature information has been tampered with, fails, and ends the verification. S5: Combining the physical unclonable function physical model used by the device provider, the verifier generates a second pseudo-random number seed based on the data previously transmitted normally by the device, the dynamic challenge, and the decrypted second timestamp. The verifier uses the second pseudo-random number seed. Generate a computational response and compare it with the decrypted dynamic response. If the comparison result meets the expected conditions, the correctness verification is passed and the device verification is finally passed; otherwise, the device verification fails.
2. The hardware device verification method based on an improved physically unclonable function according to claim 1, characterized in that, The device provider generates a dynamic response and a second timestamp based on the dynamic challenge generated by the verifier, specifically including: The device provider uses the dynamic challenge generated by the verifier and the device's current timestamp. Generate the first pseudo-random number seed The pseudo-random number generator in the equipment is based on the first pseudo-random number seed. Generate dynamic response, device current timestamp As a second timestamp.
3. The hardware device verification method based on an improved physically unclonable function according to claim 1, characterized in that, The device provider uses the device verification key to encrypt the transmitted data, including: Based on the device verification key, the device uses symmetric encryption to encrypt the dynamic response and the corresponding timestamp respectively, to obtain the encrypted dynamic response and the second timestamp; The device provider uses its private key The signature is obtained by encrypting the encrypted dynamic response and the second timestamp using public and private keys. The encrypted dynamic response, timestamp, and signature are combined. Send them together to the verifier.
4. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the hardware device verification method based on an improved physical non-cloning function as described in any one of claims 1 to 3.
5. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the hardware device verification method based on an improved physical non-cloning function as described in any one of claims 1 to 3.
6. A computer program product comprising a computer program / instructions, characterized in that, When executed by a processor, the computer program / instruction implements the steps of a hardware device verification method based on an improved physically unclonable function as described in any one of claims 1 to 3.
Citation Information
Patent Citations
Remote re-enrollment of physical unclonable functions
CN109756338A
Lightweight identity authentication method based on physical unclonable function
CN113282898A