Method for Secure Data Transmission of Internet of Things Devices Based on SRAM PUF
Through the Internet of Things device data security transmission method based on SRAM PUF, terminal devices generate and update authentication keys in real time. Combining error correction algorithms and post-processing algorithms, the security and storage overload problems of IoT devices during data transmission are solved, and efficient data security transmission and key updates are achieved.
Patent Information
- Application Number
- CN202510559199.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2045-04-30
AI Technical Summary
IoT devices face risks of man-in-the-middle attacks, playback attacks and key leakage during data transmission. In the prior art, the fingerprint features of SRAM PUF are stored on the server side, which are security risks and difficult to update.
A secure transmission method for IoT device data based on SRAM PUF is designed, and authentication keys are generated by the device side and accompanied updates are performed. The server only stores a pair of CRPs data. The authentication key exchange of symmetric encryption system is realized using SRAM PUF hardware entities. Combined with error correction algorithms and post-processing algorithms, the terminal device generates encryption keys in real time.
Effectively prevent man-in-the-middle attacks and replay attacks, reduce the risk of key theft, improve the security of key storage, reduce data storage and transmission losses, ensure that new keys are used for encryption and decryption in each session, and improve device-side computing efficiency and security.
Smart Images

Figure CN120090803B_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 becoming 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 attack 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, whether using symmetric encryption or asymmetric encryption methods, during the authentication key exchange process, the "root key" needs to be stored in the IoT device's NVM (Non-Volatile Memory) in advance. Using NVM for key storage in IoT devices 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 of 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 storage 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 characteristics of SRAM PUF are mainly caused by transistor mismatch during the startup process of the SRAM storage cell, and the mismatch is caused by uncontrolled changes at the atomic level during the manufacturing process. Therefore, SRAM PUFs with different fingerprint characteristics can be fabricated under the same process. Researchers store the fingerprint characteristics of SRAM PUF on the server for device security authentication. However, since the PUF fingerprint characteristics are 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 characteristics stored on the server cannot be updated because the fingerprint characteristics are bound to the SRAM PUF. If the fingerprint characteristics need 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 achieved through the following technical solutions:
[0006] 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:
[0007] S1. Device B generates a first authentication key exchange request and sends it to device A;
[0008] 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;
[0009] 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;
[0010] 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;
[0011] 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;
[0012] S6. Device A obtains the key based on the first identity confirmation request, generates the third identity confirmation request using the key
[0013] and sends it to device B; S7. Device B verifies the server based on the third identity confirmation request and obtains the key
[0014] . After the verification passes, it generates a fourth identity confirmation request containing its own latest CRPs data based on its own CRPs data and sends it to the server;
[0015] 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;
[0015] 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;
[0016] 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 .
[0017] Compared with the prior art, the beneficial effects of the present invention are:
[0018] 1) The present invention is directed to the scenario of secure data transmission for Internet of Things (IoT) devices. In view of the characteristics of lightweight and miniaturization of device components, a secure authentication and key exchange method based on the symmetric encryption system with a PUF device as the core is designed, which changes the traditional authentication key exchange method that uses NVM to store critical keys. The terminal device can generate encryption keys in real time (i.e., the keys in the CRPs data), without the need to pre-store keys in the terminal device's NVM, reducing the computational complexity at the device end while effectively improving the security of key storage.
[0019] 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 CRPs data held by the device at the same time, and the stored CRPs data will be updated concomitantly during the authentication key exchange process, which can ensure the effectiveness and security of critical data, and there is no need to replace the SRAM PUF in the terminal device.
[0020] The present invention will be further described in detail below in conjunction with the drawings and specific embodiments. Description of the Drawings
[0021] Figure 1 is a flowchart showing a method for secure data transmission of IoT devices based on SRAM PUF provided by an embodiment of the present invention;
[0022] Figure 2 is a flowchart showing the process of device A registering with the server provided by an embodiment of the present invention;
[0023] Figure 3 is a flowchart showing the process of generating true random numbers using superlattices provided by an embodiment of the present invention;
[0024] Figure 4 is a structural diagram of the SRAM PUF key generation module provided by an embodiment of the present invention;
[0025] Figure 5 is another flowchart showing a method for secure data transmission of IoT devices based on SRAM PUF provided by an embodiment of the present invention. Detailed Embodiments
[0026] The present invention will be further described in detail below in conjunction with specific embodiments, but the embodiments of the present invention are not limited thereto.
[0027] The method for secure data transmission of IoT 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 IoT devices and servers and between devices. Specifically, the main technical problems solved by the present invention include:
[0028] 1) Solve the problem of network attacks faced during the secure data transmission of Internet of Things (IoT) devices. During the secure data transmission of IoT devices, threats such as man-in-the-middle attacks, replay attacks, and physical attacks are faced. Based on the SRAM PUF key generation method, this invention designs a secure data transmission method between IoT devices and servers, and between devices. Relying on the SRAM PUF hardware entity, it realizes the authentication key exchange process based on the symmetric encryption system, which can effectively prevent man-in-the-middle attacks and replay attacks. Moreover, the terminal device uses the held SRAM PUF to generate authentication keys in real time, without the need to pre-store keys in the terminal device's NVM in advance, which can effectively prevent key theft attacks and improve the security of key storage.
[0029] 2) Solve the problem of server - side data storage overload during the authentication key exchange process of IoT devices. Conventional IoT authentication protocols based on PUFs 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 larger, which easily causes problems such as storage overload, increased operation time overhead, and difficult data encryption storage. The authentication key exchange method proposed in this 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.
[0030] 3) Solve the problem of auxiliary data storage and transmission loss in the authentication key exchange based on PUF. The SRAM PUF used in this invention is a weak PUF type. 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 realizes key amplification by using the post - processing method, achieving the functional replacement of weak PUFs with strong PUFs. It can effectively solve the loss problems caused by the occupation of storage space and network traffic by auxiliary data storage and transmission during the security authentication process using strong PUFs.
[0031] The secure data transmission method of IoT devices based on SRAM PUF designed in this invention enables devices in the IoT to easily 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 process, 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.
[0032] Registration Phase: The main function of this phase is to place the SRAM PUF-based basic feature CRPs held by different IoT devices into the server database, enabling the server to implement two-way authentication for different devices and providing a basis for the next step of authentication key distribution. The data stored mainly includes device security identifiers , challenge data and response keys . Among them 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 during the registration phase.
[0033] 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 achieve 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 perform accompanying CRP updates during the authentication key exchange process to ensure the effectiveness of the basic feature 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.
[0034] 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.
[0035] The following will specifically describe the IoT device data security transmission method based on SRAM PUF proposed by the present invention. Figure 1 is a schematic flowchart of an IoT device data security transmission method 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. This method includes:
[0036] S1. Device B generates a first authentication key exchange request and sends it to device A.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] S6. Device A obtains the key based on the first identity confirmation request, generates a third identity confirmation request based on the key
[0042] and sends it to device B. S7. Device B verifies the server based on the third identity confirmation request and obtains the key
[0043] . 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.
[0044] 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 verifies device A based on the third identity confirmation request using the key
[0045] . After the verification passes, it generates a fifth identity confirmation request and sends it to device A. S10. Device A verifies device B based on the fifth identity confirmation request using the key . When the verification passes, the mutual authentication process is completed, and data is securely transmitted between device A and device B using the key
[0046] 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 , it generates integrity verification data , and generates a request containing the device security identifier , the device security identifier , random number , random number and integrity verification data and send the first authentication key exchange request to Device A.
[0047] Specifically, Device B generates random numbers and , calculates , where "||" represents concatenation, represents a hashing operation, and sends a first authentication key exchange request to Device A, where the first authentication key exchange request includes an authentication request flag , device security identifier and , the authentication random number of Device B and , as well as integrity verification data .
[0048] In the present invention, the above S2 is implemented through steps S21 to S23:
[0049] S21. Device A verifies the integrity verification data , device security identifier , random number and random number . .
[0050] S22. If the verification passes, then Device A generates a random number , and generates integrity verification data , device security identifier , random number , random number . .
[0051] S23. Device A generates a second authentication key exchange request including the device security identifier , device security identifier , random number , random number and integrity verification data and sends it to the server.
[0052] Specifically, after receiving the first authentication key exchange request, Device A calculates , and verifies 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 calculates , and send a second authentication key exchange request to the server, where the second authentication key exchange request includes an authentication request flag , device security identifier and , authentication random number and , and integrity check data .
[0053] In the present invention, the above S3 is implemented through steps S31 to S34:
[0054] 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 .
[0055] 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 device security identifier , the random number , the random number .
[0056] S33. If the verification passes, the server generates a key for device A and device B to use when communicating according to the stored CRPs data of device A and device B, and generates a random number and a random number in the CRPs data of device A is used to encrypt the key , the random number , the random number together into the first message , and the key in the CRPs data of device B is used to encrypt the key , the random number , the random number together into the second message .
[0057] S34. The server generates a first identity confirmation request including 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.
[0058] Specifically, after receiving the second authentication key exchange request, the server queries and Whether it is 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 device B have not been registered with the server, and an error alert is returned. If and both exist, then calculate , and verify the correctness of the received by determining whether the calculated is consistent with the received . If the received is correct, then extract the authentication data and 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 and , calculate the symmetric key used for communication between device A and device B, and encrypt , and using to generate . Encrypt , and using to generate . Finally, return the first identity confirmation request containing the confirmation flag , , , to device A.
[0059] In some embodiments, when Device A / B fails to update the CRPs data of the server through communication 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, both the CRPs data of Device A / B owned by itself and the CRPs data of Device A / B owned by the server are the CRPs data generated at the time of registration of Device A / B. In some embodiments, when Device A / B updates the CRPs data of the server through communication 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, both the CRPs data of Device A / B owned by itself and the CRPs data of Device A / B owned by the server are the updated CRPs data of Device A / B.
[0060] In the present invention, the main function of registering with the server is to place the SRAM PUF basic feature 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 data stored mainly includes device security identifiers , challenge data and keys . Among them, is the unique identity identifier for each PUF and 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 superlattice spontaneous chaotic oscillation. The specific principle of generating challenge data using the characteristics of superlattice spontaneous chaotic oscillation is as shown below Figure 3 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:
[0061] Step 1. Device A sends a registration request to Server S. The registration request contains a device registration request REG and a device security identifier ;
[0062] Step 2. After receiving the request, S queries whether it exists in the database device list. If it exists, it returns a prompt that SID A already exists; if it does not exist, S generates true random numbers using the superlattice and sends the generated true random numbers as challenge data to A.
[0063] Specifically, as Figure 3As shown in the figure, the steps for S to generate true random numbers using a 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 analog signal to obtain raw digital signals; performing a minimum entropy evaluation on the raw digital signals to obtain the minimum entropy, where the NIST SP800-90B can be used to perform the minimum entropy evaluation on the raw digital signals; taking the raw digital signals and the minimum entropy as the inputs of the Toeplitz matrix hashing algorithm based on a 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 the true random numbers generated by the spontaneous chaotic oscillation characteristics of the superlattice to generate the initial challenge data required in the device registration phase, changing the previous method of using a pseudo-random number generator to generate the initial challenge data, and can effectively improve data security.
[0064] Step 3. After A receives it, uses the held SRAM PUF key generation module to obtain the unique response key and sends it to S;
[0065] Step 4. After S receives the returned response data, stores it in the database. Thus, the entire process of device A registering with server S ends.
[0066] In the present invention, the CRPs data contains challenge data and keys . 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 also 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 shown in Figure 4As 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 by using the ECC algorithm (the full English name is Error Correcting Code, and the Chinese name is error correction code algorithm) to obtain the response data ; the post-processing module ( Figure 4 not shown in ) is used to obtain the input challenge data , and use the 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 ; 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
[0067] . In some embodiments is the data generated after inputting all 0 challenge data into the SRAM PUF key generation module of device A and is unique; is the data generated after inputting all 0 challenge data into the SRAM PUF key generation module of device B and is unique. In some embodiments and can also be unique identifiers corresponding to devices A and B generated in other ways
[0068] In the present invention, the above S4 is implemented through steps S41 to S44:
[0069] S41. Device A uses its own SRAM PUF key generation module to generate a key based on the challenge data , and decrypts the first message by using the key to obtain the random number , the random number and the key
[0070] S42. Device A verifies the random number , if the verification passes, it indicates that the authentication of the server by Device A is successful. Then, based on the challenge data , the key , the random number and the random number , it generates its own latest challenge data , and uses its own SRAM PUF key generation module to generate 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 A itself.
[0071] S43. Device A uses the key to jointly encrypt the random number and the latest key into the third message , and generates integrity verification data according to the device security identifier , the latest challenge data and the latest key .
[0072] S44. Device A generates a second identity confirmation request containing the third message and the integrity verification data and sends it to the server.
[0073] Specifically, after receiving the challenge data , Device A uses the held SRAM PUF key generation module to obtain the unique data and decrypts using to obtain and . Then, by comparing the decrypted with the generated by itself to verify the correctness of . If the verification passes, it indicates that the authentication of the server by Device A is successful. Then, Device A calculates its own latest challenge data , and uses the SRAM PUF key generation module to obtain the key corresponding to . On this basis, it encrypts and to generate , calculates , and sends the confirmation flag to the server.
[0074] In the present invention, the above S5 is implemented through steps S51 to S53:
[0075] S51. The server uses the key in the CRPs data of device A stored to decrypt the third message to obtain a random number and the latest key . After that, the random number is verified.
[0076] S52. If the verification passes, it indicates that the server has successfully authenticated device A. Then, the server generates the latest challenge data based on the random number , the random number , the challenge data in the CRPs data of device A stored, and the key . Based on the latest challenge data and the latest key , the integrity check data is verified. .
[0077] S53. If the verification passes, the server updates the challenge data of device A stored to the latest challenge data , and updates the key of device A stored to the latest key .
[0078] Specifically, after receiving the data, the server uses to decrypt to obtain a random number and . By comparing the decrypted 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 successfully authenticated device A. After that, the latest challenge data of device A is calculated. After that, is calculated. By comparing the calculated with the received to verify the correctness. If it is correct, the server updates the corresponding entry in the database to .
[0079] In the present invention, the above S6 is implemented through steps S61 to S62:
[0080] S61. Device A generates a random number , and use the key The random number and random numbers Encrypted together as the fourth message .
[0081] S62: Device A generates a signal containing challenge data Second message 、Fourth message The third identity confirmation request is sent to device B.
[0082] Specifically, after device A sends authentication update data to the server, it continues to generate random numbers ,use encryption and get and sends a confirmation mark to device B and .
[0083] In the present invention, the above S7 is implemented through steps S71 to S74:
[0084] S71, device B uses its own SRAM PUF key generation module based on the challenge data Generate Keys , and use the key Decrypt the second message , get a random number , random numbers and key .
[0085] S72, device B verifies random number If the verification is successful, it means that device B has passed the authentication of the server. Then according to the challenge data , key , random numbers and random numbers 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 ; Among them, the latest challenge data and the latest key Constitute the latest CRPs data of device B itself.
[0086] S73, device B uses key The random number and the latest key Encrypted together as the fifth message and generate integrity verification data according to the device security identifier , the latest challenge data and the latest key . .
[0087] S74. Device B generates a fourth identity confirmation request containing the fifth message and integrity verification data and sends it to the server
[0088] Specifically, after receiving the challenge data , Device B uses the SRAM PUF key generation module it holds to obtain a unique response key , and uses the key to decrypt to obtain , and . After that, by comparing the obtained by decryption with the generated by itself to verify the correctness. 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 Device B has passed the authentication of the server. After that, calculate its own latest challenge , and use the SRAM PUF key generation module of itself to obtain the corresponding key . After that, use to encrypt and to generate , calculate , and send the confirmation flag to the server
[0089] In the present invention, the above S8 is implemented through steps S81~S83:
[0090] S81. The server uses the key in the stored CRPs data of Device B to decrypt the fifth message , to obtain the random number and the latest key . After that, verify the random number .
[0091] S82. If the verification passes, it indicates that the server has passed the authentication of Device B. Then the server, according to the random number , random number , the challenge data stored in the CRPs data of Device B, key Generate the latest challenge data , and based on the latest challenge data and the latest key verify the integrity verification data .
[0092] S83. If the verification passes, the server will update the challenge data of device B stored to the latest challenge data , and update the key of device B stored to the latest key .
[0093] Specifically, after the server receives the data, it uses decryption to obtain a random number and . After that, by comparing the obtained by decryption with the generated by itself to verify the correctness. If the verification fails, an error warning is returned to device B; if the verification passes, it indicates that the server has passed the authentication of device B. After that, the latest challenge data of device B can be calculated , and calculate . By comparing the calculated by itself with the received to verify the correctness. 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 .
[0094] In the present invention, the above S9 is implemented through steps S91 to S93:
[0095] S91. Device B uses the key to decrypt the fourth message , and obtains a random number and a random number . After that, verify the random number .
[0096] S92. If the verification passes, it indicates that device B has passed the authentication of device A. Then device B uses the key to encrypt the random number , and obtains the sixth message .
[0097] S93. Device B generates a message containing the device security identifier and the sixth message The fifth identity confirmation request is sent to Device A.
[0098] Specifically, after Device B sends 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 consistent with the generated by itself to verify the correctness. If it is incorrect, an error warning is returned to Device A. If it is correct, it indicates that the identity verification of Device A by Device B is passed. Then, Device B uses to encrypt to obtain , and sends the confirmation flag and to Device A.
[0099] In the present invention, the above S10 is implemented through steps S101~S102:
[0100] S101. Device A uses the key to decrypt the sixth message to obtain the random number , and then verifies the random number .
[0101] S102. If the verification is passed, it indicates that the identity verification of Device A by Device B is passed. Then, Device A uses the key to perform secure data transmission with Device B.
[0102] Specifically, after Device A receives the data, it uses to decrypt to obtain . After that, by comparing whether the obtained by decryption is consistent with the 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 identity verification of Device B by Device A is passed. Thus, the authentication key exchange process between IoT devices is completed. Device A and Device B have completed mutual authentication and the update of the key data for the next round of authentication, and determined the shared key used for this session.
[0103] 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, the method includes:
[0104] 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 .
[0105] 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 contains an authentication request flag , the device security identifier , the authentication random number of Device A , and integrity check data .
[0106] S202. The server verifies the security identifier and the integrity check data . After both verifications pass, the server uses the random number , the random number , and the response key stored in the registration stage and generated by the SRAM PUF key generation module of Device A using its own SRAM PUF key 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.
[0107] Specifically, as Figure 5 shown, after receiving the request, the server queries to see if it is in the database device list. If not, an error alert is returned; if it is, then calculates , and verifies the correctness of by comparing the calculated with the received . If there is an error, an error alert is returned; if it is correct, the authentication data corresponding to stored in the database device list is extracted. At the same time, the server generates a random number , and uses to encrypt and to generate , and returns the confirmation flag to Device A.
[0108] In some embodiments, when Device A fails to update the CRPs data of the server through communication with the server after registering 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 itself 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, when Device A updates the CRPs data of the server through communication with the server after registering 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 itself and the CRPs data of Device A owned by the server are the updated CRPs data of Device A.
[0109] 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 successful verification, generates new challenge data based on the response key , random number and generates new response key through its own SRAM PUF key generation module and the new challenge data , and generates a second return message based on the new response key and returns it to the server. Specifically, as
[0110] shown, after receiving the challenge data Figure 5 , Device A powers on the SRAM PUF chip in its own SRAM PUF key generation module to output an initial response , representing the processing operation of the SRAM PUF chip; then, reads the auxiliary data from the auxiliary data memory in the SRAM PUF key generation module, and uses the error correction module to generate response data based on the initial response and the auxiliary data , representing the operation of the error correction module; uses the post-processing module to generate a key based on the response data and the challenge data , representing the processing operation of the post-processing module; then, uses the key to decrypt to obtain and and , and then verifies For the correctness, if the verification fails, an error warning is returned. If the verification passes, it indicates that the authentication of device A to the server is successful. After that, calculate its own new challenge data , and obtain the corresponding response key . On this basis, use to encrypt and to generate , calculate , and send the confirmation flag to the server.
[0111] S204. The server verifies device A based on the second return message. After the verification passes, based on the new challenge data generated during the verification obtain a new response key , and use the new challenge data to update the stored challenge data , and use the new response key to update the stored response key .
[0112] Specifically, as Figure 5 shown, after the server receives the data, use to decrypt to obtain the random numbers and . After that, verify for correctness. If the verification fails, an error warning is returned. If the verification passes, it indicates that the authentication of the server to device A is successful. After that, calculate the new challenge data , and verify for correctness. If it is incorrect, an error warning is returned. If it is correct, then update the entry corresponding to in the database to .
[0113] So far, the entire authentication key exchange process from the terminal device to the server has ended. The mutual authentication between device A and the server and the update of the key data for the next round of authentication exchange have been completed, and the shared key used for this session has been determined, enabling secure data transmission between the device and the server.
[0114] The present invention has the following technical effects:
[0115] (1) The present invention is directed to the scenario of secure data transmission for Internet of Things (IoT) devices. In view of the characteristics of lightweight and miniaturization of device components, a secure authentication and key exchange method based on a symmetric encryption system with an SRAM PUF device as the core is designed, which changes 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, without the need to pre-store keys in the terminal device's NVM in advance, reducing the computational complexity at the device side while effectively improving the security of key storage.
[0116] (2) The present invention combines the SRAM PUF with error correction algorithms and post-processing algorithms, and integrates them all into a circuit module with physical size advantages (SRAM PUF key generation module). Since the error correction process is completed at the device side holding 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. Moreover, 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, and at the same time enable the wide 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, and on the other hand, it can achieve continuous amplification of key data, and use weak PUFs to stably generate a large number of keys to meet the needs of IoT device security authentication and communication.
[0117] (3) Based on the SRAM PUF key generation method, the present invention designs authentication key exchange methods for device-to-server and device-to-device applicable to resource-constrained IoT respectively. Compared with other methods, at the same moment, 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, which can ensure the effectiveness and security of critical data.
[0118] (4) The present invention uses true random numbers generated by the spontaneous chaotic oscillation characteristics of a superlattice to generate the initial challenge data required in the device registration stage, which changes the previous method of using a pseudo-random number generator to generate initial challenge data, and can effectively improve data security; moreover, in the subsequent authentication process, by using the initial challenge data as a seed to continuously cascade and generate subsequent challenge data, it can prevent replay attacks based on random number prediction, effectively ensuring the security of challenge data generation during the authentication key exchange process.
[0119] It should be noted that the terms "first" and "second" are used for descriptive purposes only and should not 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 of" means two or more, unless otherwise specifically defined.
[0120] In the description of this specification, descriptions with reference to terms such as "one embodiment", "some embodiments", "examples", "specific examples", or "some examples" mean 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.
[0121] In the specification, the word "comprising" does not exclude other components or steps, and "a" or "one" does not exclude a plurality of cases. Certain measures are described in different embodiments, but this does not mean that these measures cannot be combined to produce good results.
[0122] 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 limited only 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 Internet of Things devices based on SRAM PUF, characterized in that, 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 passing the verification, 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 CRP 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 passing the verification, it generates a second identity confirmation request including its own latest CRPs data and sends it to the server; 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; S6. The device A obtains the key based on the first identity confirmation request , and based on the key generates a third identity confirmation request and sends it to the device B; S7. The device B verifies the server based on the third identity confirmation request and obtains the key. After successful 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. 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; S9. The device B uses the secret key to verify the device A based on the third identity confirmation request, and generate a fifth identity confirmation request and send it to the device A after the verification is passed; S10. The device A uses the key to verify the device B based on the fifth identity confirmation request. When the verification is passed, the mutual authentication process is completed, and the key is used for secure data transmission with the device B.
2. The method according to claim 1, characterized in that, S1 includes: Device B generates a random number and the random number , and based on the random number , the random number , its own device security identifier , the device security identifier of Device A generates integrity check data , and generates a first authentication key exchange request including the device security identifier , the device security identifier , the random number , the random number and the integrity check data and sends it to Device A.
3. The method according to claim 1, wherein The device security identifier of device B is included in the first authentication key exchange request , the device security identifier of device A , a random number , a random number and integrity check data ; S2 includes: The device A verifies the integrity verification data based on the device security identifier , the random number and the random number ; If the verification passes, device A generates a random number , based on the device security identifier , the device security identifier , the random number , the random number generate integrity verification data ; The device A generates a second authentication key exchange request including 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.
4. The method according to claim 1, characterized in that, The second authentication key exchange request includes: the device security identifier of device B , the device security identifier of device A , a random number , a random number and integrity check data ; S3 includes: The server confirms whether the device B and the device A have been registered respectively according to the device security identifier and the device security identifier ; If both the device B and the device A are registered, the server verifies the integrity check data according to the device security identifier , the random number , the random number , and the integrity check data ; If the verification is passed, the server generates a key for use when device A and device B communicate based on the stored CRPs data of device A and the CRPs data of device B , and generates a random number and a random number . Using the key in the CRPs data of device A , the key , the random number , and the random number are jointly encrypted into a first message . Using the key in the CRPs data of device B , the key , the random number , and the random number are jointly encrypted into a second message ; The server generates challenge data in the CRPs data of the device A and the first message and challenge data in the CRPs data of the device B and the second message and sends the first identity confirmation request to the device A.
5. The method according to claim 4, characterized in that, S4 includes: Device A uses its own SRAM PUF key generation module to generate a key based on the challenge data to generate a key and uses the key to decrypt the first message to obtain the random number the random number and the key ; The device A verifies the random number , if the verification passes, it indicates that the authentication of the device A to the server passes, and then according to the challenge data , the key , the random number and the random number generate its own latest challenge data , and use its own SRAM PUF key generation module to generate its own latest key based on the latest challenge data ; wherein, the latest challenge data and the latest key constitute the latest CRPs data of the device A itself; The device A uses the said key Encrypt the said random number and the said latest key together into the third message , and generate integrity verification data according to the said device security identifier , the said latest challenge data and the said latest key ; The device A generates a second identity confirmation request including the third message and the integrity verification data and sends it to the server.
6. The method according to claim 5, wherein S5 includes: The server decrypts the third message by using the key in the stored CRPs data of device A to obtain the random number and the latest key . After that, the server verifies the random number ; If the verification passes, it indicates that the server has successfully authenticated the identity of Device A. Then, the server generates the latest challenge data and based on the random number, the random number, the challenge data in the stored CRPs data of Device A , and the key . Subsequently, the server verifies the integrity check data using the latest challenge data and the latest key ; If the verification passes, the server will update the challenge data of Device A stored to the latest challenge data , and update the key of Device A stored to the latest key .
7. The method according to claim 5, characterized in that, The random number is included in the first authentication key exchange request , and the S6 includes: Device A generates a random number , and uses the secret key to encrypt the random number and the random number together into a fourth message ; The device A generates a third identity confirmation request including the challenge data , the second message , the fourth message and sends it to the device B.
8. The method according to claim 7, characterized in that, S9 includes: Device B uses the said key to decrypt the fourth message , and obtains the said random number and the said random number . After that, verify the said random number ; If the verification passes, it indicates that the authentication of device A by device B is successful, and then device B uses the key to encrypt the random number , obtaining the sixth message ; The device B generates a fifth identity confirmation request including the device security identifier and the sixth message and sends it to the device A.
9. The method according to claim 8, characterized in that, S10 includes: Device A uses the key to decrypt the sixth message and obtain the random number . After that, verify the random number ; If the verification passes, it indicates that the authentication of device B by device A is successful, and then device A uses the key to perform secure data transmission with 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 Device A is generated by Device A using its own SRAM PUF key generation module; the key in the CRPs data of Device B is also generated by Device B using its own SRAM PUF key generation module; Among them, 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 is used to generate an initial response after power-on; The auxiliary data 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 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 Device B is different from that of 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