An identity authentication method based on PWKTAP protocol
Through the identity authentication method based on the PWKTAP protocol, using physical unclonable functions, wireless channel fingerprints and pre-shared keys, the problems of attack resistance and computational overhead in IoT identity authentication are solved, and strong security and efficient authentication are achieved.
Patent Information
- Application Number
- CN202411015364.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-26
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2044-07-26
AI Technical Summary
The existing IoT identity authentication protocol is difficult to resist key leakage, desynchronization attacks, DoS attacks, and ensure authentication stability, and at the same time, the calculation overhead is high.
The identity authentication method based on the PWKTAP protocol is used to achieve two-way authentication and key negotiation between devices and between devices and servers through physical unclonable functions, wireless channel fingerprints and pre-shared keys.
It achieves strong mutual authentication, device anonymity and unlinkability, perfect forward and backward confidentiality, resists cloning, replay and man-in-the-middle attacks, and reduces computing overhead.
Smart Images

Figure CN119070996B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of Internet of Things communication protocol device identity authentication and data confidentiality security technology, and specifically relates to an identity authentication technology based on a PWKTAP (physical unclonable function, wireless channel fingerprint and key three-factor authentication protocol) protocol. Background Art
[0002] Telemedicine systems, smart transportation, industrial automation, and smart cities are all examples of real-world applications of the Internet of Things. The development of other technologies such as artificial intelligence and machine learning, as well as the development of high-speed 5G networks, has brought about a new generation of the Internet of Things called IoT 2.0. The new generation of IoT focuses on development in different areas such as scalability, interoperability, quality of service enhancement, and security and privacy.
[0003] In order to ensure the availability and confidentiality of IoT services, the authentication server needs to authenticate the communication participants such as devices and gateways, and establish session keys securely and effectively on public channels. Many scholars at home and abroad have proposed improvement schemes for IoT authentication protocols, such as changing the key distribution method, introducing random numbers, adding timestamps, multi-factor authentication, secondary PUF (physical unclonable function) encryption, and strengthening anonymity. Through analysis, it is found that the above methods only solve some problems existing in some IoT authentication protocols, but cannot resist key leakage, desynchronization attacks, DoS attacks, and guarantee authentication stability, and also increase the computational overhead. Summary of the invention
[0004] In view of the defects of the prior art, the present invention provides an identity authentication method based on the PWKTAP protocol to achieve the above technical objectives.
[0005] To achieve the above object, the present invention adopts the following technical solutions:
[0006] The identity authentication method based on the PWKTAP protocol includes the following steps:
[0007] S1. Sensor device SD registration: The sensor device SD applies for registration with the authentication server AS and uses the device’s pseudo-identity to and key K s Stored in the device SD memory, the pseudo identity of the device SD Real ID s , key K s , wireless channel fingerprint information F sd and PUF stimulus response pair<C1,R1> Stored in the authentication server AS database, this step is transmitted over a secure channel;
[0008] S2, terminal device TD registration: The terminal device TD applies for registration with the authentication server AS, and uses the device's pseudo-identity to and key K s Stored in the memory of the device TD, the pseudo identity of the device TD Real ID t , key K s , wireless channel fingerprint information F td The PUF stimulus response pair C2, R2> is stored in the authentication server AS database. This step is transmitted over a secure channel;
[0009] S3, device SD initiates a session: After registration is completed, device SD starts key negotiation. Device SD generates a timestamp T1, outputs the corresponding PUF response R1 according to the stimulus C1 in its memory, and calculates the wireless channel fingerprint information F sd , generates the sequence X1, calculates the verification information I1, and then the device SD sends the message M1 to the authentication server AS through a public channel;
[0010] S4, key generation and distribution: After receiving the message from device SD, the authentication server AS checks the validity of timestamp T1 of M1. After the timestamp T1 is checked, the pseudo-identity is checked in the database of the authentication server AS. The authenticity of the device SD card is retrieved.<C1,R1> 、F sd and K s . Then the authentication server AS calculates F sd and verification information And compare the result with I1 sent by M1 to verify If the verification fails, AS terminates the authentication key exchange process; otherwise, AS continues to perform subsequent steps. AS generates a random number N1, a timestamp T2, and a sequence X2, and then AS generates a session key K between devices SD and TD. st , sequence X3, X4 and verification information I2. Then the authentication server AS sends message M2 to device TD and message M3 to device SD through a public channel;
[0011] S5, device TD key reception: After receiving the message M2 from the authentication server AS, the device TD checks the validity of the timestamp T2 of M2. After the timestamp T2 is checked, TD generates a PUF response R2 according to the stimulus C2 in the memory, calculates the random number N1, and the session key K between the device SD and TD st and verification information And compare the result with I2 sent by M2 to verify If the verification fails, the device TD will terminate the authentication key exchange process; otherwise, TD will save the session key in its own memory. At this point, TD has obtained the session key K between SD and TD. st After that, TD waits for SD to obtain the session key and then requests a session from TD;
[0012] S6, device SD key reception: After receiving the message M3 from the authentication server AS, the device SD checks the validity of the timestamp T2 of M3. After the timestamp T2 is checked, SD calculates the random number N1 and the session key K between the device SD and TD. st and verification information And compare the result with I2 sent by M2 to verify If the verification fails, the device SD will terminate the authentication key exchange process; otherwise, SD will save the session key in its own memory. At this point, SD has obtained the session key K between TD and SD. st At this point, the device SD and the device TD can communicate using the session key;
[0013] S7, the authentication server AS initiates an element information update: the authentication server AS generates a timestamp T3 and a random number N2, calculates a sequence X5, and then sends a message M4 to the device SD to request an element information update from the device SD;
[0014] S8, device SD generates information: After receiving message M4, device SD first checks the timestamp T3, then uses the received message M4 to calculate the random number N2, and then randomly generates the stimulus C3 and response R3 to calculate the new wireless channel fingerprint of the device. and false identities Calculate the sequence X6, X7, X8, X9 and the verification value I3, and then send the message M5 to the authentication server AS;
[0015] S9, the authentication server AS receives the information of the device SD: after receiving the message M5, the authentication server AS first checks the timestamp T3, and then uses the received message M5 to calculate C3, R3, and calculate And verify If the verification fails, the AS will interrupt the authentication key exchange process; otherwise, the AS will update the above information in the database;
[0016] S10, device TD generates information: After receiving message M6, device TD first checks the timestamp T3, then uses the received message M6 to calculate the random number N2, and then randomly generates the stimulus C4 and response R4 to calculate the new wireless channel fingerprint of the device. and false identities Calculate sequence X 10 , X 11 , X 12 , X 13 and verification value I4, and then send message M7 to the authentication server AS;
[0017] S11. The authentication server AS receives the information of device TD: After receiving message M7, the authentication server AS first checks the timestamp T3, and then uses the received message M7 to calculate C4, R4, and calculate I4 and verify whether it holds. If the verification fails, AS will interrupt the authentication key exchange process; otherwise, AS updates the above information in the database. So far, the element information of device SD and device TD has been updated in the authentication server AS.
[0018] Furthermore, the specific sub-steps of step S1 are as follows:
[0019] S1-1. The sensor device SD randomly generates an excitation C1, uses its PUF chip to generate a response R1, and calculates the wireless channel fingerprint F sd , and sends the device SD identity ID s , the excitation-response pair <C1, R1> to the authentication server AS through a secure channel;
[0020] S1-2. After receiving the above information, the authentication server AS generates a pseudo-identity of device SD and a pre-shared key K s . After that, the authentication server AS will and K s store them in the database and send them to device SD;
[0021] S1-3. After receiving the pseudo-identity and the pre-shared key K s , device SD will and K s save them in the device memory.
[0022] Furthermore, the specific sub-steps of step S2 are as follows:
[0023] S2-1. The terminal device TD randomly generates an excitation C2, uses its PUF chip to generate a response R2, and calculates the wireless channel fingerprint F td , and sends the device TD identity ID t , the excitation-response pair <C2, R2> to the authentication server AS through a secure channel;
[0024] S2-2. After receiving the above information, the authentication server AS generates a pseudo-identity and pre-shared key K s , then the authentication server AS will and K s Store it in the database and send it to the device TD;
[0025] S2-3. Device TD receives a pseudo-identity and pre-shared key K s After that, and K s Saved in device memory.
[0026] Furthermore, the specific sub-steps of step S3 are as follows:
[0027] S3-1, the device SD generates a timestamp T1, outputs the corresponding PUF response R1 according to the stimulus C1 in its memory, and calculates the wireless fingerprint F of the device sd ;
[0028] S3-2, the device SD generates a sequence X1 based on the above information and calculates the verification information I1;
[0029] S3-3. The device SD sends the message M1 to the authentication server AS through a public channel.
[0030] Furthermore, the specific sub-steps of step S4 are as follows:
[0031] S4-1. After receiving the message from device SD, authentication server AS checks timestamp T1 of M1. If timestamp T1 is valid, it starts the subsequent steps, otherwise it terminates the session.
[0032] S4-2. Authentication server AS check authenticity and retrieve the information stored in the database C1, R1>, F sd and K s ;
[0033] S4-3, the authentication server AS calculates the wireless channel fingerprint F sd and verification information And compare the result with I1 sent by M1 to verify If the verification fails, the AS terminates the authentication key exchange process; otherwise, the AS continues to execute the subsequent steps;
[0034] S4-4. The gateway sends the message M2 to the server S through a public channel.
[0035] S4-5, the authentication server AS generates a random number N1 and a timestamp T2, calculates the sequence X2, and generates a session key K between the device SD and TD st , and calculate the sequences X3 and X4 to generate verification information I2;
[0036] S4-6. The authentication server AS sends the message M2 to the device TD through the public channel, and sends the message M3 to the device SD through the public channel.
[0037] Furthermore, the specific sub-steps of step S5 are as follows:
[0038] S5-1. After receiving the message from the authentication server AS, the device TD checks the validity of T2. If the timestamp T2 is valid, the subsequent steps are started; otherwise, the session is terminated.
[0039] S5-2, device TD outputs the corresponding PUF response R2 according to the stimulus C2 in the memory, and calculates the wireless channel fingerprint F of device TD td , random number N1, session key K between device SD and TD st and verification information and will Compare with I2 sent by M2 to verify If the verification fails, the device TD will terminate the authentication key exchange process; otherwise, the device TD will continue to execute the subsequent steps;
[0040] S5-3. Device TD uses the session key K between it and device SD. st The data is saved in the memory of the device and waits for the device SD to initiate a session with the device TD.
[0041] Furthermore, the specific sub-steps of step S6 are as follows:
[0042] S6-1, after receiving the message from the authentication server AS, the device SD checks the validity of T2. If the timestamp T2 is valid, the subsequent steps are started, otherwise the session is terminated;
[0043] S6-2, device SD outputs the corresponding PUF response R1 according to the stimulus C1 in the memory, and calculates the wireless channel fingerprint F of device SD sd , random number N1, session key K between device SD and TD st and verification information and will Compare with I2 sent by M2 to verify If the verification fails, the device SD will terminate the authentication key exchange process; otherwise, the device SD will continue to execute the subsequent steps;
[0044] S6-3. The device SD uses the session key K between it and the device TD. st Save in the memory of its own device. At this point, the session key K can be used between device SD and device TD st to communicate.
[0045] Furthermore, the specific sub-steps of step S7 are as follows:
[0046] S7-1, the authentication server AS generates a timestamp T3 and a random number N2, and calculates a sequence X5;
[0047] S7-2. The authentication server AS sends the message M4 to the device SD through the public channel, sends the message M5 to the device TD through the public channel, and requests the device SD and the device TD to update the element information.
[0048] Furthermore, the specific sub-steps of step S8 are as follows:
[0049] S8-1, after receiving the message M4, the device SD checks the validity of T3. If the timestamp T3 is valid, the subsequent steps are started, otherwise the session is terminated;
[0050] S8-2, device SD calculates the random number N2, randomly generates an incentive C3, uses its PUF chip to generate a response R3, and calculates the new wireless channel fingerprint of device SD and a new pseudo-identity Calculate the sequence X6, X7, X8, X9 and the verification value I3;
[0051] S8-3. The device SD sends the message M5 to the authentication server AS through a public channel.
[0052] Furthermore, the specific sub-steps of step S9 are as follows:
[0053] S9-1. After receiving the message M5, the authentication server AS checks the validity of T3. If the timestamp T3 is valid, the subsequent steps are started; otherwise, the session is terminated.
[0054] S9-2, the authentication server AS calculates the incentive C3, the response R3, and the device SD's new wireless channel fingerprint and a new pseudo-identity The authentication server AS calculates the verification information And compare the information I3 in M5 with the calculated verification information Compare and verify If the verification fails, the authentication server AS will terminate the data receiving process; otherwise, it will continue to execute the subsequent steps;
[0055] S9-3, the authentication server AS receives the information C3, R3, and Save it to the server's database for use in the next round of identity authentication.
[0056] Furthermore, the specific sub-steps of step S10 are as follows:
[0057] S10-1. After receiving the message M6, the device TD checks the validity of T3. If the timestamp T3 is valid, the subsequent steps are started; otherwise, the session is terminated.
[0058] S10-2, device TD calculates random number N2, randomly generates an incentive C4, uses its PUF chip to generate response R4, and calculates the new wireless channel fingerprint of device TD and a new pseudo-identity Calculate the sequence X 10 , X 11 , X 12 , X 13 and verification value I4;
[0059] S10-3. The device TD sends a message M7 to the authentication server AS through a public channel.
[0060] Furthermore, the specific sub-steps of step S11 are as follows:
[0061] S11-1. After receiving the message M7, the authentication server AS checks the validity of T3. If the timestamp T3 is valid, the subsequent steps are started; otherwise, the session is terminated.
[0062] S11-2, the authentication server AS calculates the incentive C4, the response R4, and the new wireless channel fingerprint of the device SD and a new pseudo-identity The authentication server AS calculates the verification information And compare the information I4 in M7 with the calculated verification information Compare and verify If the verification fails, the authentication server AS will terminate the data receiving process; otherwise, it will continue to execute the subsequent steps.
[0063] S11-3, the authentication server AS receives the information C4, R4, and Save it to the server's database for use in the next round of identity authentication.
[0064] Compared with the prior art, the present invention has the following beneficial effects:
[0065] 1. Strong mutual authentication: AS passes verification and Is it established to authenticate the identity of SD and TD and obtain the session key K st , indicating that this protocol achieves mutual authentication.
[0066] 2. Device anonymity and unlinkability: The PWKTAP protocol does not use the real identity of the device. All pseudo identities and session keys between the server and the device SD, TD are changed in each round, so that the adversary A cannot connect to the device or server by intercepting messages. Therefore, this protocol provides strong anonymity and unlinkability.
[0067] 3. Perfect forward and backward confidentiality: The keys in the PWKTAP protocol are generated based on random numbers, keys, pseudo-identities, and channel fingerprints, so that there is no connection between the session keys generated each time. Adversary A can only obtain the public keys of the device and the server, but the key cannot be verified. Even if A eavesdrops and records multiple interactive messages, A cannot calculate any previous or subsequent session keys. Therefore, this protocol meets complete forward and backward security.
[0068] 4. Anti-cloning, replay and man-in-the-middle attacks: Changes to the device will affect the output of the PUF, and the adversary A will not be able to obtain the complete PUF stimulus response pair. <C i ,R i >,At the same time, PUF is non-replicable, so that the adversary A cannot obtain the data in the memory or tamper with the relevant data, and the timestamp can ensure that the adversary cannot tamper with the message through a man-in-the-middle attack. Therefore, this protocol can resist cloning and man-in-the-middle attacks.
[0069] 5. Anti-key leakage: In the PWKTAP protocol, the interactive message transmission is XOR encrypted data, or the verification value encrypted by the hash value. Assume that the adversary A obtains the pre-shared key K s , and hopes to simulate any party in the device or server to verify the other party. However, the information obtained is not enough to calculate the verification value, and the device verification method cannot be known. Therefore, this protocol can resist key leakage attacks.
[0070] 6. Anti-DoS attack: Both parties in the PWKTAP protocol will check the message timestamp T at the beginning of each session. n (n=1,2,3…) and the validity of the verification code. If the verification fails, the negotiation ends immediately. Prevent DoS attacks from consuming the computing resources of the entity. Therefore, this protocol can resist DoS attacks.
[0071] 7. Anti-desynchronization attack: Assuming that adversary A obtains the pseudo-identity of the device through interception, it is possible to link the pseudo-identity with the real identity of the device. However, the server in the protocol retains the previous parameters of the current and previous rounds, which are acceptable when requested. If a device uses an outdated parameter more than once, the server will record this and alert the system. Therefore, this protocol is resistant to desynchronization attacks.
[0072] 8. Anti-side channel attack: In each round of the session, the server will randomly generate incentives to make the device generate a new response for the current round of the session. Although the side channel attack will predict the response by revealing the internal parameters of the PUF, it is difficult to work because even if the side information or internal parameters have been learned, the response may still be unknown. At the same time, the protocol adds random numbers as noise to blur the side channel information, and these noises are also randomly generated. Through a comprehensive strategy, this protocol can resist side channel attacks. BRIEF DESCRIPTION OF THE DRAWINGS
[0073] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0074] Figure 1 This is the flow chart of the registration phase of the PWKTAP protocol device SD and device TD.
[0075] Figure 2 This is the flow chart of the PWKTAP protocol authentication and key exchange phase.
[0076] Figure 3 It is the flow chart of the PWKTAP protocol element information update phase. Implementation
[0077] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. 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 creative work are within the scope of protection of the present invention.
[0078] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.
[0079] like Figure 1 , 2 and 3. The embodiment of the present invention provides an identity authentication method based on the PWKTAP protocol;
[0080] The identity authentication method based on the PWKTAP protocol includes:
[0081] S1. Sensor device SD registration: The sensor device SD applies for registration with the authentication server AS and uses the device’s pseudo-identity to and key K sStored in the memory of device SD, the pseudo-identity of device SD True identity ID s , key K s , wireless channel fingerprint information F sd and the PUF excitation-response pair <C1, R1> are stored in the database of the authentication server AS, and this step is transmitted over a secure channel.
[0082] Specifically, in the embodiment of the present invention, step S1 includes the following steps:
[0083] S1-1. The sensor device SD randomly generates an excitation C1, uses its PUF chip to generate a response R1, and calculates the wireless channel fingerprint F sd , and through a secure channel, the device SD identity ID s , the excitation-response pair <C1, R1> is sent to the authentication server AS;
[0084] S1-2. After receiving the above information, the authentication server AS generates the pseudo-identity of device SD and the pre-shared key K s , and then the authentication server AS will and K s be stored in the database and sent to device SD;
[0085] S1-3. After device SD receives the pseudo-identity and the pre-shared key K s , it will and K s be saved in the device memory.
[0086] S2. Registration of the terminal device TD: The terminal device TD applies to the authentication server AS for registration, and through information interaction, the pseudo-identity of the device and the key K s are stored in the memory of device TD, and the pseudo-identity of device TD true identity ID t , key K s , wireless channel fingerprint information F td and the PUF excitation-response pair <C2, R2> are stored in the database of the authentication server AS, and the above steps are carried out in a secure channel.
[0087] Specifically, in the embodiment of the present invention, step S2 includes the following steps:
[0088] S2-1. The terminal device TD randomly generates an excitation C2, uses its PUF chip to generate a response R2, and calculates the wireless channel fingerprint F td , and through a secure channel, the device TD identity ID t, the excitation-response pair <C2, R2> is sent to the authentication server AS;
[0089] S2-2. After receiving the above information, the authentication server AS generates a pseudo identity and a pre-shared key K s . After that, the authentication server AS will and K s store them in the database and send them to the device TD;
[0090] S2-3. After receiving the pseudo identity and the pre-shared key K s , the device TD will and K s save them in the device memory.
[0091] S3. The device SD initiates a session: After registration is completed, the device SD starts key negotiation. The device SD generates a timestamp T1, outputs the corresponding PUF response R1 according to the excitation C1 in its memory, and calculates the wireless channel fingerprint information F sd , generates a sequence X1, calculates the verification information I1, and then the device SD sends the message M1 to the authentication server AS through the public channel.
[0092] Specifically, in the embodiment of the present invention, step S3 includes the following steps:
[0093] S3-1. The device SD generates a timestamp T1, outputs the corresponding PUF response R1 according to the excitation C1 in its memory, and simultaneously calculates the wireless fingerprint F sd ;
[0094] S3-2. The device SD generates a sequence according to the above information and calculates the verification information
[0095] S3-3. The device SD sends the message to the authentication server AS through the public channel.
[0096] S4. Key generation and distribution: After receiving the message from the device SD, the authentication server AS checks the validity of the timestamp T1 of M1. After the timestamp T1 passes the check, it checks the authenticity of the pseudo identity in the database, retrieves the information <C1, R1>, F sd and K s related to the device SD. After that, the authentication server AS calculates F sd and the verification information and compares the results with I1 sent by M1 to verify If the verification fails, AS terminates the authentication key exchange process; otherwise, AS continues to perform subsequent steps. AS generates a random number N1, a timestamp T2, and a sequence X2, and then AS generates a session key K between devices SD and TD. st , sequence X3, X4 check and verify information I2. Then the authentication server AS sends message M2 to device TD through a public channel, and sends message M3 to device SD.
[0097] Specifically, in the embodiment of the present invention, step S4 includes the following steps:
[0098] S4-1. After receiving the message from device SD, authentication server AS checks timestamp T1 of M1. If timestamp T1 is valid, it starts the subsequent steps, otherwise it terminates the session.
[0099] S4-2. Authentication server AS check authenticity and retrieve the information stored in the database C1, R1>, F sd and K s ;
[0100] S4-3, the authentication server AS calculates the wireless channel fingerprint F sd and verification information ^
[0101] The result is compared with I1 sent by M1 to verify whether I1=I1. If the verification fails, AS terminates the authentication key exchange process; otherwise, AS continues to execute the subsequent steps;
[0102] S4-4, the gateway sends the message M2 = {SID i ,X1,I1,X2,I2,T1} are sent to server S through a public channel.
[0103] S4-5, the authentication server AS generates a random number N1 and a timestamp T2, and calculates the sequence Generate session keys between device SD and TD And calculate the sequence and Generate verification information I2 = H(K s ||K st ||N1||T2);
[0104] S4-6, the authentication server AS sends the message Send the message to the device TD through the public channel. Sent to the device SD via a public channel.
[0105] S5, device TD key reception: After receiving the message from the authentication server AS, the device TD checks the validity of the timestamp T2 of M2. After the timestamp T2 is checked, TD generates a PUF response R2 according to the stimulus C2 in the memory and calculates the wireless channel fingerprint F of the device TD. td , random number N1, session key K between device SD and TD st and verification information And compare the result with I2 sent by M2 to verify If the verification fails, the device TD will terminate the authentication key exchange process; otherwise, TD will save the session key in its own memory. At this point, TD has obtained the session key K between SD and TD. st After that, TD waits for SD to obtain the session key and then requests a session from TD.
[0106] Specifically, in the embodiment of the present invention, step S5 includes the following steps:
[0107] S5-1. After receiving the message from the authentication server AS, the device TD checks the validity of T2. If the timestamp T2 is valid, the subsequent steps are started; otherwise, the session is terminated.
[0108] S5-2, device TD outputs the corresponding PUF response R2 according to the stimulus C2 in the memory, and calculates the wireless channel fingerprint F of device TD td , random numbers Session key between devices SD and TD and verification information and will Compare with I2 sent by M2 to verify If the verification fails, the device TD will terminate the authentication key exchange process; otherwise, the device TD will continue to execute the subsequent steps;
[0109] S5-3. Device TD uses the session key K between it and device SD. st The data is saved in the memory of the device and waits for the device SD to initiate a session with the device TD.
[0110] S6, device SD key reception: After receiving the message from the authentication server AS, the device SD checks the validity of the timestamp T2 of M3. After the timestamp T2 is checked, SD calculates the random number N1 and the session key K between the device SD and TD. st and verification information And compare the result with I2 sent by M2 to verify If the verification fails, the device SD will terminate the authentication key exchange process; otherwise, SD will save the session key in its own memory. At this point, SD has obtained the session key K between TD and SD.st At this point, the device SD and the device TD can communicate using the session key.
[0111] Specifically, in the embodiment of the present invention, step S6 includes the following steps:
[0112] S6-1, after receiving the message from the authentication server AS, the device SD checks the validity of T2. If the timestamp T2 is valid, the subsequent steps are started, otherwise the session is terminated;
[0113] S6-2, device SD outputs the corresponding PUF response R1 according to the stimulus C1 in the memory, and calculates the wireless channel fingerprint F of device SD sd , random numbers Session key between devices SD and TD and verification information and will Compare with I2 sent by M2 to verify If the verification fails, the device SD will terminate the authentication key exchange process; otherwise, the device SD will continue to execute the subsequent steps;
[0114] S6-3. The device SD uses the session key K between it and the device TD. st Save in the memory of its own device. At this point, the session key K can be used between device SD and device TD st to communicate.
[0115] S7. The authentication server AS initiates an element information update: the authentication server AS generates a timestamp T3 and a random number N2, calculates a sequence X5, and then sends a message M4 to the device SD to apply for an element information update from the device SD.
[0116] Specifically, in the embodiment of the present invention, step S7 includes the following steps:
[0117] S7-1, the authentication server AS generates a timestamp T3 and a random number N2, and calculates the sequence
[0118] S7-2. The authentication server AS sends a message M4={X5, T3} to the device SD through a public channel, and sends a message M5={X5, T3} to the device TD through a public channel, and requests the device SD and the device TD to update the element information.
[0119] S8, device SD generates information: After receiving message M4, device SD first checks the timestamp T3, then uses the received message M4 to calculate the random number N2, and then randomly generates the stimulus C3 and response R3 to calculate the new wireless channel fingerprint of the device. and false identities The sequence X6, X7, X8, X9 and the verification value I3 are calculated, and then the message M5 is sent to the authentication server AS.
[0120] Specifically, in the embodiment of the present invention, step S8 includes the following steps:
[0121] S8-1, after receiving the message M4, the device SD checks the validity of T3. If the timestamp T3 is valid, the subsequent steps are started, otherwise the session is terminated;
[0122] S8-2, device SD calculates random number Randomly generate a stimulus C3, use its PUF chip to generate a response R3, and calculate the new wireless channel fingerprint of the device SD and a new pseudo-identity Calculation sequence and validation value
[0123] S8-3. The device SD sends a message M5={X6, X7, X8, X9, I3, T3} to the authentication server AS through a public channel.
[0124] S9, the authentication server AS receives the information of the device SD: after receiving the message M5, the authentication server AS first checks the timestamp T3, and then uses the received message M5 to calculate C3, R3, and calculate And verify If the verification fails, the AS will interrupt the authentication key exchange process; otherwise, the AS will update the above information in the database.
[0125] Specifically, in the embodiment of the present invention, step S9 includes the following steps:
[0126] S9-1. After receiving the message M5, the authentication server AS checks the validity of T3. If the timestamp T3 is valid, the subsequent steps are started; otherwise, the session is terminated.
[0127] S9-2. Authentication server AS calculation incentive response Device SD new wireless channel fingerprint and a new pseudo-identity The authentication server AS calculates the verification information And compare the information I3 in M5 with the calculated verification information Compare and verify If the verification fails, the authentication server AS will terminate the data receiving process; otherwise, it will continue to execute the subsequent steps;
[0128] S9-3, the authentication server AS receives the information C3, R3, and Save it to the server's database for use in the next round of identity authentication.
[0129] S10, device TD generates information: After receiving message M6, device TD first checks the timestamp T3, then uses the received message M6 to calculate the random number N2, and then randomly generates the stimulus C4 and response R4 to calculate the new wireless channel fingerprint of the device. and fake identities Calculate the sequence X 10 , X 11 , X 12 , X 13 And verification value I4, then send message M7 to the authentication server AS.
[0130] Specifically, in the embodiment of the present invention, step S10 includes the following steps:
[0131] S10-1. After receiving the message M6, the device TD checks the validity of T3. If the timestamp T3 is valid, the subsequent steps are started; otherwise, the session is terminated.
[0132] S10-2. Device TD calculates random number Randomly generate an incentive C4, use its PUF chip to generate a response R4, and calculate the new wireless channel fingerprint of the device TD and a new pseudo-identity Calculation sequence and validation value
[0133] S10-3, the device TD sends the message M7={X 10 ,X 11 ,X 12 ,X 13 ,I4,T3} is sent to the authentication server AS through a public channel.
[0134] S11, the authentication server AS receives the information of the device TD: after receiving the message M6, the authentication server AS first checks the timestamp T3, and then uses the received message M7 to calculate C4, R4, and Calculate I4 and verify If the verification fails, the AS will interrupt the authentication key exchange process; otherwise, the AS will update the above information in the database. At this point, the element information of the device SD and the device TD has been updated in the authentication server AS.
[0135] Specifically, in the embodiment of the present invention, step S11 includes the following steps:
[0136] S11-1. After receiving the message M7, the authentication server AS checks the validity of T3. If the timestamp T3 is valid, the subsequent steps are started; otherwise, the session is terminated.
[0137] S11-2. Authentication server AS calculation incentive response Device SD new wireless channel fingerprint and a new pseudo-identity The authentication server AS calculates the verification information And compare the information I4 in M7 with the calculated verification information Compare and verify If the verification fails, the authentication server AS will terminate the data receiving process; otherwise, it will continue to execute the subsequent steps.
[0138] S11-3, the authentication server AS receives the information C4, R4, and Save it to the server's database for use in the next round of identity authentication.
[0139] The present invention is based on the PWKTAP protocol, and uses a physical unclonable function, a wireless channel fingerprint, and a pre-shared key to implement a two-way authentication and key negotiation method between devices and between devices and servers. On the basis of meeting security requirements, the "stimulus-response pair" of PUF is used to replace the symmetric cryptographic system, reducing the computational overhead, using a pre-shared key to shorten the authentication time, and using a wireless channel fingerprint to increase the accuracy of protocol authentication. The PWKTAP protocol not only effectively solves the key leakage attack and DoS attack problems existing in the Internet of Things authentication and key exchange, but also enhances the security of device communication, ensures the safe operation of the Internet of Things, and has practical significance.
[0140] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the system disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
[0141] The above are only preferred implementations of the present invention. The protection scope of the present invention is not limited to the above embodiments. All technical solutions under the concept of the present invention belong to the protection scope of the present invention. It should be pointed out that for ordinary technicians in this technical field, some improvements and modifications without departing from the principle of the present invention should be regarded as the protection scope of the present invention.
Claims
1. An identity authentication method based on the PWKTAP protocol, comprising a registration phase, an identity authentication phase, and an element information update phase, characterized in that: The steps are: S1. Sensor device SD registration: The sensor device SD applies for registration with the authentication server AS. The device SD randomly generates a PUF stimulus C1 and generates its response R1. At the same time, the wireless channel fingerprint F of the device SD is calculated. sd ; After that, the device SD will have its own identity information ID s , PUF stimulus-response pair<C1,R1> and wireless channel fingerprint F sd Send it to the authentication server AS; after receiving it, the authentication server AS will send the ID s ,<C1,R1> and F sd Stored in the database, according to the device SD identity information ID s Generate a pseudo-identity for the device SD At the same time, generate a pre-shared key K s , sent to device SD; device SD receives the pseudo identity and pre-shared key K s After that, K s Save in the device SD memory, the above steps are performed in a secure channel; S2, terminal device TD registration: The terminal device TD applies for registration with the authentication server AS. The device TD randomly generates a PUF stimulus C2 and generates its response R2. At the same time, the wireless channel fingerprint F of the device TD is calculated. td ; After that, the device TD will send its identity information ID t , PUF stimulus-response pair<C2,R2> and wireless channel fingerprint F td Send it to the authentication server AS; after receiving it, the authentication server AS will send the ID t ,<C2,R2> and F td Stored in the database, according to the device TD identity information ID t Generate a pseudo identity for the device TD At the same time, generate a pre-shared key K s , sent to device TD; device TD receives the pseudo identity and pre-shared key K s After that, K s Saved in the device TD memory, the above steps are performed in a secure channel; S3, device SD initiates a session: device SD generates a timestamp T1, outputs the corresponding PUF response R1 according to the stimulus C1 in its memory, and calculates the wireless channel fingerprint information F sd , generate sequence X1, calculate verification information I1, and then device SD sends the message Send to the authentication server AS through a public channel; S4, key generation and distribution: After receiving the message from device SD, the authentication server AS checks the validity of timestamp T1 of M1. If timestamp T1 is valid, the subsequent steps are started, otherwise the session is terminated. After timestamp T1 is checked, the authentication server AS checks the pseudo-identity in the database. The authenticity of the device SD card is retrieved.<C1,R1> 、F sd and K s ; Then the authentication server AS calculates F sd and verification information And compare the result with I1 sent by M1 to verify Is it established? If the verification fails, AS will terminate the authentication key exchange process; otherwise, AS will continue to perform the subsequent steps; AS generates a random number N1, a timestamp T2, and a sequence X2, and then AS generates a session key K between devices SD and TD st , sequence X3, X4 check and verify information I2; then the authentication server AS sends the message through the public channel Send to device TD, the message The service is sent to the device SD; S5, device TD key reception: After receiving the message from the authentication server AS, the device TD checks the validity of the timestamp T2 of M2. If the timestamp T2 is valid, the subsequent steps are started, otherwise the session is terminated; after the timestamp T2 check passes, TD generates a PUF response R2 according to the stimulus C2 in the memory, and calculates the wireless channel fingerprint F of the device TD td , random number N1, session key K between device SD and TD st and verification information And compare the result with I2 sent by M2 to verify Is it established? If the verification fails, the device TD will terminate the authentication key exchange process; otherwise, TD will st Save in its own memory; at this point, TD obtains the session key K between it and SD st ; After that, TD waits for SD to obtain the session key and then requests a session from TD; S6, device SD key reception: After receiving the message from the authentication server AS, the device SD checks the validity of the timestamp T2 of M3. If the timestamp T2 is valid, the subsequent steps are started, otherwise the session is terminated; after the timestamp T2 check passes, SD calculates the random number N1 and the session key K between the device SD and TD st and verification information And compare the result with I2 sent by M2 to verify Is it established? If the verification fails, the device SD will terminate the authentication key exchange process; otherwise, SD will st Save in its own memory; at this point, SD obtains the session key K between it and TD st ; At this point, the device SD and the device TD can communicate using the session key; S7, the authentication server AS initiates an element information update: the authentication server AS generates a timestamp T3 and a random number N2, calculates a sequence X5, and then sends a message M4 = {X5, T3} to the device SD to request an element information update from the device SD; S8, device SD generates information: After receiving message M4, device SD first checks timestamp T3. If timestamp T3 is valid, it starts the subsequent steps, otherwise it terminates the session; then it uses the received message M4 to calculate the random number N2, and then randomly generates incentive C3 and response R3 to calculate the new wireless channel fingerprint of the device. and fake identities Calculate the sequence X6, X7, X8, X9 and the verification value I3, and then send the message M5 = {X6, X7, X8, X9, I3, T3} to the authentication server AS; S9, the authentication server AS receives the information of the device SD: after receiving the message M5, the authentication server AS first checks the timestamp T3. If the timestamp T3 is valid, the subsequent steps are started, otherwise the session is terminated; then the received message M5 is used to calculate C3, R3, and calculate And verify Is it established? If the verification fails, AS will terminate the element update process; otherwise, AS will update C3, R3, and information; S10, device TD generates information: After receiving message M6, device TD first checks timestamp T3. If timestamp T3 is valid, it starts the subsequent steps, otherwise it terminates the session; then it uses the received message M6 to calculate the random number N2, and then randomly generates incentive C4 and response R4 to calculate the new wireless channel fingerprint of the device. and fake identities Calculate the sequence X 10 , X 11 , X 12 , X 13 and verification value I4, then the message M7 = {X 10 ,X 11 ,X 12 ,X 13 ,I4,T3} is sent to the authentication server AS; S11, the authentication server AS receives the information of the device TD: after receiving the message M7, the authentication server AS first checks the timestamp T3. If the timestamp T3 is valid, the subsequent steps are started, otherwise the session is terminated; then the received message M7 is used to calculate C4, R4, and Calculate I4 and verify Is it established? If the verification fails, AS will terminate the element update process; otherwise, AS will update C4, R4, and information; At this point, the element information of the device SD and the device TD has been updated in the authentication server AS.
Citation Information
Patent Citations
RFID (radio frequency identification device) authentication method and system based on PUFs (physical unclonable functions)
CN103391199A
Effective novel anti-counterfeiting method based on physical unclonable function
CN105354604A