A multi-factor Internet of Things terminal dynamic group access authentication method

By adopting a multi-factor dynamic group access authentication method in the Internet of Things terminals, and using the collaborative work of the SDN controller and the Internet of Things gateway, batch lightweight authentication and session key negotiation of the Internet of Things terminals are realized, which solves the problems of large signaling, computing and storage overhead in the existing technology, and enhances the security of the system.

CN116318678BActive Publication Date: 2025-04-29CHONGQING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310311718.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-28
Publication Date
2025-04-29
Estimated Expiration
2043-03-28

AI Technical Summary

Technical Problem

The access authentication methods of existing IoT terminals have large overheads for signaling, computing and storage, and lack dynamic refresh mechanisms, which may lead to security vulnerabilities and system resource overload.

Method used

The multi-factor IoT terminal dynamic group access authentication method is adopted, and the SDN controller and IoT gateway work together, and terminal registration and authentication is used to use PUF and smart cards to realize batch authentication and session key negotiation within the group, and dynamically update the group key to ensure front/backward security.

Benefits of technology

It reduces the computing and signaling costs of IoT terminals, realizes batch lightweight authentication of a large number of terminals, enhances the security of the system and front/backward security, and avoids access to malicious nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116318678B_ABST
    Figure CN116318678B_ABST
Patent Text Reader

Abstract

The present invention relates to a multi-factor Internet of Things (IoT) terminal dynamic group access authentication method, belonging to the field of the Internet of Things, and includes: S1: The SDN controller establishes a secure connection with the IoT gateway, the SDN controller performs system initialization, generates a secure private key, and selects a secure one-way hash function; S2: The IoT terminals are divided into groups and uniformly registered under a secure channel; S3: The IoT terminal decrypts the secret parameters in the smart card through the PUF, and verifies the security and reliability of the IoT terminal; S4: The IoT terminal performs identity authentication and session key negotiation; S5: When adding a new member to a certain terminal group, the group key is updated to ensure forward security; S6: When it is found that a member in a group has malicious behavior, the member is expelled from the group, and the group key SK is updated G to ensure backward security; S7: Regularly update the group identity and the PUF challenge response pair.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of Internet of Things, and relates to a multi-factor Internet of Things terminal dynamic group access authentication method. Background Art

[0002] With the large-scale deployment of IoT services, the number of IoT terminals is growing explosively. However, a large number of low-cost, low-power, and narrow-bandwidth IoT terminals are often deployed in unmanned or complex wireless signal environments, and send or receive less data. If end-to-end authentication methods are used to access the communication network one by one, a large amount of unnecessary signaling and computing overhead will be generated. Not only is the authentication efficiency low, but it also consumes the service life of the terminals that are already powered by batteries. How to achieve access authentication and key distribution and management of tens of thousands of IoT terminals has become a challenging research problem. Grouping many IoT terminals is an effective management method. Faced with a large number of concurrent access scenarios, the service network for group authentication only needs to authenticate individual nodes in the group, and other group members can complete batch authentication locally. While ensuring security, it can reduce various system overheads and improve authentication efficiency.

[0003] Lai C et al. proposed a lightweight group authentication scheme for resource-constrained machine to machine communications (M2M) based on the 3GPP network architecture in “Lai C, Lu R, Zheng D, et al. GLARM: Group-based lightweight authentication scheme for resource-constrained machine to machine communications [J]. Computer Networks, 2016, 99: 66-81.” In this scheme, a symmetric cryptographic system and an aggregated MAC address method are used to achieve simultaneous authentication of a group of terminals. However, the protocol does not achieve forward / backward security. Once the current key is leaked, the historical key and future key can be inferred and are no longer secure, which may lead to a large amount of encrypted data leakage.

[0004] Li J et al. proposed a group-based dynamic policy updating AKA protocol in “Li J, Wen M, Zhang T. Group-based authentication and key agreement with dynamic policy updating for MTC in LTE-A networks[J]. IEEE Internet of Things Journal, 2015, 3(3): 408-417.” In this protocol, asynchronous secret sharing combined with Diffie-Hellman key exchange is used to implement distributed authentication and session key negotiation in LTE-A networks, and to dynamically update MTC device access rights. However, this protocol uses point multiplication operations, and each terminal device needs to communicate with the service network to achieve key negotiation, resulting in high terminal computing and signaling overhead.

[0005] Cao J et al. proposed a lightweight and secure access authentication scheme for both UE and mMTC devices in 5G networks in “Cao J, Yan Z, Ma R, et al. LSAA: A lightweight and secure access authentication scheme for both UE and mMTC devices in 5G networks [J]. IEEE Internet of Things Journal, 2020, 7 (6): 5329-5344.” In this scheme, the Chebyshev chaotic map is used to implement the mutual authentication, session key establishment, identity privacy protection and forward / backward secrecy of ordinary user equipment (UE) and massive machine type communication (MMTC) devices. However, this scheme does not verify the reliability and security of IoT terminals and lacks a dynamic refresh mechanism, which may allow the system to access malicious nodes.

[0006] Among the above protocols, the protocol proposed by Lai C et al. does not achieve forward / backward security. Once the current key is leaked, the historical key and future key can be inferred, which may lead to a large amount of encrypted data leakage; the protocol proposed by Li J et al. is computationally complex, and each terminal device needs to communicate with the service network to achieve key negotiation, resulting in high terminal computing and signaling overhead; the protocol proposed by Cao J et al. does not verify the reliability and security of the IoT terminal and lacks a dynamic refresh mechanism, which may cause the system to access malicious nodes. Summary of the invention

