A method and apparatus for identity authentication

CN114760027BActive Publication Date: 2026-09-11CHINA IWNCOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011569180.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-26
Publication Date
2026-09-11
Estimated Expiration
2040-12-26

AI Technical Summary

Technical Problem

[0002]目前,通信网络通常要求在用户和网络接入点之间执行双向身份鉴别,确保只有合法用户才能与合法网络通信,在已有的实体鉴别方案中,实体的身份要么统一采用数字证书,要么实体之间采用预共享密钥的形式,但在实际应用中某些场景下,面临一端采用数字证书作为身份凭证、另一端采用预共享密钥作为身份凭证的情况,这对实体身份鉴别机制提出了挑战

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114760027B_ABST
    Figure CN114760027B_ABST
Patent Text Reader

Abstract

The application discloses an identity authentication method, which comprises the following steps: an access controller (AAC) receives an identity ciphertext message sent by a request device (REQ); the AAC sends a first authentication request message to a first authentication server trusted by the AAC, wherein the first authentication request message comprises a digital certificate of the REQ and an identity authentication code of the AAC; the first authentication server verifies the identity authentication code of the AAC; a second authentication server trusted by the REQ verifies the legality of the digital certificate of the REQ; the AAC receives a first authentication response message sent by the first authentication server, wherein the first authentication response message carries verification results of the AAC and the REQ; the AAC and the REQ respectively acquire the verification results of the other entity, so that two-way identity authentication is realized; and entity sensitive information is transmitted between the REQ and the AAC in a ciphertext form, so that the security of the entity is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network communication security technology, and in particular to an identity authentication method and apparatus. Background Technology

[0002] Currently, communication networks typically require two-way authentication between users and network access points to ensure that only legitimate users can communicate with legitimate networks. In existing entity authentication schemes, entity identities are either uniformly represented by digital certificates or shared by entities using pre-shared keys. However, in some practical applications, there are situations where one end uses digital certificates as identity credentials and the other end uses pre-shared keys as identity credentials, which poses a challenge to entity authentication mechanisms.

[0003] Furthermore, the identity authentication process directly exposes the entity's identity information. In some cases, the entity's identity information contains some private or sensitive information, such as ID card number, home address, bank card information, etc. If these are intercepted by attackers and then used for illegal activities, the consequences will be unimaginable. Therefore, it is urgent to complete the entity identity authentication without exposing sensitive identity information. Summary of the Invention

[0004] To address the aforementioned technical issues, this application provides an identity authentication method and apparatus that enables two-way identity authentication and identity protection of entities when the requesting device uses a digital certificate and the authentication access controller uses a pre-shared key as identity credentials.

[0005] In view of the above, the first aspect of this application provides an identity authentication method, comprising:

[0006] The authentication access controller receives an identity encrypted message sent by a requesting device. The identity encrypted message includes the identity information encrypted by the requesting device. The identity information encrypted by the requesting device is generated by the requesting device encrypting encrypted data, including the digital certificate of the requesting device, using a message encryption key.

[0007] The authentication access controller uses the message encryption key to decrypt the encrypted identity information of the requesting device to obtain the digital certificate of the requesting device, and sends a first authentication request message to the first authentication server it trusts. The first authentication request message includes the digital certificate of the requesting device and the authentication code of the authentication access controller. The authentication code of the authentication access controller is generated by the authentication access controller using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to calculate information including the digital certificate of the requesting device.

[0008] The authentication access controller receives a first authentication response message sent by the first authentication server. The first authentication response message includes first authentication result information, a first digital signature of the second authentication server trusted by the requesting device, second authentication result information, and a first message authentication code of the first authentication server. The first authentication result information includes a first verification result of the authentication access controller's identity authentication code. The first digital signature is a digital signature calculated by the second authentication server on signature data including the first authentication result information. The second authentication result information includes a second verification result of the requesting device's digital certificate. The first message authentication code of the first authentication server is calculated by the first authentication server using a pre-shared key with the authentication access controller and a cryptographic algorithm agreed upon with the authentication access controller on information including the second authentication result information.

[0009] The authentication access controller uses a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to verify the first message authentication code of the first authentication server. If the verification is successful, the authentication access controller determines the authentication result of the requesting device based on the second verification result in the second authentication result information. When the authentication access controller determines that the authentication result of the requesting device is valid, it sends a third authentication response message to the requesting device; or...

[0010] The authentication access controller uses a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to verify the first message authentication code of the first authentication server. If the verification is successful, the authentication access controller sends a third authentication response message to the requesting device and determines the authentication result of the requesting device based on the second verification result in the second authentication result information; or...

[0011] The authentication access controller uses a pre-shared key with the first authentication server and employs a cryptographic algorithm agreed upon with the first authentication server to verify the first message authentication code of the first authentication server; if the first message authentication code of the first authentication server is verified successfully, the authentication access controller determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information; the authentication access controller sends a third authentication response message to the requesting device.

[0012] The third authentication response message includes ciphertext of authentication result information, which is generated by the authentication access controller encrypting encrypted data including the first authentication result information and the first digital signature using the message encryption key.

[0013] After receiving the third authentication response message, the requesting device decrypts the ciphertext of the authentication result information using the message encryption key to obtain the first authentication result information and the first digital signature. It then verifies the first digital signature using the public key of the second authentication server. If the verification passes, it determines the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information.

[0014] A second aspect of this application provides a requesting device, comprising:

[0015] The sending module is used to send an identity encrypted message to the authentication access controller. The identity encrypted message includes the identity information encrypted of the requesting device. The identity information encrypted of the requesting device is generated by the requesting device encrypting encrypted data, including the digital certificate of the requesting device, using a message encryption key.

[0016] The receiving module is configured to receive a third authentication response message sent by the authentication access controller. The third authentication response message includes ciphertext of authentication result information, which is generated by the authentication access controller encrypting encrypted data including first authentication result information and a first digital signature using the message encryption key. The first authentication result information includes a first verification result of the authentication access controller's identity authentication code, and the first digital signature is a digital signature calculated by a second authentication server on signature data including the first authentication result information.

[0017] The decryption module is used to decrypt the ciphertext of the authentication result information using the message encryption key to obtain the first authentication result information and the first digital signature;

[0018] The verification module is used to verify the first digital signature using the public key of the second authentication server;

[0019] The determination module is used to determine the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information if the verification is successful.

[0020] A third aspect of this application provides an authentication access controller, comprising:

[0021] The receiving module is used to receive an identity ciphertext message sent by the requesting device. The identity ciphertext message includes the identity information ciphertext of the requesting device, which is generated by the requesting device encrypting encrypted data, including the digital certificate of the requesting device, using a message encryption key.

[0022] The decryption module is used to decrypt the ciphertext of the requesting device's identity information using the message encryption key to obtain the requesting device's digital certificate;

[0023] The sending module is configured to send a first authentication request message to a first authentication server trusted by the authentication access controller. The first authentication request message includes the digital certificate of the requesting device and the authentication code of the authentication access controller. The authentication code of the authentication access controller is generated by the authentication access controller using a pre-shared key with the first authentication server and employing a cryptographic algorithm agreed upon with the first authentication server to calculate information including the digital certificate of the requesting device.

[0024] The receiving module is further configured to receive a first authentication response message sent by the first authentication server. The first authentication response message includes first authentication result information, a first digital signature of the second authentication server trusted by the requesting device, second authentication result information, and a first message authentication code of the first authentication server. The first authentication result information includes a first verification result of the identity authentication code of the authentication access controller. The first digital signature is a digital signature calculated and generated by the second authentication server on signature data including the first authentication result information. The second authentication result information includes a second verification result of the digital certificate of the requesting device. The first message authentication code of the first authentication server is calculated and generated by the first authentication server using a pre-shared key with the authentication access controller and a cryptographic algorithm agreed upon with the authentication access controller on information including the second authentication result information.

[0025] The verification module is used to verify the first message authentication code of the first authentication server using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server; if the verification is successful, the determining module determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information; when the determining module determines that the identity authentication result of the requesting device is valid, the sending module sends a third authentication response message to the requesting device; or...

[0026] The sending module uses a pre-shared key with the first authentication server and an agreed-upon cryptographic algorithm to verify the first message authentication code of the first authentication server. If the verification is successful, the sending module sends a third authentication response message to the requesting device, and the determining module determines the authentication result of the requesting device based on the second verification result in the second authentication result information; or...

[0027] The module is used to verify the first message authentication code of the first authentication server using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server; if the first message authentication code of the first authentication server is verified, the determining module determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information; the sending module sends a third authentication response message to the requesting device.

[0028] The third authentication response message includes ciphertext of authentication result information, which is generated by the authentication access controller encrypting encrypted data, including the first authentication result information and the first digital signature, using the message encryption key.

[0029] A fourth aspect of this application provides a first authentication server, comprising:

[0030] The receiving module is configured to receive a first authentication request message sent by the authentication access controller. The first authentication request message includes the digital certificate of the requesting device and the authentication code of the authentication access controller. The authentication code of the authentication access controller is generated by the authentication access controller using a pre-shared key with the first authentication server and employing a cryptographic algorithm agreed upon with the first authentication server to calculate information including the digital certificate of the requesting device.

[0031] The sending module is configured to send a first authentication response message to the authentication access controller. The first authentication response message includes first authentication result information, a first digital signature of the second authentication server, second authentication result information, and a first message authentication code of the first authentication server. The first authentication result information includes a first verification result of the authentication access controller's identity authentication code. The first digital signature is a digital signature calculated by the second authentication server on signature data including the first authentication result information. The second authentication result information includes a second verification result of the requesting device's digital certificate. The first message authentication code of the first authentication server is calculated by the first authentication server using a pre-shared key with the authentication access controller and an agreed cryptographic algorithm with the authentication access controller on information including the second authentication result information.

[0032] The fifth aspect of this application provides a second authentication server, comprising:

[0033] The receiving module is configured to receive a second authentication request message sent by a first authentication server. The second authentication request message includes first authentication result information, a digital certificate of the requesting device, and a second digital signature, or the second authentication request message includes first authentication result information, a digital certificate of the requesting device, and a second message authentication code. The second digital signature is generated by the first authentication server from signature data including the first authentication result information and the digital certificate of the requesting device, or the second message authentication code is generated by the first authentication server from information including the first authentication result information and the digital certificate of the requesting device using a pre-shared key with the second authentication server and a cryptographic algorithm agreed upon with the second authentication server.

[0034] The verification module is used to verify the second digital signature using the public key of the first authentication server or to verify the second message authentication code using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server.

[0035] The generation module is used to, if the verification is successful, perform a legality verification on the digital certificate of the requesting device to obtain a second verification result, generate second authentication result information based on the information including the second verification result, calculate and generate the first digital signature on the signature data including the first authentication result information, calculate and generate a third digital signature on the signature data including the second authentication result information, or use a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to calculate and generate a third message authentication code on the information including the second authentication result information.

[0036] The sending module is used to send a second authentication response message to the first authentication server. The second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third digital signature, or the second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third message authentication code.

[0037] As shown above, the requesting device uses a digital certificate as its identity credential, while the authentication access controller uses a pre-shared key as its identity credential. During the authentication process, the requesting device first sends an encrypted identity message to the authentication access controller. This encrypted identity message includes ciphertext of the identity information generated by the requesting device encrypting encrypted data, including its digital certificate, using a message encryption key. The authentication access controller then decrypts the ciphertext of the identity information using the message encryption key to obtain the requesting device's digital certificate. It then uses the pre-shared key of the first authentication server it trusts and the agreed-upon cryptographic algorithm to calculate and generate the authentication access controller's identity verification code, including the requesting device's digital certificate. Finally, it sends the requesting device's digital certificate and the authentication access controller's identity verification code to the first authentication server. The authentication code of the requesting device is verified by a second authentication server trusted by the requesting device to confirm the legitimacy of the requesting device's digital certificate. The authentication code of the authentication access controller is verified by a first authentication server trusted by the authentication access controller. After verification, the first authentication server sends a first authentication response message to the authentication access controller. The authentication access controller obtains the verification result of the requesting device from this first authentication response message to determine whether the requesting device's identity is legitimate. The requesting device obtains the verification result of the authentication access controller from a third authentication response message sent by the authentication access controller to determine whether the authentication access controller's identity is legitimate. This achieves two-way authentication between the authentication access controller and the requesting device, laying the foundation for ensuring that only legitimate users can communicate with legitimate networks. Furthermore, the entity's identity information and / or identity authentication result information are transmitted in encrypted form, ensuring the security of private information during transmission and achieving entity identity protection. Attached Figure Description

[0038] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0039] Figure 1 A schematic diagram illustrating an identity authentication method provided in an embodiment of this application;

[0040] Figure 2 A schematic diagram illustrating a method for requesting a device REQ and negotiating an encryption key for an access controller AAC, provided in an embodiment of this application;

[0041] Figure 3 This is a schematic diagram of an identity authentication method provided in an embodiment of this application, where "*" represents an optional field or optional operation;

[0042] Figure 4 This is a schematic diagram of an identity authentication method provided in an embodiment of this application, where "*" represents an optional field or optional operation;

[0043] Figure 5 A structural block diagram of a request device REQ provided in an embodiment of this application;

[0044] Figure 6 A structural block diagram of an authentication access controller (AAC) provided in this application embodiment;

[0045] Figure 7 A structural block diagram of a first authentication server AS-AAC provided in an embodiment of this application;

[0046] Figure 8 This is a structural block diagram of a second authentication server AS-REQ provided in an embodiment of this application. Detailed Implementation

[0047] In a communication network, a requesting device can access the network through an authentication access controller. To ensure that the requesting device is a legitimate user and that the network accessed by the requesting device is a legitimate network, two-way identity authentication (MIA) is required between the authentication access controller and the requesting device.

[0048] Taking current wireless and mobile communication scenarios as examples, in scenarios where a requesting device accesses a wireless network through an authentication access controller, the requesting device can be a terminal device such as a mobile phone, a personal digital assistant (PDA), or a tablet computer, while the authentication access controller can be a network-side device such as a wireless access point or a wireless router. In scenarios where a requesting device accesses a wired network through an authentication access controller, the requesting device can be a terminal device such as a desktop computer or a laptop computer, while the authentication access controller can be a network-side device such as a switch or a router. In scenarios where a requesting device accesses a 4G / 5G network through an authentication access controller, the requesting device can be a terminal device such as a mobile phone or a tablet computer, while the authentication access controller can be a network-side device such as a base station. Of course, this application is also applicable to various data communication scenarios, including other wired networks and short-range communication networks.

