A method and apparatus for identity authentication
By introducing an authentication server to verify the digital certificate of the authentication access controller and the identity authentication code of the requesting device, the authentication difficulty of using a mixture of digital certificates and pre-shared keys in the entity identity authentication mechanism is solved, and two-way identity authentication and legitimate communication are realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA IWNCOMM
- Filing Date
- 2020-12-26
- Publication Date
- 2026-06-05
AI Technical Summary
In existing technologies, when an entity identity authentication mechanism uses a digital certificate on one end and a pre-shared key on the other, it lacks a simple and effective authentication mechanism, which makes identity authentication difficult.
By introducing an authentication server, the first authentication server trusted by the authentication access controller verifies the legitimacy of the digital certificate, and the second authentication server trusted by the requesting device verifies its identity authentication code, thus achieving two-way identity authentication.
It implements two-way authentication between the requesting device and the authentication access controller, ensuring that only legitimate users can communicate with legitimate networks.
Smart Images

Figure CN114760037B_ABST
Abstract
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 legitimate users access legitimate networks. In existing entity authentication schemes, entity identities are either uniformly represented by digital certificates or by pre-shared keys. However, in practical applications, there may be special cases 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. Summary of the Invention
[0003] To address the aforementioned technical problems, this application provides an identity authentication method and apparatus that enables bidirectional identity authentication between entities when the requesting device uses a pre-shared key and the authentication access controller uses a digital certificate as identity credential.
[0004] In view of this, the first aspect of this application provides an identity authentication method, comprising:
[0005] The authentication access controller receives an identity message sent by the requesting device. The identity message includes the identity identifier of the requesting device and the identity authentication code of the requesting device. The identity authentication code of the requesting device is generated by the requesting device using a pre-shared key with a second authentication server it trusts and using a cryptographic algorithm agreed upon with the second authentication server to calculate information including the identity identifier of the requesting device.
[0006] The authentication access controller sends a first authentication request message to a first authentication server it trusts, the first authentication request message including the identity message and the digital certificate of the authentication access controller;
[0007] 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 message authentication code of the second authentication server, a second authentication result information, and a first digital signature of the first authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information. The second authentication result information includes a second verification result of the identity authentication code of the requesting device. The first digital signature is a digital signature generated by the first authentication server from signature data including the second authentication result information.
[0008] The authentication access controller verifies the first digital signature using the public key of the first authentication server. If the verification passes, 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...
[0009] The authentication access controller verifies the first digital signature using the public key of the first authentication server. If the verification passes, 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,
[0010] The authentication access controller uses the public key of the first authentication server to verify the first digital signature; if the first digital signature is verified, 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.
[0011] The third authentication response message includes the first authentication result information and the first message authentication code of the second authentication server;
[0012] After receiving the third authentication response message, the requesting device uses the pre-shared key with the second authentication server and the cryptographic algorithm agreed upon with the second authentication server to verify the first message authentication code of the second authentication server. If the verification is successful, the requesting device determines the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information.
[0013] A second aspect of this application provides a requesting device, comprising:
[0014] The generation module is used to calculate and generate the identity authentication code of the requesting device by using a pre-shared key of a second authentication server trusted by the requesting device and a cryptographic algorithm agreed upon with the second authentication server, including the identity identifier of the requesting device.
[0015] The sending module is used to send an identity message to the authentication access controller, the identity message including the identity identifier of the requesting device and the identity authentication code of the requesting device;
[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 first authentication result information and a first message authentication code of the second authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information.
[0017] The verification module is used to verify the first message authentication code of the second authentication server using a pre-shared key with the second authentication server and a cryptographic algorithm agreed upon with the second authentication server.
[0018] 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.
[0019] A third aspect of this application provides an authentication access controller, comprising:
[0020] The receiving module is used to receive an identity message sent by the requesting device. The identity message includes the identity identifier of the requesting device and the identity authentication code of the requesting device. The identity authentication code of the requesting device is generated by the requesting device using a pre-shared key with a second authentication server it trusts and using a cryptographic algorithm agreed upon with the second authentication server to calculate information including the identity identifier of the requesting device.
[0021] The sending module is configured to send a first authentication request message to a first authentication server trusted by the authentication access controller, wherein the first authentication request message includes the identity message and the digital certificate of the authentication access controller;
[0022] 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 message authentication code of the second authentication server, a second authentication result information, and a first digital signature of the first authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information. The second authentication result information includes a second verification result of the identity authentication code of the requesting device. The first digital signature is a digital signature generated by the first authentication server from signature data including the second authentication result information.
[0023] The verification module is used to verify the first digital signature using the public key of the first authentication server; if the verification passes, 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...
[0024] The sending module verifies the first digital signature using the public key of the first authentication server. If the verification passes, 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...
[0025] The module is used to verify the first digital signature using the public key of the first authentication server; if the first digital signature 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.
[0026] The third authentication response message includes the first authentication result information and the first message authentication code of the second authentication server.
[0027] A fourth aspect of this application provides a first authentication server, comprising:
[0028] The receiving module is configured to receive a first authentication request message sent by the authentication access controller. The first authentication request message includes an identity message and a digital certificate of the authentication access controller. The identity message includes an identity identifier of the requesting device and an identity authentication code of the requesting device. The identity authentication code of the requesting device is generated by the requesting device using a pre-shared key with a second authentication server it trusts and employing a cryptographic algorithm agreed upon with the second authentication server to calculate information including the identity identifier of the requesting device.
[0029] 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 message authentication code of the second authentication server, a second authentication result information, and a first digital signature of the first authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information. The second authentication result information includes a second verification result of the identity authentication code of the requesting device. The first digital signature is a digital signature generated by the first authentication server from signature data including the second authentication result information.
[0030] The fifth aspect of this application provides a second authentication server, comprising:
[0031] 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, an identity message, and a second digital signature; or the second authentication request message includes first authentication result information, an identity message, and a second message authentication code. The first authentication result information is generated by the first authentication server based on information including the first verification result, obtained by verifying the legitimacy of the digital certificate of the authentication access controller. The identity message includes the identity identifier of the requesting device and the identity authentication code of the requesting device. The identity authentication code of the requesting device is calculated by the requesting device using a pre-shared key with a trusted second authentication server and employing a cryptographic algorithm agreed upon with the second authentication server. The second digital signature is calculated by the first authentication server on signature data including the first authentication result information and the identity message, or the second message authentication code is calculated by the first authentication server on information including the first authentication result information and the identity message.
[0032] 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. If the verification is successful, the identity authentication code of the requesting device in the identity message is verified to obtain a second verification result.
[0033] The generation module is used to generate second authentication result information based on information including the second verification result, calculate and generate a first message authentication code for the second authentication server based on information including the first authentication result information, and calculate and generate a third digital signature based on signature data including the second authentication result information or calculate and generate a third message authentication code based on information including the second authentication result information.
[0034] 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 message authentication code of the second authentication server, the second authentication result information, and the third digital signature. Alternatively, the second authentication response message includes the first authentication result information, the first message authentication code of the second authentication server, the second authentication result information, and the third message authentication code.
[0035] As can be seen from the above, in the identity authentication method provided in this application, the requesting device uses a pre-shared key as its identity credential, and the authentication access controller uses a digital certificate as its identity credential. During the identity authentication process, the requesting device first sends an identity message to the authentication access controller, which includes the requesting device's identity identifier and an identity authentication code generated using the pre-shared key. The authentication access controller then sends a first authentication request message, including the identity message and its own digital certificate, to a first authentication server trusted by itself, so as to complete the identity authentication of the requesting device and the authentication access controller through the first authentication server. The second authentication server trusted by the requesting device then verifies the identity based on the requesting device's identity authentication code. The verification of the legitimate identity of the requesting device is performed by the first authentication server based on the digital certificate of the authentication access controller. After the verification is completed, the first authentication server sends a first authentication response message to the authentication access controller. The authentication access controller obtains the verification result corresponding to the requesting device from the first authentication response message to determine whether the identity of the requesting device is legitimate. The requesting device obtains the verification result corresponding to the authentication access controller from the third authentication response message sent by the authentication access controller to determine whether the identity of the authentication access controller is legitimate. This achieves 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. Attached Figure Description
[0036] 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.
[0037] Figure 1 A schematic diagram illustrating an identity authentication method provided in an embodiment of this application;
[0038] Figure 2 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;
[0039] 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;
[0040] 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;
[0041] Figure 5 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 6 A structural block diagram of a request device REQ provided in an embodiment of this application;
[0043] Figure 7 A structural block diagram of an authentication access controller (AAC) provided in this application embodiment;
[0044] Figure 8 A structural block diagram of a first authentication server AS-AAC provided in an embodiment of this application;
[0045] Figure 9 This is a structural block diagram of a second authentication server AS-REQ provided in an embodiment of this application. Detailed Implementation
[0046] 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.
[0047] 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.
[0048] However, in current entity authentication schemes, entity identity credentials either uniformly adopt the form of digital certificates or uniformly adopt the form of pre-shared keys. However, no simple and effective identity authentication mechanism has been proposed for the situation in practical applications where one end uses digital certificates as identity credentials and the other end uses pre-shared keys as identity credentials.
[0049] To address the aforementioned technical issues, this application provides an identity authentication method. Specifically, for application scenarios where the requesting device uses a pre-shared key and the authentication access controller uses a digital certificate, an authentication server is introduced. A first authentication server trusted by the authentication access controller verifies the legality of the authentication access controller's digital certificate to obtain a first verification result. A second authentication server trusted by the requesting device verifies the requesting device's identity authentication code using the pre-shared key shared with the requesting device to obtain a second verification result. The requesting device and the authentication access controller determine the legitimacy of the other entity based on the verification result corresponding to that entity, thereby 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.
[0050] 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.
[0051] 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-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 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-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 and AS-REQ are aware of each other's digital certificates or the public key within the digital certificate.
[0052] REQ can be one endpoint participating in the authentication process, establishing a connection with AAC, accessing services provided by AAC, and accessing AS through AAC, while having a valid pre-shared key with AS-REQ. AAC can be another endpoint participating in the authentication process, establishing a connection with REQ, providing services, communicating with REQ, and having direct access to AS-AAC. AAC holds digital certificates and corresponding private keys conforming to ISO / IEC 9594-8 / ITU X.509, other standards, or other technical systems, and is aware of the digital certificates or public keys within the digital certificates of the AS-AAC it trusts.
[0053] The following is combined with Figure 1 This application provides an embodiment of an identity authentication method, which includes:
[0054] S101, AAC receives the identity message REQInit sent by REQ.
[0055] The REQInit includes the REQ's identity ID. REQ The REQ's identification code MIC REQ Among them, MIC REQ REQ uses a pre-shared key with the AS-REQ it trusts, employing a cryptographic algorithm agreed upon with AS-REQ to process data including the ID. REQ The information included is calculated and generated.
[0056] As an example of this application, the key algorithm agreed upon by REQ and AS-REQ can be a hash algorithm, and REQ utilizes the pre-shared key K with AS-REQ.REQ_AS The hash algorithm agreed upon with AS-REQ is used to process the MICs in REQInit. REQ Other fields preceding this field, such as ID REQ The information, including the REQ information, is hashed to obtain a hash value, which serves as the REQ's authentication code (MIC). REQ .
[0057] In this embodiment, REQ uses the identity authentication code MIC. REQ As identity information, AAC uses AAC's digital certificate Cert. AAC As identity information, AS-REQ can be used to verify MIC. REQ To verify the legitimacy of the REQ identity, AS-AAC can perform verification on the Cert. AAC A legitimacy verification is performed to determine the legitimacy of the AAC identity.
[0058] S102, AAC sends a first authentication request message AACVeri to the AS-AAC it trusts.
[0059] The AACeri includes REQInit and Cert. AAC .
[0060] 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, AS-AAC (which can also be represented as AS-REQ) is responsible for certifying the authentication server. AAC and MIC in REQInit REQ Verification is performed. Specifically, Cert... AAC The first verification result, Res, is obtained by performing a validity verification. AAC According to the ID in the REQInit REQ Determine the pre-shared key K with REQ REQ_AS and the agreed-upon cryptographic algorithm, and utilize the K REQ_AS The cryptographic algorithm is used to target the MIC. REQ The second verification result, Res, was obtained through verification. REQ 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 Then utilize the K REQ_AS The cryptographic algorithm is used to target the Pub account. AACThe 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 REQ 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 MIC AS_AAC (can also be represented as MIC) AS_REQ The Pub REQ and the Sig AS_AAC1 (can also be represented as Sig) AS_REQ1 The information, including the first authentication response message ASVeri, is generated.
[0061] When the AS-AAC trusted by AAC and the AS-REQ trusted by REQ are two different authentication servers, in this case, AS-AAC is responsible for authentication of Certification. AAC The first verification result, Res, is obtained by performing a validity verification. AAC According to the Res AAC The information included generates the first identification result information Pub AAC For including the Pub AAC The second digital signature Sig is generated by calculating the signature data, including REQInit. AS_AAC2 And send a second authentication request message AS-AACVeri to AS-REQ, wherein AS-AACVeri includes the Pub AAC The REQInit 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 cryptographic algorithms agreed upon with AS-REQ to target Pub. AAC The second message authentication code is generated by calculating information including REQInit.
[0062] After receiving the AS-AACVeri, AS-REQ uses the AS-AAC public key to access the Sig. AS_AAC2 Verification can be performed, or 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, based on the ID in the REQInit... REQ Determine the pre-shared key K with REQ REQ_AS And the agreed cryptographic algorithm, using the KREQ_AS The cryptographic algorithm is used to analyze the MIC in the REQInit. REQ The second verification result, Res, was obtained through verification. REQ According to the Res REQ The information included generates the second identification result information Pub REQ Using the K REQ_AS The cryptographic algorithm is used to target the Pub account. AAC The information included in the calculation generates the first message authentication code (MIC) for the AS-REQ. AS_REQ 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 MIC AS_REQ 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 third message authentication code is generated by calculating the information included.
[0063] After receiving the AS-REQVeri, AS-AAC uses the public key of AS-REQ to access the Sig. AS_REQ3 Verification can be performed, or 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 verification, the Pub... REQ The signature data, including the first digital signature Sig, is calculated to generate the first digital signature. AS_AAC1 and according to the Pub AAC The MIC AS_REQ The Pub REQ and the Sig AS_AAC1 The information included in the first authentication response message ASVeri is used to generate the first authentication response message.
[0064] S103, AAC receives the first authentication response message ASVeri sent by AS-AAC.
[0065] The ASVeri includes the first identification result information Pub. AAC The first message authentication code (MIC) of AS-REQ AS_REQ Second identification result information PubREQ And the first digital signature of AS-AAC, Sig AS_AAC1 .
[0066] S104, AAC uses the AS-AAC public key to access the Sig... AS_AAC1 Verification is required.
[0067] S105, AAC according to the Pub REQ Res in REQ Determine the identity verification result of REQ.
[0068] Due to Res REQ This can reflect whether the REQ is valid, and AAC can then be used based on the Pub. REQ Res in REQ Determining the validity of a request for authorization (REQ) lays the foundation for ensuring that only valid REQs can access the network.
[0069] S106. AAC sends a third authentication response message, AACAuth, to REQ.
[0070] The AACAuth includes Pub. AAC and the MIC AS_REQ .
[0071] 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 AAC executes the Sig... AS_AAC1 If the verification fails, ASVeri is discarded when AAC matches the Sig. AS_AAC1 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.
[0072] S107, REQ utilizes the pre-shared key K with AS-REQ REQ_AS The MIC is verified using a cryptographic algorithm agreed upon with AS-REQ. AS_REQ If the verification passes, then according to the aforementioned Pub AAC Res in AAC Determine the identity verification result of AAC.
[0073] Due to Res AAC This can reflect whether AAC is valid, therefore REQ is used to evaluate the MIC. AS_REQ Once the verification is successful, you can proceed according to the Pub. AAC Res includedAAC Determining the legitimacy of the AAC lays the foundation for ensuring that the REQ can access legitimate networks; if the REQ is against the MIC... AS_REQ If the verification fails, the AACAuth statement is discarded.
[0074] As can be seen from the above, the embodiments of this application provide an identity authentication method. For application scenarios where the requesting device uses a pre-shared key and the authentication access controller uses a digital certificate for authentication, an authentication server is introduced. A first authentication server trusted by the authentication access controller verifies the legality of the digital certificate of the authentication access controller to obtain a first verification result. A second authentication server trusted by the requesting device verifies the identity authentication code of the requesting device to obtain a second verification result. The requesting device and the authentication access controller respectively obtain the verification result corresponding to the other entity, thereby determining whether the other entity is legitimate. This achieves bidirectional 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.
[0075] Please refer to Figure 1 To ensure the reliability of the authentication results, before determining the identity authentication result of AAC in S107, REQ must also determine the digital signature Sig of AAC. AAC Whether the verification passed, if confirmed, Sig AAC Verification passed, REQ then based on Pub AAC Res in AAC Determine the identity authentication result of AAC. Specifically, REQ determines Sig. AAC Whether the verification passes includes the following methods:
[0076] One approach is to include the AAC digital signature Sig in the S102's AACVeri. AAC When this happens, AS-AAC utilizes Cert in AACeri. AAC Verify the Sig AAC After successful verification, subsequent operations will continue. Therefore, if REQ can receive the AACAuth from S106, REQ determines the Sig... AAC Verified.
[0077] Another approach is to include the AAC digital signature Sig in the S106 AACAuth. AAC At that time, correspondingly, the Pub AAC It also includes Cert AAC In S107, REQ will also utilize the aforementioned Pub. AAC Cert in AAC Verify the Sig AAC Based on the verification results, the Sig is determined. AACHas the verification passed?
[0078] In other embodiments, information such as random numbers and identity identifiers generated by the requesting device and / or the authentication access controller can be transmitted in the messages exchanged during the authentication process. Under normal circumstances, the random numbers and / or identity identifiers 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 messages 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 numbers and / or identity identifiers in the sent and received messages are consistent. Specifically:
[0079] Please refer to Figure 1 Before AAC receives REQInit in S101, AAC first sends a first message AACInit to REQ, which includes a first random number Nonce generated by AAC. AAC Correspondingly, REQInit also includes Nonce AAC Thus, before AAC sends AACVeri in S102, AAC first checks the Nonce in REQInit. AAC Nonce generated by AAC AAC (That is, the nonce sent by AAC through AACinit) AAC The consistency of REQInit is verified. If the verification passes, AAC executes S102; if the verification fails, AAC discards REQInit.
[0080] Similarly, the consistency of identity verification can also be performed. Please refer to [link / reference]. 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 Correspondingly, S103's ASVeri also includes ID. AAC and / or Nonce AAC Thus, before S105, AAC can first process the ID in ASVeri. AAC and AAC's own identity ID AAC Verify the consistency, and / or verify the Nonce in ASVeri. AAC Nonce generated by AAC AAC The consistency is verified. If the verification passes, AAC then verifies the consistency based on Pub. REQ Res in REQ Determine the identity verification result of REQ; if the verification fails, AAC discards ASVeri.
[0081] In the above embodiment, before S101, the AACInit sent by AAC to REQ may also include security capability parameter information supported by AAC. AAC The security capabilities AAC This includes AAC-supported authentication suites (which contain one or more authentication methods) and / or key derivation algorithms, so that REQ can be configured according to the security capabilities stated. AAC Select the specific security policy (Security Capabilities) used by REQ. REQ The security capabilities REQ This indicates that the REQ process determines the authentication method and / or key derivation algorithm used. Correspondingly, the REQInit of S101 may also include security capabilities. REQ Then AAC can be based on the security capabilities. REQ Determine the security policy to be used.
[0082] To ensure the reliability of the identification results, REQ can also adjust the Nonce generated by REQ. REQ and / or REQ's identity ID REQ Consistency verification is performed. Details are as follows:
[0083] Please refer to Figure 1 The AACeri of S102 can also include ID. REQ and / or Nonce REQ , where ID REQ and / or Nonce REQ If AAC obtains it from REQInit in S101, then ASVeri in S103 also includes ID. REQ and / or Nonce REQ S106's AACAuth also includes ID REQ and / or Nonce REQ Therefore, before REQ determines the identity authentication result of AAC in S107, REQ can first check the ID in AACAuth. REQ and REQ's own identity ID REQ Verify consistency, and / or verify the Nonce in AACAuth. REQ Nonce generated by REQ REQ The consistency is verified. If the verification passes, the REQ is then checked against the Pub.AAC Res in AAC Determine the identity verification result of AAC.
[0084] In other embodiments, if in S103 ASVeri, the Pub REQ It also includes ID REQ Then, before S105, AAC can also process the Pub... REQ ID in REQ ID in S101's REQInit REQ The consistency is verified. If the verification passes, AAC then verifies the consistency based on the Pub. REQ Res in REQ Determine the identity verification result of REQ.
[0085] 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:
[0086] One implementation involves AAC proactively sharing the identity ID of at least one trusted authentication server. AS_AAC The ID is sent to REQ, for example, before S101, in the AACInit sent by AAC to REQ. AS_AAC Then REQ can be obtained from ID AS_AAC Select 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 S101 and send it to AAC. Then, AAC can determine the ID 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 and ID AS_AAC If 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 process the data based on the ID. AS_REQ Determine the second authentication server AS-REQ.
[0087] Another implementation is that AAC does not need to send the ID to REQ. AS_AAC The REQ actively identifies at least one trusted authentication server's identity ID. AS_REQ Send to AAC, for example, REQ will send ID AS_REQ Add it to REQInit in S101 and send it to AAC. Based on ID AS_REQ The identity ID of the authentication server trusted by AAC itself. AS_AAC The specific implementation methods for determining the first authentication server and / or the second authentication server involved in identity authentication are as described in the previous implementation method.
[0088] 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 in this application embodiment will be described below in conjunction with non-roaming and roaming application scenarios. Among them, the following four situations will be described: (I) In the non-roaming situation, the authentication server for REQ verifies the Sig. AAC (ii) In non-roaming situations, the identity verification method is performed by AS-AAC. AAC (iii) In roaming situations, the identity verification method is performed by REQ using Sig. AAC (iv) In roaming situations, the Sig identity verification method is performed by AS-AAC. AAC Identification methods.
[0089] See Figure 2 This is an embodiment of the identity authentication method under scenario (i) above. In this scenario, the AS-REQ trusted by REQ and the AS-AAC trusted by AAC are the same authentication server. AS-AAC (or AS-REQ) can be used to represent the authentication server jointly trusted by REQ and AAC. This identity authentication method includes:
[0090] S201, AAC generates Nonce AAC Generate security capabilities as needed AAC .
[0091] S202, AAC sends the first message AACInit to REQ.
[0092] The AACInit includes Nonce AAC and security capabilities AAC Security capabilities AACThis is an optional field that represents the security capability parameters supported by AAC, including the identity authentication suites and / or key derivation algorithms supported by AAC (the same applies below).
[0093] S203. 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:
[0094] (1) Generate Nonce REQ ;
[0095] (2) Generate Security capabilities as needed REQ ;
[0096] (3) Calculate and generate the REQ authentication code MIC REQ .
[0097] S204, REQ sends the identity message REQInit to AAC.
[0098] The REQInit includes Nonce AAC Nonce REQ Security capabilities REQ ID REQ and MIC REQ Among them, security capabilities 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 and / or key derivation algorithm to be used (hereinafter the same). MIC REQ REQ utilizes the pre-shared key K with AS-AAC. REQ_AS The cryptographic algorithm agreed upon with AS-AAC is used to process the MIC in REQInit. REQ Other fields previously calculated, such as when REQInit includes Nonce in sequence. AAC Nonce REQ Security capabilities REQ IDREQ and MIC REQ At that time, REQ utilizes the aforementioned K REQ_AS The cryptographic algorithm (which may be a hash algorithm) is used to process nonces. AAC Nonce REQ Security capabilities REQ and ID REQ The information, including the hash value, is used to perform a hash operation on the information to obtain the hash value, which serves as the REQ's authentication code (MIC). REQ .
[0099] S205, AAC checks the Nonce in REQInit. AAC Nonce generated by AAC AAC If they match, proceed with the next steps; otherwise, discard REQInit.
[0100] S206, AAC sends the first authentication request message AACVeri to AS-AAC.
[0101] The AACeri includes REQInit and ID. AAC and Cert AAC .
[0102] S207. After receiving AACVeri, AS-AAC performs the following operations, including:
[0103] (1) Verify Cert AAC The legitimacy of Res AAC According to Res AAC and Cert AAC Information generated in Pub AAC ;
[0104] (2) Verify the MIC in REQInit REQ Get Res REQ According to ID REQ and Res REQ Information generated in Pub REQ ;
[0105] MIC verification REQ The process includes: AS-AAC based on the ID in REQInit REQ Determine the pre-shared key K with REQ REQ_AS And the agreed cryptographic algorithm, using the K REQ_AS The cryptographic algorithm described above is used to process the MIC in REQInit. REQ The other fields were previously calculated locally to determine the MIC. REQand the received MIC REQ Compare them; if they are the same, then MIC... REQ If the verification passes, AS-AAC determines that the REQ's identity authentication result is valid; otherwise, MIC... REQ If verification fails, AS-AAC may handle the situation in the following ways according to local policies, including discarding AACVeri or determining that the REQ's identity authentication result is invalid.
[0106] (3) Calculate the first message authentication code (MIC) of AS-AAC. AS_AAC And the first digital signature Sig AS_AAC1 .
[0107] S208, AS-AAC sends the first authentication response message ASVeri to AAC.
[0108] The ASVeri includes ID REQ Nonce REQ Pub AAC MIC AS_AAC ID AAC Nonce AAC Pub REQ and Sig AS_AAC1 Among them, ID REQ Nonce REQ ID AAC Nonce AAC They should be equal to the corresponding fields in AACVeri; MIC AS_AAC AS-AAC utilizes the pre-shared key K with REQ REQ_AS The cryptographic algorithm (which can be a hash algorithm) agreed upon with REQ is used to process the ID. REQ Nonce REQ Pub AAC Information generated by computation, including; Sig AS_AAC1 AS-AAC includes ID AAC Nonce AAC Pub REQ The signature data is generated from the data itself. In this application, the object to be signed is referred to as the signature data.
[0109] S209. After receiving ASVeri, AAC performs the following operations, including:
[0110] (1) Check the ID in ASVeri AAC Nonce AAC Are they respectively related to AAC's own identity ID? AAC Nonce generated by AAC AACsame;
[0111] (2) Verify Sig using AS-AAC public key AS_AAC1 ;
[0112] (3) Check Pub REQ ID in REQ Is it consistent with the ID in the received REQInit? REQ same;
[0113] (4) 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 Pub. REQ Res in REQ Determine the identity verification result of REQ; if AAC determines that REQ is invalid, end the current verification process.
[0114] (5) Calculate the digital signature Sig of AAC AAC .
[0115] S210, AAC sends a third authentication response message AACAuth to REQ.
[0116] The AACAuth includes ID. REQ Nonce REQ Pub AAC MIC AS_AAC and Sig AAC Among them, ID REQ Nonce REQ Pub AAC MIC AS_AAC Derived from ASVeri; Sig AAC The signature data includes the Sig in the AACAuth. AAC Other fields mentioned earlier, such as ID REQ Nonce REQ Pub AAC and MIC AS_AAC .
[0117] S211. After receiving AACAuth, REQ performs the following operations, including:
[0118] (1) Check ID REQ Nonce REQ Are they respectively related to REQ's own identity ID? REQ Nonce generated by REQ REQ same;
[0119] (2) Verify Sig AAC and MIC AS_AAC ;
[0120] REQ utilizes Pub AAC Cert in AAC Sig AAC Verification is performed using the pre-shared key K with AS-AAC. REQ_AS The cryptographic algorithm (which can be a hash algorithm) agreed upon with AS-AAC is used to process the ID in AACAuth. REQ Nonce REQ Pub AAC The information included is used to calculate the MIC locally. AS_AAC and the MIC in the received AACAuth AS_AAC The comparison is performed; if they are the same, the verification passes; if they are different, the verification fails, thus achieving the verification of the MIC. AS_AAC Verification.
[0121] (3) If any step of the above checks and verifications fails, AACAuth is immediately discarded; if all the above checks and verifications pass, AACAuth is discarded according to Pub. AAC Res in AAC Determine the identity verification result of AAC.
[0122] See Figure 3 This is an embodiment of the identity authentication method under scenario (ii) above. In this case, the AS-REQ trusted by REQ and the AS-AAC trusted by AAC are the same authentication server. AS-AAC (or AS-REQ) can be used to represent the authentication server jointly trusted by REQ and AAC. This identity authentication method includes:
[0123] S301, AAC generates Nonce AAC Generate security capabilities as needed AAC .
[0124] S302, AAC sends the first message AACInit to REQ.
[0125] The AACInit includes Nonce AAC and security capabilities AAC Security capabilities AAC This is an optional field.
[0126] After receiving AACInit, S303 and REQ perform the following operations, including:
[0127] (1) Generate Nonce REQ ;
[0128] (2) Generate Security capabilities as needed REQ ;
[0129] (3) Calculate the REQ's authentication code MIC REQ .
[0130] S304, REQ sends the identity message REQInit to AAC.
[0131] The REQInit includes Nonce AAC Nonce REQ Security capabilities REQ ID REQ and MIC REQ Among them, security capabilities 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 The MIC REQ See the generation details. Figure 2 The relevant descriptions in the embodiments.
[0132] S305. After receiving REQInit, AAC performs the following operations, including:
[0133] (1) Check the Nonce in REQInit AAC Nonce generated by AAC AAC Check if they match; if not, discard REQInit.
[0134] (2) Calculate Sig AAC .
[0135] S306, AAC sends the first authentication request message AACVeri to AS-AAC.
[0136] The AACeri includes REQInit and ID. AAC Cert AAC and Sig AAC Among them, Sig AAC The signature data includes the Sig in the AAC Veri. AAC Other fields mentioned earlier, such as REQInit and ID. AAC and Cert AAC .
[0137] After receiving the AACVeri, S307 and AS-AAC perform the following operations, including:
[0138] (1) Using Cert AAC Verify Sig AAC If the verification fails, the AACVeri will be discarded.
[0139] (2) Verify Cert AAC The legitimacy of Res AAC According to Res AAC Information generated in Pub AAC ;
[0140] (3) Verify the MIC in REQInit REQ Get Res REQ According to ID REQ and Res REQ Information generated in Pub REQ ;MIC REQ See the verification. Figure 2 Relevant descriptions in the embodiments;
[0141] (4) Calculate the first message authentication code (MIC) of AS-AAC. AS_AAC And the first digital signature Sig AS_AAC1 .
[0142] S308, AS-AAC sends the first authentication response message ASVeri to AAC.
[0143] The ASVeri includes ID REQ Nonce REQ Pub AAC MIC AS_AAC ID AAC Nonce AAC Pub REQ and Sig AS_AAC1 Among them, ID REQ Nonce REQ ID AAC Nonce AAC They should be equal to the corresponding fields in AACVeri; MIC AS_AAC AS-AAC utilizes the pre-shared key K with REQ REQ_AS The hash algorithm agreed upon with REQ is used to process the ID. REQ Nonce REQ Pub AAC Information generated by computation, including; Sig AS_AAC1 AS-AAC includes ID AACNonce AAC Pub REQ The signature data, including the signature data, is calculated and generated.
[0144] S309. After receiving ASVeri, AAC performs the following operations, including:
[0145] (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;
[0146] (2) Verify Sig using AS-AAC public key AS_AAC1 ;
[0147] (3) Check Pub REQ ID in REQ Is it consistent with the ID in the received REQInit? REQ same;
[0148] (4) 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 Pub. REQ Res in REQ Determine the identity verification result of REQ; if AAC determines that REQ is invalid, then end the current verification process.
[0149] S310, AAC sends a third authentication response message AACAuth to REQ.
[0150] The AACAuth includes ID. REQ Nonce REQ Pub AAC and MIC AS_AAC Among them, ID REQ Nonce REQ Pub AAC MIC AS_AAC Originating from ASVeri.
[0151] S311. After receiving AACAuth, REQ performs the following operations, including:
[0152] (1) Check ID REQ Nonce REQ Are they respectively related to REQ's own identity ID? REQ Nonce generated by REQ REQ same;
[0153] (2) Verify MICAS_AAC For the verification process, please refer to [link / reference]. Figure 2 Description of relevant content in the embodiments;
[0154] (3) If any step of the above checks and verifications fails, AACAuth is immediately discarded; if all the above checks and verifications pass, AACAuth is discarded according to Pub. AAC Res in AAC Determine the identity verification result of AAC.
[0155] See Figure 4 This is an embodiment of the identity authentication method under scenario (iii) above, in which the AS-REQ trusted by REQ and the AS-AAC trusted by AAC are two different authentication servers. The identity authentication method includes:
[0156] S401, AAC generates Nonce AAC Generate security capabilities as needed AAC .
[0157] S402, AAC sends the first message AACInit to REQ.
[0158] The AACInit includes Nonce AAC Security capabilities AAC and ID AS_AAC 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).
[0159] After receiving AACInit, S403 and REQ perform the following operations, including:
[0160] (1) Generate Nonce REQ ;
[0161] (2) Generate ID as needed AS_REQ ;
[0162] (3) Generate Security capabilities as needed REQ ;
[0163] (4) Calculate the REQ's authentication code MIC REQ .
[0164] S404, REQ sends the identity message REQInit to AAC.
[0165] The REQInit includes Nonce AAC Nonce REQ Security capabilities REQ ID AS_REQ ID REQ and MIC REQ Among them, Nonce AAC It should equal the corresponding field in AACInit; Security capabilities REQ and ID AS_REQ It is an optional field, and ID AS_REQ The 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). MIC REQ REQ utilizes the pre-shared key K with AS-REQ REQ_AS The cryptographic algorithm agreed upon with AS-REQ is used to process the MIC in REQInit. REQ This was generated from calculations performed on other fields previously. For example, REQ utilizes the aforementioned K. REQ_AS The cryptographic algorithm (which can be a hash algorithm) agreed upon with AS-REQ is used to handle the nonce. AAC Nonce REQ Security capabilities REQ ID AS_REQ and ID REQ The information, including the hash value, is used to perform a hash operation on the information to obtain the hash value, which serves as the REQ's authentication code (MIC). REQ .
[0166] After receiving REQInit, S405 and AAC perform the following operations, including:
[0167] (1) Check the Nonce in REQInit AAC Nonce generated by AAC AAC Check if they match; if not, discard REQInit.
[0168] (2) If REQInit carries an ID AS_REQ And AACInit carries an ID AS_AAC Then AAC determines ID AS_REQ and ID AS_AAC If 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 process the data based on the ID. AS_REQ Determine the second authentication server AS-REQ; or,
[0169] 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 process the data based on the ID. AS_REQ Determine the second authentication server AS-REQ;
[0170] It should be noted that the result determined in this embodiment should be the roaming status.
[0171] S406, AAC sends the first authentication request message AACVeri to AS-AAC.
[0172] The AACeri includes REQInit and ID. AAC and Cert AAC .
[0173] After receiving the AACVeri, S407 and AS-AAC perform the following operations, including:
[0174] (1) Verify Cert AAC The legitimacy of Res AAC According to Res AAC and CertAAC Information generated in Pub AAC ;
[0175] (2) If an ID exists in REQInit 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.
[0176] (3) Calculate the second digital signature Sig AS_AAC2 .
[0177] S408, AS-AAC sends a second authentication request message AS-AACVeri to AS-REQ.
[0178] The AS-AACVeri includes REQInit and ID. 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, such as REQInit and ID. AAC and Pub AAC .
[0179] After receiving AS-AACVeri, S409 and AS-REQ perform the following operations, including:
[0180] (1) Verify Sig using AS-AAC public key AS_AAC2 If the verification fails, discard AS-AACVeri.
[0181] (2) Verify the MIC in REQInit REQ Get Res REQ According to ID REQ and Res REQ Information generated in Pub REQ ;
[0182] Specifically, AS-REQ is based on the ID in REQInit. REQ Determine the pre-shared key K with REQ REQ_AS And the agreed cryptographic algorithm, using the K REQ_AS The cryptographic algorithm described above is used to process the MIC in REQInit. REQ The other fields were previously calculated locally to determine the MIC. REQ and the received MIC REQ Compare them; if they are the same, then MIC... REQIf the verification passes, AS-REQ determines that the REQ's identity authentication result is valid; otherwise, MIC... REQ If the verification fails, AS-REQ may handle the following situations according to the local policy, including: discarding AS-AACVeri or determining that the REQ's identity authentication result is invalid.
[0183] (3) Calculate the first message authentication code (MIC) of AS-REQ. AS_REQ and third digital signature Sig AS_REQ3 .
[0184] S410, AS-REQ sends a second authentication response message AS-REQVeri to AS-AAC.
[0185] The AS-REQVeri includes ID REQ Nonce REQ Pub AAC MIC AS_REQ 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. MIC AS_REQ It is AS-REQ that uses the pre-shared key K with REQ REQ_AS The cryptographic algorithm (which can be a hash algorithm) agreed upon with REQ is used to process the ID. REQ Nonce REQ Pub AAC Information generated by computation, including; Sig AS_REQ3 AS-REQ includes ID AAC Nonce AAC Pub REQ The signature data, including the signature data, is calculated and generated.
[0186] S411. After receiving AS-REQVeri, AS-AAC performs the following operations, including:
[0187] (1) Verify Sig using the public key of AS-REQ AS_REQ3 If the verification fails, discard the AS-REQVeri.
[0188] (2) Calculate the first digital signature Sig AS_AAC1 .
[0189] S412, AS-AAC sends the first authentication response message ASVeri to AAC.
[0190] The ASVeri includes ID REQ Nonce REQ Pub AAC MIC AS_REQ ID AAC Nonce AAC Pub REQ and Sig AS_AAC1 Among them, ID REQ Nonce REQ Pub AAC MIC AS_REQ ID AAC Nonce AAC Pub REQ Derived from AS-REQVeri. Sig AS_AAC1 AS-AAC includes ID AAC Nonce AAC Pub REQ The signature data, including the signature data, is calculated and generated.
[0191] S413. After receiving ASVeri, AAC performs the following operations, including:
[0192] (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;
[0193] (2) Verify Sig using AS-AAC public key AS_AAC1 ;
[0194] (3) Check Pub REQ ID in REQ Is it related to the ID in REQInit? REQ same;
[0195] (4) 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 AAC determines that REQ is invalid, then end the current verification process.
[0196] (5) Calculate Sig AAC .
[0197] S414. AAC sends a third authentication response message, AACAuth, to REQ.
[0198] The AACAuth includes ID. REQ Nonce REQ Pub AAC MIC AS_REQ and Sig AAC Among them, ID REQ Nonce REQ Pub AAC MIC AS_REQ Derived from ASVeri; Sig AAC The signature data includes the Sig in the AACAuth. AAC Other fields mentioned earlier, such as ID REQ Nonce REQ Pub AAC and MIC AS_REQ .
[0199] S415. After receiving AACAuth, REQ performs the following operations, including:
[0200] (1) Check ID REQ Nonce REQ Are they respectively related to REQ's own identity ID? REQ Nonce generated by REQ REQ same;
[0201] (2) Verify Sig AAC and MIC AS_REQ ;
[0202] REQ utilizes Pub AAC Cert in AAC Verify Sig AAC ;Utilizing the pre-shared key K with AS-REQ REQ_AS The hash algorithm agreed upon with AS-REQ is used to process the ID in AACAuth. REQ Nonce REQ Pub AAC The information included is used to calculate the MIC locally. AS_REQ and the MIC in the received AACAuth AS_REQ The comparison is performed; if they are the same, the verification passes; if they are different, the verification fails, thus achieving the verification of the MIC. AS_REQ Verification.
[0203] (3) After all the above checks and verifications are passed, according to Pub AAC Res in AACDetermine the identity authentication result of AAC; if any step of the above checks and verifications fails, discard AACAuth immediately.
[0204] It should be noted that the second digital signature Sig in S407 and S408 AS_AAC2 It can be replaced with the second message authentication code (MIC). AS_AAC2 , among 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; then the AS-REQ verification Sig in S409 AS_AAC2 Replace with verification MIC AS_AAC2 The third digital signature Sig in S409 and S410 AS_REQ3 It can be replaced with a third message authentication code (MIC). AS_REQ3 , among 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; then the AS-AAC verification Sig in S411 AS_REQ3 Replace with verification MIC AS_REQ3 .
[0205] See Figure 5 This is an embodiment of the identity authentication method under scenario (iv) above, in which the AS-REQ trusted by REQ and the AS-AAC trusted by AAC are two different authentication servers. The identity authentication method includes:
[0206] S501, AAC generates Nonce AAC Generate security capabilities as needed AAC .
[0207] S502 and AAC send the first message AACInit to REQ.
[0208] The AACInit includes Nonce AAC Security capabilities AAC and ID AS_AAC Among them, security capabilities AAC and ID AS_AAC This is an optional field.
[0209] After receiving AACInit, S503 and REQ perform the following operations, including:
[0210] (1) Generate Nonce REQ ;
[0211] (2) Generate ID as needed AS_REQ ;
[0212] (3) Generate Security capabilities as needed REQ ;
[0213] (4) Calculate and generate the REQ authentication code MIC REQ .
[0214] S504, REQ sends the identity message REQInit to AAC.
[0215] The REQInit includes Nonce AAC Nonce REQ Security capabilities REQ ID AS_REQ ID REQ and MIC REQ Among them, Nonce AAC It should equal the corresponding field in AACInit; Security capabilities REQ and ID AS_REQ MIC is an optional field. REQ See the generation details. Figure 4 The relevant descriptions in the embodiments.
[0216] After receiving REQInit, S505 and AAC perform the following operations, including:
[0217] (1) Check the Nonce in REQInit AAC Nonce generated by AAC AAC Check if they match; if not, discard REQInit.
[0218] (2) The situation where AAC determines the first authentication server AS-AAC to participate in identity authentication is the same as... Figure 4 The relevant description of the embodiments; it should be noted that the result determined in this embodiment should be the roaming situation;
[0219] (3) Calculate the digital signature Sig AAC .
[0220] S506, AAC sends the first authentication request message AACVeri to AS-AAC.
[0221] The AACeri includes REQInit and ID. AAC Cert AAC and Sig AAC Among them, Sig AAC The signature data includes the Sig in the AAC Veri. AAC Other fields mentioned earlier, such as REQInit and ID. AAC and Cert AAC .
[0222] After receiving the AACVeri, S507 and AS-AAC perform the following operations, including:
[0223] (1) Using Cert in AACVeri AAC Verify Sig AAC ;
[0224] (2) Verify Cert AAC The legitimacy of Res AAC According to Res AAC Information generated in Pub AAC ;
[0225] (3) The situation where AS-AAC determines the second authentication server AS-REQ is the same as... Figure 4 Related descriptions of the embodiments;
[0226] (4) Calculate and generate the second digital signature Sig AS_AAC2 .
[0227] S508, AS-AAC sends a second authentication request message AS-AACVeri to AS-REQ.
[0228] The AS-AACVeri includes REQInit and ID. AAC Pub AAC and Sig AS_AAC2 Sig AS_AAC2 The signature data includes Sig in AS-AACVeri. AS_AAC2 Other fields mentioned earlier, such as REQInit and ID. AAC and Pub AAC .
[0229] After receiving AS-AACVeri, S509 and AS-REQ perform the following operations, including:
[0230] (1) Verify Sig using AS-AAC public key AS_AAC2 If the verification fails, discard AS-AACVeri.
[0231] (2) Verify the MIC in REQInit REQ Get Res REQ According to ID REQ and Res REQ Information generated in Pub REQ ;MIC REQ Verification reference Figure 4 Relevant content in the embodiments;
[0232] (3) Calculate the first message authentication code (MIC) of AS-REQ. AS_REQ and third digital signature Sig AS_REQ3 .
[0233] S510 and AS-REQ send a second authentication response message AS-REQVeri to AS-AAC.
[0234] The AS-REQVeri includes ID REQ Nonce REQ Pub AAC MIC AS_REQ 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; MIC AS_REQ It is AS-REQ that uses the pre-shared key K with REQ REQ_AS The hash algorithm agreed upon with REQ is used to process the ID. REQ Nonce REQ Pub AAC Information generated by computation, including; Sig AS_REQ3 AS-REQ includes ID AAC Nonce AAC Pub REQ The signature data, including the signature data, is calculated and generated.
[0235] S511, after receiving AS-REQVeri, AS-AAC performs the following operations, including:
[0236] (1) Verify Sig using the public key of AS-REQ AS_REQ3 If the verification fails, discard the AS-REQVeri.
[0237] (2) Calculate the first digital signature Sig AS_AAC1 .
[0238] S512, AS-AAC sends the first authentication response message ASVeri to AAC.
[0239] The ASVeri includes ID REQ Nonce REQ Pub AAC MIC AS_REQ ID AAC Nonce AAC Pub REQ and Sig AS_AAC1 Among them, ID REQ Nonce REQ Pub AAC MIC AS_REQ ID AAC Nonce AAC Pub REQ Derived from AS-REQVeri. Sig AS_AAC1 AS-AAC includes ID AAC Nonce AAC Pub REQ The signature data, including the signature data, is calculated and generated.
[0240] S513. After receiving ASVeri, AAC performs the following operations, including:
[0241] (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;
[0242] (2) Verify Sig using AS-AAC public key AS_AAC1 ;
[0243] (3) Check Pub REQ ID in REQ Is it related to the ID in REQInit? REQ same;
[0244] (4) 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 AAC determines that REQ is invalid, end the current verification process.
[0245] S514, AAC sends a third authentication response message AACAuth to REQ.
[0246] The AACAuth includes ID. REQ Nonce REQ Pub AAC and MIC AS_REQ The fields in AACAuth are all derived from ASVeri.
[0247] After receiving AACAuth, S515 and REQ perform the following operations, including:
[0248] (1) Check ID REQ Nonce REQ Are they respectively related to REQ's own identity ID? REQ Nonce generated by REQ REQ same;
[0249] (2) Verify MIC AS_REQ For the verification process, please refer to [link / reference]. Figure 4 Relevant descriptions in the embodiments;
[0250] (3) 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.
[0251] It should be noted that the second digital signature Sig in S507 and S508 AS_AAC2 It can be replaced with the second message authentication code (MIC). AS_AAC2 , among 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; then the AS-REQ verification Sig in S509 AS_AAC2 Replace with verification MIC AS_AAC2 The third digital signature Sig in S509 and S510 AS_REQ3 It can be replaced with a third message authentication code (MIC). AS_REQ3 , among 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 REQThe hash value calculated from the fields included; then the AS-AAC verification Sig in S511 AS_REQ3 Replace with verification MIC AS_REQ3 .
[0252] 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.
[0253] 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_Y If they match, proceed with the next steps; otherwise, discard or end the identification process.
[0254] 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.
[0255] The above Figures 2 to 5 The optional fields and optional operations in the corresponding embodiments are shown in the accompanying drawings. Figures 2 to 5 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 recipient operates on the relevant messages and processes the contents included in the messages is not limited.
[0256] based on Figures 1 to 5 For the corresponding implementation examples, see [link to relevant documentation]. Figure 6 This application embodiment also provides a requesting device 600, including:
[0257] The generation module 610 is used to calculate and generate the identity authentication code of the requesting device by using a pre-shared key of a second authentication server trusted by the requesting device and a cryptographic algorithm agreed upon with the second authentication server, including the identity identifier of the requesting device.
[0258] Sending module 620 is used to send an identity message to the authentication access controller, the identity message including the identity identifier of the requesting device and the identity authentication code of the requesting device;
[0259] The receiving module 630 is configured to receive a third authentication response message sent by the authentication access controller. The third authentication response message includes first authentication result information and a first message authentication code of the second authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information.
[0260] The verification module 640 is used to verify the first message authentication code of the second authentication server using a pre-shared key with the second authentication server and a cryptographic algorithm agreed upon with the second authentication server.
[0261] The determination module 650 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.
[0262] Optionally, the receiving module 630 is further configured to: receive a first message sent by the authentication access controller, the first message including a first random number generated by the authentication access controller;
[0263] Correspondingly, the identity message sent by the sending module 620 also includes the first random number.
[0264] Optionally, the first message received by the receiving module 630 may also include security capability parameter information supported by the authentication access controller; the determining module 650 is further configured to: determine the specific security policy used by the requesting device based on the security capability parameter information;
[0265] Correspondingly, the identity message sent by the sending module 620 also includes the specific security policy.
[0266] Optionally, the first message received by the receiving module 630 may further include the identity identifier of at least one authentication server trusted by the authentication access controller; the determining module 650 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 message sent by the sending module 620 may further include the identity identifier of at least one authentication server trusted by the requesting device.
[0267] Optionally, the identity message sent by the sending module 620 may also include the identity identifier of at least one authentication server trusted by the requesting device.
[0268] Optionally, the third authentication response message received by the receiving module 630 further includes the identity identifier of the requesting device and / or a second random number; the verification module 640 is further configured to: verify the consistency between the identity identifier of the requesting device in the third authentication response message and the identity identifier of the requesting device itself, and / or verify the consistency between the second random number in the third authentication response message and the second random number generated by the requesting device; if the verification passes, the determining module 650 then determines the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information.
[0269] Optionally, the determining module 650 is further configured to: determine whether the digital signature of the authentication access controller has been verified; if the digital signature of the authentication access controller has been verified, then determine the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information.
[0270] Optionally, the determining module 650 determines whether the digital signature of the authentication access controller has been verified, specifically including:
[0271] When the authentication access controller sends a first authentication request message to its trusted first authentication server, the first authentication server uses the digital certificate of the authentication access controller in the first authentication request message to verify the digital signature of the authentication access controller. If the receiving module 630 receives the third authentication response message, it determines that the digital signature of the authentication access controller has been verified.
[0272] When the third authentication response message received by the receiving module 630 also includes the digital signature of the authentication access controller, the first authentication result information also includes the digital certificate of the authentication access controller; then the digital signature of the authentication access controller is verified using the digital certificate of the authentication access controller in the first authentication result information, and the verification result is used to determine whether the digital signature of the authentication access controller has been verified.
[0273] 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.
[0274] See Figure 7 This application also provides an authentication access controller 700, comprising:
[0275] The receiving module 710 is used to receive an identity message sent by the requesting device. The identity message includes the identity identifier of the requesting device and the identity authentication code of the requesting device. The identity authentication code of the requesting device is generated by the requesting device using a pre-shared key with a second authentication server it trusts and using a cryptographic algorithm agreed upon with the second authentication server to calculate information including the identity identifier of the requesting device.
[0276] Sending module 720 is used to send a first authentication request message to a first authentication server trusted by the authentication access controller, wherein the first authentication request message includes the identity message and the digital certificate of the authentication access controller;
[0277] The receiving module 710 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 message authentication code of the second authentication server, a second authentication result information, and a first digital signature of the first authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information. The second authentication result information includes a second verification result of the identity authentication code of the requesting device. The first digital signature is a digital signature generated by the first authentication server from signature data including the second authentication result information.
[0278] Verification module 730 is used to verify the first digital signature using the public key of the first authentication server; if the verification passes, determination module 740 determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information; when determination module 740 determines that the identity authentication result of the requesting device is valid, sending module 720 sends a third authentication response message to the requesting device; or...
[0279] Verification module 730 is used to verify the first digital signature using the public key of the first authentication server. If the verification passes, sending module 720 sends a third authentication response message to the requesting device, and determining module 740 determines the authentication result of the requesting device based on the second verification result in the second authentication result information; or...
[0280] The verification module 730 is used to verify the first digital signature using the public key of the first authentication server; if the first digital signature is verified, the determination module 740 determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information; and the sending module 720 sends a third authentication response message to the requesting device.
[0281] The third authentication response message includes the first authentication result information and the first message authentication code of the second authentication server.
[0282] Optionally, the sending module 720 is further configured to: send a first message to the requesting device, the first message including a first random number generated by the authentication access controller;
[0283] Correspondingly, the identity message received by the receiving module 710 also includes the first random number;
[0284] The verification module 730 is further configured to: verify the consistency between the first random number in the identity message and the first random number generated by the authentication access controller; if the verification is successful, the sending module 720 then sends a first authentication request message to the first authentication server trusted by the authentication access controller.
[0285] Optionally, the first message sent by the sending module 720 may also include the identity identifier of at least one authentication server trusted by the authentication access controller;
[0286] The identity message received by the receiving module 710 also includes the identity identifier of at least one authentication server trusted by the requesting device; the identity identifier of the at least one authentication server trusted by the requesting device is determined by the requesting device based on the identity identifier of the at least one authentication server trusted by the authentication access controller;
[0287] The determining module 740 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 message and the identity identifier of at least one authentication server trusted by the authentication access controller in the first message.
[0288] Optionally, the identity message received by the receiving module 710 may further include the identity identifier of at least one authentication server trusted by the requesting device; the determining module 740 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.
[0289] Optionally, the first authentication request message sent by the sending module 720 may also include the identity identifier of the authentication access controller and / or the first random number generated by the authentication access controller;
[0290] Correspondingly, the first authentication response message received by the receiving module 710 also includes the identity identifier of the authentication access controller and / or the first random number;
[0291] The verification module 730 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 determination module 740 then determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information.
[0292] Optionally, the second authentication result information in the first authentication response message received by the receiving module 710 may also include the identity identifier of the requesting device;
[0293] The verification module 730 is further configured to: verify the consistency between the identity identifier of the requesting device in the second authentication result information and the identity identifier of the requesting device in the identity message; if the verification is successful, the determination module 740 then determines the identity authentication result of the requesting device based on the second verification result in the second authentication result information.
[0294] 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.
[0295] See Figure 8 This application embodiment also provides a first authentication server 800, including:
[0296] The receiving module 810 is configured to receive a first authentication request message sent by the authentication access controller. The first authentication request message includes an identity message and a digital certificate of the authentication access controller. The identity message includes an identity identifier of the requesting device and an identity authentication code of the requesting device. The identity authentication code of the requesting device is generated by the requesting device using a pre-shared key with a second authentication server it trusts and employing a cryptographic algorithm agreed upon with the second authentication server to calculate information including the identity identifier of the requesting device.
[0297] The sending module 820 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 message authentication code of the second authentication server, a second authentication result information, and a first digital signature of the first authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information. The second authentication result information includes a second verification result of the identity authentication code of the requesting device. The first digital signature is a digital signature generated by the first authentication server to calculate information including the second authentication result information.
[0298] Optionally, the first authentication server 800 may also include:
[0299] The first verification module is used to verify the legality of the digital certificate of the authentication access controller to obtain a first verification result, and to verify the identity authentication code of the requesting device to obtain a second verification result;
[0300] 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 first authentication result information, and calculate and generate the first digital signature based on the signature data including the second authentication result information.
[0301] 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 message authentication code of the first authentication server, the second authentication result information, and the first digital signature.
[0302] Optionally, the first authentication server 800 may also include:
[0303] The second verification module is used to verify the legitimacy of the digital certificate of the authentication access controller to obtain a first verification result;
[0304] The third generation module is used to generate the first authentication result information based on information including the first verification result, and to calculate and generate a second digital signature based on the signature data including the first authentication result information and the identity message, or to calculate and generate a second message authentication code based on the information including the first authentication result information and the identity message.
[0305] The sending module 820 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 identity message, and the second digital signature, or the second authentication request message includes the first authentication result information, the identity message, 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; if the verification is successful, the second authentication server verifies the identity authentication code of the requesting device in the identity message to obtain a second verification result; generate the second authentication result information based on the information including the second verification result; calculate and generate the first message authentication code of the second authentication server based on the information including the first authentication result information; calculate and generate a third digital signature based on the signature data including the second authentication result information or calculate and generate a third message authentication code based on the information including the second authentication result information;
[0306] The receiving module 810 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 message authentication code of the second authentication server, the second authentication result information and the third digital signature; or the second authentication response message includes the first authentication result information, the first message authentication code of the second authentication server, the second authentication result information and the third message authentication code.
[0307] The second verification module is also used to: verify the third digital signature using the public key of the second authentication server or verify the third message authentication code using a pre-shared key with the second authentication server;
[0308] The third generation module is further configured to: if the third digital signature or the third message authentication code is verified, calculate and generate a first digital signature from the signature data including the second authentication result information, and generate the first authentication response message based on the information including the first authentication result information, the first message authentication code of the second authentication server, the second authentication result information and the first digital signature.
[0309] 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.
[0310] See Figure 9 This application embodiment also provides a second authentication server 900, including:
[0311] The receiving module 910 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, an identity message, and a second digital signature, or the second authentication request message includes first authentication result information, an identity message, and a second message authentication code. The first authentication result information is generated by the first authentication server based on information including the first verification result, obtained by verifying the legitimacy of the digital certificate of the authentication access controller. The identity message includes the identity identifier of the requesting device and the identity authentication code of the requesting device. The identity authentication code of the requesting device is calculated by the requesting device using a pre-shared key with a trusted second authentication server and employing a cryptographic algorithm agreed upon with the second authentication server. The second digital signature is calculated by the first authentication server on signature data including the first authentication result information and the identity message, or the second message authentication code is calculated by the first authentication server on information including the first authentication result information and the identity message.
[0312] The verification module 920 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. If the verification is successful, the identity authentication code of the requesting device in the identity message is verified to obtain a second verification result.
[0313] The generation module 930 is used to generate second authentication result information based on information including the second verification result, calculate and generate a first message authentication code for the second authentication server based on information including the first authentication result information, and calculate and generate a third digital signature based on signature data including the second authentication result information or calculate and generate a third message authentication code based on information including the second authentication result information.
[0314] The sending module 940 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 message authentication code of the second authentication server, the second authentication result information, and the third digital signature. Alternatively, the second authentication response message includes the first authentication result information, the first message authentication code of the second authentication server, the second authentication result information, and the third message authentication code.
[0315] 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.
[0316] 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.
[0317] 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.
[0318] 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 message sent by the requesting device. The identity message includes the identity identifier of the requesting device and the identity authentication code of the requesting device. The identity authentication code of the requesting device is generated by the requesting device using a pre-shared key with a second authentication server it trusts, and using a cryptographic algorithm agreed upon with the second authentication server to calculate information including the identity identifier of the requesting device. The authentication access controller sends a first authentication request message to a first authentication server it trusts, the first authentication request message including the identity message and the digital certificate of the authentication access controller; 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 message authentication code of the second authentication server, a second authentication result information, and a first digital signature of the first authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information. The second authentication result information includes a second verification result of the identity authentication code of the requesting device. The first digital signature is a digital signature generated by the first authentication server from signature data including the second authentication result information. The authentication access controller verifies the first digital signature using the public key of the first authentication server. If the verification passes, 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 verifies the first digital signature using the public key of the first authentication server. If the verification passes, 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 the public key of the first authentication server to verify the first digital signature; if the first digital signature is verified, 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 the first authentication result information and the first message authentication code of the second authentication server. After receiving the third authentication response message, the requesting device uses the pre-shared key with the second authentication server and the cryptographic algorithm agreed upon with the second authentication server to verify the first message authentication code of the second authentication server. If the verification is successful, the requesting device 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 identity message sent by the requesting device, the method further includes: The authentication access controller sends a first message to the requesting device, the first message including a first random number generated by the authentication access controller; Correspondingly, the identity message also includes the first random number.
3. The method according to claim 2, characterized in that, The first message also includes security capability parameter information supported by the authentication access controller, and the method further includes: The requesting device determines the specific security policy to be used by the requesting device based on the security capability parameter information; The identity message also includes the specific security policy.
4. The method according to claim 2, characterized in that, Before the authentication access controller sends a first authentication request message to its trusted first authentication server, the method further includes: The authentication access controller verifies the consistency between the first random number in the identity message and the first random number generated by the authentication access controller. If the verification is successful, the authentication access controller will then send the first authentication request message again.
5. The method according to claim 2, characterized in that, The first message also 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 identifier of at least one authentication server trusted by the authentication access controller. The identity message also includes the identity identifier of at least one authentication server trusted by the requesting device; 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 message and the identity identifier of at least one authentication server trusted by the authentication access controller in the first message.
6. The method according to claim 1, characterized in that, The 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.
7. The method according to claim 2, 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.
8. The method according to claim 2, 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 and / or the second random number are obtained by the authentication access controller from the identity message; Correspondingly, the first authentication response message also includes the identity identifier of the requesting device and / or the second random number; and the third authentication response message also includes 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 in the third authentication response message and the identity identifier of the requesting device itself, and / or verifies the consistency between the second random number in the third authentication response message 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.
9. The method according to claim 1, characterized in that, Before the requesting device determines the authentication result of the authentication access controller, the method further includes: The requesting device determines whether the digital signature of the authentication access controller has been verified. If the digital signature of the authentication access controller has been verified, the 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 9, characterized in that, The requesting device determines whether the digital signature of the authentication access controller has been verified, specifically including: When the first authentication request message also includes the digital signature of the authentication access controller, the first authentication server uses the digital certificate of the authentication access controller in the first authentication request message to verify the digital signature of the authentication access controller. If the requesting device receives the third authentication response message, the requesting device determines that the digital signature of the authentication access controller has been verified. When the third authentication response message also includes the digital signature of the authentication access controller, the first authentication result information also includes the digital certificate of the authentication access controller; then the requesting device uses the digital certificate of the authentication access controller in the first authentication result information to verify the digital signature of the authentication access controller, and determines whether the digital signature of the authentication access controller has been verified based on the verification result.
11. The method according to claim 1, characterized in that, The second authentication result information also includes the identity identifier of the requesting device. Therefore, 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 identity identifier of the requesting device in the second authentication result information and the identity identifier of the requesting device in the identity message; 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.
12. The method according to any one of claims 1 to 11, 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 legality of the digital certificate of the authentication access controller to obtain a first verification result, verifies the identity authentication code 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 first authentication result information, calculates and generates the first digital signature based on signature data including the second authentication result information, and generates the first authentication response message based on information including the first authentication result information, the first message authentication code of the first authentication server, the second authentication result information, and the first digital signature.
13. The method according to any one of claims 1 to 11, 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 legality of the digital certificate 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, and calculates and generates a second digital signature on the signature data including the first authentication result information and the identity message, or calculates and generates a second message authentication code on the information including the first authentication result information and the identity message. 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 identity message, and the second digital signature, or the second authentication request message includes the first authentication result information, the identity message, 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. If the verification is successful, the second authentication server verifies the identity authentication code of the requesting device in the identity message to obtain a second verification result. Based on the information including the second verification result, the second authentication result information is generated. The first message authentication code of the second authentication server is calculated based on the information including the first authentication result information. A third digital signature is calculated based on the signature data including the second authentication result information, or a third message authentication code is calculated based on the information including the second authentication result information. 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 message authentication code of the second authentication server, the second authentication result information, and the third digital signature. Alternatively, the second authentication response message includes the first authentication result information, the first message authentication code of the second authentication server, 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. If the verification is successful, the first authentication server calculates and generates a first digital signature from the signature data 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 message authentication code of the second authentication server, the second authentication result information, and the first digital signature.
14. The method according to any one of claims 1 to 11, 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 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 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.
15. A requesting device, characterized in that, The requesting device includes: The generation module is used to calculate and generate the identity authentication code of the requesting device by using a pre-shared key of a second authentication server trusted by the requesting device and a cryptographic algorithm agreed upon with the second authentication server, including the identity identifier of the requesting device. The sending module is used to send an identity message to the authentication access controller, the identity message including the identity identifier of the requesting device and the identity authentication code 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 includes first authentication result information and a first message authentication code of the second authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information. The verification module is used to verify the first message authentication code of the second authentication server using a pre-shared key with the second authentication server and a cryptographic algorithm agreed upon with 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.
16. The requesting device according to claim 15, characterized in that, The receiving module is further configured to: receive a first message sent by the authentication access controller, wherein the first message includes a first random number generated by the authentication access controller; Correspondingly, the identity message sent by the sending module also includes the first random number.
17. The requesting device according to claim 16, characterized in that, The first message also includes security capability parameter information supported by the authentication access controller; The determining module is further configured to: determine the specific security policy used by the requesting device based on the security capability parameter information; Correspondingly, the identity message sent by the sending module also includes the specific security policy.
18. The requesting device according to claim 16, characterized in that, The first 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 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; The identity message sent by the sending module also includes the identity identifier of at least one authentication server trusted by the requesting device.
19. The requesting device according to claim 15, characterized in that, The identity message sent by the sending module also includes the identity identifier of at least one authentication server trusted by the requesting device.
20. The requesting device according to claim 16, characterized in that, The third authentication response message also includes the identity identifier of the requesting device and / or a second random number; the verification module is further configured to: verify the consistency between the identity identifier of the requesting device in the third authentication response message and the identity identifier of the requesting device itself, and / or verify the consistency between the second random number in the third authentication response message 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.
21. The requesting device according to claim 15, characterized in that, The determining module is further configured to: determine whether the digital signature of the authentication access controller has been verified; if the digital signature of the authentication access controller has been verified, then determine the identity authentication result of the authentication access controller based on the first verification result in the first authentication result information.
22. The requesting device according to claim 21, characterized in that, The determination module determines whether the digital signature of the authentication access controller has been verified, specifically including: When the authentication access controller sends a first authentication request message to its trusted first authentication server, the first authentication server uses the digital certificate of the authentication access controller in the first authentication request message to verify the digital signature of the authentication access controller. If the receiving module receives the third authentication response message, it determines that the digital signature of the authentication access controller has been verified. When the third authentication response message also includes the digital signature of the authentication access controller, the first authentication result information also includes the digital certificate of the authentication access controller; then the digital signature of the authentication access controller is verified using the digital certificate of the authentication access controller in the first authentication result information, and the verification result determines whether the digital signature of the authentication access controller has been verified.
23. The requesting device according to any one of claims 15 to 22, 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.
24. An authentication access controller, characterized in that, The authentication access controller includes: The receiving module is used to receive an identity message sent by the requesting device. The identity message includes the identity identifier of the requesting device and the identity authentication code of the requesting device. The identity authentication code of the requesting device is generated by the requesting device using a pre-shared key with a second authentication server it trusts and using a cryptographic algorithm agreed upon with the second authentication server to calculate information including the identity identifier of the requesting device. The sending module is configured to send a first authentication request message to a first authentication server trusted by the authentication access controller, wherein the first authentication request message includes the identity message and the digital certificate of the authentication access controller; 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 message authentication code of the second authentication server, a second authentication result information, and a first digital signature of the first authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information. The second authentication result information includes a second verification result of the identity authentication code of the requesting device. The first digital signature is a digital signature generated by the first authentication server from signature data including the second authentication result information. The verification module is used to verify the first digital signature using the public key of the first authentication server. If the verification passes, the determining module determines the 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 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 verifies the first digital signature using the public key of the first authentication server. If the verification passes, 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 digital signature using the public key of the first authentication server; if the first digital signature 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 the first authentication result information and the first message authentication code of the second authentication server.
25. The authentication access controller according to claim 24, characterized in that, The sending module is further configured to: send a first message to the requesting device, the first message including a first random number generated by the authentication access controller; Correspondingly, the identity message received by the receiving module also includes the first random number; The verification module is further configured to: verify the consistency between the first random number in the identity message and the first random number generated by the authentication access controller; If the verification is successful, the sending module then sends a first authentication request message to the first authentication server trusted by the authentication access controller.
26. The authentication access controller according to claim 25, characterized in that, The first message sent by the sending module also includes the identity identifier of at least one authentication server trusted by the authentication access controller; The identity message received by the receiving module also includes the identity identifier of at least one authentication server trusted by the requesting device; The identity identifier of the at least one authentication server trusted by the requesting device is determined by the requesting device based on the identity identifier of the at least one authentication server trusted by the authentication access controller; 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 message and the identity identifier of at least one authentication server trusted by the authentication access controller in the first message.
27. The authentication access controller according to claim 24, characterized in that, The identity message received by the receiving module 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 and the identity identifier of the authentication server trusted by the authentication access controller.
28. The authentication access controller according to claim 25, characterized in that, The first authentication request message sent by the sending module also includes 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 received by the receiving module 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.
29. The authentication access controller according to claim 24, characterized in that, The second authentication result information in the first authentication response message received by the receiving module also includes the identity identifier of the requesting device; The verification module is further configured to: verify the consistency between the identity identifier of the requesting device in the second authentication result information and the identity identifier of the requesting device in the identity message; 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.
30. The authentication access controller according to any one of claims 24 to 29, 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.
31. 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 an identity message and a digital certificate of the authentication access controller. The identity message includes an identity identifier of the requesting device and an identity authentication code of the requesting device. The identity authentication code of the requesting device is generated by the requesting device using a pre-shared key with a second authentication server it trusts and employing a cryptographic algorithm agreed upon with the second authentication server to calculate information including the identity identifier 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 message authentication code of the second authentication server, a second authentication result information, and a first digital signature of the first authentication server. The first authentication result information includes a first verification result of the digital certificate of the authentication access controller. The first message authentication code of the second authentication server is generated by the second authentication server using a pre-shared key with the requesting device and a cryptographic algorithm agreed upon with the requesting device to calculate information including the first authentication result information. The second authentication result information includes a second verification result of the identity authentication code of the requesting device. The first digital signature is a digital signature generated by the first authentication server from signature data including the second authentication result information.
32. The first authentication server according to claim 31, characterized in that, The first authentication server also includes: The first verification module is used to verify the legality of the digital certificate of the authentication access controller to obtain a first verification result, and to verify the identity authentication code 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 first authentication result information, and calculate and generate the first digital signature based on the signature data including the second 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 message authentication code of the first authentication server, the second authentication result information, and the first digital signature.
33. The first authentication server according to claim 31, characterized in that, The first authentication server also includes: The second verification module is used to verify the legitimacy of the digital certificate of the authentication access controller to obtain a first verification result; The third generation module is used to generate the first authentication result information based on information including the first verification result, and to calculate and generate a second digital signature based on the signature data including the first authentication result information and the identity message, or to calculate and generate a second message authentication code based on the information including the first authentication result information and the identity message. 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 identity message, and the second digital signature, or the second authentication request message includes the first authentication result information, the identity message, 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; if the verification is successful, the second authentication server verifies the identity authentication code of the requesting device in the identity message to obtain a second verification result; generate the second authentication result information based on the information including the second verification result; calculate and generate the first message authentication code of the second authentication server based on the information including the first authentication result information; and calculate and generate a third digital signature based on the signature data including the second authentication result information or calculate and generate a third message authentication code based on the information including the second authentication result information. 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 message authentication code of the second authentication server, the second authentication result information and the third digital signature; or the second authentication response message includes the first authentication result information, the first message authentication code of the second authentication server, the second authentication result information and the third message authentication code. The second verification module is further configured to: verify the third digital signature using the public key of the second authentication server or verify the third message authentication code using a pre-shared key with the second authentication server; The third generation module is further configured to: if the third digital signature or the third message authentication code is verified, calculate and generate a first digital signature from the signature data including the second authentication result information, and generate the first authentication response message based on the information including the first authentication result information, the first message authentication code of the second authentication server, the second authentication result information and the first digital signature.
34. The first authentication server according to any one of claims 31 to 33, 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.
35. 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, an identity message, and a second digital signature; or the second authentication request message includes first authentication result information, an identity message, and a second message authentication code. The first authentication result information is generated by the first authentication server based on information including the first verification result, obtained by verifying the legitimacy of the digital certificate of the authentication access controller. The identity message includes the identity identifier of the requesting device and the identity authentication code of the requesting device. The identity authentication code of the requesting device is calculated by the requesting device using a pre-shared key with a trusted second authentication server and employing a cryptographic algorithm agreed upon with the second authentication server. The second digital signature is calculated by the first authentication server on signature data including the first authentication result information and the identity message, or the second message authentication code is calculated by the first authentication server on information including the first authentication result information and the identity message. 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. If the verification is successful, the identity authentication code of the requesting device in the identity message is verified to obtain a second verification result. The generation module is used to generate second authentication result information based on information including the second verification result, calculate and generate a first message authentication code for the second authentication server based on information including the first authentication result information, and calculate and generate a third digital signature based on signature data including the second authentication result information or calculate and generate a third message authentication code based on 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 message authentication code of the second authentication server, the second authentication result information, and the third digital signature. Alternatively, the second authentication response message includes the first authentication result information, the first message authentication code of the second authentication server, the second authentication result information, and the third message authentication code.
36. The second authentication server according to claim 35, 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.