[0007] In view of this, the purpose of the present invention is to provide a multi-factor Internet of Things terminal dynamic group access authentication method, aiming to achieve multiple security functions, reduce the signaling, computing and storage overhead of the Internet of Things terminal in authentication, and realize batch authentication and session key negotiation of the Internet of Things terminals.

[0008] In order to achieve the above object, the present invention provides the following technical solutions:

[0009] A multi-factor Internet of Things terminal dynamic group access authentication method comprises the following steps:

[0010] S1: System initialization phase: The SDN controller establishes a secure connection with the IoT gateway, the SDN controller initializes the system, generates a secure private key, and selects a secure one-way hash function;

[0011] S2: IoT terminal registration phase: IoT terminals are divided into groups and registered uniformly in a secure channel;

[0012] S3: Login stage: The IoT terminal decrypts the secret parameters in the smart card through PUF and verifies the security and reliability of the IoT terminal;

[0013] S4: Identity authentication and session key negotiation phase: In a group to be authenticated, the group leader first initiates an access authentication request to the SDN controller; the SDN controller verifies the identity of the group leader through the information at the time of registration and the parameters in the authentication request, generates a random number and calculates the encryption key for each member in the group, and then sends it to the IoT gateway; the IoT gateway calculates the session key for each terminal member, protects the random number with the encryption key, and then broadcasts the authentication message to the group members; the group members calculate the encryption key, session key, and group key locally according to the parameters at the time of login and the authentication message, then verify the authentication message and update the pseudo-identity, and then calculate the authentication success message and send it to the group leader; the group leader merges the authentication success messages of each member and sends them to the IoT gateway; after the IoT gateway successfully verifies the merged message, it sends the authentication success message to the SDN controller, and then the SDN controller synchronously calculates the session key and group key;

[0014] S5: Dynamic terminal joining stage: When adding a new member to a terminal group, the group key is updated to ensure forward security;

[0015] S6: Dynamic terminal removal phase: When a member in a group is found to have malicious behavior, the member is expelled from the group and the group key SK is updated. G To ensure rearward safety;

[0016] S7: Periodic update of group identity and PUF stimulus response pair: After a certain period of time, in order to prevent tracking attacks, the group identity and PUF stimulus response pair are updated; each IoT terminal reselects the private key and PUF input stimulus, and calculates the corresponding registration parameters and sends them to the SDN controller; the SDN controller recalculates the group identity and selects the random number based on the new parameters, and sends them to each IoT terminal through the original session key; then each terminal and the SDN controller synchronously calculate and update the session key and group key.

[0017] Further, the step S1 specifically includes: the SDN controller establishes a secure connection with the IoT gateway, and then generates a secure private key δ sc , and choose a secure one-way hash function H():{0,1} * →{0,1} n , n is the bit width of the message digest output of the hash function.

[0018] Furthermore, in step S2, the k terminal members in the group are equipped with a physical unclonable function PUF by default, and a stimulus response pair CRP (Ci, Ri) is initialized. The IoT terminal registration specifically includes the following steps:

[0019] S21: IoT terminal through identity ID i Calculate the registration parameter GPW with the PUF output i , sent to the SDN controller <ID i ,GPW i >Registration information;

[0020] R i =PUF(C i )

[0021] GPW i =H(ID i ||R i )

[0022] Among them, R i represents the output response of the physical unclonable function PUF, C i represents the input stimulus of the physical unclonable function, GPW i represents the registration parameter, H represents the hash function;

[0023] S22: SDN controller calculates pseudo identity VID for IoT terminal i , choose a large prime number p i The original root g of the exponential operation, the SDN controller sends the registration information <VID i ,p i ,g> to the IoT terminal; VID i The calculation formula is as follows:

[0024] VID i =H(ID i ||δ sc )

[0025] δ sc Indicates the security private key of the SDN controller;

[0026] S22: IoT terminal selects private key x i , calculate the registration information y i ≡ xi modp i , and send registration information to SDN <y i >

[0027] S24: The SDN controller constructs a group of congruence equations based on the registration information to calculate the group identity GID, and encrypts the group identity by the registration information to calculate W i , the SDN controller sends registration information <W i >To the IoT terminal; GID is the result of the congruence equation, the formula is as follows:

[0028]

[0029] S25: The IoT terminal calculates B1 and B2 for encryption private key and parameter integrity verification, and <B1,B2,VID i ,W i >Store to smart card SMC i Among them, W i Parameters for protecting GIDs:

[0030]

[0031] B1 and B2 are used to protect the private key and integrity verification of the IoT terminal. The calculation process is as follows:

[0032]

[0033] B2=H(VID i ||ID i ||x i ||R i ||W i ||GID).

[0034] Further, step S3 specifically includes: the IoT terminal reads the identity ID i and PUF input stimulus C i , and the parameters in the smart card <B1,B2,VID i ,W i >, calculate GPWi , decrypt the private key protected by B1 and verify the integrity of the parameters.

[0035] Further, the step S4 specifically includes:

[0036] S41: The group leader generates a timestamp T1 and calculates the authentication request verification parameter AUTH GL =H(GID||VID GL ||ID GL ||T1), and send the authentication request message <VID GL ,AUTH GL ,T1> sent to the IoT gateway;

[0037] S42: The IoT gateway forwards the authentication request message to the SDN controller;

