(19)
(11)EP 2 472 772 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
06.05.2020 Bulletin 2020/19

(21)Application number: 09849967.6

(22)Date of filing:  14.12.2009
(51)Int. Cl.: 
H04L 9/32  (2006.01)
H04L 29/06  (2006.01)
(86)International application number:
PCT/CN2009/075544
(87)International publication number:
WO 2011/038559 (07.04.2011 Gazette  2011/14)

(54)

METHOD AND SYSTEM FOR ENTITY PUBLIC KEY ACQUIRING, CERTIFICATE VALIDATION AND AUTHENTICATION BY INTRODUCING AN ONLINE CREDIBLE THIRD PARTY

VERFAHREN UND SYSTEM ZUR ERFASSUNG EINES ÖFFENTLICHEN SCHLÜSSELS EINER EINHEIT, VALIDIERUNG UND AUTHENTIFIZIERUNG EINES ZERTIFIKATS MITTELS ONLINE-PRÄSENTATION EINER DRITTEN PARTEI

PROCÉDÉ ET SYSTÈME D'ACQUISITION DE CLÉ PUBLIQUE D'ENTITÉ, DE VALIDATION DE CERTIFICAT ET D'AUTHENTIFICATION EN INTRODUISANT DES TIERS CRÉDIBLES EN LIGNE


(84)Designated Contracting States:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

(30)Priority: 30.09.2009 CN 200910024191

(43)Date of publication of application:
04.07.2012 Bulletin 2012/27

(73)Proprietor: China Iwncomm Co., Ltd
Shaanxi 710075 (CN)

(72)Inventors:
  • TIE, Manxia
    Shaanxi 710075 (CN)
  • CAO, Jun
    Shaanxi 710075 (CN)
  • HUANG, Zhenhai
    Shaanxi 710075 (CN)
  • LAI, Xiaolong
    Shaanxi 710075 (CN)

(74)Representative: Epping - Hermann - Fischer 
Patentanwaltsgesellschaft mbH Postfach 20 07 34
80007 München
80007 München (DE)


