Mobile terminal certificate mutual recognition method
Through the collaborative work of the certificate mutual recognition gateway and the mobile terminal certificate mutual recognition component, the mobile terminal can use a digital certificate to complete the network access authentication of multiple domains and the access authentication of APPs, solving the problems of insufficient storage resources and security risks, and achieving efficient utilization and improvement of security strength.
Patent Information
- Application Number
- CN202411987892.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-04-15
AI Technical Summary
Mobile terminals need multiple digital certificates when accessing multiple networks, resulting in insufficient storage resources of password modules and security risks for multiple external password modules.
The certificate mutual recognition gateway is used to maintain the complete certificate tree structure and authorization table. Through the certificate mutual recognition components and gateway assistance of the mobile terminal, the mobile terminal can complete the multi-domain network access authentication and APP access authentication with a digital certificate.
It realizes efficient utilization of mobile terminal resources, ensures security strength, and avoids the security risks of multiple certificate storage and external password modules.
Smart Images

Figure CN119834987A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of network identity authentication, and in particular to a mobile terminal certificate mutual recognition method. Background Art
[0002] When a mobile terminal needs to access multiple networks, it may need multiple digital certificates. The current method is to issue multiple certificates on the terminal, and authenticate the digital certificates issued by different networks at the network entrance when accessing different networks. This technology has the following main disadvantages:
[0003] 1. The available storage resources of the built-in password module of the mobile terminal are insufficient and cannot store multiple certificates.
[0004] like Figure 1 As shown in the figure, larger industries will use a multi-level CA approach to issue certificates.
[0005] At the same time, there may be multiple certificates on the terminal for different scenarios. For example, the device certificate can be used to send terminal trust reports, and the personnel certificate is used for access authentication when the APP accesses the APP server; the application certificate can be used for server authentication, and the certificate is also required to negotiate the symmetric key when encrypting data transmission (generally an encryption certificate. There is no difference in format between the encryption certificate and the signature certificate, but there are audit requirements in some high-security fields. The private key of the encryption certificate is generated on the platform side, so the platform side can intercept the traffic for decryption and audit).
[0006] A certificate is about 2KB, including a variety of personal information, which is personal privacy information. Therefore, it cannot be stored directly on the terminal. In most cases, it will be stored in the terminal password module (such as TCM, TF card). For built-in password modules with high I / O rates, NVRAM used to store certificates is often a scarce resource (the user-available NVRAM of TCM chips is about 10KB). Therefore, minimizing the number of certificates stored on the terminal side is crucial for effectively utilizing terminal-side computing resources and achieving more efficient encryption and decryption operations.
[0007] 2. Multiple external password modules pose security risks
[0008] The certificate and its corresponding private key need to be stored in the terminal password module. The high security requirements require that the password module must comply with the national secret requirements. The legal password module models and types recognized by different domains are different, resulting in the need for mobile terminals to use multiple external password modules to access the business server normally, such as using two USB keys to store certificates issued by different CAs. External password modules are prone to loss and damage, which causes inconvenience to users and also poses security risks. Summary of the invention
[0009] In view of the deficiencies in the prior art, the present invention aims to provide a method for mutual recognition of mobile terminal certificates.
[0010] In order to achieve the above object, the present invention adopts the following technical solution:
[0011] A mobile terminal certificate mutual recognition method includes two stages: network access authentication of the mobile terminal and construction of an encrypted transmission channel between an APP and an APP server:
[0012] 1. Network access authentication of mobile terminals:
[0013] (1) The certificate mutual recognition gateway maintains the complete certificate tree structure and identifies the level of the CA in the domain;
[0014] An industry organization has multiple network domains, among which there is a core network domain and the rest are extended network domains. Different network domains are physically isolated by network gates. Each network domain deploys its own certificate center CA, and each network domain has a certificate mutual recognition gateway. There is a hierarchical relationship between the certificate centers of each network domain. The certificate center of the core network domain is the root CA. The root CA can issue certificates downward, including institutional certificates or CA certificates, as well as personnel certificates, device certificates and application certificates. CAs at all levels of network domains issue personnel certificates for mobile terminals in their network domains, and issue institutional certificates or CA certificates to subordinate CAs for certificate mutual recognition. The gateway issues a device certificate and an application certificate for the APP server; a CA with an institutional certificate issued by a superior CA can continue to issue certificates downward; a certificate includes certificate holder information, a signature segment, and a certificate public key. The signature segment is a ciphertext obtained by encrypting the certificate holder information with an asymmetric encryption algorithm using the private key of the CA certificate; the holder of a personnel certificate is a user code, and the signature segment is a user code signed by the CA private key; the holder of an institutional certificate is an institutional code, and the signature segment is an institutional code signed by the CA private key; the holder of a device certificate is a device code, and the signature segment is a device code signed by the CA private key; the holder of an application certificate is a device code, and the signature segment is a device code signed by the CA private key. The holder of the certificate is the application code, and the signature segment is the application code signed by the CA private key; if the signature segment of the CA certificate of a certificate center is not issued by the superior certificate center, but is signed with the private key of its own CA certificate, then the certificate center is a self-signed CA; the certificate mutual recognition gateways of all levels of network domains obtain the CA certificate information of the CA of the network domain and the CA certificate information issued by the CA of the network domain, and the obtained CA certificate information includes the certificate code and CA certificate; the certificate mutual recognition gateways of all levels of network domains forward the obtained CA certificate information to the certificate mutual recognition gateway of the upper level; the certificate mutual recognition gateways of the core network domain obtain the CA certificate information of the CA of the network domain and the CA certificate information issued by the CA of the network domain. Get the CA certificate information of the certificate center of all extended domains and the CA certificate information issued by the extended domain CA, and build a complete certificate tree structure with the CA certificate of the root CA as the tree root according to the hierarchical relationship of certificate issuance. The certificate mutual recognition gateway of the domain where the self-signed CA is located reports the CA certificate information to the certificate mutual recognition gateway of the upper-level domain based on the real superior-subordinate organizational relationship, so as to insert the CA certificate of the self-signed CA and the CA certificate issued by the self-signed CA into the corresponding level of the complete certificate tree structure; the certificate mutual recognition gateway of the core domain sends the complete certificate tree structure to the certificate mutual recognition gateways of other domains step by step;
[0015] (2) The certificate mutual recognition gateway maintains an authorization table, which records user information that can access the APP server deployed in the network domain where the certificate mutual recognition gateway is located, and the user information includes a user code;
[0016] (3) The certificate mutual recognition component of the mobile terminal sends the digital certificate of the mobile terminal and the device information of the mobile terminal signed by the private key of the digital certificate of the mobile terminal to the certificate mutual recognition gateway of the target network domain to be accessed; the device information includes the identity ID of the mobile terminal;
[0017] (4) The certificate mutual recognition gateway of the target network domain calls the signature verification interface provided by the CA of the target network domain to perform signature verification. The signature verification refers to calling the public key of the CA's CA certificate to decrypt the signature segment of the mobile terminal digital certificate, and comparing the certificate holder information obtained by decryption with the holder information carried in the certificate. If they are consistent, the signature verification is successful, and if they are inconsistent, the signature verification fails. If the signature verification is successful, it means that the digital certificate of the mobile terminal is issued by the CA of the target network domain. After the signature verification is successful, the user information is obtained from the digital certificate of the mobile terminal, and the user information includes a user code. If the signature verification fails, it means that the certificate of the mobile terminal is not issued by the CA of the target network domain, then the signature verification interface provided by other CAs is called according to the complete certificate tree structure for signature verification until the signature verification is successful, and the user information is obtained from the digital certificate of the mobile terminal. The certificate mutual recognition gateway records the CA that issued the digital certificate of the mobile terminal, and the record format is: the identity ID of the mobile terminal and the certificate code of the CA certificate that issued the digital certificate for the mobile terminal.
[0018] (5) The certificate mutual recognition gateway of the target network domain calls the public key of the digital certificate of the mobile terminal to verify the signed device information of the mobile terminal. After the verification is successful, the plain text device information of the mobile terminal is obtained; the device information includes the identity ID of the mobile terminal;
[0019] (6) The certificate mutual recognition gateway of the target network domain records the relationship between user information and device information in the format of user code, mobile terminal identity ID, and mobile terminal IP address. The network access authentication of the mobile terminal is successful;
[0020] (7) The certificate mutual recognition gateway of the target network domain sends a notification of successful authentication to the mobile terminal;
[0021] 2. Build an encrypted transmission channel between the APP and the APP server:
[0022] (8) The certificate mutual recognition component on the mobile terminal sends an access request to the certificate mutual recognition gateway in the target network domain, which includes a random number, the version number of the APP, and the cipher suite;
[0023] (9) After receiving the access request, the certificate mutual recognition gateway of the target network domain finds the corresponding user information in the relationship record between the device information and user information of the stored mobile terminal based on the mobile terminal IP address, and queries the authorization table based on the user information to determine whether the user has the authority to access the target network domain APP server; if the corresponding user information can be found in the authorization table, it means that the user has the authority to access the target network domain APP server, and the certificate mutual recognition gateway of the target network domain responds to the access request, and the response includes a random number and a version number and a cipher suite to confirm the use;
[0024] (10) The certificate mutual recognition gateway of the target network domain finds the CA that issued the mobile terminal digital certificate based on the mobile terminal identity ID, and calls the private key of the CA certificate of the CA to sign the device code of the certificate mutual recognition gateway of the target network domain, thereby obtaining the device certificate of the certificate mutual recognition gateway of the target network domain;
[0025] (11) The certificate mutual recognition gateway of the target network domain sends the device certificate to the certificate mutual recognition component of the mobile terminal;
[0026] (12) The mobile terminal uses the pre-installed CA certificate public key to verify the signature segment of the received device certificate. After the verification is completed, the device code of the target domain certificate mutual recognition gateway is obtained to verify the legal identity of the certificate mutual recognition gateway;
[0027] (13) The mobile terminal derives a symmetric key based on the random number, and encrypts the symmetric key with the public key of the device certificate of the certificate mutual recognition gateway to obtain a symmetric key ciphertext;
[0028] (14) The mobile terminal sends the symmetric key ciphertext to the certificate mutual recognition gateway through the certificate mutual recognition component;
[0029] (15) The mobile terminal announces the end of the handshake, after which the mobile terminal and the target domain's certificate mutual recognition gateway are all encrypted with the symmetric key generated in step (13);
[0030] (16) The certificate mutual recognition gateway of the target network domain uses the private key of the device certificate of the certificate mutual recognition gateway to decrypt the symmetric key ciphertext and obtain the plaintext symmetric key;
[0031] (17) The certificate mutual recognition gateway of the target network domain announces the end of the handshake, after which all communications between the certificate mutual recognition gateway of the target network domain and the mobile terminal are encrypted using the symmetric key decrypted in step (16); thereafter, all communications between the APP of the mobile terminal and the APP server of the target network domain are encrypted communications using the symmetric key encryption.
[0032] Furthermore, in step (1), the complete certificate tree structure is stored in the form of nodes and links. The data structure of the node is a dictionary, and the specific format is: "Certificate code: certificate public key, signature segment, holder; node level: 0, 1, 2, 3...", and the link information is a list, and the specific format is: "Certificate code 1####certificate code 2,...", where "####" is a separator.
[0033] Furthermore, in step (4), the certificate mutual recognition gateway of the target domain calls the signature verification interface provided by the CA of the target domain for signature verification. If the signature verification fails, it means that the certificate of the mobile terminal is not issued by the CA of the target domain. Then, based on the Dijkstra algorithm, the CA nodes with a distance value of 1 from the CA of the domain are traversed on the complete certificate tree structure, and the signature verification interface provided by the CA node that meets the distance value condition is called for signature verification. If the signature verification still fails, the distance value is increased to 2, and all CA nodes that meet the distance value condition are traversed for signature verification. If the signature verification still fails, the distance value is increased again until the signature verification passes.
[0034] Furthermore, the process of generating a complete certificate tree structure by the certificate mutual recognition gateway of the core network domain is as follows: when the certificate mutual recognition gateway receives the CA certificate information sent by the subordinate certificate mutual recognition gateway, it uses the CA certificate public key of the CA in the network domain to verify the signature segment of the received CA certificate information of the level 0 node. If the verification is successful, it means that the certificate mutual recognition gateway is a subordinate certificate mutual recognition gateway, then based on the certificate code of the level 0 node, the node level N of the level 0 node is obtained in the node database of the network domain, the node level of all level 1 nodes is updated to N+1, and the CA certificate information of the updated level 1 node is inserted into the node database of the network domain, and a link is created from the level 0 node to all level 1 nodes in the format of "certificate code 1####certificate code 2", and all link information is inserted into the link database of the network domain; if the verification fails, It indicates that the CA of the network domain where the certificate mutual recognition gateway is located is a self-signed CA. The CA certificate private key of the CA of the network domain is called to sign the certificate holder of the received level 0 node, and the signature segment of the CA certificate information of the level 0 node is updated. The node level M of the CA node of the network domain is obtained based on the certificate code of the CA of the network domain, the node level of the level 0 node is updated to M+1, and the node level of the level 1 node is updated to M+2. The level 0 node and all level 1 nodes are inserted into the node database of the network domain, and links are created from the CA node of the network domain to the level 0 node and from the level 0 node to all level 1 nodes in the format of "certificate code 1####certificate code 2". All links are inserted into the link database of the network domain. After all certificate mutual recognition gateways have completed the above operations, the certificate mutual recognition gateway of the core domain generates a complete certificate tree structure.
[0035] The beneficial effect of the present invention is that: by using the present invention, a mobile terminal can use one digital certificate to complete identity authentication when accessing multiple different network domains and signature verification and encryption and decryption in different scenarios. In the present invention, since different digital certificates are the same root certificate, the security strength is consistent with the security strength of issuing multiple digital certificates and completing authentication in the mobile terminal, and the efficient use of mobile terminal resources can be achieved under the premise of ensuring that the security strength is not downgraded. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 It is a tree structure diagram of the existing multi-level CA;
[0037] Figure 2 Schematic diagram of the formation process of a complete certificate tree structure in Example 1 of the present invention;
[0038] Figure 3 Schematic diagram of the CA tree structure finally formed in Example 1 of the present invention;
[0039] Figure 4 This is a timing diagram of the mobile terminal certificate mutual recognition method in Example 1 of the present invention. DETAILED DESCRIPTION
[0040] The present invention will be further described below in conjunction with the accompanying drawings. It should be noted that this embodiment is based on the technical solution and provides a detailed implementation method and specific operation process, but the protection scope of the present invention is not limited to this embodiment.
[0041] Example 1
[0042] This embodiment provides a method for mutual recognition of mobile terminal certificates.
[0043] An industry organization has multiple network domains. Network domain 1 is the core network domain. Most business servers are deployed in network domain 1. The rest are extended network domains, such as mobile information network and video network. Business servers can be deployed in extended network domains. Different network domains are physically isolated by network gates. Each network domain deploys its own certificate authority (CA). The certificate authorities of each network domain have a hierarchical relationship, and the certificate authority CA1 of network domain 1 is the root CA.
[0044] The root CA can issue certificates downward, including institutional certificates or CA certificates, as well as personnel certificates, device certificates and application certificates; CAs at all levels of domains issue personnel certificates for mobile terminals in their domains, institutional certificates or CA certificates for subordinate CAs, device certificates for certificate mutual recognition gateways, and application certificates for APP servers; CAs with institutional certificates issued by superior CAs can continue to issue certificates downward.
[0045] The certificate includes the certificate holder information, the signature segment and the certificate public key. The signature segment is the ciphertext obtained by encrypting the certificate holder information with an asymmetric encryption algorithm using the private key of the CA certificate; the holder of the personnel certificate is the user code, and the signature segment is the user code signed by the CA private key; the holder of the organization certificate is the organization code, and the signature segment is the organization code signed by the CA private key; the holder of the device certificate is the device code, and the signature segment is the device code signed by the CA private key; the holder of the application certificate is the application code, and the signature segment is the application code signed by the CA private key.
[0046] If the signature segment of a certificate center's CA certificate is not issued by a superior certificate center, but is signed with the private key of its own CA certificate, then the certificate center is a self-signed CA.
[0047] like Figure 2 As shown, the certificate mutual recognition gateways of each level of network domains obtain the CA certificate information of the CA of the network domain and the CA certificate information issued by the CA of the network domain from the CA of the network domain, and the obtained CA certificate information includes the certificate code and certificate; the certificate mutual recognition gateways of each level of network domains forward the obtained CA certificate information to the certificate mutual recognition gateway of the upper level; the certificate mutual recognition gateway of the core network domain obtains the CA certificate information of the certificate centers of all extended network domains and the CA certificate information issued by the CA of the extended network domain and builds a complete certificate tree structure with the CA certificate of the root CA as the tree root according to the hierarchical relationship of certificate issuance; the certificate mutual recognition gateway of the network domain where the self-signed CA is located reports the CA certificate information to the certificate mutual recognition gateway of the upper level network domain based on the real superior-subordinate organizational relationship, thereby inserting the CA certificate of the self-signed CA and the CA certificate issued by the self-signed CA into the corresponding level of the complete certificate tree structure; the certificate mutual recognition gateway of the core network domain sends the complete certificate tree structure down to the certificate mutual recognition gateways of other network domains step by step.
[0048] Specifically, the process of the certificate mutual recognition gateway of the core network domain generating a complete certificate tree structure is as follows: when the certificate mutual recognition gateway receives the CA certificate information sent by the subordinate certificate mutual recognition gateway, it uses the CA certificate public key of the network domain CA to verify the signature segment of the received level 0 node CA certificate information. If the verification is successful, it means that the certificate mutual recognition gateway is a subordinate certificate mutual recognition gateway. Then, based on the certificate code of the level 0 node, the node level N of the level 0 node is obtained in the network domain node database, and the node level of all level 1 nodes is updated to N+1, and the updated CA certificate information of the level 1 node is inserted into the network domain node database, and a link is created between the level 0 node and all level 1 nodes in the format of "certificate code 1####certificate code 2", and all link information is inserted into the link database of the network domain; if the verification fails, it means If the CA of the network domain where the certificate mutual recognition gateway is located is a self-signed CA, the CA certificate private key of the network domain CA is called to sign the certificate holder of the received level 0 node, and the signature segment of the CA certificate information of the level 0 node is updated. The node level M of the CA node in the network domain is obtained based on the certificate code of the network domain CA, the node level of the level 0 node is updated to M+1, and the node level of the level 1 node is updated to M+2. The level 0 node and all level 1 nodes are inserted into the node database of the network domain, and links are created from the network domain CA node to the level 0 node and from the level 0 node to all level 1 nodes in the format of "certificate code 1####certificate code 2". All links are inserted into the link database of the network domain. After all certificate mutual recognition gateways have completed the above operations, the certificate mutual recognition gateway of the core network domain generates a complete certificate tree structure, such as Figure 3 It should be noted that Figure 3 Only CA certificate information is saved in the complete certificate tree structure. In actual applications, you can also choose whether to save the personnel certificate, device certificate and application certificate information issued by each CA at the same time as needed.
[0049] Mobile terminals usually have personnel certificates. Before the APP on the mobile terminal accesses the corresponding business server, it needs to complete certificate-based authentication. In most cases, the mobile terminal only accesses the business server in the domain where the CA that issued its certificate is located. For example, if the mobile terminal has a personnel certificate issued by CA12, the certificate center of domain 2, then it can access the business server in domain 2. However, in some special scenarios, mobile terminals with certificates issued by CA1 or other CAs with the same root can also access the business server in domain 2 based on the authorization table.
[0050] For example, APP1 is a mobile application deployed in network domain 1, and APP2 is a business application deployed in network domain 2. When there is only one digital certificate (such as a personnel certificate issued by CA1 or CA12) on the mobile terminal, the certificate mutual recognition component on the mobile terminal and the certificate mutual recognition gateway in the network domain where the CA that issued the digital certificate is located will assist in completing the network access authentication of the mobile terminal and the access authentication of APP1 and APP2, and complete the symmetric key interaction. When the mobile terminal needs to perform other operations based on asymmetric encryption operations in the future, it can also call the public and private key pair of this digital certificate to perform corresponding encryption and decryption operations.
[0051] like Figure 4 As shown, the certificate mutual recognition component and the certificate mutual recognition gateway complete the network access authentication of the mobile terminal and the access authentication and key negotiation of the APP on the mobile terminal to the APP server in the network domain according to the following process.
[0052] 1. Network access authentication of mobile terminals:
[0053] (1) The certificate mutual recognition gateway maintains a complete certificate tree structure and identifies the level of the CA in the network domain. The complete certificate tree structure is stored in the form of nodes and links. The data structure of the node is a dictionary, and the specific format is: "Certificate code: certificate public key, signature segment, holder; node level: 0, 1, 2, 3..." The link information is a list, and the specific format is: "Certificate code 1####certificate code 2,...", where "####" is a separator.
[0054] (2) The certificate mutual recognition gateway maintains an authorization table, which records the user information (institutions and / or personnel) that can access the APP server deployed in the domain where the certificate mutual recognition gateway is located. The authorization table structure can be saved using the "user code: organization code" dictionary structure.
[0055] (3) The certificate mutual recognition component of the mobile terminal sends the digital certificate of the mobile terminal and the device information of the mobile terminal signed with the private key of the digital certificate of the mobile terminal to the certificate mutual recognition gateway of the target network domain to be accessed; the device information includes the identity ID of the mobile terminal.
[0056] (4) The certificate mutual recognition gateway of the target network domain calls the signature verification interface provided by the CA of the target network domain to perform signature verification. The signature verification refers to calling the CA certificate public key of the CA to decrypt the signature segment of the mobile terminal digital certificate, and comparing the certificate holder information obtained by decryption with the holder information carried in the certificate. If they are consistent, the signature verification passes; if they are inconsistent, the signature verification fails. If the signature verification passes, it means that the digital certificate of the mobile terminal is issued by the CA of the target network domain. After the signature verification passes, the user information is obtained from the digital certificate of the mobile terminal, and the user information includes the user code. If the signature verification fails, it means that the certificate of the mobile terminal is not issued by the CA of the target network domain, then the signature verification interface provided by other CAs is called according to the complete certificate tree structure for signature verification until the signature verification passes, and the user information is obtained from the digital certificate of the mobile terminal. The certificate mutual recognition gateway records the CA that issued the digital certificate of the mobile terminal, and the record format is: the identity ID of the mobile terminal and the certificate code of the CA certificate that issued the digital certificate for the mobile terminal.
[0057] Specifically, the certificate mutual recognition gateway of the target domain calls the signature verification interface provided by the CA of the target domain for signature verification. If the signature verification fails, it means that the certificate of the mobile terminal is not issued by the CA of the target domain. Then, based on the Dijkstra algorithm, the CA node with a distance value of 1 from the CA of the domain is traversed on the complete certificate tree structure, and the signature verification interface provided by the CA node that meets the distance value condition is called for signature verification. If the signature verification still fails, the distance value is increased to 2, and all CA nodes that meet the distance value condition are traversed for signature verification. If the signature verification still fails, the distance value is increased again until the signature verification passes.
[0058] (5) The certificate mutual recognition gateway of the target network domain calls the digital certificate public key of the mobile terminal to verify the signed device information of the mobile terminal. After the verification is successful, the plain text device information of the mobile terminal is obtained; the device information includes the identity ID of the mobile terminal.
[0059] (6) The certificate mutual recognition gateway of the target domain records the relationship between the user information and the device information. The record format is user code, mobile terminal identity ID, and mobile terminal IP address. The network access authentication of the mobile terminal is successful.
[0060] (7) The certificate mutual recognition gateway of the target domain sends an authentication success notification to the mobile terminal.
[0061] 2. Build an encrypted transmission channel between the APP and the APP server:
[0062] (8) The certificate mutual recognition component on the mobile terminal sends an access request to the certificate mutual recognition gateway in the target network domain, which includes a random number, the version number of the APP, and the cipher suite;
[0063] (9) After receiving the access request, the certificate mutual recognition gateway of the target domain finds the corresponding user information in the relationship record between the device information and user information of the stored mobile terminal based on the IP address of the mobile terminal, and queries the authorization table based on the user information to determine whether the user has the authority to access the APP server of the target domain; if the corresponding user information can be found in the authorization table, it means that the user has the authority to access the APP server of the target domain, and the certificate mutual recognition gateway of the target domain responds to the access request, and the response includes a random number and a version number and a password suite to confirm the use.
[0064] (10) The certificate mutual recognition gateway of the target network domain finds the CA that issued the mobile terminal digital certificate based on the mobile terminal identity ID, and calls the private key of the CA certificate of the CA to sign the device code of the certificate mutual recognition gateway of the target network domain, thereby obtaining the device certificate of the certificate mutual recognition gateway of the target network domain.
[0065] (11) The certificate mutual recognition gateway of the target domain sends the device certificate to the certificate mutual recognition component of the mobile terminal.
[0066] (12) The mobile terminal uses the pre-installed CA certificate public key to verify the signature segment of the received device certificate. After the verification is completed, the device code of the target domain certificate mutual recognition gateway is obtained to verify the legal identity of the certificate mutual recognition gateway.
[0067] (13) The mobile terminal derives a symmetric key based on the random number, and encrypts the symmetric key using the public key of the device certificate of the certificate mutual recognition gateway to obtain the symmetric key ciphertext.
[0068] (14) The mobile terminal sends the symmetric key ciphertext to the certificate mutual recognition gateway through the certificate mutual recognition component.
[0069] (15) The mobile terminal announces the end of the handshake, after which the mobile terminal and the target domain's certificate mutual recognition gateway are all encrypted using the symmetric key generated in step (13).
[0070] (16) The certificate mutual recognition gateway of the target network domain uses the private key of the device certificate of the certificate mutual recognition gateway to decrypt the symmetric key ciphertext and obtain the plaintext symmetric key.
[0071] (17) The certificate mutual recognition gateway of the target network domain announces the end of the handshake, and then all communications between the certificate mutual recognition gateway of the target network domain and the mobile terminal are encrypted with the symmetric key decrypted in step (16). After that, all communications between the APP of the mobile terminal and the APP server of the target network domain are encrypted communications encrypted with the symmetric key.
[0072] Through the above method, through the certificate mutual recognition component of the mobile terminal and the certificate mutual recognition gateway of the network domain, the mobile terminal can use a digital certificate to achieve terminal network authentication and APP access authentication in multiple network domains. The certificate mutual recognition gateway of the network domain finds the CA that issues the digital certificate for the mobile terminal based on the maintained complete certificate tree structure, and requests the CA to issue a device certificate for itself, ensuring that the mobile terminal can complete the key negotiation normally without any changes.
[0073] Example 2
[0074] This embodiment provides an application example of the method described in Embodiment 1.
[0075] The digital certificate 1 on the mobile terminal is issued by CA1 (i.e. the root CA of domain 1). Now the mobile terminal wants to use APP2 to access APP server 2 in domain 2. The certificate mutual recognition component of the mobile terminal and the certificate mutual recognition gateway of domain 2 complete the network access authentication of the mobile terminal in domain 2 and the access authentication of APP2 based on digital certificate 1, and complete the symmetric key interaction. If transmission encryption is not required, the symmetric key can also be used for access credentials.
[0076] The certificate mutual recognition component and the certificate mutual recognition gateway complete the terminal network access authentication, access authentication of APP2 to APP server 2, and key negotiation according to the following process:
[0077] 1. Network access authentication of mobile terminals:
[0078] 1) The certificate mutual recognition gateway of domain 2 maintains the complete CA tree structure and identifies the level of the certificate center CA12 of domain 2;
[0079] 2) Certificate mutual recognition gateway maintenance authorization table;
[0080] 3) The mobile terminal certificate mutual recognition component sends the digital certificate 1 of the mobile terminal and the device information encrypted (signed) with the private key of the digital certificate 1 to the certificate mutual recognition gateway of the network domain 2;
[0081] 4) The certificate mutual recognition gateway of network domain 2 calls the signature verification interface provided by CA12 for signature verification. If the signature verification fails, it means that the digital certificate of the mobile terminal is not issued by CA12. Then the certificate mutual recognition gateway of network domain 2 calls the signature verification interface provided by other CAs in the complete certificate tree structure for signature verification. The certificate mutual recognition gateway of network domain 2 uses the signature verification interface provided by CA1 for signature verification. The user information is obtained, and it is confirmed that the digital certificate 1 of the mobile terminal is issued by CA1.
[0082] 5) The certificate mutual recognition gateway of network domain 2 calls the public key of the digital certificate of the mobile terminal to verify the signed device information of the mobile terminal, and obtains the plain text device information of the mobile terminal after the verification is successful; the device information includes the identity ID of the mobile terminal;
[0083] 6) The certificate mutual recognition gateway of network domain 2 records the relationship between user information and device information in the format of user code, mobile terminal identity ID, and mobile terminal IP address; the mobile terminal is successfully authenticated in network domain 2;
[0084] 7) The certificate mutual recognition gateway of domain 2 sends an authentication success notification to the terminal side.
[0085] 2. APP access authentication:
[0086] 8) APP2 of the mobile terminal sends an access request to APP server 2 of network domain 2, which includes a random number, version number and cipher suite;
[0087] 9) After receiving the access request, the certificate mutual recognition gateway of network domain 2 finds the corresponding user information in the relationship record between the device information and user information of the stored mobile terminal based on the mobile terminal IP address, and queries the authorization table to determine whether the user has the authority to access APP server 2; if the user has the authority, the request is responded to, and the response includes a random number, as well as the version number and cipher suite to confirm the use;
[0088] 10) The certificate mutual recognition gateway of network domain 2 requests CA1, which issues the digital certificate of the mobile terminal, to sign the information of the certificate mutual recognition gateway of network domain 2 with the private key of CA1's CA certificate, and issues a device certificate for the certificate mutual recognition gateway of network domain 2;
[0089] 11) The certificate mutual recognition gateway of network domain 2 sends its device certificate to APP2 of the mobile terminal;
[0090] 12) The mobile terminal uses the pre-installed CA1 CA certificate public key to verify the signature of the received device certificate and verify the legal identity of the certificate mutual recognition gateway;
[0091] 13) The mobile terminal derives a symmetric key based on the random number, and encrypts the symmetric key with the public key of the device certificate of the certificate mutual recognition gateway to obtain the symmetric key ciphertext;
[0092] 14) APP2 of the mobile terminal sends the symmetric key ciphertext to the gateway through the certificate mutual recognition component;
[0093] 15) The mobile terminal announces the end of the handshake, and all subsequent communications are encrypted with the symmetric key;
[0094] 16) The certificate mutual recognition gateway of network domain 2 uses the private key of the device certificate of the certificate mutual recognition gateway to decrypt the symmetric key ciphertext and obtain the plaintext symmetric key;
[0095] 17) The certificate mutual recognition gateway of domain 2 announces the end of the handshake, and all subsequent communications are encrypted with symmetric keys.
[0096] Example 3
[0097] This embodiment provides another application example of the method described in Embodiment 1.
[0098] In this embodiment, the digital certificate 2 on the mobile terminal is issued by the certificate center CA12 of the network domain 2. In this embodiment, the mobile terminal needs to use APP1 to access the APP server 1 in the network domain 2. The certificate mutual recognition component and the certificate mutual recognition gateway complete the network access authentication of the mobile terminal and the access authentication of APP1 based on the digital certificate 2, and complete the symmetric key interaction. If transmission encryption is not required, the symmetric key can also be used for access credentials.
[0099] The certificate mutual recognition component and the certificate mutual recognition gateway complete the terminal network access authentication, access authentication of APP1 to APP server 1, and key negotiation according to the following process:
[0100] 1. Network access authentication of mobile terminals:
[0101] 1) The certificate mutual recognition gateway of domain 2 maintains the complete CA tree structure and identifies the level where CA12 is located;
[0102] 2) The certificate mutual recognition gateway of domain 2 maintains the authorization table;
[0103] 3) The certificate mutual recognition component of the mobile terminal sends the digital certificate 2 of the mobile terminal and the device information encrypted (signed) with the private key of the digital certificate to the certificate mutual recognition gateway of the network domain 2;
[0104] 4) The certificate mutual recognition gateway of domain 2 calls the signature verification interface provided by CA12 to verify the signature. If the signature verification passes, the user information is obtained;
[0105] 5) The certificate mutual recognition gateway of network domain 2 calls the public key of the digital certificate of the mobile terminal to verify the signed device information of the mobile terminal, and obtains the plain text device information of the mobile terminal after the verification is successful; the device information includes the identity ID of the mobile terminal;
[0106] 6) Because the mobile terminal issues a digital certificate signed by CA12 at the same level, it has the authority to access domain 2 and record the relationship between user information and device information in the format of user code, mobile terminal identity ID, and mobile terminal IP address; the mobile terminal is successfully authenticated in domain 2;
[0107] 7) The certificate mutual recognition gateway of network domain 2 sends an authentication success notification to the mobile terminal.
[0108] 2. APP access authentication
[0109] 8) APP1 of the mobile terminal sends an access request to APP server 1 through the certificate mutual recognition component, which includes a random number, version number and cipher suite;
[0110] 9) After receiving the access request, the certificate mutual recognition gateway of network domain 2 finds the corresponding user information in the relationship record between the device information and user information of the stored mobile terminal based on the mobile terminal IP address, and then queries the authorization table to see whether the user has the authority to access the corresponding APP server 1; if the user has the authority, the request is responded to, and the response includes a random number and the version number and cipher suite to confirm the use;
[0111] 10) The certificate mutual recognition gateway of network domain 2 uses the CA certificate private key of CA12 to sign the information of the certificate mutual recognition gateway of network domain 2 and issue a device certificate for the certificate mutual recognition gateway of network domain 2;
[0112] 11) The certificate mutual recognition gateway of network domain 2 sends its device certificate to APP1 of the mobile terminal;
[0113] 12) The mobile terminal uses the pre-installed CA certificate public key of CA12 to verify the signature of the device certificate and verify the legal identity of the certificate mutual recognition gateway of domain 2;
[0114] 13) The mobile terminal derives a symmetric key based on the random number, and encrypts the symmetric key with the public key of the device certificate of the certificate mutual recognition gateway to obtain the symmetric key ciphertext;
[0115] 14) APP1 of the mobile terminal sends the symmetric key ciphertext to the certificate mutual recognition gateway of network domain 2;
[0116] 15) The mobile terminal announces the end of the handshake, and all subsequent communications are encrypted with the symmetric key;
[0117] 16) The certificate mutual recognition gateway of network domain 2 uses the private key of the device certificate of the certificate mutual recognition gateway to decrypt the symmetric key ciphertext and obtain the plaintext symmetric key;
[0118] 17) The certificate mutual recognition gateway of domain 2 announces the end of the handshake, and all subsequent communications are encrypted with symmetric keys.
[0119] For those skilled in the art, various corresponding changes and modifications can be made according to the above technical solutions and concepts, and all of these changes and modifications should be included in the protection scope of the claims of the present invention.
Claims
1. A method for mutual recognition of mobile terminal certificates, characterized in that: It includes two stages: network authentication of mobile terminals and construction of an encrypted transmission channel between the APP and the APP server:
1. Network access authentication of mobile terminals: (1) The certificate mutual recognition gateway maintains the complete certificate tree structure and identifies the level of the CA in the domain; An industry organization has multiple network domains, among which there is a core network domain and the rest are extended network domains. Different network domains are physically isolated through network gates. Each network domain deploys its own certificate center CA, and each network domain has a certificate mutual recognition gateway. There is a hierarchical relationship between the certificate centers of each network domain, and the certificate center of the core network domain is the root CA. The root CA can issue certificates downward, including institutional certificates or CA certificates, as well as personnel certificates, device certificates and application certificates. CAs at all levels of network domains issue personnel certificates for mobile terminals in their network domains, issue agency certificates or CA certificates to subordinate CAs, issue device certificates to certificate mutual recognition gateways, and issue application certificates to APP servers; A CA with an institutional certificate issued by a superior CA can continue to issue certificates downward; a certificate includes certificate holder information, a signature segment and a certificate public key, wherein the signature segment is a ciphertext obtained by encrypting the certificate holder information with an asymmetric encryption algorithm using the private key of the CA certificate; the holder of a personnel certificate is a user code, and the signature segment is a user code signed by the CA private key; the holder of an institutional certificate is an institutional code, and the signature segment is an institutional code signed by the CA private key; the holder of a device certificate is a device code, and the signature segment is a device code signed by the CA private key; the holder of an application certificate is an application code, and the signature segment is an application code signed by the CA private key; If the signature segment of a certificate center's CA certificate is not issued by a superior certificate center, but is signed with the private key of its own CA certificate, then the certificate center is a self-signed CA; the certificate mutual recognition gateway of each level of network domain obtains the CA certificate information of the network domain CA and the CA certificate information issued by the network domain CA from the network domain CA. The obtained CA certificate information includes the certificate code and CA certificate; The certificate mutual recognition gateways at all levels of network domains forward the obtained CA certificate information to the certificate mutual recognition gateway at the upper level; The certificate mutual recognition gateway of the core network domain obtains the CA certificate information of the certificate centers of all extended network domains and the CA certificate information issued by the extended network domain CA, and builds a complete certificate tree structure with the CA certificate of the root CA as the tree root according to the hierarchical relationship of certificate issuance. The certificate mutual recognition gateway of the network domain where the self-signed CA is located reports the CA certificate information to the certificate mutual recognition gateway of the upper-level network domain based on the real superior-subordinate organizational relationship, thereby inserting the CA certificate of the self-signed CA and the CA certificate issued by the self-signed CA into the corresponding level of the complete certificate tree structure; The certificate mutual recognition gateway of the core network domain sends the complete certificate tree structure to the certificate mutual recognition gateways of other network domains step by step; (2) The certificate mutual recognition gateway maintains an authorization table, which records user information that can access the APP server deployed in the network domain where the certificate mutual recognition gateway is located, and the user information includes a user code; (3) The certificate mutual recognition component of the mobile terminal sends the digital certificate of the mobile terminal and the device information of the mobile terminal signed by the private key of the digital certificate of the mobile terminal to the certificate mutual recognition gateway of the target network domain to be accessed; the device information includes the identity ID of the mobile terminal; (4) The certificate mutual recognition gateway of the target network domain calls the signature verification interface provided by the CA of the target network domain to perform signature verification. The signature verification refers to calling the public key of the CA certificate of the CA to decrypt the signature segment of the digital certificate of the mobile terminal, and comparing the certificate holder information obtained by decryption with the holder information carried in the certificate. If they are consistent, the signature verification is passed; if they are inconsistent, the signature verification fails. If the signature verification is passed, it means that the digital certificate of the mobile terminal is issued by the CA of the target network domain. After the signature verification is passed, the user information is obtained from the digital certificate of the mobile terminal, and the user information includes the user code; If the signature verification fails, it means that the certificate of the mobile terminal is not issued by the CA of the target domain. Then, the signature verification interface provided by other CAs is called according to the complete certificate tree structure for signature verification until the signature verification passes. The user information is obtained from the digital certificate of the mobile terminal. The certificate mutual recognition gateway records the CA that issued the digital certificate of the mobile terminal. The record format is: the identity ID of the mobile terminal and the certificate code of the CA certificate that issued the digital certificate for the mobile terminal. (5) The certificate mutual recognition gateway of the target network domain calls the public key of the digital certificate of the mobile terminal to verify the signed device information of the mobile terminal. After the verification is successful, the plain text device information of the mobile terminal is obtained; the device information includes the identity ID of the mobile terminal; (6) The certificate mutual recognition gateway of the target network domain records the relationship between user information and device information in the format of user code, mobile terminal identity ID, and mobile terminal IP address. The network access authentication of the mobile terminal is successful; (7) The certificate mutual recognition gateway of the target network domain sends a notification of successful authentication to the mobile terminal; 2. Build an encrypted transmission channel between the APP and the APP server: (8) The certificate mutual recognition component on the mobile terminal sends an access request to the certificate mutual recognition gateway in the target network domain, which includes a random number, the version number of the APP, and the cipher suite; (9) After receiving the access request, the certificate mutual recognition gateway of the target network domain finds the corresponding user information in the relationship record between the device information and user information of the stored mobile terminal based on the IP address of the mobile terminal, and queries the authorization table based on the user information to determine whether the user has the authority to access the APP server of the target network domain; If the corresponding user information can be found in the authorization table, it means that the user has the permission to access the target domain APP server. The certificate mutual recognition gateway of the target domain responds to the access request, and the response contains a random number and the version number and cipher suite to confirm the use; (10) The certificate mutual recognition gateway of the target network domain finds the CA that issued the mobile terminal digital certificate based on the mobile terminal identity ID, and calls the private key of the CA certificate of the CA to sign the device code of the certificate mutual recognition gateway of the target network domain, thereby obtaining the device certificate of the certificate mutual recognition gateway of the target network domain; (11) The certificate mutual recognition gateway of the target network domain sends the device certificate to the certificate mutual recognition component of the mobile terminal; (12) The mobile terminal uses the pre-installed CA certificate public key to verify the signature segment of the received device certificate. After the verification is completed, the device code of the target domain certificate mutual recognition gateway is obtained to verify the legal identity of the certificate mutual recognition gateway; (13) The mobile terminal derives a symmetric key based on the random number, and encrypts the symmetric key with the public key of the device certificate of the certificate mutual recognition gateway to obtain the symmetric key ciphertext; (14) The mobile terminal sends the symmetric key ciphertext to the certificate mutual recognition gateway through the certificate mutual recognition component; (15) The mobile terminal announces the end of the handshake, after which the mobile terminal and the target domain's certificate mutual recognition gateway are all encrypted with the symmetric key generated in step (13); (16) The certificate mutual recognition gateway of the target network domain uses the private key of the device certificate of the certificate mutual recognition gateway to decrypt the symmetric key ciphertext and obtain the plaintext symmetric key; (17) The certificate mutual recognition gateway of the target network domain announces the end of the handshake, after which all communications between the certificate mutual recognition gateway of the target network domain and the mobile terminal are encrypted using the symmetric key decrypted in step (16); thereafter, all communications between the APP of the mobile terminal and the APP server of the target network domain are encrypted communications using the symmetric key encryption.
2. The method according to claim 1, characterized in that In step (1), the complete certificate tree structure is stored in the form of nodes and links. The data structure of the node is a dictionary, and the specific format is: "certificate code: certificate public key, signature segment, holder; node level: 0, 1, 2, 3...", and the link information is a list, and the specific format is: "certificate code 1####certificate code 2,...", where "####" is a separator.
3. The method according to claim 1, characterized in that In step (4), the certificate mutual recognition gateway of the target domain calls the signature verification interface provided by the CA of the target domain for signature verification. If the signature verification fails, it means that the certificate of the mobile terminal is not issued by the CA of the target domain. Then, based on the Dijkstra algorithm, the CA node with a distance value of 1 from the CA of the domain is traversed on the complete certificate tree structure, and the signature verification interface provided by the CA node that meets the distance value condition is called for signature verification. If the signature verification still fails, the distance value is increased to 2, and all CA nodes that meet the distance value condition are traversed for signature verification. If the signature verification still fails, the distance value is increased again until the signature verification passes.
4. The method according to claim 1, characterized in that The process of generating a complete certificate tree structure by the certificate mutual recognition gateway of the core network domain is as follows: when the certificate mutual recognition gateway receives the CA certificate information sent by the subordinate certificate mutual recognition gateway, it uses the CA certificate public key of the network domain CA to verify the signature segment of the received CA certificate information of the level 0 node. If the verification is successful, it means that the certificate mutual recognition gateway is a subordinate certificate mutual recognition gateway. Then, based on the certificate code of the level 0 node, the node level N of the level 0 node is obtained in the network domain node database, the node level of all level 1 nodes is updated to N+1, and the updated CA certificate information of the level 1 node is inserted into the network domain node database, and a link is created from the level 0 node to all level 1 nodes in the format of "certificate code 1####certificate code 2", and all link information is inserted into the link database of the network domain; If the signature verification fails, it means that the CA of the network domain where the certificate mutual recognition gateway is located is a self-signed CA. The private key of the CA certificate of the network domain CA is called to sign the certificate holder of the received level 0 node, update the signature segment of the CA certificate information of the level 0 node, obtain the node level M of the CA node in the network domain based on the certificate code of the CA in the network domain, update the node level of the level 0 node to M+1, update the node level of the level 1 node to M+2, insert the level 0 node and all level 1 nodes into the node database of the network domain, create links from the CA node in the network domain to the level 0 node and from the level 0 node to all level 1 nodes, the format is "certificate code 1####certificate code 2", and insert all links into the link database of the network domain; after all certificate mutual recognition gateways have completed the above operations, the certificate mutual recognition gateway in the core network domain generates a complete certificate tree structure.