A method for continuous authentication of IoT devices based on context information
By introducing gateways in the IoT environment, using the continuous authentication method of device and device (D2D) based on context information, the problem of constrained computing resources and vulnerability in IoT devices is solved, and high-security device node control and The authentication process.
Patent Information
- Application Number
- CN202411057723.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-02
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2044-08-02
AI Technical Summary
Due to the problems of limited computing resources and vulnerability in IoT devices, it is difficult for the existing technology to effectively realize continuous authentication between devices, resulting in insufficient security.
By introducing a gateway in the Internet of Things environment, using a device-to-device (D2D) continuous authentication method based on context information, it uses hash functions, exclusive or operations and random numbers to generate tokens and secret shared values to realize the Static and continuous authentication.
This method realizes high-security device node control with fewer computing resources, and can resist man-in-the-middle attacks, replay attacks, impersonation attacks, etc., ensuring the forward and backward security of the authentication process between devices.
Smart Images

Figure CN118764863B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of information security technology of the Internet of Things (IoT), and in particular to a method for continuous device-to-device (D2D) authentication based on context information for the IoT. Background Art
[0002] The Internet of Things (IoT) consists of wireless or wired devices connected to each other through the Internet, which can collect, transmit, process and store data. IoT has a wide range of applications in smart homes, smart manufacturing, smart transportation, smart cities and smart healthcare. The Internet of Things (IoT) has become ubiquitous in our daily lives, but it also raises security issues that must be addressed. In order to maintain the security and privacy of connected devices, continuous authentication has become an important aspect of IoT security. In the IoT environment, some mobile IoT terminals, such as smart wearable devices, need to be continuously authenticated to prevent abnormal situations in the devices.
[0003] However, Internet of Things (IoT) devices have limited computing resources, low throughput, and are vulnerable to attacks. Most devices that contribute to the IoT are restricted devices that can access user information and daily life changes, which also makes them vulnerable to network security attacks. Ensuring the sensitivity and privacy of shared data has become a necessary requirement for the IoT. Device-to-device (D2D) continuous authentication can solve some security issues, such as session hijacking, by checking the legitimacy of each device exchanging messages and preventing attackers from pretending to be devices to send information through authentication. Most of the existing IoT continuous authentication schemes are devices that continuously authenticate users, or most of them rely on device fingerprints and biometric information for continuous authentication. Summary of the invention
[0004] The present invention provides a method for continuous authentication of IoT devices based on context information, which can solve the shortcoming of insufficient computing resources of IoT devices and achieve continuous control of IoT device nodes with less computing resources and higher security.
[0005] In order to solve the above problems, the technical solution adopted by the present invention is as follows:
[0006] The present invention provides a method for continuous authentication of an Internet of Things device based on context information, and constructs a method for continuous authentication of a device based on context information by a gateway in an Internet of Things environment, including:
[0007] System initialization phase: prepare necessary security parameters and arithmetic functions, the gateway generates its own key pair and keeps it secret;
[0008] Registration phase: The IoT device applies to the gateway for registration. The gateway responds to the IoT device's registration request, generates a private key for the IoT device and returns it to the IoT device through a secure channel. The gateway secretly stores the IoT device's identification information. After receiving the registration return information, the IoT device secretly stores the identity information and private key, completing identity registration.
[0009] Static authentication phase: At the beginning of an authentication cycle T, the gateway performs static authentication on the IoT device. The IoT device sends an authentication request to the gateway, and the gateway verifies the authentication information. After the authentication is successful, the two parties negotiate to generate a token and a secret shared value to facilitate authentication in the continuous authentication phase;
[0010] Continuous authentication phase: After static authentication is passed, multiple continuous authentications can be performed within an identity authentication cycle T. The IoT device uses the token generated in the static authentication phase to generate verification information and sends it to the gateway. The gateway authenticates the verification information. If the verification information times out, the static authentication is restarted. If the verification fails, the IoT device is forced to go offline.
[0011] As a further description of the above technical solution, the system initialization phase specifically includes:
[0012] Initialize arithmetic functions, including hash function h(·), XOR operation and the join operation ||;
[0013] Initialize IoT device D i The unique ID is id i , the identity ID of the gateway GW is id GW , the gateway GW selects a random number s GW as your own private key.
[0014] As a further description of the above technical solution, the registration stage specifically includes:
[0015] IoT DevicesD i Choose a random number δ i , calculate the pseudo identity pid i =h(id i ||δ i ), register the information {pid i ,δ i}Transmit to the gateway GW through a secure channel;
[0016] Gateway GW confirms registration information {pid i ,δ i The pseudo identity pid in} i The only correctness is confirmed, and the IoT device D is calculated i The private key k i =h(pidi ||s GW ||δ i ), Secretly store IoT device D i Registration information {pid i ,δ i}, and the private key k i Transmitted to IoT device D through a secure channel i ;
[0017] IoT DevicesD i Receive the private key k i After that, keep the information {id i ,k i ,δ i}.
[0018] As a further description of the above technical solution, the static authentication stage specifically includes:
[0019] Step S11: IoT device D i Choose a random number ε i and φ i , take the current timestamp T1,
[0020] Calculate and generate token intermediate information - E i =h(id i ||δ i ||ε i ),
[0021] Calculate E i The mask value
[0022] Static authentication message verification value V1 = h(pid i ||Ε i ||id GW ||φ i ||T1),
[0023] Authentication information M1 = {pid i ,m1,φ i ,V1,T1} is sent to the gateway GW;
[0024] Step S12: The gateway GW takes the current timestamp T2 and checks whether the inequality T2-T1<ΔT holds. ΔT represents the supremum of the minimum time difference. If not, the authentication information M1 is discarded. Otherwise,
[0025] Find the registration information {pid i ,δ i}, computing IoT devices D i The private key k i =h(pid i ||sGW ||δ i ), restore token intermediate information 1 Static authentication message verification value V1 * =h(pid i ||Ε i ||id GW |φ i ||T1),
[0026] If V1 * If the result is the same as V1, the verification is successful and the process continues to step S13; otherwise, the verification fails and the protocol is terminated.
[0027] Step S13: Gateway GW selects a random number n i , calculate and generate the token intermediate information Φ i =h(id GW ||δ i ||η i ), generate token TK iGW =h(Ε i ||Φ i ),calculate
[0028] Token intermediate information 2Φ i The mask value
[0029] Token verification value
[0030] Static authentication message verification value V2 = h(Ε i ||Φ i ||m2||m3||T2),
[0031] Send information M2 = {m2, V2, T2} to IoT device D i ,
[0032] The current timestamp is T s , set the counter C GW =0,θ i =Φ i As IoT device D in the continuous authentication phase i The shared value with the gateway GW and the latest {pid i ,TK iGW ,C GW ,θ i};
[0033] Step S14: IoT device D i Take the current timestamp T3 and check whether the inequality T3-T2<ΔT holds. If not, discard the information M2 and terminate the protocol. Otherwise
[0034] Recovery token intermediate information
[0035] Static authentication message verification value 2
[0036] if If it is different from V2, the verification fails and the process jumps to step S11 to restart the static authentication.
[0037] Verification passed, set ACK=1, generate token TK iGW =h(Ε i ||Φ i ),calculate
[0038] Token verification value
[0039] if If it is different from m3, the verification fails and the process jumps to step S11 to restart the static authentication.
[0040] Verification passed, IoT device D i Set counter C i =0,θ i =Φ i As IoT device D in the continuous authentication phase i The shared value with the gateway GW and the latest {TK is secretly saved within an authentication cycle T iGW ,C i ,θ i}.
[0041] As a further description of the above technical solution, the continuous certification stage specifically includes:
[0042] Step S21: IoT device D i Choose a random number α i and β i ,calculate
[0043] Random number α i The mask value
[0044] Sensor data i Masking Values
[0045] Continuous authentication message verification value Ver1 = h(pid i ||m a ||α i ||β i ||d i ),
[0046] The information M a ={pid i ,m a ,β i ,Ver1} is sent to the gateway GW;
[0047] Step S22: The gateway GW obtains the current timestamp T c , test T c -T s <ΔT is true, if T c -T s If <ΔT holds, process A is executed, otherwise process B is executed;
[0048] Process A includes:
[0049] recover
[0050] Recover sensor data
[0051] Continuous authentication message verification value 1Ver1 * =h(pid i ||m a ||α i ||β i ||d i ), check Ver1 * Is it the same as Ver1?
[0052] If Ver1 * If it is different from Ver1, the authentication fails, the protocol is terminated, and the IoT device is forced to go offline. i ,
[0053] If Ver1 * Same as Ver1, then select random number x i ,calculate
[0054] Random number χ i Mask Value SK=h(α i ||χ i ),
[0055] Update counter C GW =C GW +1,θ i =SK, set ACK = 1,
[0056] Calculate the continuous authentication message verification value Ver2 = h(m b ||χ i ||α i ||SK||ACK||C GW ),
[0057] The information M b ={m b ,ACK,Ver2} is sent to IoT device D i ;
[0058] Process B includes: setting ACK = 0, calculating
[0059]
[0060] Continuous authentication message verification value 2 Ver2 = h(ACK||m b ||α i ||β i ), the information M b ={m b ,ACK,Ver2} is sent to IoT device D i ;
[0061] Step S23: IoT device D i Confirm whether ACK=1,
[0062] If ACK≠1, then recover
[0063] Continuous authentication message verification value 2 like And h(TK iGW ||α i ) = x i , then re-enter the static authentication phase, otherwise terminate the protocol.
[0064] If ACK=1, then recovery
[0065]
[0066] Calculate SK = h(α i ||χ i ),
[0067] Continuous authentication message verification value 2
[0068] if Same as Ver2, then C i =C i +1, update θ i =SK, otherwise the protocol is terminated and the process jumps to step S21 for the next continuous authentication.
[0069] Compared with the prior art, the present invention has the following beneficial effects:
[0070] (1) This method realizes mutual authentication between device nodes and gateways: In the static authentication phase, the gateway GW uses the IoT device D secretly stored in the registration phase to authenticate the device node.i Information to calculate its private key k i , decrypt and verify the authentication information and generate the token TK required for the continuous authentication phase iGW and the secret shared value θ i , while IoT device D i Also through the private key k i Decrypt and verify the returned authentication information to obtain the secret shared value θ i , generate the token TK for the continuous authentication phase iGW , at this time, static mutual authentication is successful; in the continuous authentication phase (within an identity authentication cycle T), the gateway GW uses the token TK generated in the static authentication phase iGW and the secret shared value θ i To decrypt and verify the authentication information, the same IoT device D i Also with the token TK iGW , secret sharing value θ i and counter C i To decrypt and verify the returned authentication information, the mutual authentication is successful.
[0071] (2) This method achieves forward and backward security: In each static authentication phase, a new token TK is generated with a different random number. iGW =h(Ε i ||Φ i ) and the secret shared value θ i =Φ i , even if the attacker obtains the current token or secret sharing value, based on the one-way nature of the hash function and the randomness of the random number, the attacker will not be able to obtain the previous or subsequent token or secret sharing value θ i ; In each continuous authentication phase, there will also be a secret shared value θ based on the hash function and random number update i =SK = h(α i ||χ i ), counter C i and C GW Even if the attacker obtains the current secret sharing value, he will not get the previous or subsequent secret sharing value θ i and sensor data i , ensuring the forward and backward security of this method.
[0072] (3) This method can resist man-in-the-middle attacks: Assume that attacker A can intercept messages M1, M2, and M a 、M b .
[0073] Here, M1 = {pid i ,m1,φi ,V1,T1} as an example. Attacker A attempts to tamper with the message verification value V1, where V1=h(pid i ||Ε i ||id GW ||φ i ||T1). However, due to i The value is kept secret to A, and E i Value requires IoT devices D i The private key k i and random number calculation Therefore, attacker A cannot calculate the correct V1 value. Therefore, gateway GW cannot authenticate the request message sent by attacker A. Similarly, attacker A cannot obtain private values to tamper with messages M2 and M a and M b . Therefore, it is impossible for a man-in-the-middle attack to break our protocol.
[0074] (4) This method can resist replay attacks: In this method, all participating physical IoT devices D i , the gateway GW provides the current timestamp, and the entity can verify whether the message transmission delay exceeds the maximum transmission delay ΔT after receiving each message. Through the secure negotiation and secret storage of tokens and secret sharing values, and the use of random numbers and message timestamps by entities during message exchange, malicious attackers cannot send the same message repeatedly, so this protocol is not vulnerable to replay attacks.
[0075] (5) This method can resist impersonation attacks: In this method, malicious attackers may attempt to disguise themselves as legitimate IoT devices (or gateways). During the mutual authentication phase, malicious attackers cannot obtain the device private key and shared random value based on the message sent by the other party in the communication, so they will not be able to generate the token value TK iGW Or the secret shared value θ i , resulting in the attack failure.
[0076] (6) This method is lightweight: Due to the limited computing resources of IoT devices, this method only uses simple hash operations and XOR operations. The authentication calculation is performed by connection operation||, and no computationally intensive mathematical operations such as public key asymmetric encryption are used. It does not require high device performance and has the characteristics of lightweight computing.
[0077] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the embodiments of the present invention are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0078] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments are briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without creative work.
[0079] Figure 1 It is an application system relationship topology diagram of a method for continuous authentication of Internet of Things devices based on context information provided by the present invention.
[0080] Figure 2 It is a flow chart of the static authentication phase of a method for continuous authentication of an Internet of Things device based on context information provided by the present invention.
[0081] Figure 3 It is a flow chart of the continuous authentication phase of a method for continuous authentication of an Internet of Things device based on context information provided by the present invention. DETAILED DESCRIPTION
[0082] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings 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.
[0083] Please refer to Figure 1 ,The present invention provides a method for continuous authentication of IoT devices based on context information, including a system initialization phase, a registration phase, a static authentication phase and a continuous authentication phase.
[0084] 1. System initialization phase
[0085] In the initialization phase, arithmetic functions and security parameters are initialized.
[0086] Gateways and IoT devices need to write basic arithmetic functions, including hash functions h(·), XOR operations Initialize IoT device D i The unique ID is id i , the identity ID of the gateway GW is id GW , the gateway GW selects a random number s GW as your own private key.
[0087] 2. Registration stage
[0088] In the registration phase, the IoT device applies to the gateway for registration, and the gateway responds to the IoT device's registration request, namely:
[0089] IoT DevicesDi Choose a random number δ i , calculate the pseudo identity pid i =h(id i ||δ i ), register the information {pid i ,δ i}Transmit to the gateway GW through a secure channel;
[0090] Gateway GW confirms registration information {pid i ,δ i} in the pseudo-identity pid i The only correctness is confirmed, and the IoT device D is calculated i The private key k i =h(pid i ||s GW ||δ i ), Secretly store IoT device D i Registration information {pid i ,δ i}, and the private key k i Transmitted to IoT device D through a secure channel i ;
[0091] IoT DevicesD i Receive the private key k i After that, keep the information {id i ,k i ,δ i}.
[0092] 3. Static authentication stage
[0093] In the static authentication stage, the gateway performs static authentication on the IoT device. The IoT device sends an authentication request to the gateway, and the gateway verifies the authentication information. After the authentication is successful, both parties negotiate to generate a token and a secret shared value, such as Figure 2 As shown, the specific steps include:
[0094] Step S11: IoT device D i Choose a random number ε i and φ i , take the current timestamp T1,
[0095] Calculate and generate token intermediate information - E i =h(id i ||δ i ||ε i ),
[0096] Calculate E i The mask value
[0097] Static authentication message verification value V1 = h(pid i ||Ε i ||id GW ||φ i ||T1),
[0098] Then IoT device D i The information M1 = {pid i ,m1,φ i ,V1,T1} is sent to the gateway GW.
[0099] Step S12: The gateway GW receives the IoT device D i Authentication information M1 = {pid i ,m1,φ i ,V1,T1}, first take the current timestamp T2 and check whether the inequality T2-T1<ΔT holds, where ΔT represents the supremum of the minimum time difference;
[0100] If the inequality T2-T1<ΔT does not hold, it means that the authentication information M1 has expired, the message is discarded, and the authentication fails;
[0101] If the inequality T2-T1<ΔT holds, it means that the authentication information M1 is valid, and the gateway GW searches for the registration information {pid i ,δ i}, computing IoT devices D i The private key k i =h(pid i ||s GW ||δ i ), restore token intermediate information 1 Static authentication message verification value V1 * =h(pid i ||Ε i ||id GW ||φ i ||T1),
[0102] If V1 * If the message is the same as V1, the message has not been tampered with, the verification is successful, and step S13 is continued; otherwise, the verification fails and the protocol is terminated.
[0103] Step S13: After verification in step 2, the gateway GW selects a random number n i , calculate and generate the token intermediate information Φ i =h(id GW ||δ i ||η i ), generate token TK iGW =h(Ε i ||Φi ) is used in the continuous authentication phase to calculate
[0104] Token intermediate information 2Φ i The mask value
[0105] Token verification value
[0106] Static authentication message verification value V2 = h(Ε i ||Φ i ||m2||m3||T2),
[0107] Send information M2 = {m2, V2, T2} to IoT device D i ,
[0108] The current timestamp is T s , set the counter C GW =0,θ i =Φ i As IoT device D in the continuous authentication phase i The shared value with the gateway GW and the latest {pid i ,TK iGW ,C GW ,θ i}.
[0109] Step S14: IoT device D i After receiving the authentication return information M2 = {m2, V2, T2}, first take the current timestamp T3 and check whether the inequality T3-T2 < ΔT holds. If not, it means that the information M2 is expired, discard the information M2, and terminate the protocol. Otherwise,
[0110] Recovery token intermediate information 2
[0111] Static authentication message verification value 2
[0112] if If it is different from V2, the verification fails and the process jumps to step S11 to restart the static authentication. Otherwise, it indicates that the message has not been tampered with and the verification passes.
[0113] After the above message is verified, IoT device D i Set ACK=1 and generate token TK iGW =h(Ε i ||Φ i ),calculate
[0114] Token verification value
[0115] if If it is different from m3, the verification fails and the process jumps to step S11 to restart the static authentication. Otherwise, the token is correct and the authentication succeeds.
[0116] After the token is verified, IoT device D i Set counter C i =0,θ i =Φ i As IoT device D in the continuous authentication phase i The shared value with the gateway GW and the latest {TK is secretly saved within an authentication cycle T iGW ,C i ,θ i}, then IoT device D i Continuous authentication can be performed with the gateway GW within the identity authentication period T.
[0117] 4. Continuous certification stage
[0118] In the continuous authentication phase, the IoT device uses the token generated in the static authentication phase to generate verification information and sends it to the gateway. The gateway authenticates the verification information. If the verification information times out, the static authentication is restarted. If the verification fails, the IoT device is forced to go offline.
[0119] like Figure 3 As shown in the figure, the continuous certification stage specifically includes the following steps:
[0120] Step S21: IoT device D i Choose a random number α i and β i ,calculate
[0121] Random number α i The mask value
[0122] Sensor data i Masking Values
[0123] Continuous authentication message verification value Ver1 = h(pid i ||m a ||α i ||β i ||d i ),
[0124] The information M a ={pid i ,m a ,β i ,Ver1} is sent to the gateway GW.
[0125] Step S22: The gateway GW obtains the current timestamp T c , test T c -T s <ΔT is true, if T c -T s <ΔT holds, indicating timestamp T c Within the time period T, process A is executed, otherwise it indicates timestamp T c If the time period T is exceeded, process B is executed to restart static identity authentication.
[0126] Process A includes:
[0127] recover
[0128] Recover sensor data
[0129] Continuous authentication message verification value 1Ver1 * =h(pid i ||m a ||α i ||β i ||d i ), check Ver1 * Is it the same as Ver1?
[0130] If Ver1 * If it is different from Ver1, the authentication fails, the protocol is terminated, and the IoT device is forced to go offline. i ,
[0131] If Ver1 * Same as Ver1, the message has not been tampered with, and the sensor data d i Correct, continuous authentication success, select random number χ i ,calculate
[0132] Random number χ i Mask Value SK=h(α i ||χ i ),
[0133] Update counter C GW =C GW +1, update the secret shared value θ i =SK, set ACK = 1,
[0134] Calculate the continuous authentication message verification value Ver2 = h(m b ||χ i ||α i ||SK||ACK||C GW ),
[0135] The information M b ={m b ,ACK,Ver2} is sent to IoT device D i ;
[0136] Process B includes: setting ACK = 0, calculating
[0137]
[0138] Continuous authentication message verification value 2 Ver2 = h(ACK||m b ||α i ||β i ),
[0139] The information M b ={m b ,ACK,Ver2} is sent to IoT device D i .
[0140] Step S23: IoT device D i Receive continuous authentication return message M b ={m b ,ACK,Ver2}, confirm whether ACK=1.
[0141] If ACK=0, then recovery
[0142] Continuous authentication message verification value 2 like And h(TK iGW ||α i ) = x i , it means that the message has not been tampered with, and the static authentication phase is re-entered at this time, otherwise the protocol is terminated.
[0143] If ACK=1, then recovery
[0144]
[0145] Calculate SK = h(α i ||χ i ),
[0146] Continuous authentication message verification value 2
[0147] if Same as Ver2, the message has not been tampered with and the authentication is successful, C i =C i +1, update θ i =SK, otherwise the protocol is terminated and the process jumps to step S21 for the next continuous authentication.
[0148] The present invention designs a method for continuous authentication of IoT devices based on context information. In the whole scheme, only legal entities registered through a gateway can generate legal and correct communication requests and obtain static and continuous authentication, and each request includes a new random number and a current timestamp to generate different tokens. Each continuous authentication will perform secret sharing of numerical values, which has high security and realizes mutual authentication between devices and gateways (D2D). The method realizes forward and backward security and can resist various attacks, such as man-in-the-middle attacks, replay attacks, impersonation attacks, etc. The method is based on simple hash operations and XOR operations, etc., has low requirements on device performance, has the characteristics of lightweight computing, and realizes continuous control of IoT device nodes with fewer computing resources and higher security.
[0149] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for continuous authentication of IoT devices based on context information, characterized in that: It includes system initialization phase, registration phase, static authentication phase and continuous authentication phase; In the initialization phase, arithmetic functions and security parameters are initialized; The system initialization phase specifically includes: initializing arithmetic functions, including hash function h(·), XOR operation and connection operation||; Initialize IoT device D i The unique ID is id i , the identity ID of the gateway GW is id GW , the gateway GW selects a random number s GW As your own private key; In the registration phase, the IoT device applies to the gateway for registration, and the gateway responds to the registration request of the IoT device. The registration phase specifically includes: i Choose a random number δ i , calculate the pseudo identity pid i =h(id i ||δ i ), register the information {pid i ,δ i }Transmitted to the gateway GW through a secure channel; the gateway GW confirms the registration information {pid i ,δ i } in the pseudo-identity pid i The only correctness is confirmed, and the IoT device D is calculated i The private key k i =h(pid i ||s GW ||δ i ), Secretly store IoT device D i Registration information {pid i ,δ i }, and the private key k i Transmitted to IoT device D through a secure channel i ; IoT device D i Receive the private key k i After that, keep the information {id i ,k i ,δ i }; In the static authentication stage, the gateway performs static identity authentication on the IoT device. The IoT device sends an authentication request to the gateway, and the gateway verifies the authentication information. After the verification is successful, both parties negotiate to generate a token and a secret shared value. The static authentication stage specifically includes: Step S11: IoT device D i Choose a random number ε i and φ i , take the current timestamp T1, Calculate and generate token intermediate information - E i =h(id i ||δ i ||ε i ), Calculate E i The mask value Static authentication message verification value V1 = h(pid i ||Ε i ||id GW ||φ i ||T1), Authentication information M1 = {pid i ,m1,φ i ,V1,T1} is sent to the gateway GW; Step S12: The gateway GW takes the current timestamp T2 and checks whether the inequality T2-T1<ΔT holds. ΔT represents the supremum of the minimum time difference. If not, the authentication information M1 is discarded. Otherwise, Find the registration information {pid i ,δ i }, computing IoT devices D i The private key k i =h(pid i ||s GW ||δ i ), restore token intermediate information 1 Static authentication message verification value V1 * =h(pid i ||Ε i ||id GW ||φ i ||T1), If V1 * If the result is the same as V1, the verification is successful and the process continues to step S13; otherwise, the verification fails and the protocol is terminated. Step S13: Gateway GW selects a random number n i , calculate and generate the token intermediate information Φ i =h(id GW ||δ i ||η i ), generate token TK iGW =h(Ε i ||Φ i ),calculate Token intermediate information 2Φ i The mask value Token verification value Static authentication message verification value V2 = h(Ε i ||Φ i ||m2||m3||T2), Send the information M2 = {m2, V2, T2} to the IoT device Di, The current timestamp is T s , set the counter C GW =0,θ i =Φ i As IoT device D in the continuous authentication phase i The shared value with the gateway GW and the latest {pid i ,TK iGW ,C GW ,θ i }; Step S14: IoT device D i Take the current timestamp T3 and check whether the inequality T3-T2<ΔT holds. If not, discard the information M2 and terminate the protocol. Otherwise Recovery token intermediate information Static authentication message verification value 2 if If it is different from V2, the verification fails and the process jumps to step S11 to restart the static authentication. Verification passed, set ACK=1, generate token TK iGW =h(Ε i ||Φ i ),calculate Token verification value if If it is different from m3, the verification fails and the process jumps to step S11 to restart the static authentication. Verification passed, IoT device D i Set counter C i =0,θ i =Φ i As IoT device D in the continuous authentication phase i The shared value with the gateway GW and the latest {TK is secretly stored within an authentication cycle T iGW ,C i ,θ i }; In the continuous authentication phase, the IoT device uses the token generated in the static authentication phase to generate verification information and sends it to the gateway. The gateway authenticates the verification information. If the verification information times out, the static authentication is restarted. If the verification fails, the IoT device is forced to go offline. The continuous authentication phase specifically includes: Step S21: IoT device D i Choose a random number α i and β i ,calculate Random number α i The mask value Sensor data i Masking Values Continuous authentication message verification value Ver1 = h(pid i ||m a ||α i ||β i ||d i ), The information M a ={pid i ,m a ,β i ,Ver1} is sent to the gateway GW; Step S22: The gateway GW obtains the current timestamp T c , test T c -T s <ΔT is true, if T c -T s If <ΔT holds, process A is executed, otherwise process B is executed; Process A includes: recover Recover sensor data Continuous authentication message verification value 1Ver1 * =h(pid i ||m a ||α i ||β i ||d i ), check Ver1 * Is it the same as Ver1? If Ver1 * If it is different from Ver1, the authentication fails, the protocol is terminated, and the IoT device is forced to go offline. i , If Ver1 * Same as Ver1, then select random number x i ,calculate Random number χ i Mask Value SK=h(α i ||χ i ), Update counter C GW =C GW +1,θ i =SK, set ACK = 1, Calculate the continuous authentication message verification value Ver2 = h(m b ||χ i ||α i ||SK||ACK||C GW ), The information M b ={m b ,ACK,Ver2} is sent to IoT device D i ; Process B includes: setting ACK = 0, calculating Continuous authentication message verification value 2 Ver2 = h(ACK||m b ||α i ||β i ), the information M b ={m b ,ACK,Ver2} is sent to IoT device D i ; Step S23: IoT device D i Confirm whether ACK=1, If ACK≠1, then recover Continuous authentication message verification value 2 like And h(TK iGW ||α i ) = x i , then re-enter the static authentication phase, otherwise terminate the protocol. If ACK=1, then recovery Calculate SK = h(α i ||χ i ), Continuous authentication message verification value 2 if Same as Ver2, then C i =C i +1, update θ i =SK, otherwise the protocol is terminated and the process jumps to step S21 for the next continuous authentication.
Citation Information
Patent Citations
Internet of Things dynamic continuous identity authentication system based on alliance chain
CN117714024A