[0038] S43: SDN controller verifies message freshness and then verifies AUTH GL , calculate the encryption key K for each terminal member i =H(VIDi||GID||GPW i ), select a random number r, and send the message <{VID i ,K i},r,GID> is sent to the IoT terminal;

[0039] S44: IoT gateway calculates D to protect the random number r i , calculate the session key SK i , and the integrity verification parameter AUTH i-ITG , the message <VID i ,D i ,AUTH i-ITG >Sent to the group leader, the formula is as follows:

[0040]

[0041] SK i =H(VID i ||GID||r||K i )

[0042] AUTH i-ITG =H(VID i ||GID||r||SK i ||K i ||D i )

[0043] S45: The group leader broadcasts the message within the group, and the terminal members calculate the encryption key K i , decrypt D i Get the random number r and calculate the session key SKi , calculate the group key SK G , and perform integrity verification calculation AUTH i-ITG , update the pseudo identity calculation VID i new , calculate the authentication success parameter AUTH i-N , the message <VID i ,AUTH i-N >Send to the group leader; the formula is as follows:

[0044] SK G =H(r||GID)

[0045] VID i new =H(r||VID i ||ID i )

[0046] AUTH i-N =H(VID i ||GID||D i ||r||SK i ||SK G ||K i )

[0047] S46: The group leader integrates the messages of each member to obtain the integrated authentication parameter AUTH t , the message <VID GL ,AUTH t >Sent to the IoT gateway; where:

[0048]

[0049] S47: IoT Gateway Computing SK G , and verify AUTH t , sends an authentication success message to the SDN controller, and the SDN controller synchronously calculates <SK i ,SK G ,VID i new >.

[0050] Further, step S5 specifically includes the following steps:

[0051] S51: New Member N k+1 Generate a timestamp T2 and calculate the authentication request verification parameter AUTH k+1 , the message <VID k+1 ,AUTH k+1 ,T2>sent to the group leader of the group, the specific formula is as follows:

[0052] AUTH k+1 =H(GID'||VID k+1 ||ID k+1 ||GPW k+1 ||T2)

[0053] S52: The group leader adds a group identity to the message. GL ,VID k+1 ,AUTH k+1 ,T2>Sent to SDN controller;

[0054] S53: SDN controller verifies the freshness of the message and verifies the calculation of AUTH k+1 , reconstruct the congruence equations and calculate the new group identity GID new , choose a new random number r new , calculate the encryption key K' k+1 and K k+1 , the message <{VID k+1 ,K' k+1 ,K k+1},r new ,GID new >Sent to the IoT gateway; the calculation formula is as follows:

[0055]

[0056] K' k+1 =H(VID k+1 ||GID'||GPW k+1 )

[0057] K k+1 =H(VID k+1 ||GID new ||GPW k+1 )

[0058] S54: IoT gateway calculates D' for encrypting the new group identity and random number k+1 and D k+1 , calculate the session key SK k+1 and integrity verification parameter AUTH (k+1)-ITG , the message <VID k+1 ,D' k+1 ,D k+1 ,AUTH (k+1)-ITG >sent to new members and <r new ,GID new >Broadcast to the original group members through the original group key; the calculation formula is as follows:

[0059]

[0060]

[0061] SK k+1 =H(VID k+1 ||GID new ||r new ||K k+1 )

[0062] AUTH (k+1)-ITG =H(VID k+1 ||GID new ||r new ||SK k+1 ||K' k+1 ||K k+1 ||D' k+1 ||D k+1 )

[0063] S55: The new member calculates the encryption key K' k+1 and K k+1 Decryption D' k+1 and D k+1 Get the new group ID and random number and calculate the session key SK k+1 and group key SK G new , calculate verification AUTH (k+1)-ITG , update pseudo identity VID k+1 new , calculate the authentication success parameter AUTH (k+1)-N , the message <VID k+1 ,AUTH (k+1)-N >Sent to the IoT gateway; at the same time, other members receive <r new ,GID new >After that, it will also <SK i ,SK G ,W i >Update; the calculation formula is as follows:

[0064] VID k+1 new =H(r||VID k+1 ||ID k+1 )

[0065] AUTH (k+1)-N =H(VID k+1 ||GID new ||D' k+1 ||D k+1 ||r new ||SK k+1 ||SK G new ||K'k+1 ||K k+1 )

[0066] S56: IoT Gateway Computing SK G new And verify the calculation AUTH (k+1)-N , sends an authentication success message to the SDN controller; the SDN controller synchronizes <SK i ,SK G > to update.

[0067] Further, step S6 specifically includes the following steps:

[0068] S61: First, the SDN controller retrieves the malicious member N k , and cancel N k legal identity, k Modify to other value y' k , and reconstruct the congruence equations to calculate GID new :

[0069]

[0070] SDN generates a new random number r new , and the message <r new ,GID new > Via SK i Encrypted and sent to remove malicious members N k Group members outside of the group;

[0071] S62: Other members will <SK i ,SK G ,W i >Update, SC is also recalculated <SK i ,SK G > and sync with ITG via encryption.

[0072] Further, step S7 includes: the IoT terminal generates a new PUF input stimulus C i new , calculate R i new , GPW i new , select a new private key x i new Calculate y i new , the message <GPW i new ,y i new >Sent to the SDN controller; the SDN controller reconstructs the congruence equations to obtain the GID new, generate a new random number r new , and the message <r new ,GID new >Broadcast to all group members; group members, SDN controllers and IoT gateways, update <SK i ,SK G ,W i ,B1,B2>parameters.

[0073] The beneficial effects of the present invention are:

[0074] First, this method can not only realize security functions such as mutual authentication, identity anonymity, and resistance to replay attacks, but also the pseudo-identity and random number will be updated after each negotiation, the encryption key will be updated accordingly, and the group identity will be updated regularly; this ensures the randomness and independence of each session key and group key. Even if the attacker obtains the current group key or a member's session key through various means, it is impossible to calculate the previous or subsequent group key or session key, thus realizing forward / backward security.

[0075] Second, this method only uses lightweight encryption algorithms such as hashing and XOR in the entire process, and the SDN controller only needs to authenticate the group leader in the IoT terminal group. By broadcasting and aggregating messages, other IoT terminals can complete authentication and session key negotiation through local calculations, greatly reducing the computing and signaling costs of terminals with limited resources.

[0076] Third, by utilizing the characteristics of PUF and combining it with smart cards, the reliability and security verification of IoT terminals is achieved, and a terminal joining and removal mechanism is designed; when a node in an IoT terminal group joins or leaves the group, the SDN controller can reconstruct the group of congruence equations through the Chinese remainder theorem to generate a new group identity and update the key at the lowest cost without re-authenticating each member in the group.

[0077] Other advantages, objectives and features of the present invention will be described in the following description to some extent, and to some extent, will be obvious to those skilled in the art based on the following examination and study, or can be taught from the practice of the present invention. The objectives and other advantages of the present invention can be realized and obtained through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] In order to make the purpose, technical solutions and advantages of the present invention more clear, the present invention will be described in detail below in conjunction with the accompanying drawings, wherein:

[0079] Figure 1 This is a network architecture diagram of an embodiment of the present invention;

[0080] Figure 2 A detailed protocol registration process diagram for an embodiment of the present invention;

[0081] Figure 3 The following is a detailed protocol authentication process diagram of an embodiment of the present invention. DETAILED DESCRIPTION

[0082] The following describes the embodiments of the present invention by specific examples, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the illustrations provided in the following embodiments only illustrate the basic concept of the present invention in a schematic manner, and the following embodiments and features in the embodiments can be combined with each other without conflict.

[0083] Among them, the drawings are only used for illustrative explanations, and they only represent schematic diagrams rather than actual pictures, and should not be understood as limitations on the present invention. In order to better illustrate the embodiments of the present invention, some parts of the drawings may be omitted, enlarged or reduced, and do not represent the size of actual products. For those skilled in the art, it is understandable that some well-known structures and their descriptions in the drawings may be omitted.

[0084] The same or similar numbers in the drawings of the embodiments of the present invention correspond to the same or similar parts; in the description of the present invention, it should be understood that if the terms "upper", "lower", "left", "right", "front", "rear", etc. indicate the orientation or position relationship, they are based on the orientation or position relationship shown in the drawings, which is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operate in a specific orientation. Therefore, the terms describing the position relationship in the drawings are only used for illustrative purposes and cannot be understood as limiting the present invention. For ordinary technicians in this field, the specific meanings of the above terms can be understood according to specific circumstances.

[0085] See also Figure 1 to Figure 3 With the rapid development of the Internet of Things, the existing protocols for access authentication of massive Internet of Things terminals have many problems such as insufficient security functions, high system overhead and lack of refresh mechanism. In view of this technical status, the present invention proposes a multi-factor Internet of Things terminal dynamic group access authentication method, which realizes batch lightweight authentication of Internet of Things terminals under the premise of ensuring security.

[0086] In order to implement the access authentication protocol in the present invention, a network architecture for IoT terminal group authentication is designed, see Figure 1A large number of IoT terminals form multiple authentication groups, and each group has a group leader; the IoT gateway is responsible for message transmission, partial parameter calculation, and authentication message verification; the SDN controller is responsible for IoT terminal registration, session key calculation, etc.

[0087] The present invention is a multi-factor Internet of Things terminal dynamic group access authentication method, which includes the following 7 stages:

[0088] (1) System initialization phase: The IoT gateway (ITG) establishes a secure connection with the SDN controller (SC). The data interaction between them is secure and reliable. The SDN controller first initializes the system and generates a secure private key δ sc , and choose a secure one-way hash function H():{0,1} * →{0,1} n , n is the bit width of the message digest output of the hash function.

[0089] (2) IoT terminal registration phase: IoT terminals are registered uniformly according to groups. Assume that there is an IoT terminal group with k terminal members {N1, N2, ..., N k}, each member is equipped with a PUF by default, and initializes a stimulus response pair CRP (C i ,R i ), and the registration process is completed in a secure channel. The IoT terminal registration process includes the following steps:

[0090] (2a) See Figure 2 As shown, each N i Choose an ID for yourself i , and calculate R i =PUF(C i ), GPW i =H(ID i ||R i ). Then N i Through a secure channel <ID i ,GPW i >Send to SC.

[0091] (2b) See Figure 2 As shown, upon receiving N i After sending the registration message, SC is N i Calculate the pseudo identity VID i =H(ID i ||δ sc ). SC is N i Choose a large prime number p i (i=1,...,k), and when i≠j, pi ≠p j , and satisfy the condition that p i There are two different large prime numbers in the range -1. Next, SC selects a primitive root g of exponential operation for the group, which is also the group Z * pi SC will be <VID i ,p i ,g>Sent to N through a secure channel i .

[0092] (2c) See Figure 2 As shown, after receiving the reply message from SC, N i Choose a private key x for yourself i ∈Z * pi , and calculate y i ≡ xi modp i . Then, N i Will <y i >Sent to SC via secure channel.