[0049] However, existing entity authentication schemes either uniformly use digital certificates or pre-shared keys as identity credentials. For practical applications where one end uses a digital certificate and the other a pre-shared key, no simple and effective authentication mechanism has been proposed. Furthermore, the entity's identity information is directly exposed during the transmission of authentication messages, compromising its security.

[0050] To address the aforementioned technical problems, this application provides an identity authentication method. For application scenarios where the requesting device uses a digital certificate and the authentication access controller uses a pre-shared key authentication method, a first authentication server trusted by the authentication access controller verifies the authentication access controller's identity authentication code to obtain a first verification result. A second authentication server trusted by the requesting device verifies the validity of the requesting device's digital certificate to obtain a second verification result. Both the requesting device and the authentication access controller determine the legitimacy of the other entity based on the verification results, achieving bidirectional identity authentication between the authentication access controller and the requesting device. This lays the foundation for ensuring that only legitimate users can communicate with legitimate networks. Furthermore, the entity's private information, such as identity identifiers and authentication result information, is transmitted in encrypted form, ensuring the security of private information during transmission and achieving entity identity protection.

[0051] For ease of explanation, in this embodiment of the application, the identity authentication method of the present application will be described using the requesting device (REQuester, abbreviated as REQ), the authentication access controller (AAC, abbreviated as AAC), and the authentication server (AS, abbreviated as AS) as examples.

[0052] In this system, the AS trusted by AAC is called the first authentication server AS-AAC, and the AS trusted by REQ is called the second authentication server AS-REQ. AS-REQ holds a digital certificate conforming to ISO / IEC 9594-8 / ITU X.509, other standards, or other technical systems, along with the corresponding private key. AS-AAC can verify the identity of AAC, and AS-REQ can verify the identity of REQ. AS-AAC and AS-REQ can be the same AS or different ASs. When AS-AAC and AS-REQ are the same, it's a non-roaming situation; when AS-AAC and AS-REQ are different, it's a roaming situation. In this case, AS-AAC and AS-REQ have a valid pre-shared key. Alternatively, when AS-AAC holds a digital certificate conforming to ISO / IEC 9594-8 / ITU X.509, other standards, or other technical systems, along with the corresponding private key, AS-AAC and AS-REQ are aware of each other's digital certificates or the public key within the digital certificate.

[0053] REQ can be one endpoint participating in the authentication process, establishing a connection with AAC, accessing the services provided by AAC, and accessing AS through AAC. REQ holds a digital certificate conforming to ISO / IEC 9594-8 / ITU X.509, other standards, or other technical systems, along with the corresponding private key, and is aware of AS-REQ's digital certificate or the public key within the digital certificate. AAC can be another endpoint participating in the authentication process, establishing a connection with REQ, providing services, communicating with REQ, and directly accessing AS-AAC. AAC and AS-AAC have a valid pre-shared key.

[0054] The following is combined with Figure 1 This application provides an embodiment of an identity authentication method, which includes:

[0055] S101, AAC receives the identity-encrypted message REQInit sent by REQ.

[0056] The REQInit includes REQ's identity information encrypted EncData. REQ EncData REQ REQ uses a message encryption key and a symmetric encryption algorithm to encrypt the digital certificate Cert containing REQ. REQ The encrypted data, including the encrypted data, is generated through encryption. The message encryption key can be obtained through negotiation between REQ and AAC, or it can be pre-shared between REQ and AAC. The implementation method for REQ and AAC to negotiate the message encryption key will be described later. In this application, the object to be encrypted is referred to as encrypted data.

[0057] S102, AAC sends a first authentication request message AACVeri to the AS-AAC it trusts.

[0058] The AACeri includes Cert REQ And AAC's authentication code MIC AAC Among them, Cert REQ AAC uses a symmetric encryption algorithm with the message encryption key to encrypt the received EncData. REQ Decrypted; MIC AAC AAC utilizes the pre-shared key K with AS-AAC. AAC_AS The cryptographic algorithm agreed upon with AS-AAC is used to process the Cert. REQ The information included is calculated and generated. As an example of this application, the cryptographic algorithm agreed upon by AAC and AS-AAC can be a hash algorithm, and AAC utilizes the K... AAC_AS Combining hash algorithms to analyze MICs in AACeri AAC Other fields preceding the field, such as those including the Cert REQ The information, including the hash value, is used to perform a hash operation on the data to obtain the hash value, which serves as the MIC (Authentication Code) for the AAC. AAC In this application, AAC employs the aforementioned MIC. AAC As identity information, REQ uses the aforementioned Cert. REQ As identity information.

[0059] It should be noted that when the AS-AAC trusted by AAC and the AS-REQ trusted by REQ are the same authentication server, the authentication server jointly trusted by REQ and AAC can be represented by AS-AAC (or AS-REQ). In this case, the Certification is verified by AS-AAC (which can also be represented as AS-REQ). REQ The legality of Res is verified by a second result. REQ Using the pre-shared key K with AAC AAC_AS The MIC is verified using a cryptographic algorithm agreed upon with AAC. AAC The first verification result Res was obtained. AAC According to the Res AAC The information included generates the first identification result information Pub AAC According to the Res REQ The information included generates the second identification result information Pub REQ and using the K AAC_AS The cryptographic algorithm is used to target the Pub account. REQ The information included is used to calculate and generate the first message authentication code (MIC) for AS-AAC. AS_AAC(It can also be represented as the first message authentication code MIC of AS-REQ) AS_REQ ), for including the Pub AAC The signature data, including the first digital signature Sig, is calculated to generate the first digital signature. AS_AAC1 (can also be represented as Sig) AS_REQ1 According to the Pub AAC The Sig AS_AAC1 (can also be represented as Sig) AS_REQ1 The Pub REQ and the MIC AS_AAC (can also be represented as MIC) AS_REQ The information, including the first authentication response message ASVeri, is generated.

[0060] When the AS-AAC trusted by AAC and the AS-REQ trusted by REQ are two different authentication servers, in this case, AS-AAC uses the pre-shared key K with AAC. AAC_AS The MIC is verified using a cryptographic algorithm agreed upon with AAC. AAC The first verification result Res was obtained. AAC According to Res AAC The information included generates the first identification result information Pub AAC For including the Pub AAC and the Cert REQ The second digital signature Sig is generated from the signature data. AS_AAC2 And send a second authentication request message AS-AACVeri to AS-REQ, wherein AS-AACVeri includes the Pub AAC The Cert REQ and the Sig AS_AAC2 Among them, Sig AS_AAC2 Can be replaced with MIC AS_AAC2 MIC AS_AAC2 AS-AAC uses a pre-shared key with AS-REQ and employs a cryptographic algorithm agreed upon with AS-REQ to access the Pub database. AAC and the Cert REQ The second message authentication code is generated by calculating the information included in the code. Then, AS-REQ verifies the Sig using the AS-AAC public key. AS_AAC2 Alternatively, the MIC can be verified using a pre-shared key with AS-AAC and a cryptographic algorithm agreed upon with AS-AAC. AS_AAC2 After successful verification, the Cert... REQ The second verification result, Res, is obtained by performing a validity verification. REQ According to Res REQThe information included generates the second identification result information Pub REQ For including the Pub AAC The signature data, including the first digital signature Sig, is calculated to generate the first digital signature. AS_REQ1 For including the Pub REQ The signature data, including the third digital signature Sig, is calculated to generate the third digital signature. AS_REQ3 And send a second authentication response message AS-REQVeri to AS-AAC, wherein the AS-REQVeri includes the Pub AAC The Sig AS_REQ1 The Pub REQ and the Sig AS_REQ3 Among them, Sig AS_REQ3 Can be replaced with MIC AS_REQ3 MIC AS_REQ3 AS-REQ utilizes a pre-shared key with AS-AAC and employs a cryptographic algorithm agreed upon with AS-AAC to process the Pub database. REQ The information included in the calculation generates a third message authentication code. Then, AS-AAC uses the public key of AS-REQ to verify the Sig. AS_REQ3 Alternatively, the MIC can be verified using a pre-shared key with AS-REQ and a cryptographic algorithm agreed upon with AS-REQ. AS_REQ3 After successful verification, AS-AAC uses the pre-shared key K with AAC. AAC_AS The cryptographic algorithm agreed upon with AAC is used to target the Pub database. REQ The information included is used to calculate and generate the first message authentication code (MIC) for AS-AAC. AS_AAC and according to including the Pub AAC The Sig AS_REQ1 The Pub REQ and the MIC AS_AAC The information included in the first authentication response message ASVeri is used to generate the first authentication response message.

[0061] In the above process, AS-AAC can know in advance that there is a valid pre-shared key K between AS-AAC and AAC. AAC_AS And cryptographic algorithms; in addition, AACVeri can also carry AAC identity IDs. AAC AS-AAC can be based on ID AAC Determine if there is a valid K with AAC AAC_AS and cryptographic algorithms. AS-AAC verifies the MIC AAC At that time, it is using the aforementioned K AAC_AS The cryptographic algorithm agreed upon with AAC is used to target the MIC in the AAC Veri. AAC Information including other fields mentioned above, such as the CertREQ The information, including the MIC, is calculated locally. AAC Then calculate the MIC AAC With the received MIC AAC The comparison is performed to complete the evaluation of the MIC. AAC Verification.

[0062] S103, AAC receives the first authentication response message ASVeri sent by AS-AAC.

[0063] The ASVeri includes the first identification result information Pub. AAC The first digital signature of AS-REQ, Sig AS_REQ1 Second identification result information Pub REQ The first message authentication code (MIC) of AS-AAC AS_AAC Among them, the Pub AAC This includes the first verification result, Res. AAC The Sig AS_REQ1 AS-REQ includes the Pub AAC The digital signature generated by calculating the signature data, including Pub REQ This includes the second verification result, Res. REQ The MIC AS_AAC AS-AAC utilizes the pre-shared key K with AAC. AAC_AS The cryptographic algorithm agreed upon with AAC is used to target the Pub database. REQ The information included is calculated and generated.

[0064] S104. AAC uses the pre-shared key with AS-AAC and employs a cryptographic algorithm agreed upon with AS-AAC to verify the MIC. AS_AAC .

[0065] Among them, AAC utilizes the pre-shared key K with AS-AAC. AAC_AS The cryptographic algorithm agreed upon with AS-AAC is used to target the Pub database. REQ The information included is used to generate the MIC locally. AS_AAC and the calculated MIC AS_AAC With the received MIC AS_AAC The comparison is performed to complete the evaluation of the MIC. AS_AAC Verification.

[0066] S105, AAC according to the Pub REQ Res in REQ Determine the identity verification result of REQ.

[0067] Due to Res REQIt can reflect whether the REQ is valid, therefore AAC can be based on Pub. REQ Res in REQ Determine if the REQ is valid.

[0068] S106. AAC sends a third authentication response message, AACAuth, to REQ.

[0069] The AACAuth includes the encrypted authentication result information EncData. AAC Among them, EncData AAC AAC uses a symmetric encryption algorithm with a message encryption key to encrypt the Pub file. AAC and the first digital signature Sig AS_REQ1 The encrypted data, including the encrypted data, was generated.

[0070] It should be noted that the execution order of S104 to S106 does not affect the specific implementation of this application. In practical applications, the execution order of S104 to S106 can be set according to requirements. A preferred suggestion is to execute S104 first, when the AAC operates on the MIC... AS_AAC If the verification fails, discard the ASVeri of S103. When AAC checks the MIC... AS_AAC After successful verification, S105 is executed. If AAC determines that REQ is valid, S106 is executed. If AAC determines that REQ is invalid, AAC will choose whether to execute S106 according to its local policy. Considering efficiency, the preferred solution is not to execute S106 and end the current authentication process.

[0071] S107, REQ uses the message encryption key to decrypt the EncData. AAC Get Pub AAC and Sig AS_REQ1 Verify the Sig using the public key of AS-REQ. AS_REQ1 If the verification passes, then according to the aforementioned Pub AAC Res in AAC Determine the identity verification result of AAC.

[0072] REQ can use the message encryption key to decrypt EncData using a symmetric encryption algorithm. AAC Get Pub AAC and Sig AS_REQ1 Because of Res AAC This can reflect whether AAC is valid, therefore REQ is used to evaluate the Sig. AS_REQ1 Once the verification is successful, you can proceed according to the Pub. AAC Res in AAC Determine if AAC is valid; if REQ is valid for the stated Sig AS_REQ1If verification fails, AACAuth is discarded.

[0073] As can be seen from the above, this application provides an identity authentication method. By introducing an authentication server, for application scenarios where the requesting device uses a digital certificate and the authentication access controller uses a pre-shared key authentication method, a first authentication server trusted by the authentication access controller verifies the authentication code of the authentication access controller using the pre-shared key to obtain a first verification result. A second authentication server trusted by the requesting device verifies the legality of the requesting device's digital certificate to obtain a second verification result. The requesting device and the authentication access controller respectively obtain the verification result of the other entity, which can determine whether the other entity is legitimate, realizing two-way identity authentication between the authentication access controller and the requesting device, laying the foundation for ensuring that only legitimate users can communicate with legitimate networks. Furthermore, the entity's private information, such as identity identifiers and authentication result information, is transmitted in encrypted form, ensuring the security of private information during transmission and realizing entity identity protection.

[0074] In some embodiments, to ensure the reliability of the authentication result, AAC can generate a message integrity check code. For example, AACAuth in S106 may also include a message integrity check code MacTag. AAC MacTag AAC AAC uses message integrity verification key pairs, including those in AACAuth excluding MacTag. AAC Other fields besides those used in the calculation are generated. Correspondingly, in S107, based on Pub... AAC Res in AAC Before determining the AAC authentication result, REQ also needs to verify the MacTag using the message integrity verification key. AAC After verification, then according to Pub AAC Res in AAC Determine the identity authentication result of AAC. Specifically, REQ verifies the MacTag. AAC When using the message integrity verification key pair, the key should include the key pair in AACAuth excluding the MacTag. AAC Other fields are calculated locally to generate MacTag. AAC And compare the MacTag calculated locally. AAC With the MacTag in the received AACAuth AAC If they match, the verification passes; otherwise, it fails.

