A lightweight terminal cross-domain authentication method of edge computing
Patent Information
- Application Number
- CN202310234135.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-10
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2043-03-10
AI Technical Summary
1、密钥更安全,本发明通过在认证过程中采用Kcms作为共享密钥用于加密临时对称密钥K,再利用K加密会话密钥Kc2,由于K每次是随机的并且被Kcms加密不会暴露在信道中,从而使得窃听者难以从密文中推出共享密钥Kcms,进而无法获取到会话密钥Kc2,有效的保障秘钥的安全,不会出现密钥泄漏的情况。
Smart Images

Figure CN116436640B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of Internet of Things and information security, specifically to a lightweight terminal cross-domain authentication method for edge computing. Background Technology
[0002] With the rapid development of 5G and IoT technologies, more and more smart devices are connecting to the network, generating massive amounts of data every day. Cisco predicts that by 2025, the number of IoT devices worldwide will reach 500 billion. Traditional data processing is mainly accomplished through cloud computing. However, cloud computing models have limited network bandwidth, and data transmission to the cloud center takes time. For applications with high latency requirements, such as autonomous driving, traditional cloud computing can no longer meet user needs, leading to the emergence of edge computing technology.
[0003] In existing edge computing technologies, the main methods of identity authentication are as follows: 1. Public Key Infrastructure (PKI) technology. It is a widely used identity authentication method that uses certificates to manage public keys. Through a trusted third-party Certificate Authority (CA), a user's public key is bound together with other user identification information to achieve mutual authentication between edge nodes and the cloud center. However, PKI technology relies on digital certificates for authentication. The distribution, management, verification, and revocation of certificates all require significant overhead, making it difficult to operate and set up. As the number of requesting users increases, the number of certificates that need to be maintained also increases. A large number of digital certificate exchanges will increase the network burden, and many operations rely on manual completion by users, resulting in poor usability.
[0004] 2. Identity-Based Cryptography (IBC). The IBC system simplifies the complexity of authentication systems, eliminating the need for certificates. Instead, it uses unique user identifiers such as name, IP address, and mobile phone number to calculate the public key, while the private key is calculated by the PKG (Primary Key Generation Tool) based on the system master key and the user identifier. However, this method has a significant weakness: key escrow. Since the user's private key is entirely generated by the PKG, the PKG knows all the user's information. This allows the PKG to not only eavesdrop on communications between users but also to perform actions such as signing on behalf of the user. The key escrow problem is a security vulnerability of the IBC system.
[0005] 3. Certificate-free cryptography. Similar to IBC technology, but the PKG can only generate part of the user's private key, with the rest generated by the user. In certificate-free cryptography, the user's public key does not require certificate authentication, eliminating cumbersome certificate management issues and effectively solving the key escrow problem. However, the portion of the private key generated by the PKG needs to be transmitted to the user through a secure channel, which incurs significant overhead and is unsuitable for certain complex scenarios.
[0006] 4. Blockchain technology. While the decentralized and distributed nature of blockchain technology can improve the efficiency of cross-domain authentication to some extent, the transparency of node data can lead to the leakage of terminal device privacy. If every cross-domain request needs to be reported to the blockchain, it will bring huge access overhead during authentication, and the irrevocability will also increase the difficulty of later maintenance.
[0007] In summary, all existing authentication methods have their own problems and low applicability. Summary of the Invention
[0008] To address the aforementioned shortcomings of existing technologies, this invention provides a lightweight, secure, and efficient edge computing-based method for cross-domain authentication of terminals.
[0009] To achieve the above-mentioned objectives, the technical solution adopted by this invention is as follows: A lightweight terminal cross-domain authentication method for edge computing is provided, which includes the following steps: S1: The terminal registers with the Key Generation Center (KGC) to obtain its anonymous identity identifier (SID). u Any edge node MSi calculates and generates a key pair, and sends the public key of the key pair to a CA (Certificate Authority) to obtain the digital certificate X for that edge node. i ; S2: The terminal uses the SM9 algorithm to complete local access authentication with the first edge node MS1 located in the same domain. After successful authentication, the local session key K is negotiated and obtained. c1 ; S3: After the terminal moves to another security domain, it sends an authentication request message to the second edge node MS2 of that domain, along with a cross-domain information group; the cross-domain information group includes the terminal's anonymous identity identifier (SID). u First edge node identity ID MS1 And the verification value r2 randomly generated by the terminal; S4: After receiving the authentication request information and cross-domain information group from the terminal, the second edge node MS2 uses the first edge node's public key P. MS1 Identity ID of the second edge node MS2 and terminal anonymous identity identifier SID u Encryption is performed to obtain the first encrypted information, and the second edge node MS2 sends the first encrypted information to the first edge node MS1. S5: The first edge node MS1 uses its private key to decrypt the first encrypted information to obtain the identity ID of the second edge node. MS2 and terminal anonymous identity identifier SID u And through the local domain session key K c1 Calculate the shared key K cms =H(Kc1 ID MS2 ); S6: First edge node MS1 uses the second edge node's public key P MS2 For shared key K cms Encryption is performed, and the encrypted shared key is signed to obtain the second encrypted information, Sign. MS1 [P MS2 (K cms )||ID MS2 MS1 sends the second encrypted information to the second edge node MS2; S7: The second edge node MS2 uses the first edge node's public key P. MS1 The signature of the second encrypted message is verified, and the shared key K is obtained by decrypting the second encrypted message using the private key of the second edge node. cms ; S8: The second edge node MS2 randomly generates a symmetric key K and a verification value r3. The second edge node MS2 uses the shared key K. cms Encrypt the symmetric key K to obtain the third encrypted information, and then combine the third encrypted information, verification value r3, verification value r2, and the second edge node identity ID. MS2 Send them together to the terminal; S9: The terminal decrypts the third encrypted information to obtain the symmetric key K; the terminal randomly selects a key value K. c2 and use the symmetric key K to pair the key value K c2 Encryption is performed to obtain the fourth encrypted information. The terminal then sends the fourth encrypted information and the verification value r3 to the second edge node MS2. S10: The second edge node MS2 uses the symmetric key K to decrypt the fourth encrypted information to obtain the key value K. c2 Key value K c2 It serves as the cross-domain session key between the terminal and the second edge node MS2, completing cross-domain authentication.
[0010] Furthermore, step S1 also includes initializing the parameters of the Key Generation Center (KGC) system, the specific steps of which are as follows: A1: The signature master private key k is randomly selected by the key generation center KGC. s And calculate the signature master public key P. pub-s =k s ×P2, where P2 is a generator of the cyclic additive group G2; A2: The key generation center KGC randomly selects the encryption master private key k. e And calculate the encrypted master public key P. pub-e =k e ×P1, where P1 is a generator of the cyclic addition group G1; A3: Key Generation Center (KGC) generates the signature master public key P. pub-s function identifier hid s and the encrypted master public key P pub-e function identifier hid e Furthermore, the key generation center KGC will sign the master public key P. pub-s Encrypting the master public key P pub-e hid s and hid e public.
[0011] Furthermore, the terminal anonymous identity identifier SID u The registration and acquisition methods include the following specific steps: B1: The terminal sends a registration request to the Key Generation Center (KGC), the registration request including the terminal's identity ID. u ; B2: Key Generation Center (KGC) verifies the terminal's identity ID. u If the terminal is in the key generation center's trust list, and if so, the terminal is required to resend a new terminal identity identifier; otherwise, proceed to step B3. B3: The Key Generation Center (KGC) uses the finite field F N Calculate t1=H1(ID) u ||hid s ,N)+k s , where k s H1 is the master private key for signing; H1 is the cryptographic function; hid s For P pub-s The function identifier; N is the prime factor of the curve order; If t1 equals 0, then the key generation center KGC reselects the signature master private key k. s Calculate t1 again; Otherwise, the calculation yields t2=k s / t1; Based on t2, the key generation center KGC calculates the terminal signature private key d. u =t2*P1=k s / (H1(ID u ||hid s ,N)+k s )*P1; B4: Key Generation Center (KGC) uses the finite field F N Calculate t3=H1(ID) u ||hid e ,N)+k e , where k e Hid is used to encrypt the master private key. e For P pub-eFunction identifier; If t3 equals 0, then the key generation center KGC will reselect the encryption master private key k. e Calculate t3 again; Otherwise, the calculation yields t4=k e / t3; Based on t4, the key generation center KGC calculates the terminal encryption private key e. u =t4*P2=k e / (H1(ID u ||hid e ,N)+k e )*P2; B5: The Key Generation Center (KGC) randomly selects a number r and calculates the terminal's anonymous identity identifier (SID). u =H(ID u ||r), where H is a hash function; B6: The Key Generation Center (KGC) will sign the private key d at the terminal. u Terminal encryption private key e u and terminal anonymous identity identifier SID u Send to the terminal via a secure channel; the terminal will use its terminal signature private key d. u and terminal encryption private key e u Secretly store the terminal's anonymous identity identifier (SID). u public.
[0012] Furthermore, step S2 specifically includes the following: S210: The terminal uses system parameters and the signature master public key P. pub-s and terminal signature private key d u The terminal's digital signature (h, S) is calculated using the digital signature algorithm in the SM9 algorithm. The terminal sends an authentication request to MS1 along with authentication identity information, which includes the terminal's digital signature (h, S) and the terminal's anonymous identity identifier (SID). u And the verification value r1 randomly generated by the terminal; S220: The first edge node MS1 uses the SM9 algorithm to verify the authentication identity information. If the verification fails, the local domain access authentication fails; otherwise, the first edge node MS1 will send the terminal's anonymous identity identifier SID. u Save to the first edge node's trust list; S230: The first edge node MS1 uses the encrypted master public key P pub-e The element Q in the cyclic addition group G1 is calculated using the key encapsulation algorithm in the SM9 algorithm. D =[H1(SID u ||hid e ,N)]P1+P pub-eWhere H1 is the cryptographic function; hid e For P pub-e The function identifier; N is the prime factor of the curve order; P1 is the generator of the cyclic additive group G1; S240: The first edge node MS1 randomly selects a number r', r'∈[1,N] 1] and the ciphertext C=r'Q was calculated. D And the ciphertext g=e(P) pub-e ,P2); where P2 is a generator of the cyclic additive group G2; S250: The first edge node MS1 obtains the key K through the key derivation function KDF. c1 =KDF(C||g r' ||ID MS1 , klen), where klen is the key length; S260: The first edge node MS1 returns a response packet data to the terminal, the response packet data including ciphertext C, the terminal digital signature (h, S) and r1; S270: After receiving the response packet data, the terminal verifies whether the terminal digital signature in the response packet data is consistent with the terminal digital signature in the authentication identity information. If they are inconsistent, the access authentication in this domain fails; otherwise, proceed to step S280. S280: The terminal determines whether the ciphertext C belongs to the cyclic addition group G1. If it does not, the local domain access authentication fails; otherwise, it calculates the key K. c1 '': K c1 ''=KDF(C||w'||ID MS1 ,klen); w'=e(C,e u ); Among them, e u Encrypt the private key for the terminal; if K c1 If ''=0, then key encapsulation failed, and K needs to be recalculated. c1 Otherwise, the terminal uses key K. c1 Encrypted SID u and ID MS1 The fourth encrypted message is obtained and sent to the first edge node MS1; S290: If the first edge node MS1 cannot decrypt the fourth encrypted information, the local access authentication fails; otherwise, the local access authentication between the terminal and the first edge node MS1 is completed using key K. c1 'K serves as the local session key between the terminal and the first edge node MS1' c1 .
[0013] Furthermore, the interval between steps S3 and S4 also includes: S351: The second edge node MS2 checks whether the first edge node's identity ID is in the second edge node's trust list. MS1 If yes, proceed to step S4; otherwise, the second edge node MS2 sends the digital certificate X2 of the second edge node to the first edge node MS1, and the second edge node MS2 requests the first edge node MS1 to obtain the digital certificate X1 of the first edge node. S352: After receiving the digital certificate X2 from the second edge node, the first edge node MS1 obtains the public key P of the second edge node MS2 based on the digital certificate X2. MS2 And the first edge node MS1 sends the digital certificate X1 of the first edge node to the second edge node MS2; S353: After receiving the digital certificate X1 from the first edge node, the second edge node MS2 obtains the public key P of the first edge node MS1 based on the digital certificate X1. MS1 Proceed to step S4.
[0014] Furthermore, an initial delay detection is included between steps S8 and S9, and the specific steps of the initial delay detection include the following: C1: When the second edge node MS2 encrypts the third encrypted information, it encapsulates the encryption time T1 into the third encrypted information; C2: After the terminal decrypts the third encrypted information, it obtains T1. It determines whether the difference between the terminal's decryption time T3 and T1 is less than the initial delay threshold. If it is less, the initial delay detection passes and step S9 continues; otherwise, cross-domain authentication fails.
[0015] Furthermore, a second delay detection is included between steps S9 and S10, and the specific steps of the second delay detection are as follows: D1: When the terminal encrypts the fourth encrypted information, it will encapsulate the sending time T2 into the fourth encrypted information; D2: After the second edge node MS2 decrypts the fourth encrypted information, it determines whether the difference between the decryption time T4 and T2 of the fourth encrypted information by the second edge node MS2 is less than the secondary delay threshold. If it is less, the secondary delay detection passes and step S10 continues; otherwise, cross-domain authentication fails.
[0016] The beneficial effects of this invention are as follows: 1. Enhanced key security: This invention employs K-keys during the authentication process. cms The shared key is used to encrypt the temporary symmetric key K, and then K is used to encrypt the session key K. c2 Since K is random each time and is determined by K...cms Encryption is not exposed in the channel, making it difficult for eavesdroppers to deduce the shared key K from the ciphertext. cms Therefore, the session key K cannot be obtained. c2 This effectively protects the security of the key and prevents key leakage.
[0017] 2. The authentication process is more secure. During the authentication process, the symmetric key and session key are randomly selected each time. Using dynamic keys can reduce the possibility of keys being predicted. Moreover, the keys are secretly selected by both parties and transmitted encrypted through a secure channel. Even if the session key is stolen during a communication, it will not affect previous communications.
[0018] 3. It is resistant to replay attacks. By using random numbers and time delay detection in the authentication process, when the terminal and MS2 exchange information, the random numbers and time delay detection can ensure that the messages in each exchange are fresh. Only when the random number is correct and the time delay detection is satisfied will the participants consider the message to be valid. Both parties remember the random numbers used before, so attackers cannot use the timestamps and random numbers used before to carry out replay attacks.
[0019] 4. Effectively prevents man-in-the-middle attacks during the authentication process. cms Through K c1 and MS2's identity ID MS2 Calculated using a hash function, if an attacker impersonates the end user, it lacks a K value. c1 The value of K cannot be calculated. cms Similarly, if an attacker impersonates the second edge node MS2, since it did not receive the K from MS1... cms It is impossible to proceed with further authentication with the terminal, so no attacker can impersonate the terminal or MS2 to perform authentication.
[0020] 5. Features user privacy protection, including terminal identity ID. u It will not be transmitted publicly, but will instead obtain the terminal's anonymous identity identifier (SID) through KGC registration. u After that, only the terminal's anonymous identity identifier is transmitted. Based on the one-way security of the hash function, no one can crack the user's identity, thus ensuring the anonymity of the user's identity and protecting the user's privacy. Attached Figure Description
[0021] Figure 1 This is a schematic diagram of the process of the present invention; Figure 2 This is a schematic diagram of the architecture of the present invention; Figure 3 Anonymous Identity Identifier (SID) for Terminalsu A diagram illustrating the registration and acquisition process; Figure 4 This is a schematic diagram of the local domain access authentication process between the terminal and MS1; Figure 5 This is a schematic diagram of the cross-domain authentication process between the terminal and MS2. Detailed Implementation
[0022] The specific embodiments of the present invention are described below to enable those skilled in the art to understand the present invention. However, it should be understood that the present invention is not limited to the scope of the specific embodiments. For those skilled in the art, various changes are obvious as long as they are within the spirit and scope of the present invention as defined and determined by the appended claims. All inventions utilizing the concept of the present invention are protected.
[0023] like Figure 1-5 As shown, a lightweight terminal cross-domain authentication method for edge computing includes the following steps: S1: The terminal registers with the Key Generation Center (KGC) to obtain its anonymous identity identifier (SID). u Any edge node MSi calculates and generates a key pair, and sends the public key of the key pair to a CA (Certificate Authority) to obtain the digital certificate X for that edge node. i ; This also includes the initialization of the Key Generation Center (KGC) system parameters, the specific steps of which are as follows: A1: The signature master private key k is randomly selected by the key generation center KGC. s And calculate the signature master public key P. pub-s =k s ×P2, where P2 is a generator of the cyclic additive group G2; A2: The key generation center KGC randomly selects the encryption master private key k. e And calculate the encrypted master public key P. pub-e =k e ×P1, where P1 is a generator of the cyclic addition group G1; A3: Key Generation Center (KGC) generates the signature master public key P. pub-s function identifier hid s and the encrypted master public key P pub-e function identifier hid e Furthermore, the key generation center KGC will sign the master public key P. pub-s Encrypting the master public key P pub-e hid s and hid e public.
[0024] Terminal Anonymous Identity Identifier (SID) uThe registration process includes the following specific steps: B1: The terminal sends a registration request to the Key Generation Center (KGC), the registration request including the terminal's identity ID. u ; B2: Key Generation Center (KGC) verifies the terminal's identity ID. u If the terminal is in the key generation center's trust list, and if so, the terminal is required to resend a new terminal identity identifier; otherwise, proceed to step B3. B3: The Key Generation Center (KGC) uses the finite field F N Calculate t1=H1(ID) u ||hid s ,N)+k s , where k s H1 is the master private key for signing; H1 is the cryptographic function; hid s For P pub-s The function identifier; N is the prime factor of the curve order; If t1 equals 0, then the key generation center KGC reselects the signature master private key k. s Calculate t1 again; Otherwise, the calculation yields t2=k s / t1; Based on t2, the key generation center KGC calculates the terminal signature private key d. u =t2*P1=k s / (H1(ID u ||hid s ,N)+k s )*P1; B4: Key Generation Center (KGC) uses the finite field F N Calculate t3=H1(ID) u ||hid e ,N)+k e , where k e Hid is used to encrypt the master private key. e For P pub-e Function identifier; If t3 equals 0, then the key generation center KGC will reselect the encryption master private key k. e Calculate t3 again; Otherwise, the calculation yields t4=k e / t3; Based on t4, the key generation center KGC calculates the terminal encryption private key e. u =t4*P2=k e / (H1(ID u ||hid e ,N)+k e )*P2; B5: The Key Generation Center (KGC) randomly selects a number r and calculates the terminal's anonymous identity identifier (SID). u =H(ID u ||r), where H is a hash function; B6: The Key Generation Center (KGC) will sign the private key d at the terminal. u Terminal encryption private key e u and terminal anonymous identity identifier SID u Send to the terminal via a secure channel; the terminal will use its terminal signature private key d. u and terminal encryption private key e u Secretly store the terminal's anonymous identity identifier (SID). u public.
[0025] S2: The terminal uses the SM9 algorithm to complete local access authentication with the first edge node MS1 located in the same domain. After successful authentication, the local session key K is negotiated and obtained. c1 The specific steps are as follows: S210: The terminal uses system parameters and the signature master public key P. pub-s and terminal signature private key d u The terminal's digital signature (h, S) is calculated using the digital signature algorithm in the SM9 algorithm. The terminal sends an authentication request to MS1 along with authentication identity information, which includes the terminal's digital signature (h, S) and the terminal's anonymous identity identifier (SID). u And the verification value r1 randomly generated by the terminal; that is Figure 4 Request (SID) u ||h||S||r1) S220: The first edge node MS1 uses the SM9 algorithm to verify the authentication identity information. If the verification fails, the local domain access authentication fails; otherwise, the first edge node MS1 will send the terminal's anonymous identity identifier SID. u Save to the first edge node's trust list; S230: The first edge node MS1 uses the encrypted master public key P pub-e The element Q in the cyclic addition group G1 is calculated using the key encapsulation algorithm in the SM9 algorithm. D =[H1(SID u ||hid e ,N)]P1+P pub-e Where H1 is the cryptographic function; hid e For P pub-e The function identifier; N is the prime factor of the curve order; P1 is the generator of the cyclic additive group G1; S240: The first edge node MS1 randomly selects a number r', r'∈[1,N] 1] and the ciphertext C=r'Q was calculated. D And the ciphertext g=e(P) pub-e ,P2); where P2 is a generator of the cyclic additive group G2; S250: The first edge node MS1 obtains the key K through the key derivation function KDF. c1 =KDF(C||g r' ||ID MS1 , klen), where klen is the key length; S260: The first edge node MS1 returns a response packet to the terminal, the response packet including ciphertext C, the terminal's digital signature (h, S), and r1; that is... Figure 4 Ack(C||S||h||r1); S270: After receiving the response packet data, the terminal verifies whether the terminal digital signature in the response packet data is consistent with the terminal digital signature in the authentication identity information. If they are inconsistent, the access authentication in this domain fails; otherwise, proceed to step S280. S280: The terminal determines whether the ciphertext C belongs to the cyclic addition group G1. If it does not, the local domain access authentication fails; otherwise, it calculates the key K. c1 '': K c1 ''=KDF(C||w'||ID MS1 ,klen); w'=e(C,e u ); Among them, e u Encrypt the private key for the terminal; if K c1 If ''=0, then key encapsulation failed, and K needs to be recalculated. c1 Otherwise, the terminal uses key K. c1 Encrypted SID u and ID MS1 The fourth encrypted message is obtained and sent to the first edge node MS1; that is... Figure 4 Ack (K) c1 ''||SID u ||ID MS1 ); S290: If the first edge node MS1 cannot decrypt the fourth encrypted information, the local access authentication fails; otherwise, the local access authentication between the terminal and the first edge node MS1 is completed using key K. c1 'K serves as the local session key between the terminal and the first edge node MS1' c1 .
[0026] S3: After the terminal moves to another security domain, it sends an authentication request message to the second edge node MS2 of that domain, along with a cross-domain information group; the cross-domain information group includes the terminal's anonymous identity identifier (SID). u First edge node identity ID MS1 And the verification value r2 randomly generated by the terminal; S351: The second edge node MS2 checks whether the first edge node's identity ID is in the second edge node's trust list. MS1 If yes, proceed to step S4; otherwise, the second edge node MS2 sends the digital certificate X2 of the second edge node to the first edge node MS1, and the second edge node MS2 requests the first edge node MS1 to obtain the digital certificate X1 of the first edge node. S352: After receiving the digital certificate X2 from the second edge node, the first edge node MS1 obtains the public key P of the second edge node MS2 based on the digital certificate X2. MS2 And the first edge node MS1 sends the digital certificate X1 of the first edge node to the second edge node MS2; S353: After receiving the digital certificate X1 from the first edge node, the second edge node MS2 obtains the public key P of the first edge node MS1 based on the digital certificate X1. MS1 Proceed to step S4.
[0027] S4: After receiving the authentication request information and cross-domain information group from the terminal, the second edge node MS2 uses the first edge node's public key P. MS1 Identity ID of the second edge node MS2 and terminal anonymous identity identifier SID u Encryption is performed to obtain the first encrypted information, and the second edge node MS2 sends the first encrypted information to the first edge node MS1. S5: The first edge node MS1 uses its private key to decrypt the first encrypted information to obtain the identity ID of the second edge node. MS2 and terminal anonymous identity identifier SID u And through the local domain session key K c1 Calculate the shared key K cms =H(K c1 ID MS2 ); S6: First edge node MS1 uses the second edge node's public key P MS2 For shared key K cms Encryption is performed, and the encrypted shared key is signed to obtain the second encrypted information, Sign. MS1 [P MS2 (Kcms )||ID MS2 MS1 sends the second encrypted information to the second edge node MS2; S7: The second edge node MS2 uses the first edge node's public key P. MS1 The signature of the second encrypted message is verified, and the shared key K is obtained by decrypting the second encrypted message using the private key of the second edge node. cms ; S8: The second edge node MS2 randomly generates a symmetric key K and a verification value r3. The second edge node MS2 uses the shared key K. cms Encrypt the symmetric key K to obtain the third encrypted information, and then combine the third encrypted information, verification value r3, verification value r2, and the second edge node identity ID. MS2 Send them together to the terminal; It also includes initial delay detection, the specific steps of which are as follows: C1: When the second edge node MS2 encrypts the third encrypted information, it encapsulates the encryption time T1 into the third encrypted information, that is, the third encrypted information is K. cms (K||T1); C2: After the terminal decrypts the third encrypted information, it obtains T1. It determines whether the difference between the terminal's decryption time T3 and T1 is less than the initial delay threshold. If it is less, the initial delay detection passes and step S9 continues; otherwise, cross-domain authentication fails.
[0028] S9: The terminal decrypts the third encrypted information to obtain the symmetric key K; the terminal randomly selects a key value K. c2 and use the symmetric key K to pair the key value K c2 Encryption is performed to obtain the fourth encrypted information. The terminal then sends the fourth encrypted information and the verification value r3 to the second edge node MS2. It also includes secondary delay detection, the specific steps of which are as follows: D1: When the terminal encrypts the fourth encrypted information, it encapsulates the sending time T2 into the fourth encrypted information, that is, the fourth encrypted information is K (K c2 ||T2); D2: After the second edge node MS2 decrypts the fourth encrypted information, it determines whether the difference between the decryption time T4 and T2 of the fourth encrypted information by the second edge node MS2 is less than the secondary delay threshold. If it is less, the secondary delay detection passes and step S10 continues; otherwise, cross-domain authentication fails.
[0029] S10: The second edge node MS2 uses the symmetric key K to decrypt the fourth encrypted information to obtain the key value K. c2 Key value K c2It serves as the cross-domain session key between the terminal and the second edge node MS2, completing cross-domain authentication.
[0030] This cross-domain authentication is not just a switch between two security domains; it can be extended to multiple security domains. When a terminal moves from the domain where MS2 is located to a new security domain, it needs to perform cross-domain authentication with the edge node MS3 in the new security domain. At this time, MS2 is equivalent to MS1 in the cross-domain authentication process described above, and MS3 is equivalent to MS2 in the same process. This can be repeated to achieve cross-domain authentication between multiple security domains. The terminal only needs to register once to authenticate with any edge node in other security domains.
[0031] Cost Analysis The present invention was tested against the following three schemes in the prior art: Scheme 1: "Research on IoT Identity Authentication and Privacy Protection Technology in Edge Computing Environment" published by Wu Wei of Xi'an University of Electronic Science and Technology; Scheme 2: LU•Y, XU•G, LI•L, et al. Robust Privacy-Preserving Mutual Authenticated Key Agreement Scheme in Roaming Service for Global Mobility Networks[J].IEEE Systems Journal, 2019:1-12.; Scheme 3: MA•M, HE•D, WANG•H, et al. An Efficient and Provably Secure Authenticated Key Agreement Protocol for Fog-Based Vehicular Ad-Hoc Networks[J].IEEE Internet of Things Journal, 2019, 6(5):8065-8075.; The edge node MS2 was simulated using the Alibaba Cloud platform, with the following parameters: Intel(R)-Xeon(R)-CPU-E5-2682v4@2.50GHz, 1Gb of memory, and Ubuntu 14.04 operating system; a Huawei mobile phone was used as the terminal, with the following parameters: 2.1GHz HiSilicon Kirin 658, 4G of memory, and Android 7.0 system.
[0032] The experiment yielded the following table showing the time taken by the terminal and MS2 to perform the operation calculations, respectively; Table 1
[0033] Among them, T aeFor symmetric encryption operations; T ad For symmetric decryption operations; T re For asymmetric encryption operations, T rd This is an asymmetric decryption operation; T b Bilinear pairing; T a For point addition; T m For dot product operation; T h This is a hash operation.
[0034] The experimental results of Scheme 1, Scheme 2, Scheme 3 and the present invention were obtained by Xue Jianbin in the "Secure and Efficient Authentication Protocol for Mobile Terminals in Edge Computing" published in the Journal of Beijing University of Posts and Telecommunications. The experimental results were used as the average time to measure the computational cost of each operation, and the computational cost comparison table is shown in Table 2. Table 2
[0035] As shown in Table 2, the computational cost of the present invention and Scheme 1 during the MS2 operation process is higher than that of the terminal. That is, in the cross-domain authentication process, the present invention and Scheme 1 effectively reduce the computational pressure on the terminal and use MS2 to share the computational pressure on the terminal. However, the computational pressure on the terminal of Scheme 2 and Scheme 3 is significantly greater than that of the present invention and Scheme 1, which is not conducive to the daily use of the terminal.
[0036] Furthermore, the computational cost of the entire cross-domain authentication process in this invention is 1.368 + 8.490 = 9.858 ms; while the computational cost of the entire cross-domain authentication process in Scheme 1 is 1.988 + 9.373 = 11.364 ms. The computational cost of this invention is reduced by 1.503 ms compared to Scheme 1. This invention effectively speeds up the cross-domain authentication process and reduces the computational burden on the terminal and MS2.
[0037] Set the length of the additive cyclic group of the elliptic curve, |G|, to 512 bits, and the length of the field, |Z|. q The lengths of the following components are calculated: |H| is 256 bits, |ID| is 256 bits, |T| is 32 bits, |k| is 256 bits, |MAC| is 160 bits, and |MS| is 160 bits. The communication cost comparison table is shown in Table 3. Table 3
[0038] As shown in Table 3, the data length of the present invention is significantly shorter than that of the prior art, resulting in lower communication costs.
[0039] The cross-domain authentication operation of this invention has lower computational and communication costs than existing technologies. Compared with existing technologies, this invention does not require complex calculations during the authentication process and can achieve mutual authentication and key negotiation between the terminal and the edge node with lower overhead. This can reduce the computational pressure on terminal devices and reduce communication costs. It can not only resist common attacks in IoT scenarios, but also has the characteristics of single sign-on and user anonymity, and better meet the needs of resource-constrained terminal devices.
Claims
1. A lightweight terminal cross-domain authentication method for edge computing, characterized in that, Includes the following steps: S1: The terminal registers with the Key Generation Center (KGC) to obtain its anonymous identity identifier (SID). u Any edge node MSi calculates and generates a key pair, and sends the public key of the key pair to a CA (Certificate Authority) to obtain the digital certificate X for that edge node. i ; S2: The terminal uses the SM9 algorithm to complete local access authentication with the first edge node MS1 located in the same domain. After successful authentication, the local session key K is negotiated and obtained. c1 ; S3: After the terminal moves to another security domain, it sends an authentication request message to the second edge node MS2 of that domain, along with a cross-domain information group; the cross-domain information group includes the terminal's anonymous identity identifier (SID). u First edge node identity ID MS1 And the verification value r2 randomly generated by the terminal; S4: After receiving the authentication request information and cross-domain information group from the terminal, the second edge node MS2 uses the first edge node's public key P. MS1 Identity ID of the second edge node MS2 and terminal anonymous identity identifier SID u Encryption is performed to obtain the first encrypted information, and the second edge node MS2 sends the first encrypted information to the first edge node MS1. S5: The first edge node MS1 uses its private key to decrypt the first encrypted information to obtain the identity ID of the second edge node. MS2 and terminal anonymous identity identifier SID u and through the local domain session key K c1 Calculate the shared key K cms =H(K c1 ID MS2 ); S6: First edge node MS1 uses the second edge node's public key P MS2 For shared key K cms Encryption is performed, and the encrypted shared key is signed to obtain the second encrypted information, Sign. MS1 [P MS2 (K cms )||ID MS2 MS1 sends the second encrypted information to the second edge node MS2; S7: The second edge node MS2 uses the first edge node's public key P. MS1 The signature of the second encrypted message is verified, and the shared key K is obtained by decrypting the second encrypted message using the private key of the second edge node. cms ; S8: The second edge node MS2 randomly generates a symmetric key K and a verification value r3. The second edge node MS2 uses the shared key K. cms Encrypt the symmetric key K to obtain the third encrypted information, and then combine the third encrypted information, verification value r3, verification value r2, and the second edge node identity ID. MS2 Send them together to the terminal; S9: The terminal decrypts the third encrypted information to obtain the symmetric key K; the terminal randomly selects a key value K. c2 and use the symmetric key K to pair the key value K c2 Encryption is performed to obtain the fourth encrypted information. The terminal then sends the fourth encrypted information and the verification value r3 to the second edge node MS2. S10: The second edge node MS2 uses the symmetric key K to decrypt the fourth encrypted information to obtain the key value K. c2 Key value K c2 This serves as a cross-domain session key between the terminal and the second edge node MS2, enabling cross-domain authentication. Step S1 also includes the initialization of the Key Generation Center (KGC) system parameters, the specific steps of which are as follows: A1: The signature master private key k is randomly selected by the key generation center KGC. s And calculate the signature master public key P. pub-s =k s ×P2, where P2 is a generator of the cyclic additive group G2; A2: The key generation center KGC randomly selects the encryption master private key k. e And calculate the encrypted master public key P. pub-e =k e ×P1, where P1 is a generator of the cyclic addition group G1; A3: Key Generation Center (KGC) generates the signature master public key P. pub-s function identifier hid s and the encrypted master public key P pub-e function identifier hid e Furthermore, the key generation center KGC will sign the master public key P. pub-s Encrypting the master public key P pub-e hid s and hid e public; Step S2 specifically includes the following: S210: The terminal uses system parameters and the signature master public key P. pub-s and terminal signature private key d u The terminal's digital signature (h, S) is calculated using the digital signature algorithm in the SM9 algorithm. The terminal sends an authentication request to MS1 along with authentication identity information, which includes the terminal's digital signature (h, S) and the terminal's anonymous identity identifier (SID). u And the verification value r1 randomly generated by the terminal; S220: The first edge node MS1 uses the SM9 algorithm to verify the authentication identity information. If the verification fails, the local domain access authentication fails; otherwise, the first edge node MS1 will send the terminal's anonymous identity identifier SID. u Save to the first edge node's trust list; S230: The first edge node MS1 uses the encrypted master public key P pub-e The element Q in the cyclic addition group G1 is calculated using the key encapsulation algorithm in the SM9 algorithm. D =[H1(SID u ||hid e ,N)]P1+P pub-e Where H1 is the cryptographic function; hid e For P pub-e The function identifier; N is the prime factor of the curve order; P1 is the generator of the cyclic additive group G1; S240: The first edge node MS1 randomly selects a number r', r'∈[1,N-1], and calculates the ciphertext C=r'Q. D And the ciphertext g=e(P) pub-e ,P2); where P2 is a generator of the cyclic additive group G2; S250: The first edge node MS1 obtains the key K through the key derivation function KDF. c1 =KDF(C||g r' ||ID MS1 (klen), where klen is the key length; g r' The ciphertext g raised to the power of r'; S260: The first edge node MS1 returns a response packet data to the terminal, the response packet data including ciphertext C, the terminal digital signature (h, S) and r1; S270: After receiving the response packet data, the terminal verifies whether the terminal digital signature in the response packet data is consistent with the terminal digital signature in the authentication identity information. If they are inconsistent, the access authentication in this domain fails; otherwise, proceed to step S280. S280: The terminal determines whether the ciphertext C belongs to the cyclic addition group G1. If it does not, the local domain access authentication fails; otherwise, it calculates the key K. c1 '': K c1 ''=KDF(C||w'||ID MS1 klen); w'=e(C,e u ); Among them, e u Encrypt the private key for the terminal; if K c1 If ''=0, then key encapsulation failed, and K needs to be recalculated. c1 Otherwise, the terminal uses key K. c1 Encrypted SID u and ID MS1 The fourth encrypted message is obtained and sent to the first edge node MS1; S290: If the first edge node MS1 cannot decrypt the fourth encrypted information, the local access authentication fails; otherwise, the local access authentication between the terminal and the first edge node MS1 is completed using key K. c1 'K serves as the local session key between the terminal and the first edge node MS1' c1 .
2. The lightweight terminal cross-domain authentication method for edge computing according to claim 1, characterized in that, The terminal anonymous identity identifier SID u The registration and acquisition methods include the following specific steps: B1: The terminal sends a registration request to the Key Generation Center (KGC), the registration request including the terminal's identity ID. u ; B2: Key Generation Center (KGC) verifies the terminal's identity ID. u If the terminal is in the key generation center's trust list, and if so, the terminal is required to resend a new terminal identity identifier; otherwise, proceed to step B3. B3: The Key Generation Center (KGC) uses the finite field F N Calculate t1=H1(ID) u ||hid s ,N)+k s , where k s H1 is the master private key for signing; H1 is the cryptographic function; hid s For P pub-s The function identifier; N is the prime factor of the curve order; If t1 equals 0, then the key generation center KGC reselects the signature master private key k. s Calculate t1 again; Otherwise, the calculation yields t2=k s / t1; Based on t2, the key generation center KGC calculates the terminal signature private key d. u =t2*P1=k s / (H1(ID u ||hid s ,N)+k s )*P1; B4: Key Generation Center (KGC) uses the finite field F N Calculate t3=H1(ID) u ||hid e ,N)+k e , where k e Hid is used to encrypt the master private key. e For P pub-e Function identifier; If t3 equals 0, then the key generation center KGC will reselect the encryption master private key k. e Calculate t3 again; Otherwise, the calculation yields t4=k e / t3; Based on t4, the key generation center KGC calculates the terminal encryption private key e. u =t4*P2=k e / (H1(ID u ||hid e ,N)+k e )*P2; B5: The Key Generation Center (KGC) randomly selects a number r and calculates the terminal's anonymous identity identifier (SID). u =H(ID u ||r), where H is a hash function; B6: The Key Generation Center (KGC) will sign the private key d at the terminal. u Terminal encryption private key e u and terminal anonymous identity identifier SID u Send to the terminal via a secure channel; the terminal will use its terminal signature private key d. u and terminal encryption private key e u Secretly store the terminal's anonymous identity identifier (SID). u public.
3. The lightweight terminal cross-domain authentication method for edge computing according to claim 1, characterized in that, Between step S3 and step S4, the following is also included: S351: The second edge node MS2 checks whether the first edge node's identity ID is in the second edge node's trust list. MS1 If yes, proceed to step S4; otherwise, the second edge node MS2 sends the digital certificate X2 of the second edge node to the first edge node MS1, and the second edge node MS2 requests the first edge node MS1 to obtain the digital certificate X1 of the first edge node. S352: After receiving the digital certificate X2 from the second edge node, the first edge node MS1 obtains the public key P of the second edge node MS2 based on the digital certificate X2. MS2 And the first edge node MS1 sends the digital certificate X1 of the first edge node to the second edge node MS2; S353: After receiving the digital certificate X1 from the first edge node, the second edge node MS2 obtains the public key P of the first edge node MS1 based on the digital certificate X1. MS1 Proceed to step S4.
4. The lightweight terminal cross-domain authentication method for edge computing according to claim 1, characterized in that, Between steps S8 and S9, an initial delay detection is further included, and the specific steps of the initial delay detection include the following: C1: When the second edge node MS2 encrypts the third encrypted information, it encapsulates the encryption time T1 into the third encrypted information; C2: After the terminal decrypts the third encrypted information, it obtains T1. It determines whether the difference between the terminal's decryption time T3 and T1 is less than the initial delay threshold. If it is less, the initial delay detection passes and step S9 continues; otherwise, cross-domain authentication fails.
5. The lightweight terminal cross-domain authentication method for edge computing according to claim 1, characterized in that, Between steps S9 and S10, a secondary delay detection is further included, and the specific steps of the secondary delay detection are as follows: D1: When the terminal encrypts the fourth encrypted information, it will encapsulate the sending time T2 into the fourth encrypted information; D2: After the second edge node MS2 decrypts the fourth encrypted information, it determines whether the difference between the decryption time T4 and T2 of the fourth encrypted information by the second edge node MS2 is less than the secondary delay threshold. If it is less, the secondary delay detection passes and step S10 continues; otherwise, cross-domain authentication fails.