[0093] (2d) See Figure 2 As shown, SC receives i Sent y i Then, we use the Chinese remainder theorem to construct a system of congruence equations.

[0094]

[0095] GID is the group ID of the group, SC is N i calculate Then, SC generates a table that records the group information.<GID,g> , and each member information <ID i ,VID i ,y i ,p i ,GPW i >. SC will <W i >Sent to N via secure channel i .

[0096] (2e) Continue reading Figure 2 As shown, N i Receive W i After that, calculate B2=H(VID i ||ID i ||x i ||R i ||W i ||GID). Then <B1,B2,VID i ,Wi >Store to smart card SMC i At this point, the IoT terminal group has completed the registration process.

[0097] (3) Login phase: When a group of IoT terminals needs to access the 5G network, each member takes the lead in performing the login steps to decrypt and verify the security parameters in the smart card. i Read the identity ID from local storage i and PUF input stimulus C i , read the parameters stored during registration from the smart card <B1,B2,VID i ,W i >. N i Calculate R i =PUF(C i ), GPW i =H(ID i ||R i ), And verify whether B2 is consistent with H(VID i ||ID i ||x i ||R i ||W i ||GID) are equal. If they are equal, it means that all parameters are legal, the IoT terminal is safe and reliable, and the next step can be executed. Otherwise, the login will stop, and the parameters will be re-read and calculated for verification.

[0098] (4) Identity authentication and session key negotiation phase: see Figure 3 As shown in the figure, the IoT terminal identity authentication and session key negotiation process includes the following steps:

[0099] (4a) See Figure 3 As shown in the figure, a member is selected as the leader of the group based on factors such as computing power, signal quality, and energy storage. GL ) initiates an authentication request. GL Generate a timestamp T1 and calculate AUTH GL =H(GID||VID GL ||ID GL ||T1). Then, N GL Authentication message M1 = <VID GL ,AUTH GL ,T1> is sent to ITG.

[0100] (4b) See Figure 3 As shown, when receiving the message M1, the ITG does not perform any other processing but simply forwards the message to the SC.

[0101] (4c) See Figure 3 As shown in the figure, after receiving the forwarding message from ITG, SC first verifies the legitimacy of T1 to ensure the freshness of the message. GL Look up the table to get the group's identity GID and N GL Real ID GL , and verify AUTH GL Is it related to H(GID||VID GL ||ID GL ||T1) are equal. If they are not equal, the authentication process is terminated and an authentication failure message is sent. Otherwise, SC retrieves all members of the group according to GID and calculates K i =H(VID i ||GID||GPW i SC generates a random number r and then sends the message M2=<{VID i ,K i},r,GID> is encrypted and sent to ITG.

[0102] (4d) See Figure 3 As shown, ITG receives message M2 and decrypts it to get <{VID i ,K i},r,GID>. Then, ITG is for each member N i calculate SK i =H(VID i ||GID||r||K i ), AUTH i-ITG =H(VID i ||GID||r||SK i ||K i ||D i ). ITG sends the message M3= <VID i ,D i ,AUTH i-ITG >Send to N GL .

[0103] (4e) See Figure 3 As shown, N GL After receiving the message M3, it broadcasts it within the group. i According to VID i Receive corresponding messages <VID i ,D i ,AUTH i-ITG >. N i Calculate K based on the parameters obtained during login i =H(VID i||GID||GPW i ), SK i =H(VID i ||GID||r||K i ), group key SK G =H(r||GID), verify AUTH i-ITG Is it related to H(VID i ||GID||r||SK i ||K i ||D i ) are equal. If they are equal, then N i Authentication SC succeeds. Otherwise, authentication fails. i Calculating AUTH i-N =H(VID i ||GID||D i ||r||SK i ||SK G ||K i ), update pseudo identity VID i new =H(r||VID i ||ID i ). Then, N i Message M4 = <VID i ,AUTH i-N >Send to N GL .

[0104] (4f) See Figure 3 As shown, when receiving each N i After sending the message, N GL calculate

[0105] Then, N GL Send message M5 to ITG <VID GL ,AUTH t >.

[0106] (4g) See Figure 3 As shown, after receiving message M5, ITG calculates SK G =H(r||GID),AUTH i-N , and verify AUTH t Whether If they are not equal, authentication fails and message M5 needs to be obtained again. Otherwise, access authentication and session key negotiation are successful. ITG sends an authentication success message to SC, and SC calculates SK i =H(VID i ||GID||r||Ki ), SK G =H(r||GID),VID i new =H(r||VID i ||ID i ).

[0107] (5) Dynamic terminal joining stage: To add a new member to a terminal group, in addition to the necessary authentication, the group key SK needs to be updated. G , to ensure forward security and ensure that new terminals cannot obtain previously encrypted messages. Since new members do not know the current group key, after successfully authenticating the new member, encrypting and broadcasting the new group key calculation parameters with the current group key usually has the lowest cost. The dynamic joining process of IoT terminals includes the following steps:

[0108] (5a) First, the new member N k+1 Generate a timestamp T2 and calculate