[0075] Before determining the identity authentication result of REQ, AAC can first determine the digital signature Sig of REQ. REQ Whether the verification passes or not, when Sig is determined REQAfter successful verification, AAC will then proceed based on the Pub. REQ Res in REQ Determine the REQ's identity verification result. Please refer to... Figure 1 The REQInit of S101 can also include the digital signature Sig of the REQ. REQ Sig REQ The signature data includes the Sig in REQInit. REQ Before S105, AAC also needs to determine the Sig field. REQ Whether the verification passed, if confirmed, Sig REQ If the verification passes, then execute S105. Here, AAC determines Sig. REQ Whether the verification passes includes the following methods:

[0076] As a method for verifying the Sig by an authentication server REQ In an embodiment where AS-REQ and AS-AAC are the same authentication server (i.e., non-roaming), when AS-AAC (which can also be represented as AS-REQ) verifies the Sig... REQ At that time, Sig REQ It can be carried in the AACVeri of S102 and transmitted to AS-AAC (also represented as AS-REQ). AS-AAC (also represented as AS-REQ) utilizes the Cert in AACVeri. REQ Verify the Sig REQ If the verification passes, the process continues with steps such as generating and sending the first authentication response message ASVeri; if the verification fails, these steps are not executed. Therefore, AAC can determine Sig based on whether or not the first authentication response message ASVeri is received. REQ Whether the verification passes or not, if the AAC can receive the ASVeri from S103, then the AAC can determine Sig. REQ Verification successful.

[0077] As a method for verifying the Sig by an authentication server REQ In another embodiment, where AS-REQ and AS-AAC are two different authentication servers (i.e., roaming), when AS-REQ verifies the Sig... REQ At that time, Sig REQ It can be carried in the AACVeri of S102, and the second authentication request message AS-AACVeri sent by AS-AAC to AS-REQ is transmitted to AS-REQ. AS-REQ uses the Cert in AS-AACVeri. REQ Verify the Sig REQIf the verification passes, AS-REQ executes the steps of generating and sending the second authentication response message AS-REQVeri, and AS-AAC generates and sends the subsequent first authentication response message ASVeri. If the verification fails, AS-REQ will not execute the steps of generating and sending the second authentication response message AS-REQVeri, and AS-AAC will not generate and send the subsequent first authentication response message ASVeri. Therefore, AAC can determine Sig based on whether it can receive the first authentication response message ASVeri. REQ Whether the verification passes or not, if the AAC can receive the ASVeri from S103, then the AAC can determine Sig. REQ Verification successful.

[0078] As a result of AAC verification of the Sig REQ In one embodiment, after receiving REQInit from S101, AAC can utilize the decrypted EncData in REQInit. REQ The obtained Cert REQ Verify the Sig REQ Based on the verification results, determine Sig REQ The verification process is checked to determine if it passes. If it fails, REQInit is discarded. Alternatively, the verification result information Pub generated by the authentication server can be used to determine if the verification passes. REQ It also includes Cert REQ When AAC receives ASVeri from S103, it can utilize the Pub in ASVeri. REQ Includes Cert REQ Verify the Sig REQ Thus determining Sig REQ Check if the verification passes; if it fails, discard the ASVeri. Alternatively, if the Pub in the ASVeri... REQ It also includes Cert REQ At that time, AAC checks Pub REQ Cert in REQ Is it related to decrypting the EncData? REQ The obtained Cert REQ If they are the same, then use Cert. REQ Verify the Sig REQ Based on the verification results, determine Sig REQ Check if the verification passed; if the verification failed, discard ASVeri.

[0079] It should be noted that the random number, identity identifier, and other information generated by the requesting device and / or authentication access controller can be transmitted in the messages exchanged during the authentication process. Normally, the random number and / or identity identifier carried in the received message should be the same as those carried in the sent message. However, in situations such as network jitter or attacks, the parameter information in the message may be lost or tampered with. Therefore, in some embodiments of this application, the reliability of the authentication result can also be ensured by comparing whether the random number and / or identity identifier in the sent and received messages are consistent. Specifically:

[0080] Please refer to Figure 1 The AAC Veri of S102 can also include the AAC's identity ID. AAC and / or the first random number Nonce generated by AAC AAC Accordingly, S103's ASVeri also includes ID AAC and / or Nonce AAC Therefore, before S105, AAC can first process the ID in ASVeri. AAC and AAC's own identity ID AAC (That is, the ID sent by AAC through AACVeri) AAC Verify the consistency of ) and / or, the Nonce in ASVeri AAC Nonce generated by AAC AAC (That is, the Nonce sent by AAC through AACCVeri) AAC The consistency of the AAC is verified. If the verification passes, the AAC then executes S105.

[0081] In other embodiments, the Pub AAC It can also include ID AAC And the EncData in S106's AACAuth AAC The encrypted data also includes ID AAC Then in S107, according to Pub AAC Res in AAC Before determining the identity authentication result of AAC, REQ also needs to decrypt EncData. AAC The Pub AAC ID in AAC and decrypting EncData AAC The ID obtained AAC The consistency is verified. If the verification passes, REQ then verifies the consistency with the Pub. AAC Res in AAC Determine the identity verification result of AAC.

[0082] Of course, to ensure the reliability of the identification results, REQ can also adjust the second random number Nonce generated by REQ. REQ and / or REQ's identity ID REQ Consistency verification is performed.

[0083] Please refer to Figure 1 The AACeri of S102 can also include Nonce REQ and / or ID REQ Nonce REQ The ID can be obtained by AAC from REQInit of S101. REQ It can be the EncData in AAC's REQInit. REQ The data obtained through decryption, that is, EncData. REQ The encrypted data also includes ID REQ Correspondingly, S103's ASVeri also includes Nonce. REQ and / or ID REQ EncData in S106's AACAuth AAC The encrypted data also includes Nonce REQ and / or ID REQ Then in S107, according to Pub AAC Res in AAC Before determining the identity authentication result of AAC, REQ can first decrypt the EncData. AAC The Nonce obtained REQ Nonce generated by REQ REQ Verify the consistency of the data, and / or, decrypt the EncData. AAC The ID obtained REQ and REQ's own identity ID REQ The consistency is verified; if the verification passes, the REQ is then verified against the Pub. AAC Res in AAC Determine the identity verification result of AAC.

[0084] In the above embodiments, the message encryption key used by REQ and AAC can be obtained through negotiation between the two. Therefore, this embodiment also provides a method for REQ and AAC to negotiate the message encryption key, see [link to documentation]. Figure 2 The method includes:

[0085] S201, AAC sends a key request message AACInit to REQ.

[0086] The AACInit includes the AAC key exchange parameter KeyInfo. AAC KeyInfoAAC This includes the temporary public key of AAC. Key exchange refers to key exchange algorithms such as Diffie-Hellman (DH). The AACInit may also include the first random number (Nonce) generated by AAC. AAC .

[0087] The AACInit may also include security capabilities. AAC Security capabilities AAC This indicates the security capabilities supported by AAC, including the authentication suites (which contain one or more authentication methods), symmetric encryption algorithms, integrity verification algorithms, and / or key derivation algorithms supported by AAC. These parameters allow REQ to select specific security policies to use. REQ can then base its decisions on these security capabilities. AAC Select the specific security policy (Security capabilities) used by REQ. REQ Security capabilities REQ The REQ indicates the authentication method, symmetric encryption algorithm, integrity verification algorithm, and / or key derivation algorithm used.

[0088] S202, REQ is based on the key exchange parameter KeyInfo, which includes REQ. REQ The corresponding temporary private key and KeyInfo AAC The included temporary public key is used to perform key exchange calculation to generate a first key, and the message encryption key is calculated using a key derivation algorithm based on information including the first key.

[0089] If S201's AACInit also includes the Nonce generated by AAC... AAC Then REQ can be based on KeyInfo. REQ The corresponding temporary private key and KeyInfo AAC The included temporary public key is used for key exchange calculation to generate the first key K1, and K1 is combined with the Nonce. AAC The second random number Nonce generated by REQ REQ The information, including the message encryption key, is calculated using a negotiated or pre-defined key derivation algorithm. The negotiated key derivation algorithm can be based on the Security capabilities sent by the AAC according to the REQ. AAC The chosen key derivation algorithm. KeyInfo REQ This refers to the key exchange parameters generated by REQ, including REQ's temporary public key. KeyInfoREQ The corresponding temporary private key is the temporary private key generated by REQ that corresponds to the temporary public key of REQ, that is, the temporary public key and the temporary private key are a pair of temporary public-private keys.

[0090] S203, REQ sends the identity-encrypted message REQInit to AAC.

[0091] REQInit also includes KeyInfo REQ So that AAC can be based on including KeyInfo AAC The corresponding temporary private key and KeyInfo REQ The message encryption key is calculated from the information including the temporary public key. Among them, KeyInfo... AAC The corresponding temporary private key is the temporary private key generated by AAC that corresponds to the temporary public key of AAC. That is, the temporary public key and the temporary private key are a pair of temporary public-private keys.

[0092] The REQInit may also include security capabilities. REQ The REQInit may also include a Nonce. REQ So that AAC can use the KeyInfo as a basis. AAC The corresponding temporary private key, the KeyInfo REQ The included temporary public key, the Nonce AAC and the Nonce REQ The encryption key for the message is calculated from the information included.

[0093] The REQInit may also include a Nonce. AAC Therefore, AAC can check the Nonce in REQInit before calculating the message encryption key. AAC Nonce generated by AAC AAC The consistency is verified to ensure that the REQInit received by AAC is a response message to AACInit.

[0094] S204, AAC based on including KeyInfo AAC The corresponding temporary private key and KeyInfo REQ The included temporary public key is used to perform key exchange calculations to generate the first key, and the message encryption key is calculated using the key derivation algorithm based on information including the first key.

[0095] If the REQInit also includes the Nonce REQ Then AAC can be based on the KeyInfo. AAC The corresponding temporary private key and the KeyInfoREQ The included temporary public key is used for key exchange calculation to generate the first key K1, and K1 is combined with the Nonce. AAC and the Nonce REQ The information, including the message's encryption key, is calculated using a negotiated or pre-defined key derivation algorithm. The negotiated key derivation algorithm can be the Security capabilities sent by AAC based on the REQ. REQ The key export algorithm to be used.

[0096] It should be noted that, in Figure 2 In this embodiment, REQ and AAC can also generate message integrity verification keys. The implementation methods for REQ and AAC to generate message integrity verification keys are the same as... Figure 2 The implementation methods for generating message encryption keys for REQ and AAC in the examples are the same. For example, AAC can be generated through... Figure 2 The embodiment uses a key derivation algorithm to derive a string of key data. This key data can be used as both a message encryption key and a message integrity verification key. Alternatively, a portion of the key data can be used as a message encryption key, and the other portion as a message integrity verification key. AAC can also... Figure 2 The implementation method utilizes a key derivation algorithm to derive two identical or different key data sequences in stages: one sequence serves as the message encryption key, and the other as the message integrity verification key. REQ can be... Figure 2 The embodiment uses a key derivation algorithm to derive a string of key data. This key data can be used as both a message encryption key and a message integrity verification key. Alternatively, a portion of the key data can be used as the message encryption key, and the other portion as the message integrity verification key. REQ can also be achieved through... Figure 2 The implementation method uses a key derivation algorithm to derive two strings of identical or different key data in stages. One string is used as the message encryption key, and the other string is used as the message integrity verification key.

[0097] This application also provides a method for determining the first authentication server and / or the second authentication server used in the current authentication process by utilizing information exchange between AAC and REQ:

[0098] Please refer to Figure 2 In S201's AACInit, AAC adds the identity ID of at least one authentication server trusted by AAC. AS_AAC Then REQ is based on the ID. AS_AAC Identify the identity ID of at least one authentication server that you trust. AS_REQ In practice, REQ is derived from ID. AS_AACSelect at least one authentication server that it trusts as the ID. AS_REQ If the selection fails, REQ will use at least one authentication server it trusts as its ID. AS_REQ (Where, successful selection corresponds to a non-roaming situation, and failed selection corresponds to a roaming situation), and the ID... AS_REQ Add it to REQInit in S203 and send it to AAC. Then, AAC can use it based on the ID. AS_AAC and ID AS_REQ The primary authentication server, such as AAC, can be used to determine the ID. AS_REQ Zhonghe ID AS_AAC If at least one identical authentication server identifier exists, it indicates a non-roaming situation. AAC determines the first authentication server to participate in authentication from among the at least one authentication server identifier trusted by both REQ and AAC. If none exists, it indicates a roaming situation, and AAC needs to determine the first authentication server based on the ID. AS_AAC Determine the first authentication server AS-AAC involved in identity authentication and set the ID. AS_REQ Send to AS-AAC so that AS-AAC can use the ID AS_REQ Determine the second authentication server AS-REQ.

[0099] As an alternative implementation, AAC does not need to send the ID to REQ. AS_AAC The REQ adds the identity ID of at least one trusted authentication server to the REQInit in S203. AS_REQ According to ID AS_REQ The identity ID of the authentication server trusted by AAC itself. AS_AAC The implementation method for determining the first authentication server and / or the second authentication server involved in identity authentication is as described in the previous implementation method.

[0100] Since the authentication servers for REQ and AAC trusts can be the same or different, when the authentication servers for REQ and AAC trusts are the same, it is a non-roaming situation; when the authentication servers for REQ and AAC trusts are different, it is a roaming situation. Based on the foregoing embodiments, the identity authentication method provided by this application embodiment is described below in conjunction with non-roaming and roaming application scenarios for the following two situations: (I) Identity authentication method protected by REQ identity in non-roaming situations; (II) Identity authentication method protected by REQ identity in roaming situations.

[0101] See Figure 3This is an embodiment of the identity authentication method under the above-described (i) scenario, where AS-AAC (or AS-REQ) can represent the authentication server jointly trusted by REQ and AAC. In this embodiment, the message encryption key negotiation process between REQ and AAC is integrated into the identity authentication process in parallel, making it easier for engineering implementation. The identity authentication method includes:

[0102] S301, AAC generates Nonce AAC and KeyInfo AAC Generate security capabilities as needed. AAC .

[0103] S302, AAC sends a key request message AACInit to REQ.

[0104] The AACInit includes Nonce AAC KeyInfo AAC and Security capabilities AAC Among them, security capabilities AAC This is an optional field that represents the security capabilities supported by AAC, including the authentication suites, symmetric encryption algorithms, integrity verification algorithms, and / or key derivation algorithms supported by AAC (the same applies below).

