SRAM PUF-based Internet of Things equipment data security transmission method
By using SRAM PUF in IoT devices to generate encryption keys in real time, the security of key storage is solved, and efficient and secure data transmission is achieved.
Patent Information
- Application Number
- CN202510559199.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2025-06-03
- Estimated Expiration
- 2045-04-30
AI Technical Summary
IoT devices face the security of key storage during the secure data transmission process. Traditional methods require storing the ‘root key’ in NVM, which is susceptible to physical attacks and key leakage risks.
The Internet of Things device data security transmission method based on SRAM PUF is adopted to generate encryption keys in real time through SRAM PUF devices to avoid storing the keys in advance, and combine error correction algorithms and post-processing algorithms to achieve stable generation and update of keys.
It improves the security of key storage, reduces the complexity of device-side computing, avoids key theft attacks, and ensures the security and effectiveness of authentication key exchange through companion updates.
Smart Images

Figure CN120090803A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of the Internet of Things, and particularly relates to a method for secure data transmission of Internet of Things devices based on SRAM PUF. Background Art
[0002] The emergence of the Internet of Things (IoT) has brought many conveniences and innovations to human life and work, playing an increasingly important role in various fields of human society, and gradually developing into an essential part of people's daily lives. The IoT covers a wide range, involves a large number of devices, has a high frequency of data interaction between devices, and the transmitted content involves a large amount of user privacy information. Attackers can launch attacks on the communication process of IoT devices through means such as man-in-the-middle attacks, side-channel attacks, and replay attacks to obtain communication interaction privacy information. To protect user privacy information, ensuring the security, integrity, confidentiality, and availability of device secure access and data transmission is of great significance for the secure operation of the IoT. Researchers have carried out a large number of related research works on IoT secure communication. Among them, secure identity authentication and communication key exchange are the basis for secure data transmission of IoT devices, and cryptographic algorithms are the basis for realizing authentication key exchange. Currently, cryptographic algorithms are mainly divided into two methods: symmetric encryption and asymmetric encryption. However, regardless of whether symmetric encryption or asymmetric encryption is used, during the process of authentication key exchange, the "root key" needs to be stored in the IoT device's NVM (the English full name is Non-Volatile Memory, and the Chinese name is non-volatile memory) in advance. The IoT device uses NVM for key storage, which is vulnerable to physical attacks and faces the risk of key leakage. To solve the problem of key storage security, people have tried to use the method of Physical Unclonable Function (PUF) to solve the problems existing in IoT authentication key exchange. PUF is a hardware security technology that does not require storing keys on the device and can extract unique manufacturing differences during the chip manufacturing process in the form of Challenge Response Pairs (CRPs), thereby applying the inherent security characteristics to scenarios such as key storage, secure authentication, and key exchange.
[0003] Researchers have conducted a large number of studies on different types of PUFs, attempting to use SRAM (Static Random-Access Memory), DRAM (Dynamic Random Access Memory), Arbiter PUF, etc. to solve the problems of access authentication and secure communication for Internet of Things devices. Among them, SRAM PUF has a wide range of applications in random number generation, identity authentication, and information encryption due to its simple design, convenient use, good economy, and high reliability. The SRAM memory cell is composed of 6 MOS (MOS is the abbreviation of MOSFET, and the full English name of MOSFET is Metal-Oxide-Semiconductor Field-Effect Transistor) transistors, two of which are access transistors, and the other four form two cross-coupled inverters. The fingerprint feature of SRAM PUF is mainly caused by the transistor mismatch during the startup process of the SRAM memory cell, and the mismatch is caused by uncontrolled changes at the atomic level during the manufacturing process. Therefore, SRAM PUFs with different fingerprint features can be fabricated under the same process. Researchers store the fingerprint feature of SRAM PUF on the server for device security authentication. However, since the PUF fingerprint feature is stored in the server NVM as the "root key" all the time, there are security risks. Once information leakage occurs, it will affect the security of the overall authentication system. In addition, the fingerprint feature stored on the server cannot be updated because the fingerprint feature is bound to the SRAM PUF. If the fingerprint feature needs to be updated, the SRAM PUF needs to be replaced, which is difficult to implement. Summary of the Invention
[0004] To solve the above problems existing in the prior art, the present invention provides a method for secure data transmission of Internet of Things devices based on SRAM PUF.
[0005] The technical problems to be solved by the present invention are realized through the following technical solutions: The present invention provides a method for secure data transmission of Internet of Things devices based on SRAM PUF, which is applied to a system including a server, device A, and device B. The method includes: S1. Device B generates a first authentication key exchange request and sends it to device A; S2. Device A verifies device B based on the first authentication key exchange request. After the verification passes, it generates a second authentication key exchange request and sends it to the server; S3. The server confirms whether devices A and B have been registered. If so, it verifies device A. After the verification passes, based on the second authentication key exchange request and the stored CRPs data of devices A and B, it generates a first identity confirmation request containing the key and sends it to device A; S4. Device A verifies the server based on the first identity confirmation request. After the verification passes, it generates a second identity confirmation request containing its latest CRPs data and sends it to the server; S5. The server verifies device A based on the second identity confirmation request. After the verification passes, it updates the stored CRPs data of device A with the latest CRPs data of device A; S6. Device A obtains the key based on the first identity confirmation request, generates the third identity confirmation request using the key and sends it to device B; S7. Device B verifies the server based on the third identity confirmation request and obtains the key , and after the verification passes, it generates a fourth identity confirmation request containing its latest CRPs data based on its own CRPs data and sends it to the server; S8. The server verifies device B based on the fourth identity confirmation request. After the verification passes, it updates the stored CRPs data of device B with the latest CRPs data of device B; S9. Device B uses the key to verify device A based on the third identity confirmation request. After the verification passes, it generates a fifth identity confirmation request and sends it to device A; S10. Device A uses the key to verify device B based on the fifth identity confirmation request. When the verification passes, the mutual authentication process is completed, and data is securely transmitted between device A and device B using the key
[0006] Compared with the prior art, the beneficial effects of the present invention are as follows: 1) The present invention is oriented to the scenario of secure data transmission for Internet of Things devices. Considering the characteristics of lightweight and miniaturized device components, it designs a security authentication and key exchange method based on a symmetric encryption system with PUF components as the core, changing the traditional authentication key exchange method that uses NVM to store critical keys. The terminal device can generate encryption keys (i.e., the keys in the CRPs data) in real time without pre-storing the keys in the terminal device's NVM, reducing the computational complexity at the device end while effectively improving the security of key storage.
[0007] 2) The authentication key exchange method between devices proposed by the present invention, compared with other methods, only requires the server side to store a pair of CRP data held by the device at the same time, and the stored CRP data will be updated concomitantly during the authentication key exchange process, which can ensure the effectiveness and security of key data, and there is no need to replace the SRAM PUF in the terminal device.
[0008] The following will further elaborate on the present invention in conjunction with the accompanying drawings and specific embodiments. Description of the Drawings
[0009] Figure 1 is a flowchart of a method for secure data transmission of Internet of Things devices based on SRAM PUF provided by an embodiment of the present invention; Figure 2 is a flowchart of the registration of device A with the server provided by an embodiment of the present invention; Figure 3 is a flowchart of generating true random numbers using superlattices provided by an embodiment of the present invention; Figure 4 is a structural diagram of the SRAM PUF key generation module provided by an embodiment of the present invention; Figure 5 is another flowchart of a method for secure data transmission of Internet of Things devices based on SRAM PUF provided by an embodiment of the present invention. Specific Embodiments
[0010] The following further describes the present invention in detail with specific embodiments, but the embodiments of the present invention are not limited thereto.
[0011] The method for secure data transmission of Internet of Things devices based on SRAM PUF proposed by the present invention can effectively solve the key problems faced in the process of secure data transmission between Internet of Things devices and the server, and between devices. Specifically, the main technical problems solved by the present invention include: 1) Solve the problem of network attacks faced in the process of secure data transmission of Internet of Things devices. During the process of secure data transmission of Internet of Things devices, threats such as man-in-the-middle attacks, replay attacks, and physical attacks are faced. The present invention designs a method for secure data transmission between Internet of Things devices and the server, and between devices based on the SRAM PUF key generation method. Relying on the SRAM PUF hardware entity, an authentication key exchange process based on the symmetric encryption system is realized, which can effectively prevent man-in-the-middle attacks and replay attacks. Moreover, the terminal device generates authentication keys in real time using the held SRAM PUF, without the need to pre-store keys in the terminal device NVM, which can effectively prevent key theft attacks and improve the security of key storage.
[0012] 2) Solve the problem of server - side data storage overload during the authentication key exchange process of IoT devices. Conventional PUF - based IoT authentication protocols need to store a considerable number of CRPs on the server side. Due to the large number of terminal devices, the number of CRPs that the server needs to store is even more massive, which easily causes problems such as storage overload, increased computing time overhead, and difficulty in encrypted data storage. The authentication key exchange method proposed in the present invention only needs to store a pair of CRPs on the server side, and can continuously update the CRPs stored on the server by using the method of updating with authentication syndromes. While ensuring the security of authentication key exchange data, it can minimize the security threats faced by data storage to the greatest extent.
[0013] 3) Solve the problem of auxiliary data storage and transmission loss in PUF - based authentication key exchange. The SRAM PUF used in the present invention is a type of weak PUF. Adopting the mode of "PUF + error - correction algorithm + post - processing algorithm", it transfers the process of generating stable response data by the weak PUF to the device side, and uses the post - processing method to achieve key amplification, realizing the functional replacement of weak PUF with strong PUF. It can effectively solve the loss problems caused by the storage of auxiliary data and the occupation of storage space and network traffic during the transmission in the security authentication process using strong PUF.
[0014] The IoT device data security transmission method based on SRAM PUF designed in the present invention enables devices in the IoT to conveniently achieve secure data transmission with servers and IoT devices, ensuring that IoT devices use newly generated keys to encrypt and decrypt communication data during each session, and ensuring the security of data transmission. The authentication key exchange method based on SRAM PUF can be generally divided into three stages: a registration stage, an authentication key exchange stage, and a secure communication stage.
[0015] Registration stage: The main function of this stage is to place the SRAM PUF - based basic feature CRPs held by different IoT devices into the server database, enabling the server to achieve two - way authentication for different devices, providing a basis for the next - step authentication key distribution. The data stored mainly includes device security identifiers , challenge data and response keys , where is the unique identity identifier for each PUF, obtained by challenging specific fields of the SRAM PUF. The server does not involve the storage of auxiliary data in the registration stage.
[0016] Authentication Key Exchange Phase: The main function of this phase is to use the SRAM PUF held by the device side and the basic CRPs stored in the server to perform authentication key exchange between the device and the server, and between devices. The entire phase can achieve two functions. One is to realize two-way authentication and key distribution between communication entities. During the authentication process, the symmetric key is used to encrypt the randomly generated number by itself, and the security of the peer is verified by checking the correctness of the decrypted randomly generated number. The other is to update the accompanying CRPs during the authentication key exchange process to ensure the effectiveness of the basic characteristic CRPs. Using the authentication accompanying method for security authentication and key data update during the authentication key exchange process can improve the execution efficiency and security, and minimize the attack surface to the greatest extent.
[0017] Secure Communication Phase: After the authentication key exchange phase, the two communication parties have the same symmetric key and can conduct secure communication. The symmetric key used for communication is stored in the device memory, and it is difficult for attackers to obtain it through physical attacks. In addition, the key is valid for this session. Once a new session is started, the authentication key exchange phase will be executed again. After obtaining a new key, the new key will be used for secure communication. Therefore, the "one-time-one-key" of the session can be guaranteed during the communication process of IoT devices.
[0018] The following will specifically describe the IoT device data secure transmission method proposed by the present invention based on SRAM PUF. Figure 1 It is a schematic flowchart of a method for secure transmission of IoT device data based on SRAM PUF provided by an embodiment of the present invention. This method is applied to a system including a server, device A, and device B, as Figure 1 shown. The method includes: S1. Device B generates a first authentication key exchange request and sends it to device A.
[0019] S2. Device A verifies device B based on the first authentication key exchange request. After the verification passes, it generates a second authentication key exchange request and sends it to the server.
[0020] S3. The server confirms whether devices A and B are registered. If so, it verifies device A. After the verification passes, based on the second authentication key exchange request and the stored CRPs data of devices A and B, it generates a first identity confirmation request containing the key and sends it to device A.
[0021] S4. Device A verifies the server based on the first identity confirmation request. After the verification passes, it generates a second identity confirmation request containing its own latest CRPs data and sends it to the server.
[0022] S5. The server verifies Device A based on the second identity confirmation request. After passing the verification, it updates the stored CRPs data of Device A with the latest CRPs data of Device A.
[0023] S6. Device A obtains a key based on the first identity confirmation request and, based on the key generates a third identity confirmation request and sends it to Device B.
[0024] S7. Device B verifies the server based on the third identity confirmation request and obtains a key . After passing the verification, it generates a fourth identity confirmation request containing its latest CRPs data based on its own CRPs data and sends it to the server.
[0025] S8. The server verifies Device B based on the fourth identity confirmation request. After passing the verification, it updates the stored CRPs data of Device B with the latest CRPs data of Device B.
[0026] S9. Device B uses the key to verify Device A based on the third identity confirmation request. After passing the verification, it generates a fifth identity confirmation request and sends it to Device A.
[0027] S10. Device A uses the key to verify Device B based on the fifth identity confirmation request. When the verification passes, the mutual authentication process is completed, and data is securely transmitted with Device B using the key .
[0028] In the present invention, the above S1 is specifically as follows: Device B generates a random number and a random number . Based on the random number , the random number , its own device security identifier , and the device security identifier of Device A generates integrity verification data , and generates a first authentication key exchange request containing the device security identifier , the device security identifier , the random number , the random number and the integrity verification data and sends it to Device A.
[0029] Specifically, Device B generates a random number and , calculates , where "||" represents concatenation. Indicates a hashing operation and sends a first authentication key exchange request to Device A, where the first authentication key exchange request contains an authentication request flag , the device security identifier and , the authentication random number of Device B and , and the integrity check data .
[0030] In the present invention, the above S2 is implemented through steps S21 to S23: S21. Device A checks the integrity check data , the device security identifier , the random number and the random number . .
[0031] S22. If the check passes, then Device A generates a random number , and generates integrity check data , the device security identifier , the random number , the random number based on the device security identifier .
[0032] S23. Device A generates a second authentication key exchange request containing the device security identifier , the device security identifier , the random number , the random number and the integrity check data and sends it to the server
[0033] Specifically, after receiving the first authentication key exchange request, Device A calculates , and checks the correctness of by determining whether the calculated is consistent with the received . If it is incorrect, an error warning is returned to Device B; if it is correct, a random number is generated, and is calculated, and a second authentication key exchange request is sent to the server, where the second authentication key exchange request contains an authentication request flag , the device security identifier and , the authentication random number and , and the integrity check data .
[0034] In the present invention, the above S3 is implemented through steps S31 to S34: S31. The server confirms whether device B and device A have been registered respectively according to the device security identifier and the device security identifier .
[0035] S32. If both device B and device A have been registered, the server verifies the integrity check data according to the device security identifier , the random number , the random number . .
[0036] S33. If the verification is passed, the server generates the key used for communication between device A and device B according to the stored CRPs data of device A and the CRPs data of device B , and generates the random number and the random number . The key in the CRPs data of device A is used to encrypt the key , the random number , and the random number together into the first message . The key in the CRPs data of device B is used to encrypt the key , the random number , and the random number together into the second message .
[0037] S34. The server generates the first identity confirmation request containing the challenge data in the CRPs data of device A, the first message , the challenge data in the CRPs data of device B, and the second message and sends it to device A.
[0038] Specifically, after receiving the second authentication key exchange request, the server queries and to check if they are in the database device list. If or does not exist, it means that device A or B has not been registered with the server, and an error alert is returned. If and both do not exist, it means that both device A and B have not been registered with the server, and an error alert is returned. If and both exist, then calculate , and by judging the calculated Verify the received by checking whether it is consistent with the received . If the received is correct, extract the authentication data corresponding to and from its own database. Among them, is the CRPs data of device A, is the CRPs data of device B. After that, generate the server authentication random numbers is the CRPs data of device A, is the CRPs data of device B. After that, generate the server authentication random numbers and , calculate the symmetric key used when devices A and B communicate, and use to encrypt , and to generate after encryption. Use to encrypt , and to generate after encryption. Finally, return the first identity confirmation request containing the confirmation flag , , , , to device A.
[0039] In some embodiments, when device A / B fails to update the server's CRPs data by communicating with the server after registering with the server, the CRPs data of device A / B in S3 above is the CRPs data at the time of registering with the server, that is, the CRPs data owned by device A / B itself and the CRPs data of device A / B owned by the server are both the CRPs data generated when device A / B registers. In some embodiments, when device A / B updates the server's CRPs data by communicating with the server after registering with the server, the CRPs data of device A / B in S3 above is the updated CRPs data of device A / B, that is, the CRPs data owned by device A / B itself and the CRPs data of device A / B owned by the server are both the updated CRPs data of device A / B.
[0040] In the present invention, the main function of registering with the server is to place the SRAM PUF-based characteristic CRPs held by different Internet of Things devices into the server database, enabling the server to implement two-way authentication for different devices and providing a basis for subsequent authentication key distribution. The stored data mainly includes the device security identifier , challenge data and the key , where is the unique identity for each PUF, which can be obtained by challenging specific fields of the SRAM PUF. The initial challenge data can be true random numbers generated using the characteristics of spontaneous chaotic oscillation of the superlattice. The specific principle of generating challenge data through the characteristics of spontaneous chaotic oscillation of the superlattice is as follows Figure 3 shown and will be described in detail later. When a new terminal device is added to the network, key data interaction with the server needs to be completed in a secure environment for access registration. Specifically, as Figure 2 shown, the principle of device A (i.e., terminal device A) registering with the server is as follows Step 1. Device A sends a registration request to the server S, and the registration request contains the device registration request REG and the device security identifier ; Step 2. After receiving the request, S queries whether it exists in the database device list. If it exists, it returns a SID A already exists prompt; if it does not exist, S generates true random numbers using the superlattice and uses the generated true random numbers as challenge data and sends it to A
[0041] Specifically, as Figure 3 shown, the steps for S to generate true random numbers using the superlattice are as follows: By applying a bias voltage to the superlattice chip, the superlattice chip outputs an analog signal; using an ADC device to sample the raw data of the analog signal to obtain the raw digital signal; performing a minimum entropy evaluation on the raw digital signal to obtain the minimum entropy, where the NIST SP800-90B can be used to perform the minimum entropy evaluation on the raw digital signal; using the raw digital signal and the minimum entropy as the input of the Toeplitz matrix hashing algorithm based on the Linear Feedback Shift Register (LFSR) (also known as the LFSR-Toeplitz extractor), and generating full-entropy true random numbers through this algorithm. The present invention uses true random numbers generated by the characteristics of spontaneous chaotic oscillation of the superlattice to generate the initial challenge data required in the device registration stage, changing the previous method of using a pseudo-random number generator to generate the initial challenge data, and can effectively improve data security
[0042] Step 3. After A receives , it uses the held SRAM PUF key generation module to obtain the unique response key and sends it back to S Step 4. After S receives the returned response data, Store it in the database. Thus, the entire process of device A registering with server S ends.
[0043] In the present invention, the CRPs data contains challenge data and a key . Whether it is the key in the CRPs data generated when device A registers or the key in the latest CRPs generated when updating the CRPs data, they are all generated by device A using its own SRAM PUF key generation module; similarly, whether it is the key in the CRPs data generated when device B registers or the key in the latest CRPs generated when updating the CRPs data, they are all generated by device B using its own SRAM PUF key generation module. The SRAM PUF key generation module includes: an SRAM PUF chip, an auxiliary data memory, an error correction module, and a post-processing module. The SRAM PUF chip in the SRAM PUF key generation module of device B is different from the SRAM PUF chip in the SRAM PUF key generation module of device A. Exemplarily, Figure 4 is a schematic structural diagram of the SRAM PUF key generation module. Specifically, as Figure 4 shown, the SRAM PUF chip is used to generate an initial response after power-on; the auxiliary data memory (e.g., NVM memory) is used to store the auxiliary data of the SRAM PUF chip; the error correction module is used to perform error correction processing on the initial response according to the auxiliary data using the ECC algorithm (the full English name is Error Correcting Code, and the Chinese name is error correction code algorithm) to obtain response data ; the post-processing module ( Figure 4 not shown in the figure) is used to obtain the input challenge data , and use a post-processing algorithm (e.g., encryption algorithm and hash algorithm) to generate a key according to the challenge data and the response data , where represents the operation of the post-processing algorithm. For example, the post-processing module can first perform a bitwise exclusive OR on the challenge data and the response data R, and then perform a hash operation on the XORed data to obtain the key ; or for another example, the post-processing module can first use the response data as the key, and then use the AES (the full English name is Advanced Encryption Standard, and the Chinese name is Advanced Encryption Standard) algorithm to encrypt the challenge data to obtain the ciphertext, and then perform a hash operation on the ciphertext to obtain the key .
[0044] In some embodiments, is the data generated after inputting all - zero challenge data into the SRAM PUF key generation module of device A, and it is unique; is the data generated after inputting all - zero challenge data into the SRAM PUF key generation module of device B, and it is unique. In some embodiments, and may also be unique identifiers corresponding to device A and B respectively generated by other means.
[0045] In the present invention, the above - mentioned S4 is implemented through steps S41 to S44: S41. Device A uses its own SRAM PUF key generation module to generate a key based on the challenge data , and uses the key to decrypt the first message to obtain a random number , a random number and a key .
[0046] S42. Device A verifies the random number . If the verification passes, it indicates that the authentication of device A to the server is successful. Then, based on the challenge data , the key , the random number and the random number , device A generates its own latest challenge data , and uses its own SRAM PUF key generation module to generate its own latest key ; where the latest challenge data and the latest key constitute the latest CRPs data of device A itself.
[0047] S43. Device A uses the key to jointly encrypt the random number and the latest key into a third message , and generates integrity verification data based on the device security identifier , the latest challenge data and the latest key .
[0048] S44. Device A generates a second identity confirmation request containing the third message and the integrity verification data and sends it to the server.
[0049] Specifically, device A receives the challenge data After that, the unique data is obtained by using the held SRAM PUF key generation module and adopt decryption to obtain , and . After that, by comparing the obtained by decryption with the generated by itself to verify the correctness. If the verification passes, it indicates that the authentication of device A to the server passes. Then, device A calculates its latest challenge data , and uses the SRAM PUF key generation module to obtain the corresponding key . On this basis, use to encrypt and to generate , calculate , and send the confirmation flag to the server
[0050] In the present invention, the above S5 is implemented through steps S51 to S53: S51. The server uses the key in the stored CRPs data of device A to decrypt the third message to obtain the random number and the latest key . After that, the random number is verified
[0051] S52. If the verification passes, it indicates that the authentication of the server to device A passes. Then, the server generates the latest challenge data based on the random number , the random number , the challenge data in the stored CRPs data of device A, and the key . Based on the latest challenge data and the latest key , the integrity check data is verified
[0052] S53. If the verification passes, the server updates the stored challenge data of device A to the latest challenge data , and updates the stored key of device A to the latest key
[0053] Specifically, after receiving the data, the server uses Decryption Obtain a random number and , by comparing the obtained by decryption with the generated by itself to verify the correctness. If the verification fails, the server returns an error warning to device A; if the verification passes, it indicates that the server has authenticated device A. After that, calculate the latest challenge data of device A . After that, calculate , by comparing the calculated with the received to verify the correctness. If it is correct, the server updates the entry corresponding to in the database to .
[0054] In the present invention, the above S6 is implemented through steps S61~S62: S61: Device A generates a random number , and uses the key to encrypt the random number and the random number together into the fourth message .
[0055] S62: Device A generates a third identity confirmation request containing the challenge data , the second message , and the fourth message and sends it to device B.
[0056] Specifically, after device A sends an authentication update data to the server, it continues to generate a random number , uses to encrypt and to obtain , and sends the confirmation flag and to device B.
[0057] In the present invention, the above S7 is implemented through steps S71~S74: S71: Device B uses its own SRAM PUF key generation module to generate a key based on the challenge data , and uses the key to decrypt the second message , to obtain the random number , the random number and the key .
[0058] S72. Device B verifies the random number . If the verification passes, it indicates that the authentication of the server by Device B is successful. Then, based on the challenge data , the key , the random number , and the random number , it generates its own latest challenge data . Then, using its own SRAM PUF key generation module, it generates its own latest key based on the latest challenge data ; where the latest challenge data and the latest key constitute the latest CRPs data of Device B itself.
[0059] S73. Device B uses the key to jointly encrypt the random number and the latest key into the fifth message . Then, based on the device security identifier , the latest challenge data , and the latest key , it generates the integrity verification data .
[0060] S74. Device B generates a fourth identity confirmation request containing the fifth message and the integrity verification data and sends it to the server.
[0061] Specifically, after receiving the challenge data , Device B uses its own SRAM PUF key generation module to obtain the unique response key . Then, it uses the key to decrypt to obtain , , and . After that, by comparing the decrypted with the generated by itself to verify the correctness of . If the verification fails, it indicates that the authentication of the server fails, and an error warning is returned to the server; if the verification passes, it indicates that the authentication of the server by Device B is successful. Then, it calculates its own latest challenge , and uses its own SRAM PUF key generation module to obtain the key corresponding to . Then, it uses to encrypt and to generate , calculate , and send the confirmation flag to the server.
[0062] In the present invention, the above S8 is implemented through steps S81 to S83: S81. The server uses the key in the stored CRPs data of device B to decrypt the fifth message , and obtains the random number and the latest key . After that, the random number is verified.
[0063] S82. If the verification passes, it indicates that the server has successfully authenticated device B. Then, the server generates the latest challenge data based on the random number , the random number , the challenge data in the stored CRPs data of device B , and the key . Based on the latest challenge data and the latest key , the integrity check data is verified.
[0064] S83. If the verification passes, the server updates the stored challenge data of device B to the latest challenge data , and updates the stored key of device B to the latest key .
[0065] Specifically, after receiving the data, the server uses to decrypt to obtain the random number and . After that, by comparing whether the decrypted is consistent with the generated by itself, the correctness of is verified. If the verification fails, an error warning is returned to device B; if the verification passes, it indicates that the server has successfully authenticated device B. After that, the latest challenge data of device B can be calculated, and is calculated. By comparing whether the calculated by itself is consistent with the received , the correctness of is verified. If it is incorrect, an error warning is returned to device B. If it is correct, the corresponding entry in the database is updated to as .
[0066] In the present invention, the above S9 is implemented through steps S91 to S93: S91. Device B uses the secret key to decrypt the fourth message to obtain the random number and the random number . After that, the random number is verified.
[0067] S92. If the verification passes, it indicates that the authentication of device A by device B is successful. Then, device B uses the secret key to encrypt the random number to obtain the sixth message .
[0068] S93. Device B generates a fifth identity confirmation request containing the device security identifier and the sixth message and sends it to device A.
[0069] Specifically, after device B sends the authentication update data to the server, it uses the symmetric key to decrypt to obtain and . After that, by comparing whether the obtained by decryption is the same as the generated by itself, the correctness of is verified. If it is incorrect, an error warning is returned to device A. If it is correct, it indicates that the authentication of device A by device B is successful. Then, device B uses to encrypt to obtain , and sends the confirmation flag and to device A.
[0070] In the present invention, the above S10 is implemented through steps S101 to S102: S101. Device A uses the secret key to decrypt the sixth message to obtain the random number . After that, the random number is verified.
[0071] S102. If the verification passes, it indicates that the authentication of device B by device A is successful. Then, device A uses the secret key to perform secure data transmission with device B.
[0072] Specifically, after device A receives the data, it uses to decrypt to obtain , then, by comparing what is obtained after decryption with whether it is the same as what is generated by itself to verify the correctness. If it is incorrect, an error warning is returned to device B. If it is correct, it indicates that the authentication of device A to device B has passed. Thus, the authentication key exchange process between IoT devices is completed. Mutual authentication between device A and device B has been completed and the key data for the next round of authentication has been updated, and the shared key used for this session has been determined.
[0073] The present invention also provides an IoT device data secure transmission method based on SRAM PUF. This method is applied to a system including a server and a device (hereinafter referred to as the first device); for example, when the first device is device A, this method includes: S201. Device A generates an authentication request and sends it to the server. The authentication request includes the security identifier of device A, a random number , and integrity check data .
[0074] Specifically, as Figure 5 shown, the terminal device A generates a random number , calculates , and sends an authentication request to the server. The authentication request includes an authentication request flag , the device security identifier , the authentication random number of device A, and integrity check data .
[0075] S202. The server verifies the security identifier and the integrity check data , and after both verifications pass, uses the random number , the random number , and the response key generated by device A using its own SRAM PUF key generation module and stored in the registration stage to generate a first return message and return it to device A; the SRAM PUF key generation module is used to perform error correction processing on the initial response generated by the SRAM PUF chip according to the auxiliary data to generate response data, and generate a response key by performing post-processing on the response data.
[0076] Specifically, as Figure 5 shown, after receiving the request, the server queries whether it is in the database device list. If it does not exist, an error warning is returned; if it exists, it calculates , and by comparing the calculated with the received Verify according to whether they are the same for correctness. If there is an error, return an error alert; if it is correct, extract the corresponding authentication data stored in the database device list for and at the same time the server generates a random number and use to encrypt and generate and return the confirmation flag to device A. Return to device A
[0077] In some embodiments, after device A registers with the server and fails to update the server's CRPs data by communicating with the server, the CRPs data of device A in S20 above is the CRPs data at the time of registering with the server, that is, both the CRPs data of device A owned by device A and the CRPs data of device A owned by the server are the CRPs data generated at the time of device A's registration. In some embodiments, after device A registers with the server and also updates the server's CRPs data by communicating with the server, the CRPs data of device A in S20 above is the updated CRPs data of device A, that is, both the CRPs data of device A owned by device A and the CRPs data of device A owned by the server are the updated CRPs data of device A.
[0078] S203. Device A uses its own SRAM PUF key generation module to verify the identity of the server based on the first return message, and after passing the verification, based on the response key , random number generate new challenge data , and generate a new response key through its own SRAM PUF key generation module and the new challenge data , generate a second return message based on the new response key and return it to the server.
[0079] Specifically, as Figure 5 shown, after device A receives the challenge data , power on the SRAM PUF chip in its own SRAM PUF key generation module to output an initial response , indicating the processing operation of the SRAM PUF chip; then, read the auxiliary data from the auxiliary data memory in the SRAM PUF key generation module, and use the error correction module to generate response data based on the initial response and the auxiliary data , Indicates the operation of the error correction module; the post - processing module is used to generate a key based on the response data and the challenge data Generate a key , Indicates the processing operation of the post - processing module; then, use the key Decrypt Obtain and , then, verify the correctness of . If the verification fails, return an error warning. If the verification passes, it indicates that the authentication of device A to the server is successful. Then, calculate its own new challenge data , and obtain the corresponding response key using the SRAM PUF key generation module . On this basis, use to encrypt and to generate , calculate , and send the confirmation flag to the server
[0080] S204. The server verifies device A based on the second return message. After the verification passes, it obtains a new response key based on the new challenge data generated during the verification process , and uses the new challenge data to update the stored challenge data , and uses the new response key to update the stored response key .
[0081] Specifically, as shown in Figure 5 , after the server receives the data, it uses to decrypt to obtain the random number and , then, verify the correctness of . If the verification fails, return an error warning. If the verification passes, it indicates that the authentication of the server to device A is successful. Then, calculate the new challenge data , and verify the correctness of . If it is incorrect, return an error warning. If it is correct, update the corresponding entry in the database to .
[0082] So far, the entire authentication key exchange process from the terminal device to the server has ended. Mutual authentication between Device A and the server has been completed, and the key data for the next round of authentication exchange has been updated. The shared key used for this session has been determined. , enabling secure data transmission between the device and the server.
[0083] The present invention has the following technical effects: (1) The present invention is targeted at the scenario of secure data transmission for Internet of Things devices. Considering the characteristics of lightweight and miniaturized device components, a security authentication and key exchange method based on the symmetric encryption system with the SRAM PUF device as the core is designed, changing the traditional authentication key exchange method that uses NVM to store critical keys. The terminal device can generate encryption keys in real time using the SRAM PUF, eliminating the need to pre-store keys in the terminal device's NVM. This reduces the computational complexity at the device end while effectively improving the security of key storage.
[0084] (2) The present invention combines the SRAM PUF with error correction algorithms and post-processing algorithms and integrates them all into a circuit module (SRAM PUF key generation module) with physical size advantages. Since the error correction process is completed at the device end that holds the SRAM PUF, there is no need to store auxiliary data on the server side, and no auxiliary data is transmitted during the entire authentication process. All computational processes are implemented by hardware circuits, which can improve the computational speed while minimizing the data storage volume, transmission volume, and attack exposure surface to the greatest extent. At the same time, it enables the widespread deployment of SRAM PUF integrated circuits. On the one hand, the SRAM PUF key generation module has the good physical and security characteristics of the SRAM PUF. On the other hand, it can achieve continuous amplification of key data, using weak PUFs to stably generate a large number of keys to meet the security authentication and communication requirements of Internet of Things devices.
[0085] (3) Based on the SRAM PUF key generation method, the present invention designs authentication key exchange methods applicable to device-to-server and device-to-device scenarios for resource-constrained Internet of Things. Compared with other methods, at the same time, the server side only needs to store a pair of CRPs of the device holding the SRAM PUF, and the stored CRPs will be updated concomitantly during the authentication key exchange process, ensuring the effectiveness and security of critical data.
[0086] (4) The true random number generation device of the present invention utilizes the initial challenge data required in the registration stage generated by the spontaneous chaotic oscillation characteristics of the superlattice, changing the previous method of using a pseudo-random number generator to generate the initial challenge data, which can effectively improve data security; moreover, in the subsequent authentication process of the present invention, by using the initial challenge data as a seed to continuously cascade and generate subsequent challenge data, it is possible to prevent replay attacks based on random number prediction and effectively ensure the security of challenge data generation during the authentication key exchange process.
[0087] It should be noted that the terms "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more features. In the description of the present invention, "a plurality" means two or more, unless otherwise specifically defined.
[0088] In the description of this specification, the description with reference to terms such as "an embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features or characteristics described can be combined in a suitable manner in any one or more embodiments or examples. In addition, those skilled in the art can combine and combine the different embodiments or examples described in this specification.
[0089] In the specification, the term "including" does not exclude other components or steps, and "one" or "a" does not exclude the case of a plurality. Certain measures are described in different embodiments, but this does not mean that these measures cannot be combined to produce good effects.
[0090] The above content is a further detailed description of the present invention in combination with specific preferred embodiments, and it cannot be determined that the specific implementation of the present invention is only limited to these descriptions. For those of ordinary skill in the technical field to which the present invention pertains, without departing from the concept of the present invention, several simple deductions or substitutions can still be made, and all should be regarded as belonging to the protection scope of the present invention.
Claims
1. A method for secure data transmission of IoT devices based on SRAM PUF, characterized in that: Applied to a system including a server, a device A and a device B, the method includes: S1. The device B generates a first authentication key exchange request and sends it to the device A; S2. The device A verifies the device B based on the first authentication key exchange request, and after the verification passes, generates a second authentication key exchange request and sends it to the server; S3, the server confirms whether the devices A and B have been registered, and if so, verifies the device A, and after the verification passes, generates a key based on the second authentication key exchange request and the stored CRPs data of the devices A and B. The first identity confirmation request is sent to the device A; S4, the device A verifies the server based on the first identity confirmation request, and after the verification is successful, generates a second identity confirmation request containing its latest CRPs data and sends it to the server; S5. The server verifies the device A based on the second identity confirmation request, and after the verification is passed, uses the latest CRPs data of the device A to update the stored CRPs data of the device A; S6. The device A obtains the key based on the first identity confirmation request. , based on the key Generate a third identity confirmation request and send it to the device B; S7. The device B verifies the server based on the third identity confirmation request and obtains the key , after the verification is passed, generating a fourth identity confirmation request containing its latest CRPs data based on its own CRPs data and sending it to the server; S8. The server verifies the device B based on the fourth identity confirmation request, and after the verification is passed, uses the latest CRPs data of the device B to update the stored CRPs data of the device B; S9, the device B uses the key Verifying the device A based on the third identity confirmation request, generating a fifth identity confirmation request after the verification is successful, and sending the request to the device A; S10, the device A uses the key Verify the device B based on the fifth identity confirmation request, complete the mutual authentication process when the verification is successful, and use the key Data is securely transmitted between the device B.
2. The method according to claim 1, characterized in that The S1 includes: The device B generates a random number and random numbers , based on the random number , the random number , its own equipment safety identification , the device safety identification of the device A Generate integrity check data , and generate a security identifier containing the device , the equipment safety identification , the random number , the random number and the integrity check data The first authentication key exchange request is sent to the device A.
3. The method according to claim 1, characterized in that The first authentication key exchange request includes the device security identifier of the device B , the device safety identification of the device A , random numbers , random numbers and integrity check data ; S2 includes: The device A is based on the device security identification , the equipment safety identification , the random number and the random number , verify the integrity check data ; If the verification is successful, the device A generates a random number , based on the device security identifier , the equipment safety identification , the random number , the random number Generate integrity check data ; The device A generates a signal including the device security identifier , the equipment safety identification , the random number , the random number and the integrity check data The second authentication key exchange request is sent to the server.
4. The method according to claim 1, characterized in that: The second authentication key exchange request includes: the device security identifier of the device B , the device safety identification of the device A , random numbers , random numbers and integrity check data ; S3 includes: The server detects the device security identifier and the equipment safety identification , respectively confirm whether the device B and the device A have been registered; If both device B and device A have been registered, the server will , the equipment safety identification , the random number , the random number , verify the integrity check data ; If the verification is successful, the server generates a key used by device A and device B to communicate based on the stored CRPs data of device A and the CRPs data of device B. , and generate random numbers and random numbers , using the key in the CRPs data of device A The key , the random number , the random number Encrypted together as the first message , using the key in the CRPs data of device B The key , the random number , the random number Encrypted together as the second message ; The server generates challenge data in the CRPs data of device A 、The first message , the challenge data in the CRPs data of the device B The second message The first identity confirmation request is sent to the device A.
5. The method according to claim 4, characterized in that The S4 includes: The device A uses its own SRAM PUF key generation module based on the challenge data Generate Keys , and using the key Decrypt the first message , get the random number , the random number and the key ; The device A verifies the random number If the verification is successful, it means that the device A has passed the identity authentication of the server, then according to the challenge data , the key , the random number and the random number Generate your own latest challenge data , and uses its own SRAM PUF key generation module based on the latest challenge data Generate your own latest key ; Wherein, the latest challenge data and the latest key The latest CRPs data constituting the device A itself; The device A uses the key The random number and the latest key Encrypted together as a third message , and according to the equipment safety mark , the latest challenge data and the latest key Generate integrity check data ; The device A generates a third message including the and the integrity check data The second identity confirmation request is sent to the server.
6. The method according to claim 5, characterized in that The S5 includes: The server uses the key stored in the CRPs data of the device A Decrypting the third message , get the random number and the latest key , then verify the random number ; If the verification is successful, it means that the server has successfully authenticated the identity of device A. Then the server will , the random number , the challenge data in the CRPs data stored in the device A , the key , generating the latest challenge data , based on the latest challenge data and the latest key Verify the integrity check data ; If the verification is successful, the server will store the challenge data of device A. Updated with the latest challenge data as stated , and store the key of the device A Update to the latest key .
7. The method according to claim 5, characterized in that The first authentication key exchange request includes a random number , the S6 comprises: The device A generates a random number , and using the key The random number and the random number Encrypted together as the fourth message ; The device A generates a signal including the challenge data The second message , the fourth message The third identity confirmation request is sent to the device B.
8. The method according to claim 7, characterized in that The S9 includes: Device B uses the key Decrypting the fourth message , get the random number and the random number , then verify the random number ; If the verification is successful, it means that the device B has passed the identity authentication of the device A, and the device B uses the key Encrypt the random number , got the sixth message ; The device B generates a signal including the device security identifier And the sixth message The fifth identity confirmation request is sent to the device A.
9. The method according to claim 8, characterized in that The S10 includes: Device A uses the key Decrypting the sixth message , get the random number , then verify the random number ; If the verification is successful, it means that the identity authentication of device A to device B is successful, and then device A uses the key Data is securely transmitted between the device B.
10. The method according to claim 1, characterized in that The CRPs data contains challenge data and a key; the key in the CRPs data of the device A is generated by the device A using its own SRAM PUF key generation module; the key in the CRPs data of the device B is also generated by the device B using its own SRAM PUF key generation module; Wherein, the SRAM PUF key generation module includes: an SRAM PUF chip, an auxiliary data storage, an error correction module and a post-processing module; The SRAM PUF chip is used to generate an initial response after power-on; The auxiliary data memory is used to store auxiliary data of the SRAM PUF chip; The error correction module is used to perform error correction processing on the initial response according to the auxiliary data using an error correction algorithm to obtain response data; The post-processing module is used to obtain the input challenge data and generate the key according to the challenge data and the response data using a post-processing algorithm; The SRAM PUF chip in the SRAM PUF key generation module of the device B is different from that of the device A.
Citation Information
Patent Citations
Secret key distribution method containing trusted third party based on superlattice PUF (Physical Unclonable Function)
CN114844649A
Lightweight dynamic security authentication method and system implemented based on PUF (Physical Unclonable Function)
CN119402205A
Management of Identifications of an Endpoint having a Memory Device Secured for Reliable Identity Validation
US20220131848A1