[0109] AUTH k+1 =H(GID'||VID k+1 ||ID k+1 ||GPW k+1 ||T2). Then, N k+1 Message M1=>VID k+1 ,AUTH k+1 ,T2>Sent to the group leader N GL .

[0110] (5b) When N GL After receiving the message, generate message M2= <VID GL ,M1> is sent to ITG. ITG forwards the message to SC.

[0111] (5c) After receiving message M2, SC first verifies the legitimacy of T2 to ensure the freshness of the message. SC calculates and verifies AUTH k+1 Is it the same as H(GID'||VID k+1 ||ID k+1 ||GPW k+1 ||T2) are equal. If they are not equal, the authentication fails, otherwise SC authentication N k+1 Success. SC receives the VID in the message. GL Retrieve relevant information about the group and combine it with N k+1 Registration parameters <y k+1 ,p k+1 >Reconstruct the same system of equations,

[0112]

[0113] SC generates a new random number r new , and calculate K' k+1 =H(VID k+1 ||GID'||GPW k+1 ), K k+1 =H(VID k+1 ||GID new ||GPW k+1 ) Then, SC sends the message M3=<{VID k+1 ,K' k+1 ,K k+1},r new ,GID new >Encrypted and sent to ITG.

[0114] (5d) When ITG receives message M3, calculate

[0115]

[0116] SK k+1 =H(VID k+1 ||GID new ||r new ||K k+1 );

[0117] AUTH (k+1)-ITG =H(VID k+1 ||GID new ||r new ||SK k+1 ||K' k+1 ||K k+1 ||D' k+1 ||D k+1 )

[0118] Then, ITG sends the message M4= <VID k+1 ,D' k+1 ,D k+1 ,AUTH (k+1)-ITG >Send to N k+1 At the same time, ITG uses the original group key SK G ,Will <r new ,GID new >Send to existing members of the group.

[0119] (5e) When N k+1 Calculate K' after receiving the message k+1 =H(VID k+1 ||GID'||GPW k+1 ), SK k+1=H(VID k+1 ||GID new ||r new ||K k+1 ), SK G new =H(r new ||GID new ) and verify AUTH (k+1)-ITG Is it related to H(VID k+1 ||GID new ||r new ||SK k+1 ||K' k+1 ||K k+1 ||D' k+1 ||D k+1 ) are equal. If they are equal, then N k+1 Authentication SC succeeds, otherwise fails. N k+1 calculate

[0120] AUTH (k+1)-N =H(VID k+1 ||GID new ||D' k+1 ||D k+1 ||r new ||SK k+1 ||SK G new ||K' k+1 ||K k+1 ), update pseudo identity VID k+1 new =H(r||VID k+1 ||ID k+1 ). Then, N k+1 Message M5 = <VID k+1 ,AUTH (k+1)-N >Sent to ITG. At the same time, other members receive <r new ,GID new >After that, it will also <SK i ,SK G ,W i > to update.

[0121] (5f) When ITG receives the message, it calculates SK G new =H(r new ||GID new ) and verify AUTH (k+1)-N Is it related to H(VID k+1 ||GID new ||D' k+1 ||D k+1||r new ||SK k+1 ||SK G new ||K' k+1 ||K k+1 ) are equal. If they are equal, ITG sends an authentication success message to SC, and SC <SK i ,SK G >Update. Otherwise, verification fails and you need to obtain M5 again.

[0122] (6) Dynamic terminal removal phase: When a member in a group is found to have malicious behavior, the member needs to be expelled from the group. The group key SK should be updated as soon as possible. G , to ensure backward security and ensure that malicious members cannot obtain subsequent encrypted messages. Since the current group key is no longer secure, the SDN controller needs to update the group identity GID and transmit new security parameters through the session key with each member. The dynamic removal process of the IoT terminal includes the following steps:

[0123] (6a) First, SC retrieves the malicious member N k , obtain all relevant record information of its group in the registered table. SC revokes N k legal identity, k Modify to other value y' k , and reconstruct the congruence equations,

[0124]

[0125] SC generates a new random number r new , and the message M i = <r new ,GID new > Via SK i Encrypted and sent to remove malicious members N k Group members outside of .

[0126] (6b) Other members receive <r new ,GID new >After that, <SK i ,SK G ,W i >Update. SC is also recalculated <SK i ,SK G > and sync with ITG via encryption.

[0127] (7) Periodic update of group identity and PUF stimulus response pair: After a certain period of time, the group identity GID and PUF stimulus response pair CRP (C i ,Ri ) to update. i Generate a new C i new , and calculate R i new =PUF(C i new ), GPW i new =H(ID i ||R i new ). i Reselect private key x for yourself i new ∈Z * pi , and calculate N i By SK i Encrypted Messages <GPW i new ,y i new >Send to SC. SC receives the message and decrypts it, then reconstructs the congruence equations to get GID new SC generates a new random number r new , and through the group key SK G Encryption will <r new ,GID new >Broadcast to all members. N i After receiving the message, decrypt it and update it immediately <SK i ,SK G ,W i ,B1,B2>. After the update, the new session key can be used to exchange data. After receiving the new message, SC and ITG can update synchronously. <SK i ,SK G >.

[0128] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solution of the present invention can be modified or replaced by equivalents without departing from the purpose and scope of the technical solution, which should be included in the scope of the claims of the present invention.

Claims

1. A multi-factor Internet of Things terminal dynamic group access authentication method, characterized by: The following steps are involved: S1: System initialization phase: The SDN controller establishes a secure connection with the IoT gateway, the SDN controller initializes the system, generates a secure private key, and selects a secure one-way hash function; S2: IoT terminal registration phase: IoT terminals are divided into groups and registered uniformly in a secure channel; S3: Login stage: The IoT terminal decrypts the secret parameters in the smart card through PUF and verifies the security and reliability of the IoT terminal; S4: Identity authentication and session key negotiation phase: In a group to be authenticated, the group leader first initiates an access authentication request to the SDN controller; the SDN controller verifies the identity of the group leader through the information at the time of registration and the parameters in the authentication request, generates a random number and calculates the encryption key for each member in the group, and then sends it to the IoT gateway; the IoT gateway calculates the session key for each terminal member, protects the random number with the encryption key, and then broadcasts the authentication message to the group members; the group members calculate the encryption key, session key, and group key locally according to the parameters at the time of login and the authentication message, then verify the authentication message and update the pseudo-identity, and then calculate the authentication success message and send it to the group leader; the group leader merges the authentication success messages of each member and sends them to the IoT gateway; after the IoT gateway successfully verifies the merged message, it sends the authentication success message to the SDN controller, and then the SDN controller synchronously calculates the session key and group key; S5: Dynamic terminal joining stage: When adding a new member to a terminal group, the group key is updated to ensure forward security; S6: Dynamic terminal removal phase: When a member in a group is found to have malicious behavior, the member is expelled from the group and the group key SK is updated. G To ensure rearward safety; S7: Periodic update of group identity and PUF stimulus response pair: After a certain period of time, in order to prevent tracking attacks, the group identity and PUF stimulus response pair are updated; each IoT terminal reselects the private key and PUF input stimulus, and calculates the corresponding registration parameters and sends them to the SDN controller; the SDN controller recalculates the group identity and selects the random number based on the new parameters, and sends them to each IoT terminal through the original session key; then each terminal and the SDN controller synchronously calculate and update the session key and group key.

2. The multi-factor Internet of Things terminal dynamic group access authentication method according to claim 1 is characterized in that: The step S1 specifically includes: the SDN controller establishes a secure connection with the IoT gateway, and then generates a secure private key δ sc , and choose a secure one-way hash function H():{0,1} * →{0,1} n , n is the bit width of the message digest output of the hash function.

3. The multi-factor Internet of Things terminal dynamic group access authentication method according to claim 1, characterized in that: In step S2, each of the k terminal members in the group is equipped with a physical unclonable function PUF by default, and a stimulus response pair CRP (Ci, Ri) is initialized. The IoT terminal registration specifically includes the following steps: S21: IoT terminal through identity ID i Calculate the registration parameter GPW with the PUF output i , sent to the SDN controller <ID i ,GPW i >Registration information; R i =PUF(C i ) GPW i =H(ID i ||R i ) Among them, R i represents the output response of the physical unclonable function PUF, C i represents the input stimulus of the physical unclonable function, GPW i represents the registration parameter, H represents the hash function; S22: SDN controller calculates pseudo identity VID for IoT terminal i , choose a large prime number p i The original root g of the exponential operation, the SDN controller sends the registration information <VID i ,p i ,g> to the IoT terminal; VID i The calculation formula is as follows: VIDEO i =H(ID i ||d sc ) δ sc Indicates the security private key of the SDN controller; S22: IoT terminal selects private key x i , calculate the registration information y i ≡ xi mod p i , and send registration information to SDN <y i > S24: The SDN controller constructs a group of congruence equations based on the registration information to calculate the group identity GID, and encrypts the group identity by the registration information to calculate W i , the SDN controller sends registration information <W i >To the IoT terminal; GID is the result of the congruence equation, the formula is as follows: S25: The IoT terminal calculates B1 and B2 for encryption private key and parameter integrity verification, and <B1,B2,VID i ,W i >Store to smart card SMC i Among them, W i Parameters for protecting GIDs: IN i =GID⊕GPW i B1 and B2 are used to protect the private key and integrity verification of the IoT terminal. The calculation process is as follows: B1=x i ⊕H(VID i ||WSE i ) B2=H(VID i ||ID i ||x i ||R i ||W i ||GID)。 4. The multi-factor Internet of Things terminal dynamic group access authentication method according to claim 1, characterized in that: Step S3 specifically includes: the IoT terminal reads the identity ID i and PUF input stimulus C i , and the parameters in the smart card <B1,B2,VID i ,W i >, calculate GPW i , decrypt the private key protected by B1 and verify the integrity of the parameters.

5. The multi-factor Internet of Things terminal dynamic group access authentication method according to claim 1, characterized in that: The step S4 specifically includes: S41: The group leader generates a timestamp T1 and calculates the authentication request verification parameter AUTH GL =H(GID||VID GL ||ID GL ||T1), and send the authentication request message <VID GL ,AUTH GL ,T1> sent to the IoT gateway; S42: The IoT gateway forwards the authentication request message to the SDN controller; S43: SDN controller verifies message freshness and then verifies AUTH GL , calculate the encryption key K for each terminal member i =H(VIDi||GID||GPW i ), select a random number r, and send the message <{VID i ,K i },r,GID> is sent to the IoT terminal; S44: IoT gateway calculates D to protect the random number r i , calculate the session key SK i , and the integrity verification parameter AUTH i-ITG , the message <VID i ,D i ,AUTH i-ITG >Sent to the group leader, the formula is as follows: D i =r⊕H(WITH i ||K i ) SK i =H(VID i ||GID||r||K i ) AUTH i-ITG =H(VID i ||GID||r||SK i ||K i ||D i ) S45: The group leader broadcasts the message within the group, and the terminal members calculate the encryption key K i , decrypt D i Get the random number r and calculate the session key SK i , calculate the group key SK G , and perform integrity verification calculation AUTH i-ITG , update the pseudo identity calculation VID i new , calculate the authentication success parameter AUTH i-N , the message <VID i ,AUTH i-N >Send to the group leader; the formula is as follows: SK G =H(r||GID) AT i new =H(r||WITH i ||ID i ) AUTH i-N =H(VID i ||GID||D i ||r||SK i ||SK G ||K i ) S46: The group leader integrates the messages of each member to obtain the integrated authentication parameter AUTH t , the message <VID GL ,AUTH t >Sent to the IoT gateway; where: AUTH t =AUTH 1-N ⊕AUTH 2-N ⊕...⊕AUTH k-N S47: IoT Gateway Computing SK G , and verify AUTH t , sends an authentication success message to the SDN controller, and the SDN controller synchronizes the calculation <SK i ,SK G ,VID i new >.

6. The multi-factor Internet of Things terminal dynamic group access authentication method according to claim 1, characterized in that: Step S5 specifically includes the following steps: S51: New Member N k+1 Generate a timestamp T2 and calculate the authentication request verification parameter AUTH k+1 , the message <VID k+1 ,AUTH k+1 ,T2> is sent to the group leader of the group. The specific formula is as follows: AUTH k+1 =H(GID’||VID k+1 ||ID k+1 ||GPW k+1 ||T2) S52: The group leader adds a group identity to the message. <VID GL ,VID k+1 ,AUTH k+1 ,T2>Sent to SDN controller; S53: The SDN controller verifies the freshness of the message and verifies the calculation of AUTH k+1 , reconstruct the congruence equations and calculate the new group identity GID new , choose a new random number r new , calculate the encryption key K' k+1 and K k+1 , the message <{VID k+1 ,K' k+1 ,K k+1 },r new ,GID new >Sent to the IoT gateway; the calculation formula is as follows: K' k+1 =H(VID k+1 ||GID'||GPW k+1 ) K k+1 =H(VID k+1 ||GID new ||GPW k+1 ) S54: IoT gateway calculates D' for encrypting the new group identity and random number k+1 and D k+1 , calculate the session key SK k+1 and integrity verification parameter AUTH (k+1)-ITG , the message <VID k+1 ,D' k+1 ,D k+1 ,AUTH (k+1)-ITG > to the new member and <r new ,GID new >Broadcast to the original group members through the original group key; the calculation formula is as follows: <h2 style=";text-align:left;direction:ltr">D'<h2 style=";text-align:left;direction:ltr"> k+1 <h2 style=";text-align:left;direction:ltr"> =GID<h2 style=";text-align:left;direction:ltr"> new <h2 style=";text-align:left;direction:ltr"> ⊕H(VID<h2 style=";text-align:left;direction:ltr"> k+1 <h2 style=";text-align:left;direction:ltr"> ||K'<h2 style=";text-align:left;direction:ltr"> k+1 <h2 style=";text-align:left;direction:ltr"> ) D k+1 =r new ⊕H(WITH k+1 ||K k+1 ) SK k+1 =H(VID k+1 ||GID new ||r new ||K k+1 ) AUTH (k+1)-ITG =H(VID k+1 ||GID new ||r new ||SK k+1 ||K’ k+1 ||K k+1 ||D’ k+1 ||D k+1 ) S55: The new member calculates the encryption key K' k+1 and K k+1 Decryption D' k+1 and D k+1 Get the new group ID and random number and calculate the session key SK k+1 and group key SK G new , calculate verification AUTH (k+1)-ITG , update pseudo identity VID k+1 new , calculate the authentication success parameter AUTH (k+1)-N , the message <VID k+1 ,AUTH (k+1)-N >Sent to the IoT gateway; at the same time, other members receive <r new ,GID new >After that, it will also <SK i ,SK G ,W i >Update; the calculation formula is as follows: AT k+1 new =H(r||WITH k+1 ||ID k+1 ) AUTH (k+1)-N =H(VID k+1 ||GID new ||D’ k+1 ||D k+1 ||r new ||SK k+1 ||SK G new ||K’ k+1 ||K k+1 ) S56: IoT Gateway Computing SK G new And verify the calculation AUTH (k+1)-N , sends an authentication success message to the SDN controller; the SDN controller synchronizes <SK i ,SK G > to update.