[0105] S303. After receiving AACInit, REQ performs the following operations (unless otherwise specified or logically related, the actions numbered (1), (2)... in this document do not necessarily have a sequential order due to their numbering, and the same applies throughout the document), including:

[0106] (1) Generate Nonce REQ and KeyInfo REQ ;

[0107] (2) Generate Security capabilities as needed REQ ;

[0108] (3) Based on KeyInfo REQ The corresponding temporary private key and KeyInfo AAC The included temporary public key is used for key exchange calculation to generate the first key K1, and K1 is combined with the Nonce. AAC Nonce REQOther information (the other information used by REQ and AAC is the same and optional, such as a specific string) is used to calculate the message encryption key and the message integrity verification key using a negotiated or pre-defined key derivation algorithm; the calculation of the message integrity verification key can be performed only when the message integrity verification key is needed.

[0109] (4) Calculate and generate REQ's ciphertext EncData using the message encryption key. REQ ;

[0110] (5) Calculate the digital signature Sig of REQ REQ .

[0111] S304, REQ sends the identity-encrypted message REQInit to AAC.

[0112] The REQInit includes Nonce AAC Nonce REQ Security capabilities REQ KeyInfo REQ EncData REQ and Sig REQ Among them, Nonce AAC This is an optional field and should be equal to the corresponding field in AACInit; Securitycapabilities REQ This is an optional field; REQ specifies whether to generate security capabilities. REQ It depends on whether the AACInit sent by AAC to REQ includes security capabilities. AAC Security capabilities REQ REQ indicates that it is based on security capabilities AAC The selection of a specific security strategy, i.e., the REQ determines the authentication method, symmetric encryption algorithm, integrity verification algorithm, and / or key derivation algorithm to be used (hereinafter the same); EncData REQ The encrypted data includes ID REQ and Cert REQ ;Sig REQ The signature data includes the Sig in REQInit. REQ Other fields mentioned earlier, when Nonce is not included in REQInit. AAC When using fields, Sig REQ The signature data also includes the Nonce from AACInit. AACFields. In this application, the object to be signed is referred to as signature data.

[0113] S305, AAC receives REQInit and performs the following operations, including:

[0114] (1) If a Nonce exists in REQInit AAC Then check the Nonce. AAC Is it related to the Nonce generated by AAC? AAC If they are consistent, then discard REQInit;

[0115] (2) Based on the KeyInfo AAC The corresponding temporary private key and the KeyInfo REQ The included temporary public key is used for key exchange calculation to generate the first key K1, and K1 is combined with the Nonce. AAC Nonce REQ Other information (the other information used by AAC and REQ is the same and optional, such as a specific string) is used to calculate the message encryption key and the message integrity verification key using a negotiated or pre-defined key derivation algorithm; the calculation of the message integrity verification key can be performed only when the message integrity verification key is needed.

[0116] (3) Decrypt EncData using the message encryption key REQ Get ID REQ and Cert REQ ;

[0117] (4) Calculate and generate the AAC authentication code MIC AAC .

[0118] S306, AAC sends the first authentication request message AACVeri to AS-AAC.

[0119] The AACeri includes ID REQ Cert REQ Nonce REQ ID AAC Nonce AAC and MIC AAC Among them, ID REQ Cert REQ Nonce REQ It should be equal to the corresponding field in REQInit, Nonce AAC It should be equal to the Nonce generated by AAC. AAC ;MIC AAC AAC utilizes the pre-shared key K with AS-AAC. AAC_ASThe hash algorithm agreed upon with AS-AAC is used to analyze the MICs in AACVeri. AAC The hash value calculated from other fields previously, such as when AACVeri includes ID in sequence. REQ Cert REQ Nonce REQ ID AAC Nonce AAC and MIC AAC At that time, AAC utilizes the K AAC_AS The hash algorithm is used to process IDs. REQ Cert REQ Nonce REQ ID AAC and Nonce AAC The information is used to perform a hash operation to obtain the MIC. AAC .

[0120] After receiving the AACVeri, S307 and AS-AAC perform the following operations, including:

[0121] (1) Using the pre-shared key K with AAC AAC_AS The MIC is verified using a hash algorithm agreed upon with AAC. AAC Get Res AAC According to Res AAC and ID AAC Information generated in Pub AAC ;

[0122] Among them, AS-AAC is based on the ID in AACVeri. AAC Determine the pre-shared key K agreed with AAC. AAC_AS And hash algorithm, using the K AAC_AS The hash algorithm is used to analyze the MICs in AACeri. AAC The other fields were previously calculated locally to determine the MIC. AAC and the received MIC AAC Compare them; if they are the same, then MIC... AAC If the verification passes, AS-AAC determines that the AAC's identity authentication result is valid; otherwise, MIC... AAC If verification fails, AS-AAC may handle the situation in the following ways according to local policies, including discarding the AAC Veri or determining that the AAC's identity authentication result is invalid.

[0123] (2) Verify Cert REQ The legitimacy of Res REQ According to Cert REQ and Res REQInformation generated in Pub REQ ;

[0124] (3) Calculate the first message authentication code (MIC) of AS-AAC. AS_AAC And the first digital signature Sig AS_AAC1 .

[0125] S308, AS-AAC sends the first authentication response message ASVeri to AAC.

[0126] The ASVeri includes ID REQ Nonce REQ Pub AAC Sig AS_AAC1 ID AAC Nonce AAC Pub REQ and MIC AS_AAC Among them, ID REQ Nonce REQ ID AAC Nonce AAC They should be equal to the corresponding fields in AACVeri; Sig AS_AAC1 AS-AAC includes ID REQ Nonce REQ Pub AAC MIC is generated from signature data, including those included. AS_AAC It is AS-AAC that uses the pre-shared key K with AAC. AAC_AS The hash algorithm agreed upon with AAC is used to process the ID. AAC Nonce AAC Pub REQ The hash value is generated by calculating the information included.

[0127] S309. After receiving ASVeri, AAC performs the following operations, including:

[0128] (1) Check the ID in ASVeri AAC Nonce AAC Are they respectively related to AAC's own identity ID? AAC Nonce generated by AAC AAC same;

[0129] (2) Using the K AAC_AS The MIC is verified using a hash algorithm consistent with AS-AAC. AS_AAC ;

[0130] MIC AS_AAC The verification process is as follows: AAC uses the K AAC_ASThe hash algorithm is used to process IDs. AAC Nonce AAC Pub REQ The information is used to perform a hash operation to obtain the MIC. AS_AAC and compare it with the received MIC AS_AAC The comparison is performed; if they match, the verification passes; otherwise, the verification fails.

[0131] (3) Check Pub REQ Cert in REQ Is it related to decrypting EncData? REQ The obtained Cert REQ same;

[0132] (4) Using Cert REQ Verify REQ's digital signature Sig REQ ;

[0133] (5) If any step of the above checks and verifications fails, ASVeri shall be discarded immediately; if all the above checks and verifications pass, ASVeri shall be discarded according to the Pub. REQ Res in REQ Determine the identity verification result of REQ; if REQ is determined to be illegitimate, end the current verification process.

[0134] (6) Calculate EncData AAC and MacTag AAC .

[0135] S310, AAC sends a third authentication response message AACAuth to REQ.

[0136] The AACAuth includes EncData. AAC and MacTag AAC Among them, EncData AAC AAC uses message encryption key pairs including ID REQ Nonce REQ Pub AAC Sig AS_AAC1 and ID AAC The encrypted data, including the MacTag, is generated using encryption. AAC The calculation process is as follows: using the message integrity verification key, an integrity verification algorithm is applied to all messages in AACAuth except for the MacTag. AAC MacTag is generated by calculating information including other fields. AAC .

[0137] S311. After receiving AACAuth, REQ performs the following operations, including:

[0138] (1) Verify MacTag AAC ;

