Lightweight multi-gateway identity authentication and key agreement method based on puf
By adopting a PUF-based multi-gateway authentication and key negotiation method, the problems of gateway failure and load balancing in wireless sensor networks are solved. It achieves high security and lightweight key negotiation, which is suitable for devices with limited resources and can be applied to scenarios such as telemedicine, vehicle networking, industry and agriculture.
Patent Information
- Application Number
- CN202410615301.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-17
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2044-05-17
AI Technical Summary
In wireless sensor networks, single or multiple gateway architectures cannot guarantee normal system operation when the central gateway fails, and they consume too much computing resources, making it impossible to achieve load balancing and lightweight key negotiation.
A lightweight multi-gateway authentication and key negotiation method based on PUF is adopted. The PUF function and secure channel are established in the initialization phase, the HID parameter is calculated in the user registration phase, the SD parameter is calculated in the sensor device registration phase, and the session key is generated by using a challenge-response mechanism and random numbers in the key negotiation phase. The challenge-response mechanism is updated after each round of session.
It achieves gateway failure backup, load balancing, and highly secure key negotiation. The session key is unforgeable, making it suitable for devices with limited resources. It features high security and lightweight characteristics, making it suitable for scenarios such as telemedicine, connected vehicles, industry, and agriculture.
Smart Images