(56)References cited: : 
EP-A1- 1 601 154
WO-A1-2009/076879
CN-A- 101 364 876
CN-A- 101 394 283
WO-A1-2008/034361
CN-A- 101 364 875
CN-A- 101 364 876
  
      
    Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


    Description


    [0001] This application claims priority to Chinese patent application No. 200910024191.4, entitled "METHOD FOR ENTITY PUBLIC KEY OBTAINING, CERTIFICATE VERIFICATION AND AUTHENTICATION WITH ONLINE TRUSTED THIRD PARTY AND SYSTEM THEREOF" and filed with the State Intellectual Property Office on September 30, 2009.

    FIELD OF THE INVENTION



    [0002] The present invention relates to the field of network technology, and in particular to a method for entity public key obtaining, certificate verification and authentication with an online trusted third party and a system thereof.

    BACKGROUND OF THE INVENTION



    [0003] In a current computer network or communications network, for a user to login to and securely communicate on the network, entity authentication between the user and the network, either one-way or two-way, needs to be done. Generally, the mechanisms of authentication can be classified into two categories: symmetric-key algorithm based ones and public-key algorithm based ones.

    [0004] The mechanisms of authentication based on a public-key algorithm and technique require a participating entity to have a pair of keys, i.e., a public-private key pair. The public key is distributed to the other participating entities. The distribution may be done in an out-of-band manner or a certificate based manner. The out-of-band manner is less used due to the difficulty of updating the key, while the certificate based manner is widely used.

    [0005] Generally, the methods for entity authentication using a public key certificate are based on a public key infrastructure (PKI). PKI is a general security infrastructure that implements and provides security services based on the concepts and techniques of public key. PKI can provide security services including authentication, integrity and confidentiality. Two important concepts in PKI are public key certificate and certificate authority (CA). Generally, a public key certificate is issued by a CA, the signature in the public key certificate is signed by the CA, and the CA certifies the binding between a holder of the public key certificate and the public key of the holder by providing the signature.

    [0006] Generally, the public key certificate certified by the CA has a period of validity, and the certificate becomes invalid after the expiration of the period of validity. If the private key that corresponds to the public key certificate is compromised, the public key certificate also becomes invalid. There are some other possibilities which may lead to invalidation of the public key certificate, such as job changes.

    [0007] In network communication, generally an entity that participates authentication will refuse to establish secure communication with an entity holding an invalid public key certificate; thus public key obtaining and certificate verification are associated with the entity authentication process and provide services for it. Currently, in existing mechanisms of authentication, before or during the execution of authentication, the verifier needs to either have a valid public key of the claimer, or know the status of a public key certificate of the claimer; otherwise, the authentication process will be subverted or will not be completed. As shown in Figure 1, an entity A and an entity B need to execute an authentication protocol for authentication with each other, and a trusted third party (TP) is a third party entity that is trusted by both the entity A and the entity B. Before authentication, each of the entity A and the entity B needs to obtain a valid public key or the status of a public key certificate of its counterpart through the TP.

    [0008] Currently, the status of a public key certificate can be obtained in the following two manners.
    1. 1) CRL: downloading a Certificate Revocation List (CRL), which may include downloading the entire list and downloading the increment of the list. For an entity to check the status of a certain public key certificate, the entity downloads the latest CRL from a server, and then checks whether the public key certificate to be verified is in the latest CRL.
    2. 2) Online inquiry. For example, Online Certificate Status Protocol (OCSP). Using a typical client/server structure, the OCSP mainly involves two entities: a client and a server. The client sends a request to the server, and the server returns a response. The request includes some certificates to be verified, and the response includes the statuses and verification intervals of these certificates.


    [0009] The requirement of obtaining a valid public key or the status of a public key certificate of the counterpart in advance and cannot be met in many application scenarios, for example, in an access network with a tri-element structure including a user, an access point and a server, which may be seen in many communications networks, generally access control of the user is realized by an entity authentication mechanism; and before the authentication mechanism is completed, the user is not allowed to access the network, and thus cannot use the methods such as CRL and OCSP to verify the validity of a certificate of the access point or obtain a valid public key of the access point.

    [0010] Moreover, in some applications, it is difficult for the user to use the methods such as CRL and OCSP during the authentication. Firstly, the user device may have a limited storage resource, or the user may simply do not want to store a CRL; thus it may not be practicable to periodically download the CRL. Even though the access network has no resource limitations, it may have the problems such as policy restrictions. Secondly, for a user to use an online inquiry mechanism such as OCSP, he needs to execute an independent, e.g., OCSP protocol by a backend server. This type of protocol normally runs over the Hypertext Transfer Protocol (HTTP) and is an application layer protocol; thus direct use of this type of protocol is complicated before the authentication of the access network is completed. Even if this type of protocol can be used, it is realized by the "user-server and access point-server" structure, which does not comply with the "user-access point-server" structure; thus this type of protocol cannot be used directly and conveniently.

    [0011] CN 101364876A discloses a kind of method that realizes public key acquisition, certification authentication and the discriminating of entity.

    [0012] WO 2009076879 A1 discloses an entity bidirectional authentication method and system, the method involves: the first entity sends the first message; the second entity sends the second message to the credible third party.

    [0013] WO 2008034361 A1 discloses a method for acquiring and authenticating public key certificate status, which includes constructing and sending a certificate retrieval request.

    SUMMARY OF THE INVENTION



    [0014] In order to solve the technical problems described above, according to the present invention it is provided a method for entity public key obtaining, certificate verification and authentication with an online trusted third party and a system thereof, which comply with an access network's "user-access point-server" structure, and can meet authentication requirements of an access network.

    [0015] The invention is defined in the independent claims. The technical solution of the present invention includes:
    According to an embodiment of the present invention, it is provided a method for entity public key obtaining, certificate verification and authentication with an online trusted third party, and the method includes:
    1. 1) sending, by an entity B, a message 1 to an entity A, the message 1 including a random number RB, an identity identifier IDB, a request ReqB and optional text Text1, wherein the request ReqB indicates that the entity B requests a valid public key or the status of a public key certificate of the entity A;
    2. 2) sending, by the entity A on receipt of the message 1, a message 2 to a trusted third party TP, the message 2 including a request ReqAT and optional text Text2, wherein the request ReqAT includes the content of the request ReqB, and the request ReqAT indicates that the entity A requests a valid public key or the status of a public key certificate of the entity B, and that the entity B requests a valid public key or the status of a public key certificate of the entity A;
    3. 3) checking, by the trusted third party TP on receipt of the message 2, the validity of public key certificates CertA and CertB, according to identity identifiers IDA and IDB of the entity A and the entity B; or searching, by the trusted third party TP on receipt of the message 2, for valid public keys of the entity A and the entity B through respective entity distinguishers of the entity A and the entity B, and
      determining, by the trusted third party TP, a response RepTA, wherein the response RepTA includes the content of a response RepB, and the response RepTA indicates the valid public key or the status of the public key certificate of the entity A as well as the valid public key or the status of the public key certificate of the entity B determined by the trusted third party TP;
    4. 4) returning, by the trusted third party TP, a message 3 to the entity A, the message 3 including the response RepTA and optional text Text3;
    5. 5) returning, by the entity A on receipt of the message 3, a message 4 to the entity B, the message 4 including a random number RA, an identity identifier IDA, a token TokenAB, the response RepB and optional text Text5, wherein TokenAB = sSA(RepB∥RA∥RB||B∥A∥Text4), sSA is a signature signed by the entity A, and the response RepB indicates the valid public key or the status of the public key certificate of the entity A determined by the trusted third party TP;
    6. 6) performing, by the entity B, the following steps on receipt of the message 4:

      6.1) verifying the response RepB according to a public key verification protocol or distribution protocol that is used, and performing step 6.2) if the verification is passed;

      6.2) obtaining the public key or the status of the public key certificate of the entity A,
      verifying whether the signature signed by the entity A in the token TokenAB is correct and checking whether an entity distinguisher of the entity B is consistent with an entity distinguisher of the entity B included in signature data of the entity A in the token TokenAB, and
      if so, checking whether the random number RB generated by the entity B in the message 1 is consistent with the random number RB included in the signature data of the entity A in the token TokenAB, and
      if so, determining the authentication of the entity A by the entity B is passed and performing step 7);

    7. 7) sending, by the entity B, a message 5 to the entity A, the message 5 including a token TokenBA and optional text Text7, wherein TokenBA = sSB(RA∥A∥Text6), and sSB is a signature signed by the entity B;
    8. 8) performing, by the entity A, the following steps on receipt of the message 5:

      8.1) verifying the response RepTA in the message 3 according to a public key verification protocol or distribution protocol that is used, and performing step 8.2) if the verification is passed;

      8.2) obtaining the public key or the status of the public key certificate of the entity B,
      verifying whether the signature signed by the entity B in the token TokenBA is correct and checking whether an entity distinguisher of the entity A is consistent with an entity distinguisher of the entity A included in signature data of the entity B in the token TokenBA, and
      if so, checking whether the random number RA generated by the entity A in the message 4 is consistent with the random number RA included in the signature data of the entity B in the token TokenBA, and
      if so, determining the authentication of the entity B by the entity A is passed.



    [0016] According to an example useful for understanding the invention, it is also provided a method for entity public key obtaining, certificate verification and authentication with an online trusted third party, and the method includes:
    1. 1) sending, by an entity B, a message 1 to an entity A, the message 1 including a random number RB, a request ReqB and optional text Text1, wherein the request ReqB indicates that the entity B requests a valid public key or the status of a public key certificate of the entity A;
    2. 2) sending, by the entity A on receipt of the message 1, a message 2 to a trusted third party TP, the message 2 including a request ReqAT and optional text Text2, wherein the request ReqAT equals to the content of the request ReqB, and the request ReqAT indicates that the entity B requests a valid public key or the status of a public key certificate of the entity A;
    3. 3) checking, by the trusted third party TP on receipt of the message 2, the validity of a public key certificate CertA according to an identity identifier IDA of the entity A; or searching, by the trusted third party TP on receipt of the message 2, for a valid public key of the entity A through an entity distinguisher of the entity A, and
      determining, by the trusted third party TP, a response RepTA, wherein the response RepTA equals to the content of a response RepB, and the response RepTA indicates the valid public key or the status of the public key certificate of the entity A determined by the trusted third party TP;
    4. 4) returning, by the trusted third party TP, a message 3 to the entity A, the message 3 including the response RepTA and optional text Text3;
    5. 5) returning, by the entity A on receipt of the message 3, a message 4 to the entity B, the message 4 including an identity identifier IDA, a token TokenAB, the response RepB and optional text Text5, wherein TokenAB = sSA(RepB∥RB∥A∥Text4), and sSA is a signature signed by the entity A;
    6. 6) performing, by the entity B, the following steps on receipt of the message 4:

      6.1) verifying the response RepB according to a public key verification protocol or distribution protocol that is used, and performing step 6.2) if the verification is passed;

      6.2) obtaining the public key or the status of the public key certificate of the entity A,
      verifying whether the signature signed by the entity A in the token TokenAB is correct and checking whether the random number RB generated by the entity B in the message 1 is consistent with the random number RB included in signature data of the entity A in the token TokenAB, and
      if so, determining the authentication of the entity A by the entity B is passed.



    [0017] According to an embodiment of the present invention, it is provided a system for entity public key obtaining, certificate verification and authentication with an online trusted third party, and the system includes an entity A, an entity B and the trusted third party,
    the trusted third party includes a response RepTA generation unit, which is adapted to generate a response RepTA and send the response RepTA to the entity A, and the trusted third party is also adapted to check the validity of public key certificates CertA and CertB according to according to identity identifiers IDA and IDB of the entity A (8) and the entity B, and search for valid public keys of the entity A and the entity B through respective entity distinguishers of the entity A and the entity B;
    the entity A includes a verification unit for verifying the identity of the entity B, which is adapted to verify the response RepTA according to a public key verification protocol or distribution protocol that is used; obtain a public key or the status of a public key certificate of the entity B if the verification is passed; verify whether a signature signed by the entity B in a token TokenBA is correct and check whether an entity distinguisher of the entity A is consistent with an entity distinguisher of the entity A included in signature data of the entity B in the token TokenBA; and if so, check whether a random number RA generated by the entity A in a message 4 is consistent with a random number RA included in the signature data of the entity B in the token TokenBA; and if so, determine the verification of the identity of the entity B is passed; the entity A is adapted to return, after receiving a message comprising the response RepTA and optional text Text3 from the trusted third party TP, a message to the entity B, the message comprising a random number RA, an identity identifier IDA, a token TokenAB, the response RepB and optional text Text5, wherein TokenAB = sSA(RepB∥RA∥RB∥B∥A∥Text4), sSA is a signature signed by the entity A, and the response RepB indicates the valid public key or the status of the public key certificate of the entity A determined by the trusted third party TP; and
    the entity B includes a verification unit for verifying the identity of the entity A, which is adapted to verify a response RepB according to a public key verification protocol or distribution protocol that is used; obtain a public key or the status of a public key certificate of the entity A if the verification is passed; verify whether a signature signed by the entity A in a token TokenAB is correct and check whether an entity distinguisher of the entity B is consistent with an entity distinguisher of the entity B included in signature data of the entity A in the token TokenAB; and if so, check whether a random number RB generated by the entity B in a message 1 is consistent with a random number RB included in the signature data of the entity A in the token TokenAB; and if so, determine the verification of the identity of the entity A is passed.

    [0018] According to an example useful for understanding the invention, it is also provided a system for entity public key obtaining, certificate verification and authentication with an online trusted third party, and the system includes an entity A, an entity B and the trusted third party,
    the trusted third party includes a response RepTA generation unit, which is adapted to generate a response RepTA and send the response RepTA to the entity A;
    the entity B includes a verification unit for verifying the identity of the entity A, which is adapted to verify a response RepB according to a public key verification protocol or distribution protocol that is used; obtain a public key or the status of a public key certificate of the entity A if the verification is passed; verify whether a signature signed by the entity A in a token TokenAB is correct and check whether a random number RB generated by the entity B in a message 1 is consistent with a random number RB included in signature data of the entity A in the token TokenAB; and if so, determine the verification of the identity of the entity A is passed.

    [0019] The embodiments of the present invention adopt a tri-entity structure. Before authentication, each of the entity A and the entity B obtains a public key or certificate of the trusted third party, and obtains a user certificate issued to it by the trusted third party or distributes its public key to the trusted third party, eliminating the need to know the valid public key or the status of the public key certificate of its counterpart in advance. The present invention incorporates the functions of entity public key obtaining, certificate verification and authentication in a single protocol, which is beneficial for improvement in efficiency and performance of the protocol, may facilitate compatibility with various public key obtaining and public key certificate status inquiry protocols, is applicable to an access network's "user-access point-server" structure, and can meet authentication requirements of an access network.

    BRIEF DESCRIPTION OF THE DRAWINGS



    [0020] 

    Figure 1 is a schematic diagram illustrating the working principle of an authentication mechanism in the prior art;

    Figure 2 is a schematic diagram illustrating a method according to an embodiment of the present invention; and

    Figure 3 is a schematic diagram illustrating a method according to another embodiment of the present invention.


    DETAILED DESCRIPTION OF THE INVENTION



    [0021] The method according to an embodiment of the present invention involves three security elements, i.e., two entities A and B and a trusted third party TP. Through the online trusted third party TP, the entities A and B perform authentication with each other, and obtain the valid public key or the status of the public key certificate of their counterparts. The entity A can communicate directly with the trusted third party TP, while the entity B can communicate with the trusted third party TP only through the entity A.

    [0022] For illustrative purposes, the denotations are defined as below.

    [0023] For an entity X with X being either A or B, Rx denotes the random number generated by the entity X; Certx is the public key certificate of the entity X; IDx is the identity identifier of the entity X, and is represented by the certificate Certx or the entity distinguisher X; ReqX denotes the request generated by the entity X, and is used to request information such as the valid public key or the status of the public key certificate of the counterpart; ReqXT denotes the request generated or forwarded by the entity X to the trusted third party TP; RepX denotes the response sent to the entity X against ReqX, i.e., to respond to the entity X with information such as the valid public key or the status of the public key certificate of the entity that is requested by the entity X; RepTX denotes the response generated by the trusted third party TP against ReqXT, i.e., the trusted third party TP responds to the entity X with information such as the valid public key or the status of the public key certificate of the entity that is requested directly by the entity X or requested in a request forwarded by the entity X; Token is a field for the token; Text is an optional text field; and sSx denotes the signature signed by the entity X. The form and definition of ReqB, ReqAT, RepTA and RepB may be determined according to a particular public key verification or distribution protocol that is used, and the online public key verification or distribution protocol may include certificate status protocol (see GB/T 19713), server based certificate verification protocol (see IETF RFC5055) and other public key verification or distribution protocols.

    [0024] As shown in Figure 2, the method for entity public key obtaining, certificate verification and authentication with an online trusted third party according to an embodiment of the present invention includes the following steps:
    1. 1) sending, by an entity B, a message 1 to an entity A, the message 1 including a random number RB, an identity identifier IDB, a request ReqB and optional text Text1, wherein the request ReqB indicates that the entity B requests a valid public key or the status of a public key certificate of its counterpart (i.e., the entity A);
    2. 2) sending, by the entity A on receipt of the message 1, a message 2 to a trusted third party TP, the message 2 including a request ReqAT and optional text Text2, wherein the request ReqAT includes the content of the request ReqB, and the request ReqAT indicates that the entity A requests a valid public key or the status of a public key certificate of the entity B, and that the entity B requests a valid public key or the status of a public key certificate of the entity A;
    3. 3) checking, by the trusted third party TP on receipt of the message 2, the validity of public key certificates CertA and CertB, according to identity identifiers IDA and IDB of the entity A and the entity B; or searching, by the trusted third party TP on receipt of the message 2, for valid public keys of the entity A and the entity B through entity distinguishers A and B, and
      determining, by the trusted third party TP, a response RepTA, wherein the response RepTA includes the content of a response RepB, and the response RepTA indicates the valid public key or the status of the public key certificate of the entity A as well as the valid public key or the status of the public key certificate of the entity B determined by the trusted third party TP;
    4. 4) returning, by the trusted third party TP, a message 3 to the entity A, the message 3 including the response RepTA and optional text Text3;
    5. 5) returning, by the entity A on receipt of the message 3, a message 4 to the entity B, the message 4 including a random number RA, an identity identifier IDA, a token TokenAB, the response RepB and optional text Text5, wherein TokenAB = sSA(RepB∥RA∥RB∥B∥A∥Text4), and the response RepB indicates the valid public key or the status of the public key certificate of the entity A determined by the trusted third party TP;
    6. 6) performing, by the entity B, the following steps on receipt of the message 4:

      6.1) verifying the response RepB according to a public key verification protocol or distribution protocol that is used, and performing step 6.2) if the verification is passed;

      6.2) obtaining the public key or the status of the public key certificate of the entity A,
      verifying whether the signature signed by the entity A in the token TokenAB is correct and checking whether a distinguisher of the entity B is consistent with an entity distinguisher (B) included in signature data of the entity A in the token TokenAB, and
      if so, checking whether the random number RB generated by the entity B in the message 1 is consistent with the random number RB included in the signature data of the entity A in the token TokenAB, and
      if so, determining the authentication of the entity A by the entity B is passed and performing step 7);

    7. 7) sending, by the entity B, a message 5 to the entity A, the message 5 including a token TokenBA and optional text Text7, wherein TokenBA= sSB(RA∥A∥Text6);
    8. 8) performing, by the entity A, the following steps on receipt of the message 5:

      8.1) verifying the response RepTA in the message 3 according to a public key verification protocol or distribution protocol that is used, and performing step 8.2) if the verification is passed;

      8.2) obtaining the public key or the status of the public key certificate of the entity B,
      verifying whether the signature signed by the entity B in the token TokenBA is correct and checking whether a distinguisher A of the entity A is consistent with an entity distinguisher (A) included in signature data of the entity B in the token TokenBA, and
      if so, checking whether the random number RA generated by the entity A in the message 4 is consistent with the random number RA included in the signature data of the entity B in the token TokenBA, and
      if so, determining the authentication of the entity B by the entity A is passed.



    [0025] In the above embodiment, step 8.1) may be advanced to be within step 5), i.e., on receipt of the message 3, the entity A performs firstly the step 8.1), and then sends the message 4 to the entity B. And a time stamp or a serial number may be used in place of the random numbers RA and RB.

    [0026] In a practical application using the authentication system, generally the entity B may reside on a user communication terminal, and the entity A may reside on a network access point. By the method for two-way authentication between the entity B and the entity A according to the embodiment above, two-way verification of validity between the user and the network access point can be realized, thus ensuring a legitimate user to access a legitimate network.

    [0027] In a practical application, sometimes it only needs to ensure the network for the user to access is legitimate. In this case, the method according to the above embodiment may be modified, i.e., to cancel the message 5, simplify the content of the messages 1 to 4, and omit the steps 7) and 8), thus realizing one-way authentication of the entity A by the entity B. As shown in Figure 3, a detailed process includes the following steps.
    1. 1) sending, by an entity B, a message 1 to an entity A, the message 1 including a random number RB, a request ReqB and optional text Text1, wherein the request ReqB indicates that the entity B requests a valid public key or the status of a public key certificate of its counterpart (i.e., the entity A);
    2. 2) sending, by the entity A on receipt of the message 1, a message 2 to a trusted third party TP, the message 2 including a request ReqAT and optional text Text2, wherein the request ReqAT equals to the content of the request ReqB, and the request ReqAT indicates that the entity B requests a valid public key or the status of a public key certificate of the entity A;
    3. 3) checking, by the trusted third party TP on receipt of the message 2, the validity of a public key certificate CertA according to an identity identifier IDA of the entity A; or searching, by the trusted third party TP on receipt of the message 2, for a valid public key of the entity A through an entity distinguisher A, and
      determining, by the trusted third party TP, a response RepTA, wherein the response RepTA equals to the content of a response RepB, and the response RepTA indicates the valid public key or the status of the public key certificate of the entity A determined by the trusted third party TP;
    4. 4) returning, by the trusted third party TP, a message 3 to the entity A, the message 3 including the response RepTA and optional text Text3;
    5. 5) returning, by the entity A on receipt of the message 3, a message 4 to the entity B, the message 4 including an identity identifier IDA, a token TokenAB, the response RepB and optional text Text5, wherein TokenAB = sSA(RepB∥RB∥A∥Text4);
    6. 6) performing, by the entity B, the following steps on receipt of the message 4:

      6.1) verifying the response RepB according to a public key verification protocol or distribution protocol that is used, and performing step 6.2) if the verification is passed;

      6.2) obtaining the public key or the status of the public key certificate of the entity A,
      verifying whether the signature signed by the entity A in the token TokenAB is correct and checking whether the random number RB generated by the entity B in the message 1 is consistent with the random number RB included in signature data of the entity A in the token TokenAB, and
      if so, determining the authentication of the entity A by the entity B is passed.



    [0028] The present invention also provides a system for entity public key obtaining, certificate verification and authentication with an online trusted third party, and the system includes an entity A, an entity B and the trusted third party. The trusted third party includes a response RepTA generation unit. The trusted third party generates a response RepTA and sends it to the entity A through the response RepTA generation unit. The entity A includes a verification unit for verifying the identity of the entity B. The verification unit for verifying the identity of the entity B verifies the response RepTA according to a public key verification protocol or distribution protocol that is used; obtains a public key or the status of a public key certificate of the entity B if the verification is passed; verifies whether a signature signed by the entity B in a token TokenBA is correct and checks whether a distinguisher A of the entity A is consistent with an entity distinguisher (A) included in signature data of the entity B in the token TokenBA; and if so, checks whether a random number RA generated by the entity A in a message 4 is consistent with a random number RA included in the signature data of the entity B in the token TokenBA; and if so, determines the verification of the identity of the entity B is passed. The entity B includes a verification unit for verifying the identity of the entity A. The verification unit for verifying the identity of the entity A verifies a response RepB according to a public key verification protocol or distribution protocol that is used; obtains a public key or the status of a public key certificate of the entity A if the verification is passed; verifies whether a signature signed by the entity A in a token TokenAB is correct and checks whether a distinguisher of the entity B is consistent with an entity distinguisher (B) included in signature data of the entity A in the token TokenAB; and if so, checks whether a random number RB generated by the entity B in a message 1 is consistent with a random number RB included in the signature data of the entity A in the token TokenAB; and if so, determines the verification of the identity of the entity A is passed.

    [0029] The present invention also provides a system for entity public key obtaining, certificate verification and authentication with an online trusted third party, and the system includes an entity A, an entity B and the trusted third party. The trusted third party includes a response RepTA generation unit. The trusted third party generates a response RepTA and sends it to the entity A through the response RepTA generation unit. The entity B includes a verification unit for verifying the identity of the entity A. The verification unit for verifying the identity of the entity A verifies a response RepB according to a public key verification protocol or distribution protocol that is used; obtains a public key or the status of a public key certificate of the entity A if the verification is passed; verifies whether a signature signed by the entity A in a token TokenAB is correct and checks whether a random number RB generated by the entity B in a message 1 is consistent with a random number RB included in signature data of the entity A in the token TokenAB; and if so, determines the verification of the identity of the entity A is passed.

    [0030] The denotations used in the above embodiments such as entities A and B, random numbers RA and RB, messages 1 to 5, optional text 1 to 5, and identity identifiers, requests and responses, are for illustrative purposes only and merely distinguish items with the same property (e.g., two entities), which thus shall not be interpreted as limiting the present invention.

    [0031] The method for entity public key obtaining, certificate verification and authentication with an online trusted third party and a system thereof provided by the present invention are described above. Specific embodiments are used in the description of the principle and implementation of the present invention. It is noted that the description of the embodiments are merely for better understanding of the method and its basic idea of the present invention; and modifications may be made by those skilled in the art to the embodiments and applications of the present invention based on the idea of the present invention. Therefore, the content of the description shall not be interpreted as limiting the present invention.


    Claims

    1. A method for entity public key obtaining, certificate verification and authentication with an online trusted third party, comprising:

    1) sending, by an entity B (6), a message 1 (1) to an entity A (8), the message 1 (1) comprising a random number RB, an identity identifier IDB, a request ReqB and optional text Text1, wherein the request ReqB indicates that the entity B (6) requests a valid public key or the status of a public key certificate of the entity A (8);

    2) sending, by the entity A (8) on receipt of the message 1 (1), a message 2 (2) to a trusted third party TP (3), the message 2 (2) comprising a request ReqAT and optional text Text2, wherein the request ReqAT comprises the content of the request ReqB, and the request ReqAT indicates that the entity A (8) requests a valid public key or the status of a public key certificate of the entity B (6), and that the entity B (6) requests a valid public key or the status of a public key certificate of the entity A (8);

    3) checking, by the trusted third party TP (3) on receipt of the message 2 (2), the validity of public key certificates CertA and CertB, according to identity identifiers IDA and IDB of the entity A (8) and the entity B (6); or searching, by the trusted third party TP (3) on receipt of the message 2 (2), for valid public keys of the entity A (8) and the entity B (6) through respective entity distinguishers of the entity A (8) and the entity B (6), and
    determining, by the trusted third party TP (3), a response RepTA, wherein the response RepTA comprises the content of a response RepB, and the response RepTA indicates the valid public key or the status of the public key certificate of the entity A (8) as well as the valid public key or the status of the public key certificate of the entity B (6) determined by the trusted third party TP (3);

    4) returning, by the trusted third party TP (3), a message 3 (4) to the entity A (8), the message 3 (4) comprising the response RepTA and optional text Text3;

    5) returning, by the entity A (8) on receipt of the message 3 (4), a message 4 (5) to the entity B (6), the message 4 (5) comprising a random number RA, an identity identifier IDA, a token TokenAB, the response RepB and optional text Text5, wherein TokenAB = sSA(RepB∥RA∥RB∥B∥A∥Text4), sSA is a signature signed by the entity A, and the response RepB indicates the valid public key or the status of the public key certificate of the entity A (8) determined by the trusted third party TP (3);

    6) performing, by the entity B (6), the following steps on receipt of the message 4 (5):

    6.1) verifying the response RepB according to a public key verification protocol or distribution protocol that is used, and performing step 6.2) if the verification is passed;

    6.2) obtaining the public key or the status of the public key certificate of the entity A (8),
    verifying whether the signature signed by the entity A (8) in the token TokenAB is correct and checking whether an entity distinguisher of the entity B (6) is consistent with an entity distinguisher of the entity B (6) comprised in signature data of the entity A (8) in the token TokenAB, and
    if so, checking whether the random number RB generated by the entity B (6) in the message 1 (1) is consistent with the random number RB comprised in the signature data of the entity A (8) in the token TokenAB, and
    if so, determining the authentication of the entity A (8) by the entity B (6) is passed and performing step 7);

    7) sending, by the entity B (6), a message 5 (7) to the entity A (8), the message 5 (7) comprising a token TokenBA and optional text Text7, wherein TokenBA = sSa(RA∥A∥Text6), and sSB is a signature signed by the entity B (6);

    8) performing, by the entity A (8), the following steps on receipt of the message 5 (7):

    8.1) verifying the response RepTA in the message 3 (4) according to a public key verification protocol or distribution protocol that is used, and performing step 8.2) if the verification is passed;

    8.2) obtaining the public key or the status of the public key certificate of the entity B (6),
    verifying whether the signature signed by the entity B (6) in the token TokenBA is correct and checking whether an entity distinguisher of the entity A (8) is consistent with an entity distinguisher of the entity A (8) comprised in signature data of the entity B (6) in the token TokenBA, and
    if so, checking whether the random number RA generated by the entity A (8) in the message 4 (5) is consistent with the random number RA comprised in the signature data of the entity B (6) in the token TokenBA, and
    if so, determining the authentication of the entity B (6) by the entity A (8) is passed.


     
    2. A system for entity public key obtaining, certificate verification and authentication with an online trusted third party, in that the system comprises an entity A (8), an entity B (6) and the trusted third party (3),

    the trusted third party (3) comprises a response RepTA generation unit, which is adapted to generate a response RepTA and send the response RepTA to the entity A (8), and the trusted third party (3) is also adapted to check, on receipt of a message 2 (2), the validity of public key certificates CertA and CertB according to according to identity identifiers IDA and IDB of the entity A (8) and the entity B (6), and search for valid public keys of the entity A (8) and the entity B (6) through respective entity distinguishers of the entity A (8) and the entity B (6), wherein the response RepTA comprises the content of a response RepB, and the response RepTA indicates the valid public key or the status of the public key certificate of the entity A (8) as well as the valid public key or the status of the public key certificate of the entity B (6) determined by the trusted third party TP (3), and the trusted third party TP (3) is also adapted to return the response RepTA and optional text Text 3 to the entity A in a message 3 (4)

    the entity A (8) is adapted to send, on receipt on a message 1 (1), the message 2 (2) to the trusted third party (3), the message 2 (2) comprising a request ReqAT and optional Text2, wherein the request ReqAT comprises the content of a request ReqB, and the request ReqAT indicates that the entity A (8) requests a valid public key or the status of a public key certificate of the entity B (6), and that the entity B (6) requests a valid public key or the status of a public key certificate of the entity A (8), and the entity A (8) comprises a verification unit for verifying the identity of the entity B (6) on receipt of a message 5 (7), which is adapted to verify the response RepTA according to a public key verification protocol or distribution protocol that is used; obtain a public key or the status of a public key certificate of the entity B (6) if the verification is passed; verify whether a signature signed by the entity B (6) in a token TokenBA is correct and check whether an entity distinguisher of the entity A (8) is consistent with an entity distinguisher of the entity A (8) comprised in signature data of the entity B (6) in the token TokenBA; and if so, check whether a random number RA generated by the entity A (8) in a message 4 (5) is consistent with a random number RA comprised in the signature data of the entity B (6) in the token TokenBA; and if so, determine the verification of the identity of the entity B (6) is passed; wherein the entity A (8) is adapted to return, after receiving the message 3 (4) comprising the response RepTA and optional text Text3 from the trusted third party TP (3), the message 4 (5) to the entity B (6), the message 4 (5) comprising the random number RA generated by the entity A (8), an identity identifier IDA, a token TokenAB, the response RepB and optional text Text5, wherein TokenAB = sSA(RepB∥RA∥RB∥B∥A∥Text4), sSA is a signature signed by the entity A, and the response RepB indicates the valid public key or the status of the public key certificate of the entity A (8) determined by the trusted third party TP (3); and

    the entity B (6) is adapted to send the message 1 (1) to the entity A (8), the message 1 (1) comprising a random number RB, an identity identifier IDB, the request ReqB and optional text Text1, wherein the request ReqB indicates that the entity B (6) requests a valid public key or the status of a public key certificate of the entity A (8), and the entity B (6) comprises a verification unit for verifying the identity of the entity A (8) on receipt of the message 4 (5), which is adapted to verify the response RepB according to a public key verification protocol or distribution protocol that is used; obtain a public key or the status of a public key certificate of the entity A (8) if the verification is passed; verify whether a signature signed by the entity A (8) in a token TokenAB is correct and check whether an entity distinguisher of the entity B (6) is consistent with an entity distinguisher of the entity B (6) comprised in signature data of the entity A (8) in the token TokenAB; and if so, check whether the random number RB generated by the entity B (6) in the message 1 (1) is consistent with a random number RB comprised in the signature data of the entity A (8) in the token TokenAB; and if so, determine the verification of the identity of the entity A (8) is passed, wherein the entity B(6) is adapted to send the message 5 (7) to the entity A (8), the message 5 (7) comprising the token Token BA and optional text Text7, wherein TokenBA = sSB(RA∥A∥Text6), and sSB is a signature signed by the entity B (6).


     


    Ansprüche

    1. Ein Verfahren zum Erhalten eines öffentlichen Schlüssels für eine Einheit, zur Verifizierung eines Zertifikats und zur Authentifizierung bei einer vertrauenswürdigen Online-Drittpartei, wobei das Verfahren Folgendes aufweist:

    1) Senden, durch die Einheit B (6), einer Nachricht 1 (1) an eine Einheit A (8), wobei die Nachricht 1 (1) eine Zufallszahl RB, eine Identitätskennung IDB, eine Anforderung ReqB und optionalen Text Text1 aufweist, wobei die Anforderung ReqB angibt, dass die Einheit B (6) einen gültigen öffentlichen Schlüssel oder den Status eines Zertifikats des öffentlichen Schlüssels der Einheit A (8) anfordert;

    2) Senden, durch die Einheit A (8) nach Erhalt der Nachricht 1 (1), einer Nachricht 2 (2) an eine vertrauenswürdige Drittpartei TP (3), wobei die Nachricht 2 (2) eine Anforderung ReqAT und einen optionalen Text2 aufweist, wobei die Anforderung ReqAT den Inhalt der Anforderung ReqB aufweist, und die Anforderung ReqAT angibt, dass die Einheit A (8) einen gültigen öffentlichen Schlüssel oder den Status eines Zertifikates des öffentlichen Schlüssels der Einheit B (6) anfordert, und dass die Einheit B (6) einen gültigen öffentlichen Schlüssel oder den Status eines Zertifikats des öffentlichen Schlüssels der Einheit A (8) anfordert;

    3) Überprüfen, durch die vertrauenswürdige Drittpartei TP (3) nach Erhalt der Nachricht 2 (2), der Gültigkeit der Zertifikate CertA und CertB des öffentlichen Schlüssels gemäß den Identitätskennungen IDA und IDB der Einheit A (8) und der Einheit B (6); oder Suchen, durch die vertrauenswürdige Drittpartei TP (3) nach Erhalt der Nachricht 2 (2), nach gültigen öffentlichen Schlüsseln der Einheit A (8) und der Einheit B (6) durch entsprechende Einheits-Unterscheidungskennungen der Einheit A (8) und der Einheit B (6), und
    Bestimmen, durch die vertrauenswürdige Drittpartei TP (3), einer Antwort RepTA, wobei die Antwort RepTA den Inhalt einer Antwort RepB aufweist und die Antwort RepTA den gültigen öffentlichen Schlüssel oder den Status des Zertifikats des öffentlichen Schlüssels der Einheit A (8) sowie den gültigen öffentlichen Schlüssel oder den Status des Zertifikats des öffentlichen Schlüssels der Einheit B (6) anzeigt, der von der vertrauenswürdigen Drittpartei TP (3) bestimmt wird;

    4) Zurücksenden, durch die vertrauenswürdige Drittpartei TP (3), einer Nachricht 3 (4) an die Einheit A (8), wobei die Nachricht 3 (4) die Antwort RepTA und einen optionalen Text Text3 aufweist;

    5) Zurücksenden, durch die Einheit A (8) nach Erhalt der Nachricht 3 (4), einer Nachricht 4 (5) an die Einheit B (6), wobei die Nachricht 4 (5) eine Zufallszahl RA, eine Identitätskennung IDA, ein Token TokenAB, die Antwort RepB und einen optionalen Text Text5 aufweist, wobei TokenAB = sSA(RepB∥RA∥RB∥B∥A∥Text4), sSA eine von der Einheit A (8) signierte Signatur ist, und die Antwort RepB den gültigen öffentlichen Schlüssel oder den Status des Zertifikats des öffentlichen Schlüssels der Einheit A (8) angibt, der von der vertrauenswürdigen Drittpartei TP (3) bestimmt wird;

    6) Ausführen, durch die Einheit B (6), der folgenden Schritte nach Erhalt der Nachricht 4 (5):

    6.1) Verifizieren der Antwort RepB gemäß einem verwendeten Verifizierungsprotokoll oder Verteilungsprotokoll für den öffentlichen Schlüssel, und Ausführen von Schritt 6.2), falls die Verifizierung erfolgreich ist;

    6.2) Erhalten des öffentlichen Schlüssels oder des Status des Zertifikats des öffentlichen Schlüssels der Einheit A (8),
    Verifizieren, ob die von der Einheit A (8) in dem Token TokenAB signierte Signatur korrekt ist, und Überprüfen, ob eine Einheits-Unterscheidungskennung der Einheit B (6) mit einer Einheits-Unterscheidungskennung der Einheit B (6) übereinstimmt, die in Signaturdaten der Einheit A (8) in dem Token TokenAB enthalten ist, und
    falls dies der Fall ist, Überprüfen, ob die von der Einheit B (6) in der Nachricht 1 (1) erzeugte Zufallszahl RB mit der Zufallszahl RB übereinstimmt, die in den Signaturdaten der Einheit A (8) in dem Token TokenAB enthalten ist, und
    falls dies der Fall ist, Bestimmen, ob die Authentifizierung der Einheit A (8) durch die Einheit B (6) erfolgreich ist, und Ausführen von Schritt 7);

    7) Senden, durch die Einheit B (6), einer Nachricht 5 (7) an die Einheit A (8), wobei die Nachricht 5 (7) ein Token TokenBA und einen optionalen Text Text7 aufweist, wobei TokenBA = sSe(RA∥A∥Text6) und sSB eine von der Einheit B (6) signierte Signatur ist;

    8) Ausführen, durch die Einheit A (8), der folgenden Schritte nach Erhalt der Nachricht 5 (7):

    8.1) Verifizieren der Antwort RepTA in der Nachricht 3 (4) gemäß einem verwendeten Verifizierungsprotokoll oder Verteilungsprotokoll für den öffentlichen Schlüssel, und Ausführen von Schritt 8.2), falls die Verifizierung erfolgreich ist;

    8.2) Erhalten des öffentlichen Schlüssels oder des Status des Zertifikats des öffentlichen Schlüssels der Einheit B (6),
    Verifizieren, ob die von der Einheit B (6) in dem Token TokenBA signierte Signatur korrekt ist, und Überprüfen, ob eine Einheits-Unterscheidungskennung der Einheit A (8) mit einer Einheits-Unterscheidungskennung der Einheit A (8) übereinstimmt, die in Signaturdaten der Einheit B (6) in dem Token TokenBA enthalten ist, und
    falls dies der Fall ist, Überprüfen, ob die von der Einheit A (8) in der Nachricht 4 (5) erzeugte Zufallszahl RA mit der Zufallszahl RA übereinstimmt, die in den Signaturdaten der Einheit B (6) in dem Token TokenBA enthalten ist, und
    falls dies der Fall ist, Bestimmen, ob die Authentifizierung der Einheit B (6) durch die Einheit A (8) erfolgreich ist.


     
    2. Ein System zum Erhalten eines öffentlichen Schlüssels einer Einheit, zur Verifizierung eines Zertifikats und zur Authentifizierung bei einer vertrauenswürdigen Online-Drittpartei, wobei das System eine Einheit A (8), eine Einheit B (6) und die vertrauenswürdige Drittpartei (3) aufweist,

    die vertrauenswürdige Drittpartei (3) eine Antwort RepTA Generierungseinheit aufweist, die eingerichtet ist, um eine Antwort RepTA zu erzeugen und die Antwort RepTA an die Einheit A (8) zu senden, und die vertrauenswürdige Drittpartei (3) auch eingerichtet ist, um nach Erhalt einer Nachricht 2 (2) die Gültigkeit von Zertifikaten CertA und CertB des öffentlichen Schlüssels gemäß Identitätskennungen IDA und ADB der Einheit A (8) und der Einheit B (6) zu prüfen, und Suche nach gültigen öffentlichen Schlüsseln der Einheit A (8) und der Einheit B (6) durch entsprechende Einheits-Unterscheidungskennungen der Einheit A (8) und der Einheit B (6), wobei die Antwort RepTA den Inhalt einer Antwort RepB aufweist, und die Antwort RepTA den gültigen öffentlichen Schlüssel oder den Status des Zertifikats des öffentlichen Schlüssels der Einheit A (8) sowie den gültigen öffentlichen Schlüssel oder den Status des Zertifikats des öffentlichen Schlüssels der Einheit B (6) anzeigt, die durch die vertrauenswürdige Drittpartei TP (3) bestimmt wurde, und die vertrauenswürdige Drittpartei TP (3) auch eingerichtet ist, um die Antwort RepTA und einen optionalen Text 3 an die Einheit A in einer Nachricht 3 (4) zurückzusenden,

    die Einheit A (8) eingerichtet ist, um nach Erhalt der Nachricht 1 (1) die Nachricht 2 (2) an die vertrauenswürdige Drittpartei TP (3) zu senden, wobei die Nachricht 2 (2) eine Anforderung ReqAT und einen optionalen Text2 aufweist, wobei die Anforderung ReqAT den Inhalt einer Anforderung ReqB aufweist, und die Anforderung ReqAT angibt, dass die Einheit A (8) einen gültigen öffentlichen Schlüssel oder den Status eines Zertifikats des öffentlichen Schlüssels der Einheit B (6) anfordert, und die Einheit B (6) einen gültigen öffentlichen Schlüssel oder den Status eines Zertifikats des öffentlichen Schlüssels der Einheit A (8) anfordert, und die Einheit A (8) eine Verifizierungseinheit zum Verifizieren der IdEinheit der Einheit B (6) nach Erhalt einer Nachricht 5 (7) aufweist,
    die eingerichtet ist, um die Antwort RepTA gemäß einem verwendeten Verifizierungsprotokoll oder Verteilungsprotokoll für den öffentlichen Schlüssel zu verifizieren; um einen öffentlichen Schlüssel oder den Status eines Zertifikats des öffentlichen Schlüssels der Einheit B (6) zu erhalten, falls die Verifizierung erfolgreich ist; Verifizieren, ob eine von der Einheit B (6) in einem Token TokenBA signierte Signatur korrekt ist, und Überprüfen, ob eine Einheits-Unterscheidungskennung der Einheit A (8) mit einer Einheits-Unterscheidungskennung der Einheit A (8) übereinstimmt, die in Signaturdaten der Einheit B (6) in dem Token TokenBA enthalten ist, und falls dies der Fall ist, Prüfen, ob eine von der Einheit A (8) in einer Nachricht 4 (5) erzeugte Zufallszahl RA mit einer Zufallszahl RA übereinstimmt, die in den Signaturdaten der Einheit B (6) in dem Token TokenBA enthalten ist; und falls dies der Fall ist, Bestimmen, ob die Verifizierung der IdEinheit der Einheit B (6) erfolgreich ist; wobei

    die Einheit B (6) eingerichtet ist, um, nach Erhalt der Nachricht 3 (4), welche die Antwort RepTA und einen optionalen Text Text3 von der vertrauenswürdigen Drittpartei TP (3) enthält, die Nachricht 4 (5) an die Einheit B (6) zurückzusenden, wobei die Nachricht 4 (5) die von der Einheit A (8) erzeugte Zufallszahl RA, eine Identitätskennung IDA, ein Token TokenAB, die Antwort RepB und einen optionalen Text Text5 aufweist, wobei Token AB = sSA(RepB∥RA∥Re∥B∥A∥Text4), sSA eine von der Einheit A signierte Signatur ist, und die Antwort RepB den gültigen öffentlichen Schlüssel oder den Status des Zertifikats des öffentlichen Schlüssels der durch die vertrauenswürdige Drittpartei TP (3) bestimmten Einheit A (8) anzeigt; und

    die Einheit B (B) eingerichtet ist, um die Nachricht 1 (1) an die Einheit A (8) zu senden, wobei die Nachricht 1 (1) eine Zufallszahl RB, eine Identitätskennung IDB, die Anforderung ReqB und den optionalen Text Text 1 aufweist, wobei die Anforderung ReqB anzeigt, dass die Einheit B (6) einen gültigen öffentlichen Schlüssel oder den Status eines Zertifikats des öffentlichen Schlüssels der Einheit A (8) anfordert, und die Einheit B (6) eine Verifizierungseinheit zum Verifizieren der IdEinheit der Einheit A (8) nach Erhalt der Nachricht 4 (5) aufweist,
    die eingerichtet ist, um die Antwort RepB gemäß einem verwendeten Verifizierungsprotokoll oder Verteilungsprotokoll für den öffentlichen Schlüssel zu verifizieren; um einen öffentlichen Schlüssel oder den Status eines Zertifikats des öffentlichen Schlüssels der Einheit A (8) zu erhalten, falls die Verifizierung erfolgreich ist; Verifizieren, ob eine von der Einheit A (8) in einem Token TokenAB signierte Signatur korrekt ist, und Prüfen, ob eine Einheits-Unterscheidungskennung der Einheit B (6) mit einer Einheits-Unterscheidungskennung der Einheit B (6) übereinstimmt, die in Signaturdaten der Einheit A (8) in dem Token TokenAB enthalten ist; und falls dies der Fall ist, Überprüfen, ob die von der Einheit B (6) in der Nachricht 1 (1) erzeugte Zufallszahl RB mit einer Zufallszahl RB übereinstimmt, die in den Signaturdaten der Einheit A (8) in dem Token TokenAB enthalten ist; und falls dies der Fall ist, Bestimmen, ob die Verifizierung der IdEinheit der Einheit A (8) erfolgreich ist; wobei die Einheit B (6) eingerichtet ist, um die Nachricht 5 (7) an die Einheit A (8) zu senden, wobei die Nachricht 5 (7) das Token TokenBA und einen optionalen Text Text7 aufweist, wobei TokenBA = sSe(RA∥A∥Text6), und sSB eine von der Einheit B (6) signierte Signatur ist.


     


    Revendications

    1. Procédé d'acquisition de clé publique d'entité, de vérification de certificat et d'authentification avec un tiers crédible en ligne, comprenant :

    1) l'envoi par une entité B(6) d'un message 1(1) à une entité A(8), le message 1(1) comprenant un numéro aléatoire RB, un identifiant d'identité IDB, une requête ReqB et du texte en option Text1, dans lequel la requête ReqB indique que l'entité B(6) sollicite une clé publique valide ou le statut du certificat de clé publique de l'entité A(8) ;

    2) l'envoi, par l'entité A(8) sur réception du message 1(1), d'un message 2(2) à un tiers crédible TP(3), le message 2(2) comprenant une requête ReqAT et du texte en option Text2, dans lequel la requête ReqAT comprend le contenu de la requête ReqB, et la requête ReqAT indique que l'entité A(8) sollicite une clé publique valide ou le statut d'un certificat de clé publique de l'entité B(6), et que l'entité B(6) sollicite une clé publique valide ou le statut d'un certificat de clé publique de l'entité A(8) ;

    3) la vérification, par le tiers crédible TP(3) sur réception du message 2(2), de la validité des certificats de clé publique CertA et CertB, en fonction des identifiants d'identité IDA et IDB de l'entité A(8) et de l'entité B(6) ; ou la recherche, par le tiers crédible TP(3) sur réception du message 2(2), de clés publiques valides sur l'entité A(8) et l'entité B(6) par des différenciateurs d'entité respectifs de l'entité A(8) et de l'entité B(6), et
    la détermination, par le tiers crédible TP(3), d'une réponse RepTA, dans lequel la réponse RepTA comprend le contenu d'une réponse RepB, et la réponse RepTA indique la clé publique valide ou le statut du certificat de clé publique de l'entité A(8) ainsi que la clé publique valide ou le statut du certificat de clé publique de l'entité B(6) déterminée par le tiers crédible TP(3),

    4) le renvoi, par le tiers crédible TP(3), d'un message 3(4) à l'entité A(8), le message 3(4) comprenant la réponse RepTA et du texte en option Text3 ;

    5) le renvoi, par l'entité A(8) sur réception du message 3(4), d'un message 4(5) à l'entité B(6), le message 4(5) comprenant un numéro aléatoire RA, un identifiant d'identité IDA, un jeton TokenAB, la réponse RepB et du texte en option Text5, dans lequel TokenAB = sSA(RepB∥RA∥RB∥B||A||Text4), sSA étant une signature signée par l'entité A, et la réponse RepB indique la clé publique valide ou le statut du certificat de clé publique de l'entité A(8) déterminée par le tiers crédible TP(3) ;

    6) la réalisation, par l'entité B(6) des étapes suivantes sur réception du message 4(5) :

    6.1) vérification de la réponse RepB en fonction d'un protocole de vérification de clé publique ou protocole de distribution qui est utilisé, et réalisation de l'étape 6.2) si la vérification a abouti ;

    6.2) acquisition de la clé publique ou du statut du certificat de clé publique de l'entité A(8),
    vérification que la signature signée par l'entité A(8) dans le jeton TokenAB est bien correcte, et vérification qu'un différenciateur d'entité de l'entité B(6) est conforme à un différenciateur d'entité de l'entité B(6) compris dans les données de signature de l'entité A(8) dans le jeton TokenAB, et
    le cas échéant, contrôle que le numéro aléatoire RB généré par l'entité B(6) dans le message 1(1) est bien conforme au numéro aléatoire RB compris dans les données de signature de l'entité A(8) dans le jeton TokenAB, et
    le cas échéant, détermination que l'authentification de l'entité A(8) par l'entité B(6) a bien abouti, et réalisation de l'étape 7) ;

    7) l'envoi, par l'entité B(6), d'un message 5(7) à l'entité A(8), le message 5(7) comprenant un jeton TokenBA et du texte en option Text7, dans lequel TokenBA = sSB(RA||A||Text6), et sSB est une signature signée par l'entité B(6) ;

    8) la réalisation, par l'entité A(8) des étapes suivantes sur réception du message 5(7)

    8.1) vérification de la réponse RepTA dans le message 3(4) en fonction d'un protocole de vérification de clé publique ou protocole de distribution qui est utilisé, et réalisation de l'étape 8.2) si la vérification a bien abouti ;

    8.2) acquisition de la clé publique ou du statut du certificat de clé publique de l'entité B(6),
    la vérification que la signature signée par l'entité B(6) dans le jeton TokenBA est bien correcte, et contrôle qu'un différenciateur d'entité de l'entité A(8) est bien conforme à un différenciateur d'entité de l'entité A(8) compris dans les données de signature de l'entité B(6) dans le jeton TokenBA, et
    le cas échéant, contrôle que le numéro aléatoire RA généré par l'entité A(8) dans le message 4(5) est bien conforme au numéro aléatoire RA compris dans les données de signature de l'entité B(6) dans le jeton TokenBA, et
    le cas échéant, la détermination que l'authentification de l'entité B(6) par l'entité A(8) a bien abouti.


     
    2. Système d'acquisition de clé publique d'entité, vérification et authentification de certificat avec un tiers en ligne crédible, en ce que le système comprend une entité A(8), une entité B(6) et le tiers crédible (3),
    le tiers crédible (3) comprend une unité de génération de réponse RepTA qui est apte à générer une réponse RepTA et à envoyer la réponse RepTA à l'entité A(8), et le tiers crédible (3) est également apte à vérifier, sur réception d'un message 2(2), la validité des certificats de clé publique CertA et CertB
    en fonction en fonction des identificateurs d'identité IDA et IDB de l'entité A(8) et de l'entité B(6), et recherche de clés publiques valides de l'entité A(8) et de l'entité B(6) par différenciateurs d'entité respectifs de l'entité A(8) et de l'entité B(6), dans lequel la réponse RepTA comprend le contenu d'une réponse RepB, et la réponse RepTA indique la clé publique valide ou le statut du certificat de clé publique de l'entité A(8) ainsi que la clé publique valide ou le certificat de clé publique de l'entité A(8) ainsi que la clé publique valide ou le statut du certificat de la clé publique de l'entité B(6) déterminé par le tiers crédible TP(3), et le tiers crédible TP(3) est aussi apte à renvoyer la réponse RepTA et du texte en option Text3 à l'entité A dans un message 3(4) ;
    l'entité A(8) est apte à envoyer, sur réception d'un message 1(1), le message 2(2) au tiers crédible (3), le message 2(2) comprenant une requête ReqAT et du texte en option Text2, dans lequel la requête ReqAT comprend le contenu d'une requête ReqB, et la requête ReqAT indique que l'entité A(8) sollicite une clé publique valide ou le statut d'un certificat de clé publique de l'entité B(6), et que l'entité B(6) sollicite une clé publique valide ou le statut d'un certificat de clé publique de l'entité A(8), et l'entité A(8) comprend une unité de vérification destinée à vérifier l'identité de l'entité B(6) sur réception d'un message 5(7),
    qui est apte à vérifier la réponse RepTA en fonction d'un protocole de vérification de clé publique ou protocole de distribution qui est utilisé ; à acquérir une clé publique ou le statut d'un certificat de clé publique de l'entité B(6) si la vérification a abouti ; vérifier qu'une signature signée par l'entité B(6) dans un jeton TokenBA est bien correcte et contrôler qu'un différenciateur d'entité de l'entité A(8) est bien conforme à un différenciateur d'entité de l'entité A(8) compris dans les données de signature de l'entité B(6) dans le jeton TokenBA ; et si tel est le cas, contrôler si un numéro aléatoire RA généré par l'entité A(8) dans un message 4(5) est bien conforme à un numéro aléatoire RA compris dans les données de signature de l'entité B(6) dans le jeton TokenBA ; et si tel est le cas, déterminer que la vérification de l'identité de l'entité B(6) a abouti ; dans lequel l'entité A(8) est apte à renvoyer,
    après réception du message 3(4) comprenant la réponse RepTA et du texte en option Text3, par le tiers crédible TP(3), le message 4(5) à l'entité B(6), le message 4(5) comprenant le numéro aléatoire RA généré par l'entité A(8),
    un identifiant d'identité IDA, un jeton TokenAB, la réponse RepB et du texte en option Text5, dans lequel TokenAB = sSA(RepB||RA||RB||B||A||Text4), où sSA est une signature signée par l'entité A, et la réponse RepB indique la clé publique valide ou le statut du certificat de clé publique de l'entité A(8) déterminé par le tiers crédible TP(3) ; et l'entité B(6) est apte à envoyer le message 1(1) à l'entité A(8), le message 1(1) comprenant un numéro aléatoire RB, un identifiant d'identité IDB, la requête ReqB et du texte en option Text1, dans lequel la demande ReqB indique que l'entité B(6) sollicite une clé publique valide ou le statut d'un certificat de clé publique de l'entité A(8), et l'entité B(6) comprend une unité de vérification destinée à la vérification de l'identité de l'entité A(8) sur réception du message 4(5), qui est apte à vérifier
    la réponse RepB en fonction d'un protocole de vérification de clé publique ou protocole de distribution qui est utilisé ; à acquérir une clé publique ou le statut d'un certificat de clé publique de l'entité A(8) si la vérification a abouti ; vérifier qu'une signature signée par l'entité A(8) dans un jeton TokenAB est bien correcte et contrôler qu'un différenciateur d'entité de l'entité B(6) est bien conforme à un différenciateur d'entité de l'entité B(6) compris dans les données de signature de l'entité A(8) dans le jeton TokenAB ; et le cas échéant, contrôler que le numéro aléatoire RB généré par l'entité B(6) dans le message 1(1) est bien conforme à un numéro aléatoire RB compris dans les données de signature de l'entité A(8) dans le jeton TokenAB ; et si tel est le cas, déterminer que la vérification de l'identité de l'entité A(8) a abouti, dans lequel l'entité B(6) est apte à envoyer le message 5(7) à l'entité A(8), le message 5(7) comprenant le jeton TokenBA et du texte en option Text7, dans lequel TokenBA = sSB (RA||A||Text6), et sSB est une signature signée par l'entité B(6).
     




    Drawing









    REFERENCES CITED IN THE DESCRIPTION



    This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

    Patent documents cited in the description