[0139] The verification process is as follows: using the message integrity verification key, an integrity verification algorithm is employed to verify the integrity of all data in AACAuth except for the MacTag. AAC Information including other fields is calculated locally in the MacTag. AAC (This calculation method is the same as AAC's calculation of MacTag) AAC (In the same way), calculate the MacTag AAC With the received MacTag AAC Compare them.

[0140] (2) Decrypt EncData using the message encryption key AAC Get ID REQ Nonce REQ Pub AAC Sig AS_AAC1 and ID AAC ;

[0141] (3) Check the ID obtained after decryption REQ Nonce REQ Are they respectively related to REQ's own identity ID? REQ Nonce generated by REQ REQ same;

[0142] (4) Check the ID obtained after decryption AAC With Pub AAC ID in AAC Are they the same?

[0143] (5) Verify Sig using AS-AAC public key AS_AAC1 ;

[0144] (6) If any step of the above checks and verifications fails, AACAuth is immediately discarded; if both checks and verifications pass, then according to Pub... AAC Res in AAC Determine the identity verification result of AAC.

[0145] Therefore, in S309 and S311, identity authentication for REQ and AAC is realized respectively, that is, bidirectional identity authentication for REQ and AAC is realized, and identity information and identity authentication result information are transmitted between REQ and AAC in encrypted form, thus realizing identity protection.

[0146] It should be noted that in S309, the verification of Sig... REQThe operation can also be changed to be executed first in S305, that is, in S305, AAC uses the decryption of EncData REQ The obtained Cert REQ Verify Sig REQ In this case, S309 does not need to verify Sig. REQ Then Pub REQ Cert may not be included. REQ Alternatively, verify Sig in S309. REQ The operation can also be changed to be executed first in S307, at which point Sig REQ It can be passed to AS-AAC via AACVeri, that is, in S307, AS-AAC utilizes Cert. REQ Verify Sig REQ After successful verification, verify Cert. REQ The legality of Sig is not required in S309 under this case. REQ Then Pub REQ Cert may not be included. REQ .

[0147] See Figure 4 This is an embodiment of the identity authentication method under scenario (ii) above. In this embodiment, the message encryption key negotiation process between REQ and AAC is integrated into the identity authentication process in parallel, which is more convenient for engineering implementation. The identity authentication method includes:

[0148] S401, AAC generates Nonce AAC and KeyInfo AAC Generate security capabilities as needed AAC .

[0149] S402, AAC sends a key request message AACInit to REQ.

[0150] The AACInit includes Nonce AAC KeyInfo AAC Security capabilities AAC and ID AS_AAC Among them, security capabilities AAC and ID AS_AAC It is an optional field, and ID AS_AAC The identity identifier of at least one authentication server representing AAC trust is used to enable REQ to be based on the ID. AS_AAC Determine if a mutually trusted authentication server exists (the same applies below).

[0151] After receiving AACInit, S403 and REQ perform the following operations, including:

[0152] (1) Generate Nonce REQ and KeyInfo REQ ;

[0153] (2) Generate ID as needed AS_REQ and security capabilities REQ ;

[0154] (3) Based on KeyInfo REQ The corresponding temporary private key and KeyInfo AAC The included temporary public key is used for key exchange calculation to generate the first key K1, and K1 is combined with the Nonce. AAC Nonce REQ Other information (the other information used by REQ and AAC is the same and optional, such as a specific string) is used to calculate the message encryption key and the message integrity verification key using a negotiated or pre-defined key derivation algorithm; the calculation of the message integrity verification key can be performed only when the message integrity verification key is needed.

[0155] (4) Calculate and generate REQ's ciphertext EncData using the message encryption key. REQ ;

[0156] (5) Calculate the digital signature Sig of REQ REQ .

[0157] S404, REQ sends the identity-encrypted message REQInit to AAC.

[0158] The REQInit includes Nonce AAC Nonce REQ KeyInfo REQ Security capabilities REQ ID AS_REQ EncData REQ and Sig REQ Among them, EncData REQ The encrypted data includes ID REQ and Cert REQ Nonce AAC This is an optional field and should be equal to the corresponding field in AACInit; Security capabilities REQ and ID AS_REQ It is an optional field, and ID AS_REQThe identity identifier of at least one authentication server representing REQ trust, when an ID exists in AACInit. AS_AAC At that time, REQ will try to select at least one authentication server from its trusted authentication servers that matches the ID. AS_AAC The same authentication server in the middle as ID AS REQ If the choice fails, at least one authentication server trusted by the user will be used as the ID. AS REQ When the ID does not exist in AACInit AS_AAC At that time, REQ uses at least one authentication server it trusts as its ID. AS_REQ (The same applies below); Sig REQ The signature data includes the Sig in REQInit. REQ Other fields mentioned earlier, when Nonce is not included in REQInit. AAC When using fields, Sig REQ The signature data also includes the Nonce from AACInit. AAC Field.

[0159] After receiving REQInit, S405 and AAC perform the following operations, including:

[0160] (1) If a Nonce exists in REQInit AAC Then check the Nonce. AAC Is it related to the Nonce generated by AAC? AAC If they are consistent, then discard REQInit;

[0161] (2) Based on the KeyInfo AAC The corresponding temporary private key and the KeyInfo REQ The included temporary public key is used for key exchange calculation to generate the first key K1, and K1 is combined with the Nonce. AAC Nonce REQ Other information (the other information used by AAC and REQ is the same and optional, such as a specific string) is used to calculate the message encryption key and the message integrity verification key using a negotiated or pre-defined key derivation algorithm; the calculation of the message integrity verification key can be performed only when the message integrity verification key is needed.

[0162] (3) If REQInit carries ID AS_REQ And AACInit carries an ID AS_AAC Then AAC determines ID AS_REQ and ID AS_AACIf at least one identical authentication server identity exists, it indicates a non-roaming scenario. AAC determines the first authentication server to participate in authentication from among the identity identifiers of at least one authentication server commonly trusted by both REQ and AAC. If no such server exists, it indicates a roaming scenario, and AAC needs to determine the first authentication server based on the ID. AS_AAC Determine the first authentication server AS-AAC involved in identity authentication and set the ID. AS_REQ Send to AS-AAC so that AS-AAC can use the ID AS_REQ Determine the second authentication server AS-REQ; or,

[0163] If REQInit carries an ID AS_REQ However, AACInit does not carry an ID. AS_AAC Then AAC determines ID AS_REQ If at least one authentication server with the same identity identifier exists as the authentication server trusted by AAC, then in a non-roaming scenario, AAC determines the first authentication server to participate in identity authentication from among the identity identifiers of at least one authentication server commonly trusted by both REQ and AAC. If none exists, then in a roaming scenario, AAC needs to determine the first authentication server AS-AAC to participate in identity authentication based on its own trusted authentication servers, and then record the ID. AS_REQ Send to AS-AAC so that AS-AAC can use the ID AS_REQ Determine the second authentication server AS-REQ;

[0164] It should be noted that the result determined in this embodiment should be the roaming status.

[0165] (4) Decrypt EncData using the message encryption key REQ Get ID REQ and Cert REQ ;

[0166] (5) Calculate and generate the AAC authentication code MIC AAC .

[0167] S406, AAC sends the first authentication request message AACVeri to AS-AAC.

[0168] The AACeri includes Nonce REQ ID AS_REQ ID REQ Cert REQ ID AAC Nonce AAC and MIC AAC Among them, ID AS_REQThis is an optional field. If AS-AAC knows the AS-REQ, AACVeri may omit this field; otherwise, AACVeri includes this field so that AS-AAC can use it based on the ID. AS_REQ Determine AS-REQ; MIC AAC AAC utilizes the pre-shared key K with AS-AAC. AAC_AS The hash algorithm agreed upon with AS-AAC is used to analyze the MICs in AACVeri. AAC The hash value obtained from the calculation of other fields previously.

[0169] After receiving the AACVeri, S407 and AS-AAC perform the following operations, including:

[0170] (1) Verify MIC AAC Get Res AAC According to Res AAC and ID AAC Information generated in Pub AAC See the verification process. Figure 3 Related content for the implementation examples;

[0171] (2) If ID exists in AACVeri AS_REQ Then AS-AAC is based on ID AS_REQ Determine the second authentication server AS-REQ; if it does not exist, it means that AS-AAC has already confirmed AS-REQ.

[0172] (3) Calculate the second digital signature Sig AS_AAC2 .

[0173] S408, AS-AAC sends a second authentication request message AS-AACVeri to AS-REQ.

[0174] The AS-AACVeri includes Nonce REQ ID REQ Cert REQ ID AAC Nonce AAC Pub AAC and Sig AS_AAC2 Among them, Sig AS_AAC2 The signature data includes Sig in AS-AACVeri. AS_AAC2 Other fields mentioned earlier.

[0175] After receiving AS-AACVeri, S409 and AS-REQ perform the following operations, including:

[0176] (1) Verify Sig using AS-AAC public key AS_AAC2;

[0177] (2) Verify Cert REQ The legitimacy of Res REQ According to Cert REQ and Res REQ Information generated in Pub REQ ;

[0178] (3) Calculate the first digital signature Sig AS_REQ1 and third digital signature Sig AS_REQ3 .

[0179] S410, AS-REQ sends a second authentication response message AS-REQVeri to AS-AAC.

[0180] The AS-REQVeri includes ID REQ Nonce REQ Pub AAC Sig AS_REQ1 ID AAC Nonce AAC Pub REQ and Sig AS_REQ3 Among them, ID REQ Nonce REQ Pub AAC ID AAC Nonce AAC They should be equal to the corresponding fields in AS-AACVeri respectively; Sig AS_REQ1 AS-REQ includes ID REQ Nonce REQ Pub AAC The signature data is generated by calculation; Sig AS_REQ3 AS-REQ includes ID AAC Nonce AAC Pub REQ The signature data is generated from the calculation.

[0181] S411. After receiving AS-REQVeri, AS-AAC performs the following operations, including:

[0182] (1) Verify Sig using the public key of AS-REQ AS_REQ3 If the verification fails, discard the AS-REQVeri.

[0183] (2) Calculate the first message authentication code (MIC) of AS-AAC. AS_AAC .

[0184] S412, AS-AAC sends the first authentication response message ASVeri to AAC.

[0185] The ASVeri includes ID REQ Nonce REQ Pub AAC Sig AS_REQ1 ID AAC Nonce AAC Pub REQ and MIC AS_AAC Among them, ID REQ Nonce REQ Pub AAC Sig AS_REQ1 ID AAC Nonce AAC Pub REQ They should be equal to the corresponding fields in AS-REQVeri; MIC AS_AAC It is AS-AAC that uses the pre-shared key K with AAC. AAC_AS The hash algorithm agreed upon with AAC is used to process the ID. AAC Nonce AAC Pub REQ The hash value is generated by calculating the information included.

[0186] S413. After receiving ASVeri, AAC performs the following operations, including:

[0187] (1) Check the ID in ASVeri AAC Nonce AAC Are they respectively related to AAC's own identity ID? AAC Nonce generated by AAC AAC same;

[0188] (2) Verify MIC AS_AAC See the verification process. Figure 3 Related content of the embodiments;

[0189] (3) Check Pub REQ Cert in REQ Decrypting EncData REQ The obtained Cert REQ Are they the same?

[0190] (4) Using Cert REQ Verify Sig REQ ;

[0191] (5) If any step of the above checks and verifications fails, ASVeri shall be discarded immediately; if all the above checks and verifications pass, ASVeri shall be discarded according to the Pub. REQ Res in REQ Determine the identity verification result of REQ; if REQ is determined to be illegitimate, end the current verification process.

[0192] (6) Calculate EncData AAC and MacTag AAC .

[0193] S414. AAC sends a third authentication response message, AACAuth, to REQ.

[0194] The AACAuth includes EncData. AAC and MacTag AAC Among them, EncData AAC AAC uses message encryption key pairs including ID REQ Nonce REQ Pub AAC Sig AS_REQ1 and ID AAC The encrypted data, including the MacTag, is generated using encryption. AAC The calculation is as follows Figure 3 Related content of the embodiments.

[0195] S415. After receiving AACAuth, REQ performs the following operations, including:

[0196] (1) Verify MacTag AAC The verification process is as follows: Figure 3 Related content of the embodiments;

[0197] (2) Decrypt EncData using the message encryption key AAC Get ID REQ Nonce REQ Pub AAC Sig AS_REQ1 and ID AAC ;

[0198] (3) Check the ID obtained after decryption REQ Nonce REQ Are they respectively related to REQ's own identity ID? REQ Nonce generated by REQ REQ same;

[0199] (4) Check the ID obtained after decryption AAC With Pub AAC ID in AACAre they consistent?

[0200] (5) Verify Sig using the public key of AS-REQ AS_REQ1 ;

[0201] (6) After all the above checks and verifications are passed, according to Pub AAC Res in AAC Determine the identity authentication result of AAC; if any step of the above checks and verifications fails, discard AACAuth immediately.

[0202] Therefore, S413 and S415 respectively implement identity authentication for REQ and AAC, that is, realize bidirectional identity authentication between REQ and AAC, and the identity information of REQ is transmitted between REQ and AAC in ciphertext, thus realizing identity protection for REQ.

[0203] It should be noted that (1) in S413, the verification of Sig REQ The operation can also be changed to be executed first in S405, that is, in S405, AAC uses the decryption of EncData REQ The obtained Cert REQ Verify Sig REQ In this case, there is no need to verify Sig in S413. REQ Then Pub REQ Cert may not be included. REQ Alternatively, verify Sig in S413. REQ The operation can also be changed to be executed first in S409, at which point Sig REQ It can be passed to AS-REQ via AACVeri or AS-AACVeri, that is, in S409, AS-REQ utilizes Cert. REQ Sig REQ Perform verification; after successful verification, then process the Cert. REQ The validity of the code needs to be verified. In this case, S413 does not need to verify Sig. REQ Then Pub REQ Cert may not be included. REQ (2) The second digital signature Sig in S407 and S408 AS_AAC2 It can be replaced with the second message authentication code (MIC). AS_AAC2 , of which MIC AS_AAC2 AS-AAC uses a pre-shared key with AS-REQ and employs a hash algorithm agreed upon with AS-REQ to process MICs in AS-AAC. AS_AAC2 The hash value calculated from other fields previously; in S409, AS-REQ verifies Sig. AS_AAC2 Replace with verification MIC AS_AAC2The third digital signature Sig in S409 and S410 AS_REQ3 It can be replaced with a third message authentication code (MIC). AS_REQ3 , of which MIC AS_REQ3 AS-REQ uses a pre-shared key with AS-AAC and employs a hash algorithm agreed upon with AS-AAC to hash the IDs in AS-REQVeri. AAC Nonce AAC Pub REQ The hash value calculated from the fields included; in S411, AS-AAC verification of Sig AS_REQ3 Replace with verification MIC AS_REQ3 .

[0204] In the above embodiments, each message may also carry a hash value. X_Y The hash value X_Y This is calculated by the sending entity X using a hash algorithm on the latest preceding message received from the peer entity Y. It is used by the peer entity Y to verify whether entity X has received the complete latest preceding message. Here, HASH... REQ_AAC This represents the hash value calculated by REQ for the latest preceding message sent by AAC. AAC_REQ HASH represents the hash value calculated by AAC for the latest preceding message sent by the received REQ. AAC_AS-AAC HASH represents the hash value calculated by AAC for the latest preceding message received from AS-AAC. AS-AAC_AAC HASH represents the hash value calculated by AS-AAC for the latest preceding message sent by AAC. AS-AAC_AS-REQ HASH represents the hash value calculated by AS-AAC for the latest preceding message sent by AS-REQ. AS-REQ_AS-AAC This represents the hash value calculated by AS-REQ for the latest preceding message received from AS-AAC. If the message currently sent by sender entity X is the first message exchanged between entity X and entity Y, meaning that entity X has not received any preceding messages from peer entity Y, then the hash value in this message... X_Y It may not exist or be meaningless.

[0205] Correspondingly, after the peer entity Y receives a message sent by entity X, if the message contains a hash... X_Y If entity Y has not sent a preceding message to entity X, then entity Y ignores the hash. X_Y When entity Y has previously sent a preceding message to entity X, entity Y uses a hash algorithm to calculate a hash value locally for the latest preceding message previously sent to entity X, and then hashes it with the hash value carried in the received message. X_YIf they match, proceed with the next steps; otherwise, discard or end the identification process.

[0206] In this invention, for entity X, the preceding message sent by peer entity Y to entity X refers to any message received by entity X from peer entity Y before entity X sends message M to peer entity Y; the latest preceding message sent by peer entity Y to entity X refers to the latest message received by entity X from peer entity Y before entity X sends message M to peer entity Y. If message M sent by entity X to its peer entity Y is the first message exchanged between entity X and entity Y, then there are no preceding messages sent by peer entity Y to entity X before entity X sends message M to its peer entity Y.

[0207] The above Figures 3 to 4 The optional fields and optional operations in the corresponding embodiments are shown in the accompanying drawings. Figures 3 to 4 The asterisk (*) indicates the content. The order of the various contents included in the messages in all the above embodiments is not limited, and unless otherwise specified, the order in which the message receiver operates on the relevant messages and processes the contents included in the messages is not limited.

[0208] based on Figures 1 to 4 For the corresponding method implementation, please refer to [link / reference]. Figure 5 This application embodiment also provides a requesting device 500, including:

[0209] The sending module 510 is used to send an identity encrypted message to the authentication access controller. The identity encrypted message includes the identity information encrypted message of the requesting device. The identity information encrypted message of the requesting device is generated by the requesting device using a message encryption key to encrypt encrypted data including the digital certificate of the requesting device.

[0210] The receiving module 520 is configured to receive a third authentication response message sent by the authentication access controller. The third authentication response message includes ciphertext of authentication result information, which is generated by the authentication access controller encrypting encrypted data including first authentication result information and a first digital signature using the message encryption key. The first authentication result information includes a first verification result of the authentication access controller's identity authentication code, and the first digital signature is a digital signature calculated by the second authentication server on signature data including the first authentication result information.

[0211] Decryption module 530 is used to decrypt the ciphertext of the authentication result information using the message encryption key to obtain the first authentication result information and the first digital signature;

[0212] The verification module 540 is used to verify the first digital signature using the public key of the second authentication server;

[0213] The determination module 550 is used to determine the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information if the verification is successful.

[0214] Optionally, the receiving module 520 is further configured to: receive a key request message sent by the authentication access controller before the sending module 510 sends the identity encrypted message, the key request message including key exchange parameters of the authentication access controller; the requesting device further includes:

[0215] The calculation module is used to perform key exchange calculation to generate a first key based on the temporary private key corresponding to the key exchange parameters of the requesting device and the temporary public key included in the key exchange parameters of the authentication access controller, and to calculate the message encryption key using a key derivation algorithm based on information including the first key.

[0216] The encrypted identity message also includes the key exchange parameters of the requesting device.

[0217] Optionally, the key request message further includes a first random number generated by the authentication access controller; the calculation module is specifically used to: calculate the message encryption key based on information including the first key, the first random number, and a second random number generated by the requesting device; correspondingly, the identity ciphertext message further includes the second random number.

[0218] Optionally, the encrypted identity message sent by the sending module may also include the first random number.

[0219] Optionally, the key request message may also include security capability parameter information supported by the authentication access controller; the determining module 550 is further configured to: determine the specific security policy used by the requesting device based on the security capability parameter information; then the identity ciphertext message may also include the specific security policy.

[0220] Optionally, the key request message may further include the identity identifier of at least one authentication server trusted by the authentication access controller; the determining module 550 is further configured to: determine the identity identifier of at least one authentication server trusted by the requesting device based on the identity identifier of at least one authentication server trusted by the authentication access controller; then the identity ciphertext message may further include the identity identifier of at least one authentication server trusted by the requesting device.

[0221] Optionally, the encrypted identity message sent by the sending module may also include the identity identifier of at least one authentication server trusted by the requesting device.

[0222] Optionally, the encrypted data of the encrypted identity information of the requesting device further includes the identity identifier of the requesting device, and the encrypted identity information message also includes a second random number generated by the requesting device; correspondingly, the encrypted data of the encrypted authentication result information in the third authentication response message also includes the identity identifier of the requesting device and / or the second random number;

[0223] Accordingly, the decryption module decrypts the ciphertext of the authentication result information in the third authentication response message to obtain the identity identifier of the requesting device and / or the second random number;

[0224] The verification module is further configured to: before the determining module determines the identity authentication result of the authentication access controller, verify the consistency between the identity identifier of the requesting device obtained by decrypting the ciphertext of the authentication result information and the identity identifier of the requesting device itself, and / or verify the consistency between the second random number obtained by decrypting the ciphertext of the authentication result information and the second random number generated by the requesting device; if the verification passes, the determining module then determines the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information.

[0225] Optionally, the third authentication response message further includes a message integrity check code; the verification module is further configured to: verify the message integrity check code using a message integrity check key before the determining module determines the authentication result of the authentication access controller; if the verification is successful, the determining module then determines the authentication result of the authentication access controller based on the first verification result in the first authentication result information; the message integrity check key is generated in the same way as the message encryption key.

[0226] Optionally, the message sent by the requesting device to the authentication access controller may also include a hash value calculated by the requesting device for the latest preceding message sent by the authentication access controller.

[0227] See Figure 6 This application also provides an authentication access controller 600, including:

[0228] The receiving module 610 is used to receive an identity encrypted message sent by the requesting device. The identity encrypted message includes the identity information encrypted text of the requesting device. The identity information encrypted text of the requesting device is generated by the requesting device using a message encryption key to encrypt encrypted data including the digital certificate of the requesting device.

[0229] Decryption module 620 is used to decrypt the ciphertext of the identity information of the requesting device using the message encryption key to obtain the digital certificate of the requesting device;

[0230] The sending module 630 is used to send a first authentication request message to a first authentication server trusted by the authentication access controller. The first authentication request message includes the digital certificate of the requesting device and the identity authentication code of the authentication access controller. The identity authentication code of the authentication access controller is generated by the authentication access controller using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to calculate information including the digital certificate of the requesting device.

[0231] The receiving module 610 is further configured to receive a first authentication response message sent by the first authentication server. The first authentication response message includes first authentication result information, a first digital signature of the second authentication server trusted by the requesting device, second authentication result information, and a first message authentication code of the first authentication server. The first authentication result information includes a first verification result of the identity authentication code of the authentication access controller. The first digital signature is a digital signature calculated and generated by the second authentication server on signature data including the first authentication result information. The second authentication result information includes a second verification result of the digital certificate of the requesting device. The first message authentication code of the first authentication server is calculated and generated by the first authentication server using a pre-shared key with the authentication access controller and a cryptographic algorithm agreed upon with the authentication access controller on information including the second authentication result information.

[0232] Verification module 640 is used to verify the first message authentication code of the first authentication server using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server. If the verification is successful, determination module 650 determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information. When determination module 650 determines that the identity authentication result of the requesting device is valid, sending module 630 sends a third authentication response message to the requesting device; or...

[0233] The sending module 630 uses a pre-shared key with the first authentication server and an agreed-upon cryptographic algorithm to verify the first message authentication code of the first authentication server. If the verification is successful, the sending module 630 sends a third authentication response message to the requesting device, and the determining module 650 determines the authentication result of the requesting device based on the second verification result in the second authentication result information; or...

[0234] The module 650 uses a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to verify the first message authentication code of the first authentication server; if the first message authentication code of the first authentication server is verified, the determining module 650 determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information; the sending module 630 sends a third authentication response message to the requesting device.

[0235] The third authentication response message includes ciphertext of authentication result information, which is generated by the authentication access controller encrypting encrypted data, including the first authentication result information and the first digital signature, using the message encryption key.

[0236] Optionally, the sending module 630 is further configured to: send a key request message to the requesting device before the receiving module 610 receives the identity encrypted message, the key request message including key exchange parameters of the authentication access controller; the identity encrypted message also includes key exchange parameters of the requesting device; the authentication access controller further includes:

[0237] The calculation module is used to perform key exchange calculation to generate a first key based on the temporary private key corresponding to the key exchange parameters of the authentication access controller and the temporary public key included in the key exchange parameters of the requesting device, and to calculate the message encryption key using a key derivation algorithm based on information including the first key.

[0238] Optionally, the key request message further includes a first random number generated by the authentication access controller; the identity ciphertext message further includes a second random number generated by the requesting device.

[0239] The calculation module is specifically used to: calculate the message encryption key based on information including the first key, the first random number, and the second random number.

[0240] Optionally, the identity encrypted message further includes the first random number; the verification module 640 is further configured to: verify the consistency between the first random number in the identity encrypted message and the first random number generated by the authentication access controller before the calculation module calculates the message encryption key; if the verification passes, the calculation module then calculates the message encryption key.

[0241] Optionally, the key request message further includes the identity identifier of at least one authentication server trusted by the authentication access controller; the identity ciphertext message further includes the identity identifier of at least one authentication server trusted by the requesting device; then the determining module 650 is further configured to: determine the first authentication server based on the identity identifier of at least one authentication server trusted by the requesting device in the identity ciphertext message and the identity identifier of at least one authentication server trusted by the authentication access controller in the key request message.

[0242] Optionally, the identity encrypted message may also include the identity identifier of at least one authentication server trusted by the requesting device; then the determining module 650 is further configured to: determine the first authentication server based on the identity identifier of the at least one authentication server trusted by the requesting device and the identity identifier of the authentication server trusted by the authentication access controller.

[0243] Optionally, the first authentication request message may further include the identity identifier of the authentication access controller and / or the first random number generated by the authentication access controller; correspondingly, the first authentication response message may further include the identity identifier of the authentication access controller and / or the first random number.

[0244] The verification module 640 is further configured to: verify the consistency between the identity identifier of the authentication access controller in the first authentication response message and the identity identifier of the authentication access controller itself, and / or verify the consistency between the first random number in the first authentication response message and the first random number generated by the authentication access controller; if the verification passes, the determination module 650 then determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information.

[0245] Optionally, when the identity encrypted message also includes the digital signature of the requesting device, the determining module 650 is further configured to: determine whether the digital signature of the requesting device has been verified; if the digital signature of the requesting device has been verified, then determine the identity authentication result of the requesting device based on the second verification result in the second authentication result information.

[0246] Optionally, the determining module 650 determines whether the digital signature of the requesting device has been verified, specifically including:

[0247] The second authentication server uses the acquired digital certificate of the requesting device to verify the digital signature of the requesting device. If the receiving module 610 receives the first authentication response message, the determining module 650 determines that the digital signature of the requesting device has been verified successfully; or...

[0248] Verification module 640 verifies the digital signature of the requesting device using the digital certificate obtained by decrypting the ciphertext of the identity information; determination module 650 determines whether the digital signature of the requesting device has passed verification based on the verification result; or...

[0249] When the second authentication result information also includes the digital certificate of the requesting device, the verification module 640 uses the digital certificate of the requesting device in the second authentication result information to verify the digital signature of the requesting device, and the determination module 650 determines whether the digital signature of the requesting device has passed verification based on the verification result; or...

[0250] When the second authentication result information also includes the digital certificate of the requesting device, the verification module 640 verifies the consistency between the digital certificate of the requesting device in the second authentication result information and the digital certificate of the requesting device obtained by decrypting the ciphertext of the identity information. If they are consistent, the digital certificate of the requesting device is used to verify the digital signature of the requesting device. The determination module 650 determines whether the digital signature of the requesting device has been verified based on the verification result.

[0251] Optionally, the third authentication response message sent by the sending module 630 may also include a message integrity check code. The message integrity check code is generated by the authentication access controller using a message integrity check key to calculate other fields in the third authentication response message besides the message integrity check code. The message integrity check key is generated in the same way as the message encryption key.

[0252] Optionally, the message sent by the authentication access controller to the requesting device may further include a hash value calculated by the authentication access controller for the latest preamble message received from the requesting device; the message sent by the authentication access controller to the first authentication server may further include a hash value calculated by the authentication access controller for the latest preamble message received from the first authentication server.

[0253] See Figure 7 This application embodiment also provides a first authentication server 700, including:

[0254] The receiving module 710 is configured to receive a first authentication request message sent by the authentication access controller. The first authentication request message includes the digital certificate of the requesting device and the authentication code of the authentication access controller. The authentication code of the authentication access controller is generated by the authentication access controller using a pre-shared key with the first authentication server and employing a cryptographic algorithm agreed upon with the first authentication server to calculate information including the digital certificate of the requesting device.

[0255] The sending module 720 is configured to send a first authentication response message to the authentication access controller. The first authentication response message includes first authentication result information, a first digital signature of the second authentication server, second authentication result information, and a first message authentication code of the first authentication server. The first authentication result information includes a first verification result of the authentication access controller's identity authentication code. The first digital signature is a digital signature calculated by the second authentication server on signature data including the first authentication result information. The second authentication result information includes a second verification result of the requesting device's digital certificate. The first message authentication code of the first authentication server is calculated by the first authentication server using a pre-shared key with the authentication access controller and a cryptographic algorithm agreed upon with the authentication access controller on information including the second authentication result information.

[0256] Optionally, the first authentication server 700 may also include:

[0257] The first verification module is used to verify the identity verification code of the authentication access controller to obtain a first verification result, and to verify the legality of the digital certificate of the requesting device to obtain a second verification result;

[0258] The first generation module is configured to generate the first authentication result information based on information including the first verification result, generate the second authentication result information based on information including the second verification result, calculate and generate the first message authentication code of the first authentication server based on information including the second authentication result information, and calculate and generate the first digital signature based on signature data including the first authentication result information.

[0259] The second generation module is used to calculate and generate the first authentication response message based on information including the first authentication result information, the first digital signature, the second authentication result information, and the first message authentication code of the first authentication server.

[0260] Optionally, the first authentication server 700 may also include:

[0261] The second verification module is used to verify the identity verification code of the authentication access controller to obtain a first verification result;

[0262] The third generation module is used to generate the first authentication result information based on information including the first verification result, calculate and generate a second digital signature on the signature data including the first authentication result information and the digital certificate of the requesting device, or use a pre-shared key with the second authentication server and a cryptographic algorithm agreed upon with the second authentication server to calculate and generate a second message authentication code on the information including the first authentication result information and the digital certificate of the requesting device.

[0263] The sending module is further configured to send a second authentication request message to the second authentication server, wherein the second authentication request message includes the first authentication result information, the digital certificate of the requesting device and the second digital signature, or the second authentication request message includes the first authentication result information, the digital certificate of the requesting device and the second message authentication code.

[0264] The receiving module is further configured to receive a second authentication response message sent by the second authentication server, wherein the second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third digital signature, or the second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third message authentication code; the second authentication result information is generated by the second authentication server based on information including the second verification result, and the second verification result is obtained by the second authentication server by verifying the legality of the digital certificate of the requesting device; the first digital signature is calculated and generated by the second authentication server on the signature data including the first authentication result information; the third digital signature is calculated and generated by the second authentication server on the signature data including the second authentication result information, or the third message authentication code is calculated and generated by the second authentication server using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server on the information including the second authentication result information;

[0265] The third verification module is used to verify the third digital signature using the public key of the second authentication server or to verify the third message authentication code using a pre-shared key with the second authentication server and a cryptographic algorithm agreed upon with the second authentication server.

[0266] The fourth generation module is used to calculate and generate the first message authentication code of the first authentication server based on the information including the second authentication result information if the verification is successful, and to generate the first authentication response message based on the information including the first authentication result information, the first digital signature, the second authentication result information and the first message authentication code of the first authentication server.

[0267] Optionally, the message sent by the first authentication server to the authentication access controller may also include a hash value calculated by the first authentication server for the latest preceding message received from the authentication access controller; the message sent by the first authentication server to the second authentication server may also include a hash value calculated by the first authentication server for the latest preceding message received from the second authentication server.

[0268] See Figure 8 This application embodiment also provides a second authentication server 800, including:

[0269] The receiving module 810 is configured to receive a second authentication request message sent by a first authentication server. The second authentication request message includes first authentication result information, a digital certificate of the requesting device, and a second digital signature, or the second authentication request message includes first authentication result information, a digital certificate of the requesting device, and a second message authentication code. The second digital signature is calculated and generated by the first authentication server from signature data including the first authentication result information and the digital certificate of the requesting device, or the second message authentication code is calculated and generated by the first authentication server using a pre-shared key with the second authentication server and a cryptographic algorithm agreed upon with the second authentication server from information including the first authentication result information and the digital certificate of the requesting device.

[0270] The verification module 820 is used to verify the second digital signature using the public key of the first authentication server or to verify the second message authentication code using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server.

[0271] The generation module 830 is used to, if the verification is successful, perform a legality verification on the digital certificate of the requesting device to obtain a second verification result, generate second authentication result information based on the information including the second verification result, calculate and generate the first digital signature on the signature data including the first authentication result information, calculate and generate a third digital signature on the signature data including the second authentication result information, or use a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to calculate and generate a third message authentication code on the information including the second authentication result information.

[0272] The sending module 840 is used to send a second authentication response message to the first authentication server. The second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third digital signature, or the second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third message authentication code.

[0273] Optionally, the message sent by the second authentication server to the first authentication server may also include a hash value calculated by the second authentication server for the latest preceding message received from the first authentication server.

[0274] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium can be at least one of the following media: read-only memory (ROM), RAM, magnetic disk, or optical disk, etc., and other media capable of storing program code.

[0275] It should be noted that the various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for the device and system embodiments, since they are consistent with and correspond to the method embodiments, the description is relatively simple, and relevant parts can be referred to the description of the method embodiments. The device and system embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment solution according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0276] The above description is merely one specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for identity verification, characterized in that, The method includes: The authentication access controller receives an identity encrypted message sent by a requesting device. The identity encrypted message includes the identity information encrypted by the requesting device. The identity information encrypted by the requesting device is generated by the requesting device encrypting encrypted data, including the digital certificate of the requesting device, using a message encryption key. The authentication access controller uses the message encryption key to decrypt the encrypted identity information of the requesting device to obtain the digital certificate of the requesting device, and sends a first authentication request message to the first authentication server it trusts. The first authentication request message includes the digital certificate of the requesting device and the authentication code of the authentication access controller. The authentication code of the authentication access controller is generated by the authentication access controller using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to calculate information including the digital certificate of the requesting device. The authentication access controller receives a first authentication response message sent by the first authentication server. The first authentication response message includes first authentication result information, a first digital signature of the second authentication server trusted by the requesting device, second authentication result information, and a first message authentication code of the first authentication server. The first authentication result information includes a first verification result of the authentication access controller's identity authentication code. The first digital signature is a digital signature calculated by the second authentication server on signature data including the first authentication result information. The second authentication result information includes a second verification result of the requesting device's digital certificate. The first message authentication code of the first authentication server is calculated by the first authentication server using a pre-shared key with the authentication access controller and a cryptographic algorithm agreed upon with the authentication access controller on information including the second authentication result information. The authentication access controller uses a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to verify the first message authentication code of the first authentication server. If the verification is successful, the authentication access controller determines the authentication result of the requesting device based on the second verification result in the second authentication result information. When the authentication access controller determines that the authentication result of the requesting device is valid, it sends a third authentication response message to the requesting device; or... The authentication access controller uses a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to verify the first message authentication code of the first authentication server. If the verification is successful, the authentication access controller sends a third authentication response message to the requesting device and determines the authentication result of the requesting device based on the second verification result in the second authentication result information; or... The authentication access controller uses a pre-shared key with the first authentication server and employs a cryptographic algorithm agreed upon with the first authentication server to verify the first message authentication code of the first authentication server; if the first message authentication code of the first authentication server is verified successfully, the authentication access controller determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information; the authentication access controller sends a third authentication response message to the requesting device. The third authentication response message includes ciphertext of authentication result information, which is generated by the authentication access controller encrypting encrypted data including the first authentication result information and the first digital signature using the message encryption key. After receiving the third authentication response message, the requesting device decrypts the ciphertext of the authentication result information using the message encryption key to obtain the first authentication result information and the first digital signature. It then verifies the first digital signature using the public key of the second authentication server. If the verification passes, it determines the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information.