Figure CN118487769B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of information security technology, and more particularly to a lightweight multi-gateway identity authentication and key negotiation method based on PUF for wireless sensor networks. Background Art
[0002] Currently, most key exchange methods for wireless sensor networks rely on a single gateway, with a few using multiple gateways or multiple gateways collaborating with each other. Furthermore, multiple gateways require a large amount of computation and consume a significant amount of computing resources, making them incapable of achieving lightweight implementation. A single gateway, acting as a trusted institution, is responsible for registering ordinary users and sensor devices, transmitting information, and negotiating keys. Multiple gateways, on the other hand, still rely on a reliable central node gateway for other functions, such as registration. Whether a single or multiple gateways are used in current wireless sensor networks, there are no backup gateways to ensure the normal operation of the system in the event of a central gateway node failure, and load balancing cannot be achieved across multiple gateways. Therefore, designing a lightweight network structure that can achieve both fault backup and load balancing, in order to implement a feasible and secure protocol, is an urgent issue for those skilled in the art. Summary of the Invention
[0003] In view of this, the present invention provides a lightweight multi-gateway identity authentication and key negotiation method based on PUF, which can not only achieve gateway failure backup, load balancing, and lightweight characteristics, but also has high security in the key negotiation process.
[0004] In order to achieve the above object, the present invention adopts the following technical solutions:
[0005] A lightweight multi-gateway identity authentication and key agreement method based on PUF includes the following steps:
[0006] S1, initialization phase: establish the PUF function of each gateway, the master gateway generates the master key y and shares it with other gateways, establishes the secure channel and communication strategy between the gateways, and establishes the data sharing strategy of each gateway;
[0007] S2, user registration stage: when the user registers, the HID parameters and local verification parameters Ver are calculated, the HID parameters are sent to the main gateway, and the local verification parameters Ver are stored locally;
[0008] The main gateway uses the random number C D Calculate the important parameter R D , {C D , R D , HID} is saved locally and shared to other gateways for storage, and then the challenge response mechanism is used to D , R D}Send to the corresponding user end for storage;
[0009] S3, sensor device registration phase: When the sensor device registers, it calculates its own S according to its own identity identifier SID. D =PUF2(SID), {SID, S D}Send to the main gateway for storage and share with other gateways for storage; the main gateway calculates K based on its own master key y j =h(SID||S D ||y), and K j Send to the corresponding sensor device for storage;
[0010] S4, key negotiation phase: When the user terminal interacts with the sensor device, the challenge response mechanism calculated in the registration phase is used to negotiate the key. j The session key is negotiated with the temporarily generated random number, and the data to be transmitted is encrypted using the session key; after each round of session, the previous challenge-response mechanism is updated, saved and shared.
[0011] Furthermore, it also includes:
[0012] S5, User password update stage:
[0013] When the user terminal needs to update the local verification parameter Ver, it first performs local identity authentication. After the verification is passed, the new local verification parameter is calculated and saved using the new password, identity identifier and biometrics.
[0014] Furthermore, it also includes:
[0015] S6, User logout stage:
[0016] When a user terminal needs to log out, it first performs local identity authentication on the user terminal, and then sends the logout request to the main gateway. After the main gateway verifies the logout message, it shares the HID parameters and logout request of the user terminal that needs to be logged out with other gateways, and each gateway deletes the corresponding record of the user terminal in the database; when the logged-out user terminal needs to access the sensor device again, it re-enters the registration stage.
[0017] Furthermore, in S1, the communication strategy of each gateway is: gateways communicate with each other in pairs, and the current CPU utilization of each gateway is set to 75%. When the CPU utilization of a gateway exceeds 75%, the received information is forwarded to the next idle gateway for related calculations.
[0018] Furthermore, the S2 user registration phase includes:
[0019] S21, the user enters his / her own identity ID, password PW and biometrics BIO, and calculates
[0020] B i =biohashing(BIO),E i =PUF1(BIO),GPW=h(ID||E i ||PW) and HID=h(ID||E i ), send the HID parameter to the main gateway through a secure channel, and then calculate the local authentication parameter Ver=h(GPW||E i ||PW) and save it locally;
[0021] S22. After receiving the HID parameter, the main gateway generates a random number C D , calculate important parameters {C D , R D , HID} in your own database, and then {C D , R D , HID} is broadcast to other gateways through a secure channel, and other gateways will D , R D , HID} is saved to its own database;
[0022] S23, the main gateway will challenge the response mechanism to {C D , R D}After broadcasting to other gateways to achieve data sharing, the challenge response mechanism is used to {C D , R D} is sent to the user end, and after the user end receives the information, it is saved locally.
[0023] Furthermore, the S4 key negotiation phase includes:
[0024] S41. When the user terminal and the sensor device need to interact with each other, the user terminal performs local identity authentication. After the authentication is passed, the user terminal extracts the challenge response pair stored locally during registration. D , R D}, and generate a timestamp T1, calculate HID = h(ID || E i ), N2=h(GPW||N1||R D ), N4=h(N1||N2||N3||HID), after the calculation is completed, the message M1={C D , N1, N3, N4, T1} are sent to the main gateway through the public channel;
[0025] S42, after the main gateway receives the message M1, it generates the current timestamp T1' and verifies the CPU usage, message timeliness and whether the message has been tampered with. After all the verifications are passed, it calculates Search the gateway database for SID'. If it does not exist, it means the sensor device has not been registered. If it exists, extract the parameter S D , generate the current timestamp T2, and calculate K' j =h(SID||S D ||y), and N6=h(K' j ||N5||R D ||S D ), the message
[0026] M2 = {N5, N6, T2} is sent to the corresponding sensor device through the public channel;
[0027] S43. When the sensor device receives the message M2, it generates the current timestamp T2', verifies the timeliness of the message and whether the data has been tampered with. After the verification is passed, it generates a random number R and generates a session key SK = h(R' D ||h(S D ||R)), N7=h(R D ||SK), N9=h(R||N7||N8||S D ), sending the message M3 = {N7, N8, N9} to the gateway that previously sent the message to the sensor device through the public channel;
[0028] S44. When the gateway receives message M3, it verifies whether the data has been tampered with. After the verification is passed, a random challenge is generated. calculate The message M4={N7, N 10 , N 11 , N 12}Sent to the user end through the public channel;
[0029] S45. After receiving the message M4, the user terminal verifies whether the data has been tampered with. After the verification is passed, the session key SK=h(h(R'||S D )||R D ); calculate N'7=h(R D ||SK), verify whether N'7 is equal to N7, if not equal, the session is terminated, otherwise {C D , R D Updated to
[0030] After that, generate a random number r and calculate and The message M5={N 13 , N 14}Send the message to the gateway that previously sent the message to the user terminal through the public channel;
[0031] S46, when the gateway receives the message, it verifies whether the data has been tampered with. If the verification is successful, it will be tampered with according to the HID. D , R D Updated to And through the secure channel Broadcast to other gateways, and other gateways will convert the {C D , R D Updated to
[0032] Furthermore, in S41, the user terminal performs local identity authentication in the following manner:
[0033] The user terminal calculates B based on its own identity ID, password PW and biometric BIO i =biohashing(BIO),E i =PUF1(BIO),GPW=h(ID||E i ||PW) and Ver'=h(GPW||E i ||PW), compare the newly calculated Ver' with the previously stored Ver. If Ver'≠Ver, the session is terminated and local authentication fails; otherwise, local authentication succeeds and the key negotiation process begins.
[0034] Furthermore, in S42, the process of the main gateway verifying the CPU usage, message timeliness and whether the message has been tampered with is as follows: after receiving the message M1, the main gateway generates a current timestamp T1' and determines whether the current CPU usage exceeds 75% or whether the main gateway fails. If so, the message M1 is forwarded to the backup gateway, and the backup gateway performs subsequent calculations based on the received message M1. Otherwise, the message timeliness is verified according to |T1-T'1|<ΔT. If the timeliness verification fails, the session is terminated. After the timeliness verification passes, the C is retrieved from the gateway database. D , if it exists, extract the corresponding R D , HID two parameters, calculation N'2=h(GPW||N1||R D ) and N'4 = h(N1||N2||N3||HID); verify whether N4 is equal to N'4. If not, the data has been tampered with and the session is terminated;
[0035] In S43, the sensor device verifies the timeliness of the message and whether the data has been tampered with. When the sensor device receives the message M2, it generates the current timestamp T2' and checks the timeliness of the message according to |T2-T'2|<ΔT. If it is invalid, the session is terminated. Otherwise, S is calculated. D =PUF2(SID), N'6=h(K j ||N5||R' D ||S D ), verify whether N'6 is equal to N6. If they are not equal, the data has been tampered with and the session is terminated;
[0036] In S44, the process of the gateway verifying whether the data has been tampered with is as follows: When the gateway receives the message M3, it calculates N'9=h(R'||N7||N8||S D ), verify whether N'9 is equal to N9. If they are not equal, the data has been tampered with and the session is terminated;
[0037] In S45, the process of the user end verifying whether the data has been tampered with is as follows: after the user end receives the message M4, it calculates Verify N' 12 With N 12 Are they equal? If not, the data has been tampered with and the session is terminated.
[0038] In S46, the process of the gateway verifying whether the data has been tampered with is as follows: when the gateway receives the message, it calculates Verify N' 14 With N 14 Are they equal? If not, the data has been tampered with and the session is terminated.
[0039] Furthermore, the S6 user logout phase includes:
[0040] S61. The user enters his / her personal information ID, password PW, and biometric feature BIO, calculates the local verification parameter Ver', and compares Ver' with the Ver stored during registration. If Ver'≠Ver, the session is terminated and the local authentication fails. Otherwise, the local authentication succeeds.
[0041] The user side extracts the challenge response pair saved during registration. D , R D}, and generate a timestamp T1, calculate HID = h(ID || E i ), N2=h(GPW||N1||R D ), N3=h(N1||N2||HID), after the calculation is completed, the message deregistration request and M1={C D, N1, N3, T1} are sent to the main gateway through the public channel;
[0042] S62, when the main gateway receives the message M1, it verifies the CPU usage and the timeliness of the message. After the verification is passed, it searches the gateway database for C D , if it exists, extract the corresponding R D , HID two parameters, calculation N'2=h(GPW||N1||R D ) and N'3 = h(N1||N2||HID), verify whether N3 is equal to N'3. If they are not equal, the data has been tampered with and the session is terminated. Otherwise, the verification is successful;
[0043] S63, after the verification is passed, the current gateway broadcasts the HID and the deregistration request to other gateways through the secure channel, and the current gateway and other gateways delete the corresponding {C D , R D}; If the user wants to access the sensor device again, it must re-register with the gateway.
[0044] It can be seen from the above technical solutions that compared with the prior art, the present invention has the following beneficial effects:
[0045] 1. In this invention, leveraging the unclonable nature of PUF, after a user inputs biometric information, the PUF generates a unique biometric identifier. This, combined with factors such as a password and smart card, ensures the authenticity and unforgeability of the user's authentication information. The trusted gateway uses the PUF to generate a new challenge-response pair each time, ensuring that the user's authentication request message cannot be traced. The session key SK, derived by calculating the output of the gateway PUF, the output of the sensor node PUF, and a temporarily generated random number R, ensures the unforgeability and freshness of the session key. Even if an attacker obtains the user's ID, password, biometrics, and smart card parameters, they cannot use this information to log in on another mobile device and impersonate the legitimate user, nor can they forge a legitimate M1. Furthermore, due to the PUF's characteristics, even if the user or sensor is stolen and analyzed, the previously negotiated session key cannot be recovered, and subsequent session keys cannot be calculated by impersonating the user, resulting in a high level of security.
[0046] 2. The session key generated by the present invention facilitates the establishment of a secure encryption channel. Users and sensor nodes authenticated by a trusted gateway have legitimate identities. The negotiated session key is highly trustworthy and can be used to encrypt and protect subsequent data transmitted between the user and the sensor node, forming a secure encryption channel between the user and the sensor node. In the present invention, the session key is generated by a hash function. The parameters used to generate the session key include both unclonable parameters generated by the PUF and random numbers. Therefore, the session key of the present invention is resistant to counterfeiting and has a high level of security.
[0047] 3. This invention only involves PUF operations, and traditional hash operations and XOR operations maintain lightweight characteristics, enabling fast calculations even in devices with limited computing and storage resources. It is suitable for scenarios such as telemedicine, Internet of Vehicles, industry, and agriculture.
[0048] 4. The present invention adopts a multi-user, multi-gateway, and multi-sensor network structure. By sharing encrypted user information and challenge-response mechanism pairs between gateways, user information can be retrieved only through challenges. Because the challenge-response mechanism is updated each time, it is untraceable. At the same time, due to the secure communication and data sharing between multiple gateways, when a gateway has a single point failure or extremely high computing resource consumption under harsh environmental conditions, causing a processing bottleneck, the message can be forwarded to any other backup gateway, and the same can be done for other backup gateways. Therefore, when faced with a large number of users and a large number of sensor nodes, this method can achieve free switching between multiple gateways based on a load balancing strategy, solving the gateway node bottleneck and single point failure problems in traditional architectures. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are merely embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.
[0050] Figure 1 The network structure of the wireless sensor network system provided by the present invention;
[0051] Figure 2 A flowchart of the user registration phase provided by the present invention;
[0052] Figure 3 A flow chart of the sensor device registration phase provided by the present invention;
[0053] Figure 4 This is a flowchart of the key negotiation phase provided by the present invention. DETAILED DESCRIPTION
[0054] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0055] The present invention has three entities in the wireless sensor network, namely the user end, the trusted gateway and the sensor device. When the user end needs to interact with the sensor device for data, the user end and the sensor device must be registered in the trusted gateway. After the registration is completed, a session key is negotiated. The user end and the sensor device use the session key to encrypt the transmitted data, thereby achieving the purpose of secure data transmission. The original intention of the solution of the present invention is to use lightweight computing in devices with limited computing resources and low energy consumption, so as to improve computing efficiency. In addition, through a multi-gateway environment, load balancing and fault backup are achieved. The network structure of the system is as follows Figure 1 As shown in Table 1, the relevant symbols used in the specific transmission process and their descriptions are shown in Table 1.
[0056] Table 1 Symbols and descriptions
[0057]
[0058]
[0059] The embodiment of the present invention discloses a lightweight multi-gateway identity authentication and key agreement method based on PUF, comprising the following steps:
[0060] S1, Initialization phase: Establish each gateway's own PUF function, the master gateway generates a master key y and shares it with other gateways, establishes a secure channel (i.e., private channel) and communication strategy between the gateways, and establishes a data sharing strategy for each gateway;
[0061] S2, user registration stage: when the user registers, the HID parameters and local verification parameters Ver are calculated, the HID parameters are sent to the main gateway, and the local verification parameters Ver are stored locally;
[0062] The main gateway uses the random number C D Calculate the important parameter R D , {C D , R D , HID} is saved locally and shared to other gateways for storage, and then the challenge response mechanism is used to D , R D}Send to the corresponding user end for storage;
[0063] S3, sensor device registration phase: When the sensor device registers, it calculates its own S according to its own identity identifier SID. D =PUF2(SID), {SID, S D}Send to the main gateway for storage and share with other gateways for storage; the main gateway calculates K based on its own master key y j =h(SID||S D ||y), and K j Send to the corresponding sensor device for storage;
[0064] S4, key negotiation phase: When the user terminal interacts with the sensor device, the challenge response mechanism calculated in the registration phase is used to negotiate the key. j The session key is negotiated with the temporarily generated random number, and the data to be transmitted is encrypted using the session key; after each round of session, the previous challenge-response mechanism is updated, saved and shared.
[0065] This embodiment also includes:
[0066] S5, User password update stage:
[0067] When the user terminal needs to update the local verification parameter Ver, it first performs local identity authentication. After the verification is passed, the new local verification parameter is calculated and saved using the new password, identity identifier and biometrics.
[0068] S6, User logout stage:
[0069] When a user terminal needs to log out, it first performs local identity authentication on the user terminal, and then sends the logout request to the main gateway. After the main gateway verifies the logout message, it shares the HID parameters and logout request of the user terminal that needs to be logged out with other gateways, and each gateway deletes the corresponding record of the user terminal in the database; when the logged-out user terminal needs to access the sensor device again, it re-enters the registration stage.
[0070] The following is a further explanation of the above steps.
[0071] S1 initialization phase:
[0072] S11. Each gateway establishes its own PUF GW (), which facilitates the subsequent generation of their respective challenge-response mechanism pairs. The master gateway generates its own master key y and securely transmits it to other gateways, saving it for use in the sensor registration phase.
[0073] S12. Establish secure channels and communication strategies between gateways. Gateways communicate with each other securely. Each gateway's current CPU utilization is set at 75%. When a gateway's CPU utilization exceeds 75%, the received information is forwarded to the next idle gateway for related calculations.
[0074] S13, establish a data sharing strategy to enable it to quickly and accurately achieve data positioning and data update, and achieve the purpose of data sharing. S2 user registration stage, such as Figure 2 As shown, specifically including:
[0075] S21, the user enters his / her own identity ID, password PW and biometrics BIO, and calculates
[0076] B i =biohashing(BIO),E i =PUF1(BIO),GPW=h(ID||E i ||PW) and HID=h(ID||E i ), send the HID parameter to the main gateway through a secure channel, and then calculate the local authentication parameter Ver=h(GPW||E i ||PW) and save it locally;
[0077] S22. After receiving the HID parameter, the main gateway generates a random number C D , calculate important parameters {C D , R D , HID} is saved in its own database, and then {C D , R D , HID} is broadcast to other gateways through a secure channel, and other gateways will D , R D , HID} is saved to its own database to realize the sharing of user information data;
[0078] S23, the main gateway will challenge the response mechanism to {C D , R D}After broadcasting to other gateways to achieve data sharing, the challenge response mechanism is used to {C D , R D} is sent to the user end. After receiving the information, the user end saves it locally for use in the login and key negotiation process.
[0079] S3 sensor device registration phase, such as Figure 3 As shown, specifically including:
[0080] S31. Each sensor device has its own identity identifier SID, so when registering, the sensor first calculates S D =PUF2(SID), then {SID, S D}Sent to the main gateway.
[0081] S32, the master gateway has its own master key y. So the master gateway calculates K j =h(SID||S D ||y), and then K j Send to sensor device through secure channel, save {SID, S D}.
[0082] S33, the sensor device receives K j Afterwards, it is saved locally for use in the key negotiation process.
[0083] S4 key negotiation phase, such as Figure 4 As shown, specifically including:
[0084] S41, when the user terminal and the sensor device need to interact with each other, the user terminal performs local identity authentication, and calculates B based on its own identity ID, password PW and biometric BIO. i =biohashing(BIO),E i =PUF1(BIO),GPW=h(ID||E i ||PW) and Ver'=h(GPW||E i ||PW), compare the newly calculated Ver' with the previously stored Ver. If Ver'≠Ver, the session is terminated and the local authentication fails; otherwise, the local authentication succeeds and the key negotiation process begins. The user end extracts the challenge response pair stored locally during registration. D , R D}, and generate a timestamp T1, calculate HID = h(ID || E i ), N2=h(GPW||N1||R D ), N4=h(N1||N2||N3||HID), after the calculation is completed, the message M1={C D , N1, N3, N4, T1} are sent to the main gateway through the public channel;
[0085] S42. After receiving the message M1, the main gateway generates the current timestamp T1' and determines whether the current CPU usage exceeds 75% or whether the main gateway fails. If so, the message M1 is forwarded to the backup gateway, and the backup gateway performs subsequent calculations based on the received message M1. Otherwise, the timeliness of the message is verified according to |T1-T'1|<ΔT. If the timeliness verification fails, the session is terminated. After the timeliness verification passes, the C is retrieved from the gateway database. D , if it exists, extract the corresponding R D , HID two parameters, calculation N'2=h(GPW||N1||R D ) and N'4 = h(N1||N2||N3||HID); verify whether N4 is equal to N'4. If not, the data has been tampered with and the session is terminated; if they are equal, the verification is passed and the calculation is Search the gateway database for SID'. If it does not exist, it means the sensor device has not been registered. If it exists, extract the parameter S D , generate the current timestamp T2, and calculate K' j =h(SID||S D ||y), and N6=h(K' j ||N5||R D ||S D ), send the message M2 = {N5, N6, T2} to the corresponding sensor device through the public channel;
[0086] S43. When the sensor device receives the message M2, it generates the current timestamp T2' and checks the timeliness of the message according to |T2-T'2|<ΔT. If it is invalid, the session is terminated. Otherwise, S is calculated. D =PUF2(SID), N'6=h(K j ||N5||R' D ||S D ), verify whether N'6 is equal to N6. If they are not equal, the data has been tampered with and the session is terminated; if they are equal, the verification is passed, and a random number R is generated to generate the session secret SK = h(R' D ||h(S D ||R)), N7=h(R D ||SK), N9=h(R||N7||N8||S D ), sending the message M3 = {N7, N8, N9} to the gateway that previously sent the message to the sensor device through the public channel;
[0087] S44, when the gateway receives the message M3, calculate N'9=h(R'||N7||N8||S D ), verify whether N'9 is equal to N9. If they are not equal, the data has been tampered with and the session is terminated; if they are equal, the verification is passed and a random challenge is generated calculate The message M4={N7, N 10 , N 11 , N 12}Sent to the user end through the public channel;
[0088] S45. When the user receives the message M4, calculate Verify N' 12 With N 12 Are they equal? If not, the data has been tampered with and the session is terminated. If they are equal, the verification is successful and the session key SK = h(h(R'||S D )||R D ); calculate N ' 7=h(R D ||SK), verify N ' 7 is equal to N7, if not equal, the session is terminated, otherwise {C D , R D Updated to
[0089] After that, generate a random number r and calculate and The message M5={N 13 , N 14}Send the message to the gateway that previously sent the message to the user terminal through the public channel;
[0090] S46. When the gateway receives the message, calculate Verify N ' 14 With N 14 Are they equal? If not, the data has been tampered with and the session is terminated. If they are equal, the verification is passed. According to HID, {C D , R D Updated to And through the secure channel Broadcast to other gateways, and other gateways will convert the {C D , R D Updated to This completes the negotiation process of the session key.
[0091] The S5 user password update phase specifically includes:
[0092] S51, the user uses the terminal device used for registration, enters his / her own identity ID, password PW and biometric feature BIO, first performs local identity verification, calculates B i =biohashing(BIO),E i =PUF1(BIO),GPW=h(ID||E i ||PW) and Ver ' =h(GPW||E i ||PW), verify Ver and Ver ' Are they equal? If they are not equal, local authentication fails; otherwise, local authentication succeeds.
[0093] S52, after the local identity authentication is passed, the user enters the new user password PW new , calculate GPW=h(ID||E i ||PW new ) and Ver new =h(GPW||E i ||PW new ). After the calculation is completed, Ver new Saved locally on your device for use the next time you log in.
[0094] The S6 user logout phase includes:
[0095] S61, the user enters his personal information ID, password PW and biometrics BIO, performs local identity authentication, and calculates B i =biohashing(BIO),E i =PUF1(BIO),GPW=h(ID||E i ||PW) and Ver'=h(GPW||E i ||PW), compare Ver' with the Ver stored during registration. If Ver ' ≠Ver, the session is terminated and local authentication fails; otherwise, local authentication succeeds.
[0096] Next, the user end negotiates the session key with the sensor device through the trusted gateway, and the user end extracts the challenge response pair saved during registration. D , R D}, and generate a timestamp T1, calculate HID = h(ID || E i ), N2=h(GPW||N1||R D ), N3=h(N1||N2||HID), after the calculation is completed, the message deregistration request and M1={C D , N1, N3, T1} are sent to the main gateway through the public channel;
[0097] S62, when the main gateway receives the message M1, it verifies the CPU usage and the timeliness of the message. After the verification is passed, it searches the gateway database for C D , if it exists, extract the corresponding R D , HID two important parameters, calculation N'2=h(GPW||N1||R D ) and N'3 = h(N1||N2||HID), verify whether N3 is equal to N'3. If they are not equal, the data has been tampered with and the session is terminated. Otherwise, the verification is successful;
[0098] S63, after the verification is passed, the current gateway broadcasts the HID and the deregistration request to other gateways through the secure channel, and other gateways delete the corresponding {C D , R D}, then the current gateway also deletes the record in the local database, and the user end also deletes the record locally; if the user end wants to access the sensor device again, it re-registers with the gateway.
[0099] This application ensures the security of data transmission through the above process, which is specifically reflected in:
[0100] 1. Resist offline password guessing attacks: For password-based authentication protocols, offline password guessing attacks are a major security threat. According to the attacker model, the attacker can obtain the parameters {Ver, C D , R D}, parameters in the public channel can be obtained. The password calculation of the present invention only outputs Ver = h(h(ID||PUF1(BIO)||PW) in local authentication. Attackers cannot derive the identity ID and PUF1(BIO) by breaking the data obtained from the public channel, where BIO is a biometric feature. Therefore, it is impossible for an attacker to guess the user's password from the password space. The present invention can resist offline password guessing attacks.
[0101] 2. User anonymity: User anonymity means that the user cannot be tracked by attackers, that is, the user cannot send the same parameter twice. In the present invention, the user sends a message M1 = {C D , N1, N3, N4, T1}, where C D is a random number, and each message in {N1, N3, N4} has R D participation, and R D Instead, it is processed by PUF2(C D) is generated and has the characteristics of random numbers, so each message sent from the user end is random, and attackers cannot calculate information with user identification characteristics through data obtained from the public channel, so the present invention has user anonymity.
[0102] 3. Anti-leakage security of session key: In the present invention, the session key is generated by a hash function and has randomness due to the participation of random numbers. The session key is SK = h(R' D ||h(S D ||R)), and the attacker cannot forge {R D , S D}, and the random number R cannot be forged, and the attacker cannot recover {R D , S D} and R, so the present invention can resist the security of session key leakage.
[0103] 4. Forward / Backward Security: Based on the security requirements of wireless sensor networks, authentication protocols must ensure forward or backward security for sensor networks. In this solution, after the user, gateway, and sensor complete bidirectional authentication, an encryption key SK is generated to encrypt confidential data that the user wishes to access. SK is generated by encrypting a random number generated by each communicating entity during each authentication process. Therefore, SK changes dynamically and randomly during each authentication process. When users or sensors join or leave, attackers cannot obtain the SK of previously or subsequently transmitted data, thus ensuring forward / backward security.
[0104] 5. Resistance to temporary secret value attacks: In the solution of the present invention, there are two temporary secret values R and r. When R is leaked, because The attacker cannot obtain S D , K j , and it is impossible to recover any of them. When r is leaked, because the calculation process of r is The attacker cannot know the HID, So the HID cannot be calculated. Therefore, the solution of the present invention can resist temporary secret value leakage attacks.
[0105] 6. Mutual Authentication: In this solution, users, gateways, and sensors verify the legitimacy of each message they receive. Subsequent operations can only proceed after verification. Each verification message involves two or more secret parameters, making it impossible for attackers to recover or forge it.
[0106] 7. Replay attack: Replay attack is a very popular simple attack mode. According to the attacker model, the attacker can intercept and forward the data transmitted in the public network to achieve the purpose of deception. In the scheme of the present invention, when the user end sends a message to the gateway, and the gateway sends a message to the sensor, it is required to verify the freshness of the timestamp after each transmission information is received. If the received timestamp is not fresh, the recipient immediately rejects the request and discards the session. The sensor sends information to the gateway, and the gateway sends information to the user end. Because of the existence of the time stamp, the freshness of the session can be guaranteed, so the scheme of the present invention can resist replay attacks.
[0107] 8. Resistance to sensor node capture attack: When a sensor node is captured, the attacker can extract the parameters stored in the sensor through side channel attack. In the solution of the present invention, the attacker can obtain {SID, K j}, due to S D Generated by PUF function, so attackers cannot forge S D , the attacker cannot find Therefore, the session key cannot be recovered and a fake sensor cannot be used to send messages to the gateway.
[0108] 9. Long-term secret value leakage attack: In the gateway, there is a secret value y, which is stored in the gateway for a long time and is responsible for sensor registration. When y is leaked, the attacker cannot obtain the S generated by the PUF function. D , so the attacker cannot calculate K' j =h(SID||S D ||y), the session key cannot be recovered, so the solution of the present invention can resist long-term secret value leakage attacks.
[0109] 10. Resistance to eavesdropping attacks: Attackers can intercept messages from the public channel, but each authentication message and session key SK is protected by a hash function. Therefore, attackers cannot obtain useful information from the data transmitted on the public channel to carry out impersonation attacks or recover the session key. Therefore, the solution of the present invention can resist eavesdropping attacks.
[0110] 11. Resist internal attacks: When registering, users do not disclose their biometrics or passwords to the control server, so the gateway has no way of knowing the user's identity information. Therefore, the present invention can resist the gateway from impersonating the user to discover information. The present invention can resist internal attacks.
[0111] 12. Resistance to man-in-the-middle attacks: An attacker can intercept messages from a public channel, but since the secret parameters are unknown to the attacker, the attacker cannot generate a valid message to deceive any two communicating parties. Therefore, the present invention can resist man-in-the-middle attacks.
[0112] 13. Resist attacks during the password update phase: In the scheme of the present invention, since the user password is not sent to the gateway during the registration phase, the password is only updated locally during the password update, and there is no transmission of sensitive data in the public channel. Therefore, the scheme of the present invention can resist attacks during the password update phase.
[0113] 14. Three-factor security: Three-factor security means that even if an attacker obtains two authentication factors, they still cannot obtain the third authentication factor and thus cannot successfully impersonate the user. The following three scenarios provide a detailed analysis of the three-factor security provided by the present invention.
[0114] (1) When an attacker obtains the user's smart card parameters and biometrics, he cannot obtain the user's password and ID. The attacker can calculate B from the obtained data. i =biohashing(BIO), but the result E generated by the PUF function cannot be calculated i =PUF1(BIO), similarly, it is impossible to calculate GPW=h(ID||E i ||PW), HID=h(ID||E i ). Therefore, it is impossible to calculate useful data using publicly transmitted information.
[0115] (2) When an attacker obtains the user's smart card parameters, password and ID, he cannot obtain the user's biometric characteristics. The attacker cannot obtain GPW=h(ID||E i ||PW), HID=h(ID||E i ), N2=h(GPW||N1||R D ), It is even more impossible to calculate the biometric BIO or E i .
[0116] (3) When an attacker obtains the user's biometrics, password, and ID, he cannot obtain the user's locally stored parameters. i , so the attacker still cannot calculate GPW=h(ID||E i ||PW), HID=h(ID||E i ), so it is impossible to calculate the locally stored parameters and send messages to the gateway in the name of a legitimate user.
[0117] Most existing three-factor authentication schemes cannot achieve three-factor security because when the biometrics and smart cards are compromised, attackers can guess the user's password based on the verification value stored in the smart card to verify the validity of the input password and the biometrics. Because the biometrics in the scheme of the present invention are processed by PUF, attackers cannot clone them, making it impossible for attackers to calculate other corresponding parameters. Therefore, the present invention can meet three-factor security.
[0118] The above steps of the present invention are further explained below in a telemedicine scenario.
[0119] S1. Initialization process: establish the PUF function of each gateway and generate its own master key y, establish a secure channel and communication strategy between the gateways, and establish a data sharing strategy for each gateway.
[0120] S2. Doctor user registration process:
[0121] S21, the doctor enters his / her ID, password PW and biometrics BIO on the registered terminal device, and the terminal device starts to calculate B i =biohashing(BIO),E i =PUF1(BIO),GPW=h(ID||E i ||PW) and HID=h(ID||E i ). After completion, the terminal device sends HID to the main gateway through a secure channel. Then calculate the local authentication parameter Ver=h(GPW||E i ||PW) and save it in the local device.
[0122] S22, after receiving the HID, the main gateway generates a challenge response mechanism pair. D , calculate important parameters And {C D , R D , HID} is saved in its own database, and then the main gateway will {C D , R D , HID} is broadcast to other gateways through secure channels, and other gateways also save it to their own databases to achieve user information data sharing.
[0123] S23, the main gateway will {C D , R D After broadcasting to other gateways to achieve data sharing, the main gateway will use the secure channel to send the challenge response mechanism to {C D , R D} is sent to the user device, and after the user device receives the information, it is immediately saved to its local device.
[0124] S3. Medical device (sensor) registration:
[0125] S31, medical equipment has its own identity SID, so first calculate S D =PUF2(SID), then {SID, S D}Sent to the main gateway.
[0126] S32, the main gateway has its own master key y, after receiving the message, the main gateway calculates K j =h(SID||S D ||y), and then K j Send to medical device through secure channel, save {SID, S D}.
[0127] S33, medical equipment received K j Then save it to your device.
[0128] S4, login authentication and key negotiation phase:
[0129] S41, the doctor enters his / her own identity ID, password PW and biometric feature BIO on the terminal device. The terminal device first verifies the local identity and calculates B i =biohashing(BIO),E i =PUF1(BIO),GPW=h(ID||E i ||PW) and Ver'=h(GPW||E i ||PW). After the calculation is complete, Ver' is verified to be equal to the Ver stored in the local smart card during registration. If Ver'≠Ver, the session is terminated and local authentication fails. Otherwise, local authentication succeeds.
[0130] Next, the terminal device negotiates the session key with the medical device through the trusted gateway, and the terminal device extracts the challenge response pair stored in the local device during registration. D , R D}, then generate a timestamp T1, calculate HID = h(ID || E i ), N2=h(GPW||N1||R D ), N4=h(N1||N2||N3||HID), after the calculation is completed, the terminal device sends the message M1={C D , N1, N3, N4, T1} are sent to the trusted master gateway through the public channel.
[0131] S42. When the main gateway receives the message M1, it will first determine if the current CPU usage exceeds 75% or if the main gateway fails to work properly. Then it will forward the message M1 to the backup gateway, which will then perform subsequent calculations based on the received message. If the current CPU usage of the main gateway does not exceed 75%, it will first check the timeliness of the message based on |T1-T'1|<ΔT. If it is invalid, the session will be terminated. Otherwise, it will search the gateway database for C D , if it exists, extract the corresponding R D , HID two important parameters. Calculation N'2=h(GPW||N1||R D ) and N'4=h(N1||N2||N3||HID). Verify whether N4 is equal to N'4. If not, the data has been tampered with and the session is terminated. If they are equal, calculate Search the gateway database for SID'. If it does not exist, the medical device has not been registered. If it does exist, the corresponding important parameters S are extracted. D , generate the current timestamp T2, and then calculate K' j =h(SID||S D ||y), and N6=h(K' j ||N5||R D ||S D ), and then sends the message M2 = {N5, N6, T2} to the medical device through the public channel.
[0132] S43. When the medical device receives the message M2, it will first check the timeliness of the message according to |T2-T'2|<ΔT. If it is invalid, the session will be terminated. Otherwise, S will be calculated immediately. D =PUF2(SID), N'6=h(K j ||N5||R' D ||S D ), verify whether N'6 is equal to N6, if not, the session is terminated, otherwise a random number R is generated to generate the session key SK = h(R' D ||h(S D ||R)), N7=h(R D ||SK), N9=h(R||N7||N8||S D ). Then, the message M3 = {N7, N8, N9} is sent to the gateway that previously sent the message to the medical device through a public channel.
[0133] S44, when the gateway receives the message M3, it immediately calculates N'9=h(R'||N7||N8), verify whether N'9 is equal to N9, if not, the session is terminated, otherwise the verification is passed. Generate a random number (random challenge) calculate
[0134] The medical device then sends the message M4={N7, N 10 , N 11 , N 12}Sent to the doctor's terminal device through the public channel.
[0135] S45. When the doctor's terminal device receives the message M4, it calculates Verify N' 12 With N 12 If they are not equal, the session is terminated. Otherwise, the verification is successful and the session key SK is generated. D )||R D ) Calculate N'7=h(R D ||SK), verify whether N'7 is equal to N7, if not equal, the session is terminated, otherwise {C D , R D Updated to After that, generate a random number r and calculate and Then the message M5={N 13 , N 14}Sent via a public channel to the gateway that previously sent the message to the doctor's terminal device.
[0136] S46. When the gateway receives the message, calculate N' 14 With N 14 If they are equal, after verification, the gateway will D , R D Updated to Afterwards, the current gateway sends Broadcast to other gateways, and other gateways will register {C D , R D Updated to This completes the negotiation process of the session key.
[0137] After the session key is successfully negotiated, the doctor's terminal device and the medical device encrypt the transmitted data using the session key to exchange medical data.
[0138] S5, Doctor terminal device password update stage:
[0139] S51. The doctor enters his / her ID, password PW and biometric feature BIO on the terminal device. The terminal device first performs local identity verification. Calculate B i =biohashing(BIO),E i =PUF1(BIO),GPW=h(ID||E i ||PW) and Ver'=h(GPW||E i ||PW), verify whether Ver and Ver' are equal. If they are not equal, local authentication fails; otherwise, local authentication succeeds.
[0140] S52, after the identity verification is passed, the doctor enters the new user password PW on the terminal device new , calculate GPW=h(ID||E i ||PW new ) and Ver new =h(GPW||E i ||PW new ). After the calculation is completed, Ver new The password is saved in the local device and updated successfully.
[0141] S6, User logout stage:
[0142] S61. The doctor enters his personal information ID, password PW and biometric feature BIO in the terminal device, first performs local identity verification, and calculates B i =biohashing(BIO),E i =PUF1(BIO),GPW=h(ID||E i ||PW) and Ver'=h(GPW||E i ||PW), after the calculation is completed, Ver' is compared with the Ver stored in the local smart card during registration. If Ver'≠Ver, the session is terminated and the local authentication fails. Otherwise, the local authentication succeeds. Next, the session key is negotiated with the medical device through the trusted gateway. The device extracts the challenge response pair stored in the local smart card during registration. D , R D}, then the doctor's terminal device generates a timestamp T1, and then calculates HID=h(ID||E i ), N2=h(GPW||N1||R D ), N3=h(N1||N2||HID), after the calculation is completed, the terminal device sends the message deregistration request and M1={C D , N1, N3, T1} are sent to the trusted gateway through the public channel.
[0143] S62. When the main gateway receives the message M1, it will first determine if the current CPU usage exceeds 75% or if the main gateway fails to work properly. Then it will forward the message M1 to the backup gateway, which will then perform subsequent calculations based on the received message. If the current CPU usage of the main gateway does not exceed 75%, it will first check the timeliness of the message based on |T1-T'1|<ΔT. If it is invalid, the session will be terminated. Otherwise, it will search the gateway database for C D , if it exists, extract the corresponding R D , HID two important parameters, used for the following calculations. Calculation N'2=h(GPW||N1||R D ) and N'3 = h(N1||N2||HID). Verify whether N3 is equal to N'3. If not, the data has been tampered with and the session is terminated. Otherwise, the verification is successful.
[0144] S63, after the verification is passed, the current gateway first broadcasts the HID and the deregistration request to other gateways through the secure channel, and other gateways delete {C D , R D}, deleting the record from the database. Upon completion, the gateway also deletes the record from its local database, and the data is also deleted from the doctor's device. If the user wishes to regain access to the medical device, they can re-register with the gateway through the registration process.
[0145] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Reference can be made to the common and similar parts between the various embodiments. For the devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the method description.
[0146] The above description of the disclosed embodiments is intended to enable one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be readily apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention is not limited to the embodiments shown herein but is intended to conform to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A lightweight multi-gateway identity authentication and key agreement method based on PUF, characterized in that: The following steps are involved: S1, initialization phase: establish the PUF function of each gateway, the master gateway generates the master key y and shares it with other gateways, establishes the secure channel and communication strategy between the gateways, and establishes the data sharing strategy of each gateway; S2, user registration stage: When the user registers, the respective HID parameters and local verification parameters Ver are calculated, the HID parameters are sent to the main gateway, and the local verification parameters Ver are stored locally; the HID parameters are calculated as follows: HID=h(ID||E i ), where E i =PUF1(B i ), B i =biohashing(BIO), where ID is the user's identity and BIO is the user's biometric feature; The main gateway uses the random number C D Calculate the important parameter R D , {C D , R D , HID} is saved locally and shared to other gateways for storage, and then the challenge response mechanism is used to D , R D }Send to the corresponding user end for storage; S3, sensor device registration phase: When the sensor device registers, it calculates its own S according to its own identity identifier SID. D =PUF2(SID), {SID, S D }Send to the main gateway for storage and share with other gateways for storage; the main gateway calculates K based on its own master key y j =h(SID||S D ||y), and K j Send to the corresponding sensor device for storage; S4, key negotiation phase: When the user terminal interacts with the sensor device, the challenge response mechanism calculated in the registration phase is used to negotiate the key. j The session key is negotiated with the temporarily generated random number, and the data to be transmitted is encrypted using the session key; after each round of session, the previous challenge-response mechanism is updated, saved and shared.
2. The PUF-based lightweight multi-gateway identity authentication and key agreement method according to claim 1, characterized in that: Also includes: S5, User password update stage: When the user terminal needs to update the local verification parameter Ver, it first performs local identity authentication. After the verification is passed, the new local verification parameter is calculated and saved using the new password, identity identifier and biometrics.
3. The PUF-based lightweight multi-gateway identity authentication and key agreement method according to claim 1, characterized in that: Also includes: S6, User logout stage: When a user terminal needs to log out, it first performs local identity authentication on the user terminal, and then sends the logout request to the main gateway. After the main gateway verifies the logout message, it shares the HID parameters and logout request of the user terminal that needs to be logged out with other gateways, and each gateway deletes the corresponding record of the user terminal in the database; when the logged-out user terminal needs to access the sensor device again, it re-enters the registration stage.
4. The PUF-based lightweight multi-gateway identity authentication and key agreement method according to claim 1, characterized in that: In S1, the communication strategy of each gateway is: gateways communicate with each other in pairs, and the current CPU utilization of each gateway is set to 75%. When the CPU utilization of a gateway exceeds 75%, the received information is forwarded to the next idle gateway for related calculations.
5. The PUF-based lightweight multi-gateway identity authentication and key agreement method according to claim 1, characterized in that: The S2 user registration phase includes: S21, the user enters his / her own identity ID, password PW and biometrics BIO, calculates B i =biohashing(BIO),E i =PUF1(B i ),GPW=h(ID||E i ||PW) and HID=h(ID||E i ), send the HID parameter to the main gateway through a secure channel, and then calculate the local authentication parameter Ver=h(GPW||E i ||PW) and save it locally; S22. After receiving the HID parameter, the main gateway generates a random number C D , calculate the important parameter R D =PUF GW (C D ); D , R D , HID} is saved in its own database, and then {C D , R D , HID} is broadcast to other gateways through a secure channel, and other gateways will D , R D , HID} is saved to its own database; S23, the main gateway will challenge the response mechanism to {C D , R D }After broadcasting to other gateways to achieve data sharing, the challenge response mechanism is used to {C D , R D } is sent to the user end, and after the user end receives the information, it is saved locally.
6. The PUF-based lightweight multi-gateway identity authentication and key agreement method according to claim 1, characterized in that: The S4 key negotiation phase includes: S41. When the user terminal and the sensor device need to interact with each other, the user terminal performs local identity authentication. The way the user terminal performs local identity authentication is as follows: the user terminal uses its own identity ID, password PW' and biometric feature BIO' i Calculate B i =biohashing(BIO' i ), E i =PUF1(B i ), GPW=h(ID||E i ||PW') and Ver'=h(GPW||E i ||PW'), compare the newly calculated Ver' with the previously stored Ver. If Ver'≠Ver, the session is terminated and local authentication fails; otherwise, local authentication succeeds and the key negotiation process begins. After the verification is passed, the user terminal extracts the challenge response mechanism pair stored locally during registration. D , R D }, and generate a timestamp T1, calculate HID = h(ID || E i ), N2=h(GPW||N1||R D ), N4=h(N1||N2||N3||HID), after the calculation is completed, the message M1={C D , N1, N3, N4, T1} are sent to the main gateway through the public channel; S42. After receiving the message M1, the main gateway generates the current timestamp T1' and verifies the CPU usage, message timeliness and whether the message has been tampered with in turn. The verification process is as follows: after receiving the message M1, the main gateway generates the current timestamp T1' and determines whether the current CPU usage exceeds 75% or whether the main gateway fails. If so, the message M1 is forwarded to the backup gateway, and the backup gateway performs subsequent calculations based on the received message M1. Otherwise, the message timeliness is verified according to |T1-T1'|<ΔT. If the timeliness verification fails, the session is terminated. After the timeliness verification passes, the gateway database is retrieved for C D , if it exists, extract the corresponding R D , HID two parameters, calculation N'2=h(GPW||N1||R D ) and N'4 = h(N1||N'2||N3||HID); verify whether N4 is equal to N'4. If not, the data has been tampered with and the session is terminated; After all verifications are passed, calculate Search the gateway database for SID'. If it does not exist, it means the sensor device has not been registered. If it exists, extract the parameter S D , generate the current timestamp T2, and calculate K′ j =h(SID||S D ||y), and N6=h(K' j ||N5||R D ||S D ), send the message M2 = {N5, N6, T2} to the corresponding sensor device through the public channel; S43. When the sensor device receives the message M2, it generates the current timestamp T2' to verify the timeliness of the message and whether the data has been tampered with. It checks the timeliness of the message according to |T2-T′2|<ΔT. If it is invalid, the session is terminated. Otherwise, S is calculated. D =PUF2(SID), N'6=h(K j ||N5||R' D ||S D ), verify whether N'6 is equal to N6. If they are not equal, the data has been tampered with and the session is terminated; if they are equal, the verification is passed; after the verification is passed, a random number R is generated to generate the session key SK = h(R' D ||h(S D ||R)), N7=h(R' D ||SK), N9=h(R||N7||N8||S D ), sending the message M3 = {N7, N8, N9} to the gateway that previously sent the message to the sensor device through the public channel; S44, when the gateway receives the message M3, it verifies whether the data has been tampered with and calculates N'9=h(R'||N7||N8||S D ), verify whether N'9 is equal to N9. If they are not equal, the data has been tampered with and the session is terminated; if they are equal, the verification is passed; after the verification is passed, a random challenge is generated calculate The message M4={N7, N 10 , N 11 , N 12 }Sent to the user end through the public channel; S45, after the user terminal receives the message M4, it verifies whether the data has been tampered with. The process of the user terminal verifying whether the data has been tampered with is as follows: after the user terminal receives the message M4, it calculates Verify N' 12 With N 12 Are they equal? If not, the data has been tampered with and the session is terminated. After verification, the session key SK=h(R D ||h(R'||S D )'); calculate N'7=h(R D ||SK), verify whether N'7 is equal to N7, if not equal, the session is terminated, otherwise {C D , R D Updated to After that, generate a random number r and calculate and The message M5={N 13 , N 14 }Send the message to the gateway that previously sent the message to the user terminal through the public channel; S46. After the gateway receives the message, it verifies whether the data has been tampered with. The process of verifying whether the data has been tampered with is as follows: After the gateway receives the message, it calculates Verify N' 14 With N 14 Are they equal? If not, the data has been tampered with and the session is terminated. After verification, according to HID D , R D Updated to And through the secure channel {HID, Broadcast to other gateways, and other gateways will convert the {C D , R D Updated to 7. The PUF-based lightweight multi-gateway identity authentication and key agreement method according to claim 3, characterized in that: The S6 user logout phase includes: S61. The user enters his / her personal information ID, password PW, and biometric feature BIO, calculates the local verification parameter Ver', and compares Ver' with the Ver stored during registration. If Ver'≠Ver, the session is terminated and the local authentication fails. Otherwise, the local authentication succeeds. The user terminal extracts the challenge response mechanism pair saved during registration. D , R D }, and generate a timestamp T1, calculate HID = h(ID || E i ), N2=h(GPW||N1||R D ), N3=h(N1||N2||HID), after the calculation is completed, the message deregistration request and M1={C D , N1, N3, T1} are sent to the main gateway through the public channel; where GPW=h(ID||E i ||PW), E i =PUF1(B i ), B i =biohashing(BIO); S62, when the main gateway receives the message M1, it verifies the CPU usage and the timeliness of the message. After the verification is passed, it searches the gateway database for C D , if it exists, extract the corresponding R D , HID two parameters, calculation N'2=h(GPW'||N1||R D ) and N'3 = h(N1||N2'||HID), verify whether N3 is equal to N'3. If they are not equal, the data has been tampered with and the session is terminated. Otherwise, the verification is successful; S63, after the verification is passed, the current gateway broadcasts the HID and the deregistration request to other gateways through the secure channel, and the current gateway and other gateways delete the corresponding {C D , R D }; If the user wants to access the sensor device again, it must re-register with the gateway.
Citation Information
Patent Citations
Identity authentication method and system based on wireless sensor network and electronic equipment
CN114499854A
Wireless sensor network authentication protocol method based on physical unclonable function
CN116614809A