7. The multi-factor Internet of Things terminal dynamic group access authentication method according to claim 1, characterized in that: Step S6 specifically includes the following steps: S61: First, the SDN controller retrieves the malicious member N k , and cancel N k legal identity, k Modify to other value y' k , and reconstruct the congruence equations to calculate GID new : SDN generates a new random number r new , and the message <r new ,GID new > Via SK i Encrypted and sent to remove malicious members N k Group members outside of S62: Other members will <SK i ,SK G ,W i >Update, SC is also recalculated <SK i ,SK G > and sync with ITG via encryption.

8. The multi-factor Internet of Things terminal dynamic group access authentication method according to claim 1, characterized in that: Step S7 includes: the IoT terminal generates a new PUF input stimulus C i new , calculate R i new , GPW i new , select a new private key x i new Calculate y i new , the message <GPW i new ,y i new >Sent to the SDN controller; the SDN controller reconstructs the congruence equations to obtain the GID new , generate a new random number r new , and the message <r new ,GID new >Broadcast to all group members; group members, SDN controllers and IoT gateways, update <SK i ,SK G ,W i ,B1,B2>parameters.

Citation Information

Patent Citations

  • Method for measuring link performance parameters of full SDN network

    CN105897518A

  • Methods and systems for anonymous hardware attestation

    US10742421B1