2. The method according to claim 1, characterized in that, Before the authentication access controller receives the encrypted identity message sent by the requesting device, the method further includes: The authentication access controller sends a key request message to the requesting device, the key request message including the key exchange parameters of the authentication access controller; The requesting device generates a first key by performing a key exchange calculation based on the temporary private key corresponding to the key exchange parameters of the requesting device and the temporary public key included in the key exchange parameters of the authentication access controller, and calculates the message encryption key using a key derivation algorithm based on information including the first key. The encrypted identity message also includes the key exchange parameters of the requesting device; The authentication access controller generates the first key by performing key exchange calculation based on the temporary private key corresponding to the key exchange parameters of the authentication access controller and the temporary public key included in the key exchange parameters of the requesting device, and calculates the message encryption key using the key derivation algorithm based on information including the first key.

3. The method according to claim 2, characterized in that, The key request message also includes a first random number generated by the authentication access controller; The specific steps involved in calculating the message encryption key by the requesting device are as follows: The requesting device calculates the message encryption key based on information including the first key, the first random number, and the second random number generated by the requesting device. Correspondingly, the encrypted identity message also includes the second random number; The specific steps involved in calculating the message encryption key by the authentication access controller are as follows: The authentication access controller calculates the message encryption key based on information including the first key, the first random number, and the second random number.

4. The method according to claim 3, characterized in that, The encrypted identity message also includes the first random number; Before the authentication access controller calculates the message encryption key, the method further includes: The authentication access controller verifies the consistency between the first random number in the identity encrypted message and the first random number generated by the authentication access controller. If the verification passes, the authentication access controller then calculates the message encryption key.

5. The method according to claim 2, characterized in that, The key request message also includes security capability parameter information supported by the authentication access controller; the method further includes: The requesting device determines the predetermined security policy to be used by the requesting device based on the security capability parameter information; The encrypted identity message also includes the predetermined security policy.

6. The method according to claim 2, characterized in that, The key request message further includes the identity identifier of at least one authentication server trusted by the authentication access controller; then the method further includes: The requesting device determines the identity of at least one authentication server trusted by the authentication access controller based on the identity of at least one authentication server trusted by the requesting device. The encrypted identity message further includes the identity identifier of at least one authentication server that the requesting device trusts; the method further includes: The authentication access controller determines the first authentication server based on the identity identifier of at least one authentication server trusted by the requesting device in the identity ciphertext message and the identity identifier of at least one authentication server trusted by the authentication access controller in the key request message.

7. The method according to claim 1, characterized in that, The encrypted identity message also includes the identity identifier of at least one authentication server that the requesting device trusts; then the method further includes: The authentication access controller determines the first authentication server based on the identity identifier of at least one authentication server trusted by the requesting device and the identity identifier of the authentication server trusted by the authentication access controller.

8. The method according to claim 1, characterized in that, The first authentication request message also includes the identity identifier of the authentication access controller and / or a first random number generated by the authentication access controller; Correspondingly, the first authentication response message also includes the identity identifier of the authentication access controller and / or the first random number; Before the authentication access controller determines the authentication result of the requesting device, the method further includes: The authentication access controller verifies the consistency between the authentication access controller's identity identifier in the first authentication response message and the authentication access controller's own identity identifier; and / or verifies the consistency between the first random number in the first authentication response message and the first random number generated by the authentication access controller; If the verification is successful, the authentication access controller then determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information.

9. The method according to claim 1, characterized in that, The first authentication request message also includes the identity identifier of the requesting device, and / or a second random number generated by the requesting device; the identity identifier of the requesting device is obtained by the access controller decrypting the encrypted identity information of the requesting device, and the second random number is obtained by the authentication access controller from the encrypted identity message; Accordingly, the first authentication response message also includes the identity identifier of the requesting device and / or the second random number; and the encrypted data of the authentication result information ciphertext in the third authentication response message also includes the identity identifier of the requesting device and / or the second random number; Accordingly, the requesting device decrypts the ciphertext of the authentication result information in the third authentication response message to obtain the identity identifier of the requesting device and / or the second random number; Before the requesting device determines the authentication result of the authentication access controller, the method further includes: The requesting device verifies the consistency between the identity identifier of the requesting device obtained by decrypting the ciphertext of the authentication result information and the identity identifier of the requesting device itself, and / or verifies the consistency between the second random number obtained by decrypting the ciphertext of the authentication result information and the second random number generated by the requesting device; If the verification is successful, the requesting device then determines the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information.

10. The method according to claim 1, characterized in that, When the encrypted identity message also includes the digital signature of the requesting device, the method further includes the following steps before the authentication access controller determines the identity authentication result of the requesting device: The authentication access controller determines whether the digital signature of the requesting device has been verified. If the digital signature of the requesting device has been verified, the authentication access controller then determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information.

11. The method according to claim 10, characterized in that, The authentication access controller determines whether the digital signature of the requesting device has been verified, including: The second authentication server uses the acquired digital certificate of the requesting device to verify the digital signature of the requesting device. If the authentication access controller receives the first authentication response message, it determines that the digital signature of the requesting device has been verified successfully; or... The authentication access controller verifies the digital signature of the requesting device using the digital certificate obtained by decrypting the ciphertext of the identity information, and determines whether the digital signature of the requesting device has passed verification based on the verification result; or... When the second authentication result information also includes the digital certificate of the requesting device, the authentication access controller uses the digital certificate of the requesting device in the second authentication result information to verify the digital signature of the requesting device, and determines whether the digital signature of the requesting device has passed verification based on the verification result; or... When the second authentication result information also includes the digital certificate of the requesting device, the authentication access controller verifies the consistency between the digital certificate of the requesting device in the second authentication result information and the digital certificate of the requesting device obtained by decrypting the ciphertext of the identity information; if they are consistent, the authentication access controller then uses the digital certificate of the requesting device to verify the digital signature of the requesting device, and determines whether the digital signature of the requesting device has been verified based on the verification result.

12. The method according to claim 1, characterized in that, The third authentication response message also includes a message integrity check code, which is generated by the authentication access controller using a message integrity check key to calculate other fields in the third authentication response message besides the message integrity check code. The method by which the authentication access controller generates the message integrity check key is the same as the method by which the authentication access controller generates the message encryption key. Before the requesting device determines the authentication result of the authentication access controller, the method further includes: The requesting device uses the message integrity verification key to verify the message integrity verification code; if the verification is successful, the step of determining the identity authentication result of the authentication access controller is then executed; the method of generating the message integrity verification key used by the requesting device is the same as the method of generating the message encryption key by the requesting device.

13. The method according to any one of claims 1 to 12, characterized in that, If the first authentication server trusted by the authentication access controller and the second authentication server trusted by the requesting device are the same authentication server, then the method further includes: The first authentication server verifies the identity authentication code of the authentication access controller to obtain a first verification result, verifies the legality of the digital certificate of the requesting device to obtain a second verification result, generates the first authentication result information based on information including the first verification result, generates the second authentication result information based on information including the second verification result, calculates and generates the first message authentication code of the first authentication server based on information including the second authentication result information, calculates and generates the first digital signature based on signature data including the first authentication result information, the first digital signature, the second authentication result information, and the first message authentication code of the first authentication server, and generates the first authentication response message based on information including the first authentication result information, the first digital signature, the second authentication result information, and the first message authentication code of the first authentication server.

14. The method according to any one of claims 1 to 12, characterized in that, If the first authentication server trusted by the authentication access controller and the second authentication server trusted by the requesting device are two different authentication servers, then the method further includes: The first authentication server verifies the identity authentication code of the authentication access controller to obtain a first verification result, generates the first authentication result information based on the information including the first verification result, calculates and generates a second digital signature on the signature data including the first authentication result information and the digital certificate of the requesting device, or uses a pre-shared key with the second authentication server and adopts a cryptographic algorithm agreed with the second authentication server to calculate and generate a second message authentication code on the information including the first authentication result information and the digital certificate of the requesting device. The first authentication server sends a second authentication request message to the second authentication server. The second authentication request message includes the first authentication result information, the digital certificate of the requesting device, and the second digital signature, or the second authentication request message includes the first authentication result information, the digital certificate of the requesting device, and the second message authentication code. The second authentication server verifies the second digital signature using the public key of the first authentication server, or verifies the second message authentication code using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server. If the verification is successful, the second authentication server verifies the legality of the digital certificate of the requesting device to obtain a second verification result. Based on the information including the second verification result, the second authentication result information is generated. The first digital signature is calculated on the signature data including the first authentication result information. The third digital signature is calculated on the signature data including the second authentication result information, or a third message authentication code is calculated on the information including the second authentication result information using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server. The first authentication server receives a second authentication response message sent by the second authentication server. The second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third digital signature, or the second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third message authentication code. The first authentication server verifies the third digital signature using the public key of the second authentication server or verifies the third message authentication code using a pre-shared key with the second authentication server and an agreed cryptographic algorithm. If the verification is successful, the first authentication server calculates and generates a first message authentication code based on the information including the second authentication result information, and generates the first authentication response message based on the information including the first authentication result information, the first digital signature, the second authentication result information, and the first message authentication code of the first authentication server.

15. The method according to any one of claims 1 to 12, characterized in that, The message sent by the requesting device to the authentication access controller also includes a hash value calculated by the requesting device for the latest preceding message received from the authentication access controller; When the authentication access controller receives a message from the requesting device, it first verifies the hash value in the received message, and then performs subsequent operations after the verification is successful. The message sent by the authentication access controller to the requesting device also includes a hash value calculated by the authentication access controller for the latest preceding message sent by the requesting device. When the requesting device receives a message from the authentication access controller, it first verifies the hash value in the received message, and then performs subsequent operations after the verification is successful. The message sent by the authentication access controller to the first authentication server also includes a hash value calculated by the authentication access controller for the latest preceding message received from the first authentication server; When the first authentication server receives a message from the authentication access controller, it first verifies the hash value in the received message, and then performs subsequent operations after the verification is successful. The message sent by the first authentication server to the authentication access controller also includes a hash value calculated by the first authentication server for the latest preceding message sent by the authentication access controller. When the authentication access controller receives a message sent by the first authentication server, it first verifies the hash value in the received message, and then performs subsequent operations after the verification is successful. The message sent by the first authentication server to the second authentication server also includes a hash value calculated by the first authentication server for the latest preceding message received from the second authentication server; When the second authentication server receives a message from the first authentication server, it first verifies the hash value in the received message, and then performs subsequent operations after the verification is successful. The message sent by the second authentication server to the first authentication server also includes a hash value calculated by the second authentication server for the latest preceding message sent by the first authentication server. When the first authentication server receives a message from the second authentication server, it first verifies the hash value in the received message, and then performs subsequent operations after the verification is successful.

16. A requesting device, characterized in that, The requesting device includes: The sending module is used to send an identity encrypted message to the authentication access controller. The identity encrypted message includes the identity information encrypted message of the requesting device. The identity information encrypted message of the requesting device is generated by the requesting device using a message encryption key to encrypt encrypted data, including the digital certificate of the requesting device. The receiving module is configured to receive a third authentication response message sent by the authentication access controller. The third authentication response message is sent by the authentication access controller after receiving a first authentication response message sent by a first authentication server it trusts. The first authentication response message includes first authentication result information, a first digital signature of a second authentication server trusted by the requesting device, second authentication result information, and a first message authentication code of the first authentication server. The first authentication result information includes a first verification result of the authentication access controller's identity authentication code. The identity authentication code is obtained by the authentication access controller using a pre-shared key with the first authentication server and employing a cryptographic algorithm agreed upon with the first authentication server to verify the digital certificate of the requesting device. The information included is calculated and generated; the first digital signature is a digital signature calculated and generated by the second authentication server on signature data including the first authentication result information; the second authentication result information includes a second verification result of the digital certificate of the requesting device; the first message authentication code is generated by the first authentication server using a pre-shared key with the authentication access controller and a cryptographic algorithm agreed upon with the authentication access controller on information including the second authentication result information; the third authentication response message includes ciphertext of authentication result information, which is generated by the authentication access controller encrypting encrypted data including the first authentication result information and the first digital signature using the message encryption key; The decryption module is used to decrypt the ciphertext of the authentication result information using the message encryption key to obtain the first authentication result information and the first digital signature; The verification module is used to verify the first digital signature using the public key of the second authentication server; The determination module is used to determine the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information if the verification is successful.

17. The requesting device according to claim 16, characterized in that, The receiving module is further configured to: receive a key request message sent by the authentication access controller before the sending module sends the identity encrypted message, wherein the key request message includes the key exchange parameters of the authentication access controller; The requesting device also includes: The calculation module is used to perform key exchange calculation to generate a first key based on the temporary private key corresponding to the key exchange parameters of the requesting device and the temporary public key included in the key exchange parameters of the authentication access controller, and to calculate the message encryption key using a key derivation algorithm based on information including the first key. The encrypted identity message also includes the key exchange parameters of the requesting device.

18. The requesting device according to claim 17, characterized in that, The key request message also includes a first random number generated by the authentication access controller; The calculation module is specifically used to: calculate the message encryption key based on information including the first key, the first random number, and the second random number generated by the requesting device; Correspondingly, the encrypted identity message also includes the second random number.

19. The requesting device according to claim 18, characterized in that, The encrypted identity message sent by the sending module also includes the first random number.

20. The requesting device according to claim 17, characterized in that, The key request message also includes security capability parameter information supported by the authentication access controller; The determining module is further configured to: determine the predetermined security policy used by the requesting device based on the security capability parameter information; then the identity encrypted message also includes the predetermined security policy.

21. The requesting device according to claim 17, characterized in that, The key request message also includes the identity identifier of at least one authentication server trusted by the authentication access controller; The determining module is further configured to: determine the identity identifier of the at least one authentication server trusted by the requesting device based on the identity identifier of the at least one authentication server trusted by the authentication access controller; then the identity encrypted message further includes the identity identifier of the at least one authentication server trusted by the requesting device.

22. The requesting device according to claim 17, characterized in that, The encrypted identity message sent by the sending module also includes the identity identifier of at least one authentication server trusted by the requesting device.

23. The requesting device according to claim 16, characterized in that, The encrypted data of the identity information ciphertext of the requesting device also includes the identity identifier of the requesting device, and the identity ciphertext message also includes a second random number generated by the requesting device; Accordingly, the encrypted data of the authentication result information ciphertext in the third authentication response message also includes the identity identifier of the requesting device and / or the second random number; Accordingly, the decryption module decrypts the ciphertext of the authentication result information in the third authentication response message to obtain the identity identifier of the requesting device and / or the second random number; The verification module is further configured to: verify the consistency between the identity identifier of the requesting device obtained by decrypting the ciphertext of the authentication result information and the identity identifier of the requesting device itself before the determining module determines the identity authentication result of the authentication access controller; and / or verify the consistency between the second random number obtained by decrypting the ciphertext of the authentication result information and the second random number generated by the requesting device. If the verification is successful, the determining module then determines the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information.

24. The requesting device according to claim 17, characterized in that, The third authentication response message also includes a message integrity check code; the verification module is further configured to: verify the message integrity check code using a message integrity check key before the determining module determines the authentication result of the authentication access controller; If the verification is successful, the determining module then determines the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information; the message integrity verification key and the message encryption key are generated in the same way.

25. The requesting device according to any one of claims 16 to 24, characterized in that, The message sent by the requesting device to the authentication access controller also includes a hash value calculated by the requesting device for the latest preceding message received from the authentication access controller.

26. An authentication access controller, characterized in that, The authentication access controller includes: The receiving module is used to receive an identity ciphertext message sent by the requesting device. The identity ciphertext message includes the identity information ciphertext of the requesting device, which is generated by the requesting device encrypting encrypted data, including the digital certificate of the requesting device, using a message encryption key. The decryption module is used to decrypt the ciphertext of the requesting device's identity information using the message encryption key to obtain the requesting device's digital certificate; The sending module is configured to send a first authentication request message to a first authentication server trusted by the authentication access controller. The first authentication request message includes the digital certificate of the requesting device and the authentication code of the authentication access controller. The authentication code of the authentication access controller is generated by the authentication access controller using a pre-shared key with the first authentication server and employing a cryptographic algorithm agreed upon with the first authentication server to calculate information including the digital certificate of the requesting device. The receiving module is further configured to receive a first authentication response message sent by the first authentication server. The first authentication response message includes first authentication result information, a first digital signature of the second authentication server trusted by the requesting device, second authentication result information, and a first message authentication code of the first authentication server. The first authentication result information includes a first verification result of the identity authentication code of the authentication access controller. The first digital signature is a digital signature calculated and generated by the second authentication server on signature data including the first authentication result information. The second authentication result information includes a second verification result of the digital certificate of the requesting device. The first message authentication code of the first authentication server is calculated and generated by the first authentication server using a pre-shared key with the authentication access controller and a cryptographic algorithm agreed upon with the authentication access controller on information including the second authentication result information. The verification module is used to verify the first message authentication code of the first authentication server using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server. If the verification is successful, the determining module determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information. When the determining module determines that the identity authentication result of the requesting device is valid, the sending module sends a third authentication response message to the requesting device; or... The sending module uses a pre-shared key with the first authentication server and an agreed-upon cryptographic algorithm to verify the first message authentication code of the first authentication server. If the verification is successful, the sending module sends a third authentication response message to the requesting device, and the determining module determines the authentication result of the requesting device based on the second verification result in the second authentication result information; or... The module is used to verify the first message authentication code of the first authentication server using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server; if the first message authentication code of the first authentication server is verified, the determining module determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information; the sending module sends a third authentication response message to the requesting device. The third authentication response message includes ciphertext of authentication result information, which is generated by the authentication access controller encrypting encrypted data, including the first authentication result information and the first digital signature, using the message encryption key.

27. The authentication access controller according to claim 26, characterized in that, The sending module is further configured to: send a key request message to the requesting device before the receiving module receives the identity encrypted message, the key request message including the key exchange parameters of the authentication access controller; the identity encrypted message also includes the key exchange parameters of the requesting device; The authentication access controller further includes: The calculation module is used to perform key exchange calculation to generate a first key based on the temporary private key corresponding to the key exchange parameters of the authentication access controller and the temporary public key included in the key exchange parameters of the requesting device, and to calculate the message encryption key using a key derivation algorithm based on information including the first key.

28. The authentication access controller according to claim 27, characterized in that, The key request message also includes a first random number generated by the authentication access controller; the identity ciphertext message also includes a second random number generated by the requesting device; The calculation module is specifically used to: calculate the message encryption key based on information including the first key, the first random number, and the second random number.

29. The authentication access controller according to claim 28, characterized in that, The identity encrypted message also includes the first random number; the verification module is further configured to: verify the consistency between the first random number in the identity encrypted message and the first random number generated by the authentication access controller before the calculation module calculates the message encryption key; If the verification passes, the calculation module then calculates the message encryption key.

30. The authentication access controller according to claim 27, characterized in that, The key request message also includes the identity identifier of at least one authentication server trusted by the authentication access controller; the identity ciphertext message also includes the identity identifier of at least one authentication server trusted by the requesting device. The determining module is further configured to: determine the first authentication server based on the identity identifier of at least one authentication server trusted by the requesting device in the identity ciphertext message and the identity identifier of at least one authentication server trusted by the authentication access controller in the key request message.

31. The authentication access controller according to claim 26, characterized in that, The encrypted identity message also includes the identity identifier of at least one authentication server trusted by the requesting device; then the determining module is further configured to: determine the first authentication server based on the identity identifier of the at least one authentication server trusted by the requesting device and the identity identifier of the authentication server trusted by the authentication access controller.

32. The authentication access controller according to claim 26, characterized in that, The first authentication request message also includes the identity identifier of the authentication access controller and / or a first random number generated by the authentication access controller; Correspondingly, the first authentication response message also includes the identity identifier of the authentication access controller and / or the first random number; The verification module is further configured to: verify the consistency between the identity identifier of the authentication access controller in the first authentication response message and the identity identifier of the authentication access controller itself, and / or verify the consistency between the first random number in the first authentication response message and the first random number generated by the authentication access controller; If the verification is successful, the determining module then determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information.

33. The authentication access controller according to claim 26, characterized in that, When the identity encrypted message also includes the digital signature of the requesting device, the determining module is further configured to: determine whether the digital signature of the requesting device has been verified; if the digital signature of the requesting device has been verified, then determine the identity authentication result of the requesting device based on the second verification result in the second authentication result information.

34. The authentication access controller according to claim 33, characterized in that, The determination module determines whether the digital signature of the requesting device has been verified, specifically including: The second authentication server uses the acquired digital certificate of the requesting device to verify the digital signature of the requesting device. If the receiving module receives the first authentication response message, the determining module determines that the digital signature of the requesting device has been verified successfully; or... The verification module uses the digital certificate of the requesting device obtained by decrypting the ciphertext of the identity information to verify the digital signature of the requesting device; the determining module determines whether the digital signature of the requesting device has passed verification based on the verification result; or... When the second authentication result information also includes the digital certificate of the requesting device, the verification module uses the digital certificate of the requesting device in the second authentication result information to verify the digital signature of the requesting device, and the determining module determines whether the digital signature of the requesting device has passed verification based on the verification result; or... When the second authentication result information also includes the digital certificate of the requesting device, the verification module verifies the consistency between the digital certificate of the requesting device in the second authentication result information and the digital certificate of the requesting device obtained by decrypting the ciphertext of the identity information. If they are consistent, the digital certificate of the requesting device is used to verify the digital signature of the requesting device. The determining module determines whether the digital signature of the requesting device has been verified based on the verification result.

35. The authentication access controller according to claim 27, characterized in that, The third authentication response message sent by the sending module also includes a message integrity check code. The message integrity check code is generated by the authentication access controller using a message integrity check key to calculate other fields in the third authentication response message, excluding the message integrity check code. The message integrity check key is generated in the same way as the message encryption key.

36. The authentication access controller according to any one of claims 26 to 35, characterized in that, The message sent by the authentication access controller to the requesting device also includes a hash value calculated by the authentication access controller for the latest preamble message received from the requesting device; the message sent by the authentication access controller to the first authentication server also includes a hash value calculated by the authentication access controller for the latest preamble message received from the first authentication server.

37. A first authentication server, characterized in that, The first authentication server includes: The receiving module is configured to receive a first authentication request message sent by the authentication access controller. The first authentication request message includes the digital certificate of the requesting device and the authentication code of the authentication access controller. The authentication code of the authentication access controller is generated by the authentication access controller using a pre-shared key with the first authentication server and employing a cryptographic algorithm agreed upon with the first authentication server to calculate information including the digital certificate of the requesting device. The sending module is configured to send a first authentication response message to the authentication access controller. The first authentication response message includes first authentication result information, a first digital signature of the second authentication server, second authentication result information, and a first message authentication code of the first authentication server. The first authentication result information includes a first verification result of the authentication access controller's identity authentication code. The first digital signature is a digital signature calculated by the second authentication server on signature data including the first authentication result information. The second authentication result information includes a second verification result of the requesting device's digital certificate. The first message authentication code of the first authentication server is calculated by the first authentication server using a pre-shared key with the authentication access controller and an agreed cryptographic algorithm with the authentication access controller on information including the second authentication result information.

38. The first authentication server according to claim 37, characterized in that, The first authentication server also includes: The first verification module is used to verify the identity verification code of the authentication access controller to obtain a first verification result, and to verify the legality of the digital certificate of the requesting device to obtain a second verification result; The first generation module is configured to generate the first authentication result information based on information including the first verification result, generate the second authentication result information based on information including the second verification result, calculate and generate the first message authentication code of the first authentication server based on information including the second authentication result information, and calculate and generate the first digital signature based on signature data including the first authentication result information. The second generation module is used to calculate and generate the first authentication response message based on information including the first authentication result information, the first digital signature, the second authentication result information, and the first message authentication code of the first authentication server.

39. The first authentication server according to claim 37, characterized in that, The first authentication server also includes: The second verification module is used to verify the identity verification code of the authentication access controller to obtain the first verification result; The third generation module is used to generate the first authentication result information based on information including the first verification result, calculate and generate a second digital signature on the signature data including the first authentication result information and the digital certificate of the requesting device, or use a pre-shared key with the second authentication server and a cryptographic algorithm agreed upon with the second authentication server to calculate and generate a second message authentication code on the information including the first authentication result information and the digital certificate of the requesting device. The sending module is further configured to send a second authentication request message to the second authentication server, wherein the second authentication request message includes the first authentication result information, the digital certificate of the requesting device and the second digital signature, or the second authentication request message includes the first authentication result information, the digital certificate of the requesting device and the second message authentication code. The receiving module is further configured to receive a second authentication response message sent by the second authentication server, wherein the second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third digital signature, or the second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third message authentication code; the second authentication result information is generated by the second authentication server based on information including the second verification result, and the second verification result is obtained by the second authentication server by verifying the legality of the digital certificate of the requesting device; the first digital signature is calculated and generated by the second authentication server on the signature data including the first authentication result information; the third digital signature is calculated and generated by the second authentication server on the signature data including the second authentication result information, or the third message authentication code is calculated and generated by the second authentication server using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server on the information including the second authentication result information; The third verification module is used to verify the third digital signature using the public key of the second authentication server or to verify the third message authentication code using a pre-shared key with the second authentication server and a cryptographic algorithm agreed upon with the second authentication server. The fourth generation module is used to calculate and generate the first message authentication code of the first authentication server based on the information including the second authentication result information if the verification is successful, and to generate the first authentication response message based on the information including the first authentication result information, the first digital signature, the second authentication result information and the first message authentication code of the first authentication server.

40. The first authentication server according to any one of claims 37 to 39, characterized in that, The message sent by the first authentication server to the authentication access controller also includes a hash value calculated by the first authentication server for the latest preamble message received from the authentication access controller; the message sent by the first authentication server to the second authentication server also includes a hash value calculated by the first authentication server for the latest preamble message received from the second authentication server.

41. A second authentication server, characterized in that, The second authentication server includes: The receiving module is configured to receive a second authentication request message sent by a first authentication server. The second authentication request message includes first authentication result information, a digital certificate of the requesting device, and a second digital signature, or the second authentication request message includes first authentication result information, a digital certificate of the requesting device, and a second message authentication code. The second digital signature is generated by the first authentication server from signature data including the first authentication result information and the digital certificate of the requesting device, or the second message authentication code is generated by the first authentication server from information including the first authentication result information and the digital certificate of the requesting device using a pre-shared key with the second authentication server and a cryptographic algorithm agreed upon with the second authentication server. The verification module is used to verify the second digital signature using the public key of the first authentication server or to verify the second message authentication code using a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server. The generation module is used to, if the verification is successful, perform a legality verification on the digital certificate of the requesting device to obtain a second verification result, generate second authentication result information based on the information including the second verification result, calculate and generate a first digital signature on the signature data including the first authentication result information, calculate and generate a third digital signature on the signature data including the second authentication result information, or use a pre-shared key with the first authentication server and a cryptographic algorithm agreed upon with the first authentication server to calculate and generate a third message authentication code on the information including the second authentication result information. The sending module is used to send a second authentication response message to the first authentication server. The second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third digital signature, or the second authentication response message includes the first authentication result information, the first digital signature, the second authentication result information, and the third message authentication code.

42. The second authentication server according to claim 41, characterized in that, The message sent by the second authentication server to the first authentication server also includes a hash value calculated by the second authentication server for the latest preceding message received from the first authentication server.

Citation Information

Patent Citations

  • Multipart identification authentication method and system base on equipment

    CN101409621A

  • Access method and access system for cellular mobile communication network

    CN101616410A