<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.3//EN" "ep-patent-document-v1-3.dtd">
<ep-patent-document id="EP05111797B1" file="EP05111797NWB1.xml" lang="en" country="EP" doc-number="1796012" kind="B1" date-publ="20081001" status="n" dtd-version="ep-patent-document-v1-3">
<SDOBI lang="en"><B000><eptags><B001EP>......DE......GB................................................................</B001EP><B005EP>J</B005EP><B007EP>DIM360 Ver 2.15 (14 Jul 2008) -  2100000/0</B007EP></eptags></B000><B100><B110>1796012</B110><B120><B121>EUROPEAN PATENT SPECIFICATION</B121></B120><B130>B1</B130><B140><date>20081001</date></B140><B190>EP</B190></B100><B200><B210>05111797.6</B210><B220><date>20051207</date></B220><B240><B241><date>20060913</date></B241><B242><date>20070110</date></B242></B240><B250>en</B250><B251EP>en</B251EP><B260>en</B260></B200><B400><B405><date>20081001</date><bnum>200840</bnum></B405><B430><date>20070613</date><bnum>200724</bnum></B430><B450><date>20081001</date><bnum>200840</bnum></B450><B452EP><date>20080325</date></B452EP></B400><B500><B510EP><classification-ipcr sequence="1"><text>G06F  21/00        20060101AFI20070507BHEP        </text></classification-ipcr></B510EP><B540><B541>de</B541><B542>Authentifizierungsverfahren und -vorrichtung</B542><B541>en</B541><B542>Authentication method and apparatus</B542><B541>fr</B541><B542>Procédé et appareil d'authentification</B542></B540><B560><B561><text>WO-A-20/04104797</text></B561><B562><text>A. MENEZES, P. VAN OORSCHOT, AND S. VANSTONE: "HANDBOOK OF APPLIED CRYPTOGRAPHY" 1997, CRC PRESS, INC , XP002375377 * page 405 - page 412 *</text></B562></B560></B500><B700><B720><B721><snm>Kounga, Gina</snm><adr><str>8 place du Landrel</str><city>35200 Rennes</city><ctry>FR</ctry></adr></B721></B720><B730><B731><snm>NTT DoCoMo, Inc.</snm><iid>03031182</iid><irf>DCE 030 EP</irf><adr><str>11-1, Nagatacho 2-chome, 
Chiyoda-ku</str><city>Tokyo</city><ctry>JP</ctry></adr></B731></B730><B740><B741><snm>Betten &amp; Resch</snm><iid>00101033</iid><adr><str>Patentanwälte 
Theatinerstrasse 8</str><city>80333 München</city><ctry>DE</ctry></adr></B741></B740></B700><B800><B840><ctry>DE</ctry><ctry>GB</ctry></B840><B880><date>20070613</date><bnum>200724</bnum></B880></B800></SDOBI><!-- EPO <DP n="1"> -->
<description id="desc" lang="en">
<heading id="h0001">FIELD OF INVENTION</heading>
<p id="p0001" num="0001">The present invention relates to a method and an apparatus for performing an authentication.</p>
<heading id="h0002">BACKGROUND OF THE INVENTION</heading>
<p id="p0002" num="0002">In computer networks, many services can only be provided if identities of nodes are guaranteed. This is the case for security services like access control or confidentiality. It is also the case for a more basic service like routing. If there is no solution to guarantee the correctness of a binding between an IP address and a node no routing protocol can guarantee the correct delivery of a message to the right destination. The required guarantees regarding nodes' identities are traditionally provided thanks to central administration authorities or dedicated entities. But such entities can not be found in every environment. This is particularly a problem in the field of ad-hoc networks. Since (mobile) ad-hoc networks are infrastructureless and self-organized, no central administration authority or dedicated entity can be found. This lack of administrative control has the effect that malicious behaviors that lead to a change of a network address can not be detected.</p>
<p id="p0003" num="0003">Network addresses are not the only kind of information that permits to identify nodes. Other identification information like PKCs (Public Key Certificates) or secret encryption keys can be used. However, in order to ensure that any entity actually is the entity it pretends to be, a process that permits to guarantee the correctness and the validity of the binding between identification information and an entity(a "node") in the network is needed, and such a process typically is referred to as entity authentication or authentication.<!-- EPO <DP n="2"> --></p>
<p id="p0004" num="0004">A particularly interesting field for authentication mechanisms are ad-hoc networks. They are interesting because they permit to increase the coverage area in which services are provided without relying on any infrastructure. This can permit mobile network providers to reduce their exploitation costs. In order to deploy the services they usually provide in their networks - like phone calls - mobile networks providers will have to offer the same guarantees - regarding the quality of the services they offer - in ad-hoc networks as in their traditional networks. This means that any customer in an ad-hoc network should have the ability to call someone and to be sure that the network will establish a connection with the right callee. It also means e.g. that when an MMS (Multimedia Messaging Service) will be sent by a customer that is in an ad-hoc network, it will be required to guarantee that the message will be delivered at the right destination. These examples highlight the fact that routing, which is one of the most basic services that permits a network to work properly, needs identities of nodes to be guaranteed in order to deliver messages to the right destinations. Therefore no service can efficiently be deployed in ad-hoc networks if the identity of nodes is not guaranteed.</p>
<p id="p0005" num="0005">Accordingly for ad-hoc networks there is a strong need for verifying the identity of a node. However, entity authentication is a problem in ad-hoc networks because the fact that nodes often not know each other implies that they may not share a common secret. Therefore traditional authentication solutions based on secret key mechanisms which rely on the fact that two entities share a secret cannot be used. The only way to permit two nodes that share no common knowledge to authenticate is to use public key based mechanisms. But when public key based authentication mechanisms are used like those that rely on PKCs (Public Key Certificates) there is no way to guarantee the validity of these certificates. This is because there is the fundamental problem that there is no way of obtaining the required up to date revocation information in an ad-hoc network as will be explained in the following.</p>
<p id="p0006" num="0006">When a certificate is issued it is expected to be in use for its entire validity period. But various circumstances may cause a certificate to become invalid prior to the expiration of its validity period like: a change of name, a compromise or a<!-- EPO <DP n="3"> --> suspected compromise of the corresponding private key. Many reasons can lead to the compromise of the private key like its loss or its disclosure. When this happens a certificate has to be revoked. This is traditionally made thanks to revocation mechanisms that rely on central authorities - like certification authorities (CAs), OCSP responders or repositories - in order to enable the nodes of the network to identify the public keys which must not be used anymore because they are not anymore associated with their legitimate owners. This is the reason why revocation mechanisms are required whenever certificates are used.</p>
<p id="p0007" num="0007">However, since existing revocation solutions rely on central entities -while ad-hoc networks are infrastructureless and have no central entity - the traditional approaches cannot be used in ad-hoc networks. Therefore it is required to provide a mechanism that will permit to guarantee that a certificate used in an ad-hoc network is used by its legitimate owner.</p>
<p id="p0008" num="0008">As mentioned, the fact that nodes may not access to a online third party (TTP) and may not know each other imply that they may not share a common secret which makes a shared secret inappropriate for authentication. However, also the use of public key mechanisms for authentication in ad-hoc networks poses problems. The difficulty to define public key authentication mechanisms adapted to ad-hoc networks comes from the risk of compromise of public/private key pairs. Since this kind of key pairs can be compromised they can be used by other nodes than their legitimate owners. Therefore, when it is not possible to know the revocation status of a public/private key, giving the proof that the private key associated to a public key is known does not always permit to identify the legitimate owner of a public/private key pair. This shows the limits of the solutions generally used to provide node authentication.</p>
<p id="p0009" num="0009">When a key is compromised a node that has to perform authentication is not able to make the difference between the real owner of a certificate and an attacker.<!-- EPO <DP n="4"> --></p>
<p id="p0010" num="0010">Accordingly, there is a need for providing an authentication method which overcomes the deficiencies of the conventional methods.</p>
<heading id="h0003">SUMMARY OF THE INVENTION</heading>
<p id="p0011" num="0011">According to one embodiment there is followed an approach based on associating to public (non-secret) information <i>m<sub>p</sub></i> contained in a certificate some public information <i>S<sub>P</sub></i> which, however, is based on <i>m<sub>p</sub></i> and a secret key <i>x<sub>p</sub></i> only known by the legitimate owner of the certificate and the issuer of the certificate and which has been calculated in a manner which does not disclose <i>x<sub>p</sub></i>. That way by<!-- EPO <DP n="5"> --> a computer-implemented method of verifying in a communications network the identity of a proving node P by a verifying node V to verify said node P as the legitimate owner of a public key certificate C, said method comprising:
<ul id="ul0001" list-style="none">
<li>proving by said node P to said verifying node V that node P knows the secret key <i>x<sub>p</sub></i> without disclosing <i>x<sub>p</sub></i>, whereas:</li>
<li>said secret key <i>x<sub>p</sub></i> is a secret knowledge shared by said node P and a certification authority CA which has issued said certificate C to node P,</li>
<li>said certificate C which has been issued to P by said certification authority comprises :
<ul id="ul0002" list-style="none" compact="compact">
<li>the public key of said proving node;</li>
<li>one or more non-secret elements <i>m<sub>p</sub></i> identifying the identity of the owner of the certificate to which said certificate C was issued and the certification authority,</li>
<li>a non-secret value <i>S<sub>P</sub></i> which has been generated using a cryptographic method based on said secret value <i>x<sub>p</sub></i> and one or more other non-secret elements <i>m<sub>p</sub></i> of said certificate C in such a manner that the thus generated value <i>S<sub>P</sub></i> is based on but does not disclose <i>x<sub>p</sub></i> , said a non-secret value <i>S<sub>P</sub></i> being a signature of one or more other non-secret elements <i>m<sub>p</sub></i> of said certificate, said signature having been generated based on raising <i>m<sub>p</sub></i> to <i>x<sub>p</sub></i> ; and said certificate further comprising:
<ul id="ul0003" list-style="none" compact="compact">
<li>a signature which has been generated based on <i>S<sub>P</sub></i> and on one or more other non-secret elements of said certificate using the private key of said certification authority;</li>
</ul></li>
</ul></li>
</ul><!-- EPO <DP n="6"> -->
whereas said proving to verifier V the knowledge of <i>x<sub>p</sub></i> without disclosing <i>x<sub>p</sub></i> by using <i>S<sub>P</sub></i> verifies P as the legitimate owner of certificate C, whereas said proving comprises:
<ul id="ul0004" list-style="none" compact="compact">
<li>choosing a random value a by said verifying node V and generating a challenge based on raising <i>m<sub>p</sub></i> to a or on raising <i>S<sub>P</sub></i> to a, said challenge being forwarded to node P;</li>
<li>raising by node P said challenge to <i>x<sub>p</sub></i> if said challenge is based on <i>m<sub>p</sub></i> or to 1/<i>x<sub>p</sub></i> if said challenge is based on <i>S<sub>P</sub></i> and forwarding the result to node V as said proof; and</li>
<li>verifying the identity of P by comparing the proof forwarded from node P to node V with a value calculated by node V through raising either <i>S<sub>P</sub></i> or <i>m<sub>p</sub></i> to a.</li>
</ul><!-- EPO <DP n="7"> --></p>
<p id="p0012" num="0012">According to one embodiment there is followed an approach based on associating to public (non-secret) information <i>m<sub>p</sub></i> contained in a certificate some public information <i>S<sub>P</sub></i> which, however, is based on <i>m<sub>p</sub></i> and a secret key <i>x<sub>p</sub></i> only known by the legitimate owner of the certificate and the issuer of the certificate and which has been calculated in a manner which does not disclose <i>x<sub>p</sub></i>. That way by<!-- EPO <DP n="8"> --> proving the knowledge of <i>x<sub>p</sub></i> without disclosing its actual value only the legitimate owner of the certificate will be identifiable.</p>
<p id="p0013" num="0013">To keep the method safe the information <i>x<sub>p</sub></i> to be kept secret and is never disclosed and only known by the owner of the certificate and the certification authority. This can be guaranteed e.g, by distributing the secret key in a secure manner and by storing that key on a tamper proof hardware or by requiring a password to be entered in order the key be generated and used by a mobile device. So according to one embodiment the mechanism may comprise:
<ul id="ul0005" list-style="none" compact="compact">
<li>■ A secret key <i>x<sub>p</sub></i> -that will never be disclosed - is distributed in a secure way by a CA CA<sub>1</sub> to a node P</li>
<li>■ that secret key <i>x<sub>p</sub></i> is associated to the certificate C that P received from CA<sub>1</sub> -in a way that does not expose <i>x<sub>p</sub></i></li>
<li>■ a node V that will have to authenticate P will be sure that P is the legitimate owner of C and that C has not been revoked if P is able to prove him the knowledge of the secret key <i>x<sub>p</sub></i> without disclosing it.</li>
</ul></p>
<p id="p0014" num="0014">Since the secret key will never be disclosed, even if the public/private key pair is compromised, only the legitimate owner of the certificate will be able to prove the knowledge of <i>x<sub>p</sub></i> and thus only P will be identified as the legitimate owner of the certificate and it will be possible to know that the public key/private key pair is still valid..</p>
<p id="p0015" num="0015">According to one embodiment said method is used for verifying that certificate C, used by a proving node P to prove its identity to a node V, has not been revoked, and for verifying the identity of node P even when no connectivity to a fixed network is available and for verifying that the public/private key pair associated to certificate C has not been compromised.<!-- EPO <DP n="9"> --></p>
<p id="p0016" num="0016">According to one embodiment said non-secret value <i>S<sub>p</sub></i> has been generated using a cryptographic function k as <i>S<sub>p</sub></i> = k <i>(m<sub>p</sub></i>, <i>x<sub>p</sub></i>), and said method comprises:
<ul id="ul0006" list-style="none" compact="compact">
<li>generating a challenge f by said node V based on an arbitrary number a as <maths id="math0001" num=""><math display="block"><mi mathvariant="normal">f</mi><mo mathvariant="normal">=</mo><mi mathvariant="normal">f</mi><mfenced separators=""><mi mathvariant="normal">a</mi><mo mathvariant="normal">,</mo><mi mathvariant="normal">g</mi><mfenced separators=""><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>x</mi><mi>p</mi></msub></mfenced></mfenced></math><img id="ib0001" file="imgb0001.tif" wi="48" he="10" img-content="math" img-format="tif"/></maths></li>
<li>and forwarding said challenge to node P;</li>
<li>generating by said node P a proof R as <maths id="math0002" num=""><math display="block"><mi mathvariant="normal">R</mi><mfenced separators=""><msub><mi>x</mi><mi>p</mi></msub><mo>,</mo><mi mathvariant="normal">f</mi><mfenced separators=""><mi mathvariant="normal">a</mi><mo mathvariant="normal">,</mo><mi mathvariant="normal">g</mi><mfenced separators=""><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>x</mi><mi>p</mi></msub></mfenced></mfenced></mfenced><mo>,</mo></math><img id="ib0002" file="imgb0002.tif" wi="56" he="10" img-content="math" img-format="tif"/></maths></li>
</ul>
whereas the function R and a further function R' are chosen such that the proof can be verified by node V through recalculating the proof without knowing the value <i>x<sub>p</sub></i> using the function <maths id="math0003" num=""><math display="block"><mi>Rʹ</mi><mo>=</mo><mi>Rʹ</mi><mfenced separators=""><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>S</mi><mi>p</mi></msub><mo>⁢</mo><mi mathvariant="normal">a</mi></mfenced></math><img id="ib0003" file="imgb0003.tif" wi="42" he="9" img-content="math" img-format="tif"/></maths></p>
<p id="p0017" num="0017">This makes it possible for the verifying node V to know that P's certificate has not been revoked and therefore to perform an authentication to verify P's identity even without knowing <i>x<sub>p</sub></i>.</p>
<p id="p0018" num="0018">According to one embodiment the authentication method comprises:
<ul id="ul0007" list-style="none" compact="compact">
<li>receiving by said verifying node a message comprising said value <i>S<sub>P</sub></i> which has been calculated based on raising <i>m<sub>p</sub></i> to <i>x<sub>p</sub></i>;</li>
<li>choosing a random value a by said verifying node and generating a challenge based on raising <i>m<sub>p</sub></i> to a or on raising <i>S<sub>p</sub></i> to a, said challenge being forwarded to node P;</li>
<li>raising by node P said challenge to <i>x<sub>p</sub></i> if said challenge is based on <i>m<sub>p</sub></i> or to 1/<i>x<sub>p</sub></i> if said challenge is based on <i>S<sub>p</sub></i> and forwarding the result to node V; and<!-- EPO <DP n="10"> --></li>
<li>verifying the identity of P by comparing the result forwarded from node P to node V with a value calculated by node V through raising either <i>S<sub>P</sub></i> or <i>m<sub>p</sub></i> to a.</li>
</ul></p>
<p id="p0019" num="0019">The foregoing embodiment enables a node P that has received a secret key <i>x<sub>p</sub></i> from a certification authority CA to prove to a node V - it never met - that it shares the secret key <i>x<sub>p</sub></i> with CA without disclosing that secret key.</p>
<p id="p0020" num="0020">Thus the mechanism permits to identify the legitimate owner of a certificate even when the associated key pair has been compromised. Therefore it permits to know if a public/private key pair has been revoked. The mechanism is a secret key based mechanism based on secret key x<i><sub>p</sub></i> which prevents other nodes than the legitimate owner of a certificate from using that certificate. As a result, the risk a node be impersonated by an attacker in an ad-hoc network or in any other network is negligible.</p>
<p id="p0021" num="0021">The mechanism guarantees that only the legitimate owner of a certificate will be identified as the legitimate owner of a public key even if his public/private key pair has been compromised. Moreover, it permits to avoid the use of a compromised key by an attacker. For these reasons, the solution permits to provide efficient entity authentication in ad-hoc networks.</p>
<p id="p0022" num="0022">According to one embodiment the method comprises: encrypting said challenge generated by node V with the public key of node P and forwarding said challenge to P in an encrypted manner;<br/>
decrypting the received encrypted challenge by node P using its private key.</p>
<p id="p0023" num="0023">The usage of the encryption using the public/private key pair of P increases the security.</p>
<p id="p0024" num="0024">According to one embodiment the method comprises:<!-- EPO <DP n="11"> -->
<ul id="ul0008" list-style="none" compact="compact">
<li>adding to said challenge a value identifying verifying node V;</li>
<li>forwarding said challenge including said added value to node P;</li>
<li>encrypting said challenge including said added value by P using the private key of P and forwarding the thus encrypted challenge to node V.</li>
</ul></p>
<p id="p0025" num="0025">The addition of a value identifying V makes it difficult to apply a replay attack because the intended verifying node has to cooperate in the procedure with its own unique identity.</p>
<p id="p0026" num="0026">According to one embodiment the added value comprises:
<ul id="ul0009" list-style="none" compact="compact">
<li>a value <i>S<sub>V</sub></i> which has been generated using a cryptographic method based on secret value <i>x<sub>V</sub></i> shared by node V and a certification authority and one or more other non-secret elements <i>m<sub>V</sub></i> of a certificate C of node V in such a manner that the thus generated value <i>S<sub>V</sub></i> is based on but does not disclose <i>x<sub>V</sub></i>.</li>
</ul></p>
<p id="p0027" num="0027">The value <i>S<sub>V</sub></i> uniquely identifies node V in the same manner as does <i>S<sub>P</sub>,</i> and therefore is preferable over e.g. the public key of V which in principle could also be used but which may have been compromised and therefore is less preferable.</p>
<p id="p0028" num="0028">According to one embodiment the method comprises:
<ul id="ul0010" list-style="none" compact="compact">
<li>adding a session identifier and/or a nonce to said message which is forwarded to V when presenting said value <i>S<sub>p</sub></i> to said node V;</li>
<li>further adding an encrypted version of said message which is generated based on the private key of node P;</li>
<li>adding a session identifier and/or a nonce to said challenge which is generated by node V and forwarded to node P;</li>
<li>encrypting said challenge using the private key of node V;</li>
<li>encrypting said challenge using the public key of node P.</li>
</ul><!-- EPO <DP n="12"> --></p>
<p id="p0029" num="0029">The usage of session identifiers and/or nonces increases the security of the method.</p>
<p id="p0030" num="0030">According to one embodiment the method further comprises:
<ul id="ul0011" list-style="none" compact="compact">
<li>adding session identifier <i>sid<sub>P</sub></i> and/or a nonce <i>n<sub>P</sub></i> to said message which is forwarded to V when presenting said value <i>S<sub>P</sub></i> to said node V;</li>
<li>further adding an encrypted version of said message with the private key of node P;</li>
<li>adding a session identifier <i>sid<sub>V</sub></i> and the said session identifier <i>sid<sub>P</sub></i> previously sent by P, to said <i>S<sub>V</sub></i> and to said challenge which is generated by node V;</li>
<li>encrypting a first value comprising said challenge, said session identifier <i>sid<sub>v</sub>,</i> said <i>S<sub>V</sub></i>, said nonce <i>n<sub>P</sub></i> that can be incremented by one and a nonce <i>n<sub>V</sub></i>, using the private key of node V;</li>
<li>encrypting a second value comprising said challenge, said nonce n<sub>P</sub> that can be incremented by one, said nonce <i>n<sub>v</sub></i> and said values val<sub>1</sub> encrypted with the private key of node V, using the public key of node P;</li>
<li>forwarding of said <i>sid<sub>P</sub>,</i> said <i>Sid<sub>V</sub>,</i> said <i>S<sub>V</sub></i> and the said second value encrypted with the public key of node P</li>
<li>encrypting a third value comprising said proof, said <i>S<sub>V</sub>,</i> said value identifying node P, said nonce <i>n<sub>V</sub></i> that can be incremented by one, using the private key of node P;</li>
<li>encrypting a fourth value comprising said value identifying node P, said nonce <i>n<sub>V</sub></i> that can be incremented by one and said third value encrypted with the private key of node P, using the public key of node V;</li>
<li>forwarding said session identifiers <i>sid<sub>P</sub></i> and <i>sid<sub>V</sub></i> and said encrypted fourth values encrypted with the public key of node V to node V.</li>
</ul><!-- EPO <DP n="13"> --></p>
<p id="p0031" num="0031">According to one embodiment there is provided a method of generating a certificate to be used to verify the identity of a node P in a network, said method comprising:
<ul id="ul0012" list-style="none" compact="compact">
<li>distributing knowledge about a secret key χ<i><sub>p</sub></i> between a certification authority and node P such that both share said knowledge,</li>
<li>calculating a non-secret value <i>S<sub>P</sub></i> in such a manner that said non- secret value <i>S<sub>P</sub></i> does not disclose secret key <i>x<sub>p</sub></i>;</li>
<li>including said non- secret value <i>S<sub>P</sub></i> into a certificate issued to node P by said certification authority, and</li>
<li>adding to said certificate a signature which is generated using the private key of said certification authority and which is based on said non- secret value <i>S<sub>p</sub></i> and on one or more further non-secret elements of said certificate.</li>
</ul></p>
<p id="p0032" num="0032">A certificate generated by this method can be used for authentication even if the public/private key pair belonging to the owner of the certificate has been compromised.</p>
<p id="p0033" num="0033">According to one embodiment said certificate C comprises:
<ul id="ul0013" list-style="none" compact="compact">
<li>one or more non-secret elements identifying the identity of the owner of the certificate to which said certificate C was issued and the certification authority,</li>
<li>said non-secret element <i>S<sub>P</sub></i>, and</li>
<li>a signature which has been generated based on <i>S<sub>P</sub></i> and one or more of said other non-secret elements using the private key of said certification authority.</li>
</ul></p>
<p id="p0034" num="0034">The certificate in this manner may be a standard certificate including all typical elements like name of the owner, issuer, the owner's public key, an expiration date, etc., however it further includes the public value <i>S<sub>P</sub></i> generated based on secret key <i>x<sub>p</sub></i>. Preferably it further includes a signature over one or more of these elements including the value <i>S<sub>P</sub></i> generated using the private key of the certification authority.<!-- EPO <DP n="14"> --></p>
<p id="p0035" num="0035">According to one embodiment said a non-secret value <i>S<sub>P</sub></i> is calculated based on raising <i>m<sub>p</sub></i> to <i>x<sub>p</sub></i>. This enables a proof of the knowledge of <i>x<sub>p</sub></i> by P without disclosing it by making use of a challenge raising <i>S<sub>P</sub></i> or <i>m<sub>p</sub></i> to a which is an arbitrary value chosen by V.</p>
<p id="p0036" num="0036">According to one embodiment in addition to its knowledge of secret key <i>x<sub>p</sub></i> node P has knowledge of a public key e<i><sub>p</sub></i> corresponding to secret key <i>x<sub>p</sub></i> whereas, however, <i>e<sub>p</sub></i> is kept secret by node P unless a revocation request becomes necessary to enable node P to issue a revocation request if necessary based on said public key <i>e<sub>p</sub></i>. This provides the possibility for node P to issue a revocation request if necessary.</p>
<p id="p0037" num="0037">According to one embodiment there is provided a method of revoking a certificate which has been generated and issued to a node P according to the method of one of the embodiments of the invention, said method of revoking comprising:
<ul id="ul0014" list-style="none" compact="compact">
<li>generating and disclosing a message comprising <i>S<sub>p</sub></i> and secret key x<i><sub>p</sub></i> or its corresponding public key, and a signature of said message which has been generated using the private key of node P.</li>
</ul></p>
<p id="p0038" num="0038">This enables the node P to revoke the certificate and further enables the other nodes of the network to verify the authenticity of the revocation request.</p>
<p id="p0039" num="0039">According to one embodiment the method comprises: regularly exchanging revocation messages between nodes of the network.</p>
<p id="p0040" num="0040">This keeps the nodes of the network up-to-date about any certificates which may have been revoked.<!-- EPO <DP n="15"> --></p>
<heading id="h0004">BRIEF DESCRIPTION OF THE DRAWINGS</heading>
<p id="p0041" num="0041">
<ul id="ul0015" list-style="none">
<li><figref idref="f0001">Fig. 1A</figref> schematically illustrates an embodiment of the invention.</li>
<li><figref idref="f0002">Fig. 1B</figref> schematically illustrates a further embodiment of the invention.</li>
<li><figref idref="f0003">Fig. 2</figref> schematically illustrates a certificate according to an embodiment of the invention.</li>
<li><figref idref="f0004">Fig. 3</figref> schematically illustrates the operation of an embodiment of the invention.</li>
<li><figref idref="f0005">Fig. 4</figref> schematically illustrates the operation of a further embodiment of the invention.</li>
</ul></p>
<heading id="h0005">DETAILED DESCRIPTION</heading>
<p id="p0042" num="0042">The invention will now be described in detail in the following by means of exemplary embodiments.</p>
<p id="p0043" num="0043">According to one embodiment the node P is to prove its identity to a verifying node V. For that purpose the node P makes use of a certificate which has been issued to it by certification authority CA. <figref idref="f0001">Fig. 1A</figref> schematically illustrates the relationship between the participants and the operation of an embodiment of the invention.</p>
<p id="p0044" num="0044">CA and P share a common secret <i>x<sub>p</sub>.</i> This secret key <i>x<sub>p</sub></i> may have been distributed by CA to P through a secure channel, or P may have chosen it on its own and CA has approved it. In addition to this shared secret <i>x<sub>p</sub></i> P has been issued a certificate C by CA, and this certificate - in addition to having associated with it a public/private key pair owned by P has associated with it a value <i>S<sub>P</sub></i> which albeit being public has been generated based on secret key <i>x<sub>p</sub></i>. This means that<!-- EPO <DP n="16"> --> <i>S<sub>p</sub></i> implicitly involves some knowledge about <i>x<sub>p</sub></i>, however, this "knowledge" remains implicit because <i>S<sub>P</sub></i> has been generated in such a manner that it is computationally infeasible to deduce <i>x<sub>p</sub></i> from <i>S<sub>P</sub></i>.</p>
<p id="p0045" num="0045">Nevertheless, public value <i>S<sub>P</sub></i> and the secret value <i>x<sub>p</sub></i> which is an additional secret owned by P in addition to the private key belonging to its certificate are then used to authenticate P towards V. For that purpose P proves to node V that it knows secret key <i>x<sub>p</sub></i> without disclosing it. Thereby the identity proof becomes independent of the public/private key pair owned by P and still works even if this key pair has been compromised.</p>
<p id="p0046" num="0046">In connection with <figref idref="f0003">Fig. 2A</figref> there will now be explained a further embodiment of the invention.</p>
<p id="p0047" num="0047">As can be seen from <figref idref="f0001">Fig. 1A</figref>, the non-secret value <i>S<sub>P</sub></i> is based on a cryptographic function k which is defined as <i>S<sub>p</sub> =</i> k <i>(m<sub>p</sub>, x<sub>p</sub></i>).</p>
<p id="p0048" num="0048">In order to prove the knowledge of <i>x<sub>p</sub></i> by V at first V sends a challenge f to P which is calculated based on f (a, <i>g</i>(<i>m<sub>p</sub></i>, <i>x<sub>p</sub></i>)). a here is an arbitrary number, e.g. a random number, which is chosen by V and known only to V. The function g may be identical to the function k, in this case the challenge takes the form f (a, <i>S<sub>P</sub></i>).</p>
<p id="p0049" num="0049">However the function g may also be different from k and may e.g. take the form g(<i>m<sub>p</sub></i>) without having involved even an implicit knowledge of <i>x<sub>p</sub></i> when generating challenge f. However, node V has some implicit knowledge about <i>x<sub>p</sub></i> because it knows <i>S<sub>P</sub></i> which is publicly available, e.g. through the certificate owned by node P or through some other source since <i>S<sub>P</sub></i> is public and not secret.<!-- EPO <DP n="17"> --></p>
<p id="p0050" num="0050">Based on the challenge f then node P calculates a proof value R as <maths id="math0004" num=""><math display="block"><mi mathvariant="normal">R</mi><mo>=</mo><mi mathvariant="normal">R</mi><mfenced separators=""><msub><mi>x</mi><mi>p</mi></msub><mo>,</mo><mi mathvariant="normal">f</mi><mfenced separators=""><mi mathvariant="normal">a</mi><mo mathvariant="normal">,</mo><mi mathvariant="normal">g</mi><mfenced separators=""><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>x</mi><mi>p</mi></msub></mfenced></mfenced></mfenced></math><img id="ib0004" file="imgb0004.tif" wi="61" he="12" img-content="math" img-format="tif"/></maths></p>
<p id="p0051" num="0051">This proof is then forwarded to node V which then in turn verifies the proof by recalculating the proof value based on its knowledge about a, <i>m<sub>p</sub></i> and <i>S<sub>P</sub></i> as a value <maths id="math0005" num=""><math display="block"><mi>Rʹ</mi><mo>=</mo><mi>Rʹ</mi><mfenced separators=""><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>S</mi><mi>p</mi></msub><mo>⁢</mo><mi mathvariant="normal">a</mi></mfenced></math><img id="ib0005" file="imgb0005.tif" wi="39" he="11" img-content="math" img-format="tif"/></maths></p>
<p id="p0052" num="0052">If the proof R and the recalculated proof value R' coincide, the authentication has been successfully performed.</p>
<p id="p0053" num="0053">In the following embodiment it will be explained in somewhat more detail how node V can verify that node P actually knows <i>x<sub>p</sub></i> despite node V doesn't know it. To clear the terminology used in the following description, the term <i>n</i> will denote a large number <i>n.</i> All values transmitted between the participants are sent modulo <i>n .</i> Here <i>n</i> may be defined like in the RSA cryptosystem described in <nplcit id="ncit0001" npl-type="s"><text>R.L. Rivest, A. Shamir, and L.M. Adleman, A method for obtaining digital signatures and public-key cryptosystems, Communications of the ACM (2) 21 (1978), Page(s):120-126</text></nplcit>.</p>
<p id="p0054" num="0054">However, it should already now be mentioned that the following description is not limited to RSA cryptosystems but other cryptosystems may be employed as well.</p>
<p id="p0055" num="0055">For that purpose according to one embodiment there is used the mechanism of digital signature. This choice is explained by the fact that a digital signature is considered to not expose the private key used to generate it to compromise - through breaking- if the requirements regarding parameters like the hash function used, the private key length etc. are met.<!-- EPO <DP n="18"> --></p>
<p id="p0056" num="0056">In the rest of the document <i>S = m <sup>xp</sup></i> mod <i>n</i> is considered to denote the digital signature generated on a message <i>m</i> with the secret key <i>x<sub>p</sub></i></p>
<p id="p0057" num="0057">It should further be noted that if in the following reference is made to a hash function it intends to refer to a function which when applied to a given starting value returns a resulting hash value based on which the starting value cannot be deduced. The feature that the hash-function should be collision-free which is a requirement for hash-functions used for generating database keys, however, is for the present application of less importance and not mandatory.</p>
<p id="p0058" num="0058">In this embodiment a certificate traditionally used in PKIs, such as e.g. the X.509 certificate described in R. Housley, W. Polk, W. Ford, and D. Solo, Internet X.509 Public Key Infrastructure: Certificate and Certificate Revocation List (CRL) Profile, RFC 3280, April 2002.is somewhat modified. In the new format, the certificate C that certification authority CA<sub>1</sub> issues to P contains one or more extra elements which are e.g. a digital signature <maths id="math0006" num=""><math display="inline"><msub><mi>S</mi><mi>p</mi></msub><mo>=</mo><msubsup><mi>m</mi><mi>p</mi><msub><mi>x</mi><mi>p</mi></msub></msubsup></math><img id="ib0006" file="imgb0006.tif" wi="20" he="9" img-content="math" img-format="tif" inline="yes"/></maths> mod <i>n</i> that is generated on the message <i>m<sub>P</sub></i> with the secret key <i>x<sub>p</sub> -</i> that P shares with CA<sub>1</sub>- and the value <i>n</i> used to generate that signature. The certificate format is schematically illustrated in <figref idref="f0003">Figure 2</figref>. The most important element thereby is the digital signature <i>S<sub>p</sub></i> which distinguishes it from known certificates and which enables the operation of the embodiment of the invention.</p>
<p id="p0059" num="0059">Here <i>m<sub>P</sub></i> represents a message generated with the fields that precede <i>S<sub>P</sub></i> in P's certificate. It should be mentioned here <i>m<sub>P</sub></i> does not need to include all the fields preceding <i>S<sub>P</sub></i>, it is sufficient if it includes one of the public information elements in the certificate. Since this information is public any node is then able to generate <i>m<sub>p</sub></i>. The only requirement is that the public information elements used to generate <i>m<sub>p</sub></i> can be easily identified. However, <i>S<sub>P</sub></i> is generated by CA<sub>1</sub> (or P) and<!-- EPO <DP n="19"> --> actually can only be generated by one of these entities because only they know <i>χ<sub>p</sub></i></p>
<p id="p0060" num="0060">It should be noted here that <i>S<sub>p</sub></i> not necessarily has to be included in the certificate, it is sufficient if it is "associated" with the certificate such that any interested entity can obtain <i>S<sub>p</sub></i> and can identify it as the value <i>S<sub>p</sub></i> belonging to the certificate C.</p>
<p id="p0061" num="0061">Since the certificate is signed by CA<sub>1</sub> using its own private key, any node V that will have to verify the authenticity of the certificate will have the confidence that <i>S<sub>p</sub></i> has been generated by CA<sub>1</sub> or is valid as soon as CA<sub>1</sub>'s signature on the certificate will be correct.</p>
<p id="p0062" num="0062">According to one embodiment this new certificate is used in order to provide entity authentication. The embodiment permits a node P - the prover - to prove to a node V- that is the verifier and that P may have never met - that it knows the secret key <i>x<sub>p</sub></i> used to generate the signature <maths id="math0007" num=""><math display="inline"><msub><mi>S</mi><mi>P</mi></msub><mo>=</mo><msubsup><mi>m</mi><mi>P</mi><msub><mi>x</mi><mi>P</mi></msub></msubsup></math><img id="ib0007" file="imgb0007.tif" wi="19" he="9" img-content="math" img-format="tif" inline="yes"/></maths> mod <i>n</i> associated to the public key certificate C without disclosing <i>x<sub>p</sub></i>. This permits V to identify P as the legitimate owner of C.</p>
<p id="p0063" num="0063">A known mechanism to verify that node P knows the secret key used to generate a signature would be the traditional check of the validity of a signature with the public key associated to the private key that was used to generate that signature</p>
<p id="p0064" num="0064">However, since the private key associated with a public key can be compromised, checking the validity of the signature <maths id="math0008" num=""><math display="inline"><msub><mi>S</mi><mi>P</mi></msub><mo>=</mo><msubsup><mi>m</mi><mi>P</mi><msub><mi>x</mi><mi>P</mi></msub></msubsup></math><img id="ib0008" file="imgb0008.tif" wi="18" he="10" img-content="math" img-format="tif" inline="yes"/></maths> mod <i>n</i> with the right public key will not permit to be sure that the owner of the private key which corresponds to that public key is the one that initially received the secret key <i>x<sub>p</sub></i> from the CA.</p>
<p id="p0065" num="0065">In particular it can be seen that the traditional proof based signature verification using a public/private key pair requires revocation mechanisms to be used because<!-- EPO <DP n="20"> --> these keys can be compromised. Therefore, using these solutions will make us enter a circle: signatures are added in certificates to perform revocation and revocation is required to check these signatures. This is why the approach according to an embodiment of the invention does not rely on public key mechanisms. Instead there is chosen to use secret key mechanisms to check the validity of the signature <i>S<sub>p</sub></i> on P's certificate. If P's secret key is securely stored in a tamper proof hardware like the SIM card used in GSM or is not directly stored in the mobile device but generated after a password is enter by the user it can be assumed that it does not require to be revoked.</p>
<p id="p0066" num="0066">Therefore a different approach is used which will be explained in the following.</p>
<p id="p0067" num="0067"><figref idref="f0004">Fig 3</figref> schematically illustrates the operation of an authentication method according to this embodiment.</p>
<p id="p0068" num="0068">Before explaining in detail the operation of the embodiment shown in <figref idref="f0004">Fig. 3</figref>, the terminology used therein is explained in the following.</p>
<heading id="h0006"><i>Notation:</i></heading>
<p id="p0069" num="0069">
<ul id="ul0016" list-style="none" compact="compact">
<li><i>Cert<sub>P</sub></i> : <i>P's public key certificate</i></li>
<li><i>K<sub>P</sub></i> : <i>P's public key</i></li>
<li>{<i>m</i>}<i><sub>K<sub2>P</sub2></sub></i> : <i>encryption of the message m with P's public key</i></li>
<li><maths id="math0009" num=""><math display="inline"><msup><msub><mi mathvariant="italic">Sig</mi><msubsup><mi>K</mi><mi>P</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup></msub><mfenced open="{" close="}" separators=""><msub><mi>x</mi><mn>1</mn></msub><mo>⁢</mo><msub><mi>x</mi><mn>2</mn></msub><mo>…</mo><msub><mi>x</mi><mi>n</mi></msub></mfenced></msup></math><img id="ib0009" file="imgb0009.tif" wi="46" he="17" img-content="math" img-format="tif" inline="yes"/></maths>: <i>signature generated with P's private key on the message composed of the elements</i> x<sub>1</sub>, x<sub>2</sub>,..., x<i><sub>n</sub></i>.</li>
<li><maths id="math0010" num=""><math display="inline"><msubsup><mi>m</mi><mi>v</mi><msub><mi>x</mi><mi>v</mi></msub></msubsup></math><img id="ib0010" file="imgb0010.tif" wi="9" he="10" img-content="math" img-format="tif" inline="yes"/></maths>:<i>The signature generated by CA</i><sub>1</sub> <i>on V's certificate with the secret key x<sub>v</sub> that CA</i><sub>1</sub> <i>shares with V</i></li>
</ul></p>
<p id="p0070" num="0070">At message (1) P sends its certificate in order to launch the authentication process.<!-- EPO <DP n="21"> --></p>
<p id="p0071" num="0071">It should be mentioned that instead of sending the (full) certificate P may also only send <i>S<sub>P</sub></i>. As still another an alternative the node P may send any message indicating that the authentication procedure should start, and then node V receives somehow <i>S<sub>P</sub>.</i> This can also be achieved by having <i>S<sub>p</sub></i> actively retrieved though node V from some database where it is stored. What should, however, be the result of step (1) is that node V finally has received <i>S<sub>p</sub></i> and thereby has received "implicit" knowledge about secret key <i>x<sub>p</sub></i> which is explicitly known only by node P and CA.</p>
<p id="p0072" num="0072">Assuming now that in message (1) V has received the full certificate of node V. When receiving the message (1), V preferably checks the validity of the CA's signature - present in the received certificate. If it is correct, it selects a random value a, generates a challenge by raising <i>m<sub>p</sub></i> - that it will have previously composed thanks to P's certificate- to a and obtains <maths id="math0011" num=""><math display="inline"><msubsup><mi>m</mi><mi>p</mi><mi>a</mi></msubsup></math><img id="ib0011" file="imgb0011.tif" wi="12" he="11" img-content="math" img-format="tif" inline="yes"/></maths> Then V sends that challenge along with its certificate to P as message (2). Instead of sending the full certificate V may also just send <maths id="math0012" num=""><math display="inline"><msubsup><mi>m</mi><mi>v</mi><msub><mi>x</mi><mi>v</mi></msub></msubsup></math><img id="ib0012" file="imgb0012.tif" wi="11" he="8" img-content="math" img-format="tif" inline="yes"/></maths> Preferably the challenge is encrypted with P's public key. After it has received the message (2) and if it has been encrypted, P decrypts the challenge with its private key. Once the decryption done, P uses its secret key to raise the challenge to <i>x<sub>p</sub></i> and obtains <maths id="math0013" num=""><math display="inline"><msup><mfenced><msubsup><mi>m</mi><mi>P</mi><mi>a</mi></msubsup></mfenced><msub><mi>x</mi><mi>P</mi></msub></msup></math><img id="ib0013" file="imgb0013.tif" wi="20" he="9" img-content="math" img-format="tif" inline="yes"/></maths></p>
<p id="p0073" num="0073">Then it uses the result, <maths id="math0014" num=""><math display="inline"><msubsup><mi>m</mi><mi>v</mi><msub><mi>x</mi><mi>v</mi></msub></msubsup></math><img id="ib0014" file="imgb0014.tif" wi="8" he="9" img-content="math" img-format="tif" inline="yes"/></maths> <i>-</i> this element is taken from V's certificate - and its private key <maths id="math0015" num=""><math display="inline"><msubsup><mi>K</mi><mi>P</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup></math><img id="ib0015" file="imgb0015.tif" wi="8" he="8" img-content="math" img-format="tif" inline="yes"/></maths> to generate a signature. That signature is sent to V as message (3). When V receives the message (3), it uses <maths id="math0016" num=""><math display="inline"><msubsup><mi>m</mi><mi>p</mi><msub><mi>x</mi><mi>p</mi></msub></msubsup></math><img id="ib0016" file="imgb0016.tif" wi="9" he="10" img-content="math" img-format="tif" inline="yes"/></maths> present in P's certificate, raises it to a and obtains a result <maths id="math0017" num=""><math display="inline"><mi>R</mi><mo>=</mo><msup><mfenced><msubsup><mi>m</mi><mi>P</mi><msub><mi>x</mi><mi>P</mi></msub></msubsup></mfenced><mi>a</mi></msup><mo>=</mo><msup><mfenced><msubsup><mi>m</mi><mi>P</mi><mi>a</mi></msubsup></mfenced><msub><mi>x</mi><mi>P</mi></msub></msup></math><img id="ib0017" file="imgb0017.tif" wi="41" he="9" img-content="math" img-format="tif" inline="yes"/></maths>. Then V uses the value <maths id="math0018" num=""><math display="inline"><msubsup><mi>m</mi><mi>v</mi><msub><mi>x</mi><mi>v</mi></msub></msubsup></math><img id="ib0018" file="imgb0018.tif" wi="9" he="8" img-content="math" img-format="tif" inline="yes"/></maths> - that is in its certificate - and R to generate a hash that it will compare to the one obtained by decrypting the received signature with P's public key <i>K<sub>P</sub></i>. If the compared values are identical then, V will have the confidence that it is the entity that received <i>x<sub>P</sub></i> from CA<sub>1</sub> -i.e. the legitimate P- that generated the proof. This will further permit V to<!-- EPO <DP n="22"> --> know that the certificate has not been revoked and to identify P. Since to check the validity of the proof sent by P, the verifier has to verify the validity of the hash used for the signature, no node except the one that generated the random value α is able to check the correctness of the proof. Here the non-reversible property of one way hash functions is used. Moreover, since <maths id="math0019" num=""><math display="inline"><msubsup><mi>m</mi><mi>v</mi><msub><mi>x</mi><mi>v</mi></msub></msubsup></math><img id="ib0019" file="imgb0019.tif" wi="8" he="8" img-content="math" img-format="tif" inline="yes"/></maths> -that is used here to identify the verifier- is used to generate the signature, it will not be possible to replay the proof to another node than V.</p>
<p id="p0074" num="0074">It should be mentioned that here there is used <maths id="math0020" num=""><math display="inline"><msubsup><mi>m</mi><mi>v</mi><msub><mi>x</mi><mi>v</mi></msub></msubsup></math><img id="ib0020" file="imgb0020.tif" wi="9" he="8" img-content="math" img-format="tif" inline="yes"/></maths> and not V's public key because the fact that public/private key pairs can be compromised makes that using a public key will not always permit to identify one unique entity. However, since only the legitimate V knows the <i>x<sub>v</sub></i> associated to <maths id="math0021" num=""><math display="inline"><msubsup><mi>m</mi><mi>v</mi><msub><mi>x</mi><mi>v</mi></msub></msubsup></math><img id="ib0021" file="imgb0021.tif" wi="9" he="9" img-content="math" img-format="tif" inline="yes"/></maths> one can be sure that only the legitimate entity will be identified with it. So it will only be possible to replay the proof to the legitimate V.</p>
<p id="p0075" num="0075">A difference between the solution according to this embodiment and any previous approach is that while these approaches wanted to prove that a signature and a public key have a common exponent - the private key- in the present embodiment it is only necessary to verify that a signature generated by the CA has been generated with an exponent whose value is known by the prover. This makes it possible to transform the initial public key based approach into a secret key based approach. Another difference comes from the fact that in the present embodiment, the whole proof is only accessible to the verifier through a hash generated thanks to a one way hash function. Since they are non-reversible, the secret that the prover shares with the CA can not be computed by the verifier.</p>
<p id="p0076" num="0076">In the following there will be explained in connection with <figref idref="f0005">Fig. 4</figref> a further embodiment of the invention.</p>
<p id="p0077" num="0077">The <figref idref="f0005">Figure 4</figref> schematically presents an even more robust version of an authentication method. Here there is used the same notation than previously used, but there are added:<!-- EPO <DP n="23"> -->
<ul id="ul0017" list-style="none" compact="compact">
<li>■ <i>sid<sub>P</sub></i>, <i>sid<sub>v</sub></i> : the session identifiers chosen by each party for the on going authentication process</li>
<li>■ <i>n<sub>P</sub>,n<sub>v</sub> :</i> nonces used to guarantee the freshness of the messages</li>
</ul></p>
<p id="p0078" num="0078">The signature is used here in order to link the knowledge of the private key associated with a public key to the knowledge of a secret key shared with a CA. This permits to be sure that the node that currently uses the private key associated to a public key is the one that received the secret key from the CA and therefore it is the legitimate owner of the certificate.</p>
<p id="p0079" num="0079">In connection with this embodiment the following should be noted:
<ul id="ul0018" list-style="none" compact="compact">
<li>■ Mutual authentication can be provided by adding a challenge that P will send to V at message (3) and that V will respond in a message (4).</li>
<li>■ Even in case of compromise of the public/private key pair associated with the certificate only the legitimate owner of the certificate will be authenticated as the legitimate owner of the key pair.</li>
</ul></p>
<p id="p0080" num="0080">In order to take into account the specific circumstances arising in the case of ad-hoc networks, according to one embodiment there is provided an efficient revocation mechanism.</p>
<p id="p0081" num="0081">In this embodiment, revocation can be provided by the legitimate owner of a certificate by sending the following request: <maths id="math0022" num=""><math display="block"><msub><mi mathvariant="italic">Cert</mi><mi mathvariant="italic">P</mi></msub><mo mathvariant="italic">,</mo><msub><mi mathvariant="italic">e</mi><mi mathvariant="italic">P</mi></msub><mo mathvariant="italic">,</mo><mmultiscripts><mfenced open="{" close="}" separators=""><msub><mi mathvariant="italic">Cert</mi><mi mathvariant="italic">P</mi></msub><mo>⁢</mo><msub><mi mathvariant="italic">e</mi><mi mathvariant="italic">p</mi></msub></mfenced><mprescripts/><msub><mi mathvariant="italic">Sig</mi><msubsup><mi mathvariant="italic">K</mi><mi mathvariant="italic">P</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup></msub><none/></mmultiscripts></math><img id="ib0022" file="imgb0022.tif" wi="93" he="15" img-content="math" img-format="tif"/></maths></p>
<p id="p0082" num="0082">This request will be sent to all nodes in the network. Edge nodes or gateways may also distribute it to neighboring networks so that the knowledge about revoked certificates will be efficiently distributed.<!-- EPO <DP n="24"> --></p>
<p id="p0083" num="0083">Revocation in this embodiment is made by disclosing the public key <i>e<sub>p</sub></i> - like e.g. the one defined in the RSA cryptosystem mentioned already - associated to the secret key <i>x<sub>p</sub></i>. Since <i>x<sub>p</sub></i> is never disclosed, only the node that received it from the CA is able to publish a valid public key that permits to verify <maths id="math0023" num=""><math display="inline"><msub><mi>S</mi><mi>p</mi></msub><mo>=</mo><msubsup><mi>m</mi><mi>p</mi><msub><mi>x</mi><mi>p</mi></msub></msubsup></math><img id="ib0023" file="imgb0023.tif" wi="20" he="9" img-content="math" img-format="tif" inline="yes"/></maths>. By receiving the request, nodes will check the correctness of the received signature with P's public key- contained in P's certificate- and then check the validity of <i>S<sub>p</sub></i> with <i>e<sub>p</sub>.</i> Thereby they can verify the authenticity of the revocation request.</p>
<p id="p0084" num="0084">If all the verifications are correct then nodes will have the confidence that the request was sent by the legitimate owner of the certificate. They will consider that P's certificate is not valid anymore and put it in their revocation list. Once a certificate is in a revocation list the public key associated to it is not used anymore.</p>
<p id="p0085" num="0085">According to one embodiment the revocation solution can be enriched by a regular exchange of revocation information between nodes. This permits new members of the ad-hoc network to obtain information about certificates that have been revoked before they entry in the network. It will also permit newly arrived nodes to inform the ad-hoc network about keys that have been revoked in their previous networks. After a node has revoked its certificate it will have to use a new one. So each node will have to store more than one certificate.</p>
<p id="p0086" num="0086">According to another embodiment a way to perform revocation could be to disclose x<i><sub>p</sub></i>. This solution, however, is less preferable because then an attacker N will be able to leave the network after the disclosure of the secret key and to use it in another network to impersonate the emitter of the revocation request.</p>
<p id="p0087" num="0087">The interesting point when <i>e<sub>P</sub></i> is disclosed is that it does not directly expose the secret key to compromise. To be able to generate a valid proof N would have to break <i>e<sub>P</sub> -</i> i.e. to find <i>x<sub>p</sub></i> from <i>e<sub>P</sub></i>. Since modern cryptography relies on the difficulty<!-- EPO <DP n="25"> --> to find a private key from the corresponding public key the risk a public key be broken is almost negligible.</p>
<p id="p0088" num="0088">This revocation solution permits the whole network to know which key has to be considered invalid and also guarantees that no node in the network will be impersonated by a node that will have compromised its public/private key pair. It also reduces significantly the risk of impersonation attack in a different network than the one of the legitimate owner of a certificate.</p>
<p id="p0089" num="0089">It will be apparent to the skilled person that modifications of the embodiments described hereinbefore are possible for the skilled person without deriving from the scope of the invention. In particular the following should be noted in connection with the present and previous embodiments and possible modifications.</p>
<p id="p0090" num="0090">So far it has been considered that the secret key <i>x<sub>p</sub></i> was distributed by a CA - here CA<sub>1</sub>. This is not a necessity. Indeed, node P can choose by itself its secret key <i>x<sub>p</sub>.</i> Then, during the certificate issuance process, P will present the signature <maths id="math0024" num=""><math display="inline"><msub><mi>S</mi><mi>p</mi></msub><mo>=</mo><msubsup><mi>m</mi><mi>p</mi><msub><mi>x</mi><mi>p</mi></msub></msubsup></math><img id="ib0024" file="imgb0024.tif" wi="20" he="9" img-content="math" img-format="tif" inline="yes"/></maths> mod <i>n -</i> that it will have generated by itself - to the CA and prove to it the knowledge of the corresponding secret key. The CA will then check that the signature is not used by another node. If it is not used, the CA will be able to generate a certificate. There may be further a check of the identity of P through some "classical means" like a passport or any "human identification" before the CA certifies by issuing the certificate that P indeed is P and not anybody else who pretends to be P.</p>
<p id="p0091" num="0091">Furthermore, the large number <i>n</i> used to generate the signatures can be different from a certificate to another one.</p>
<p id="p0092" num="0092">While in the foregoing embodiments mostly RSA has been chosen as an example, it should be noted that the embodiments of the invention can also be implemented with different cryptosystems.<!-- EPO <DP n="26"> --></p>
<p id="p0093" num="0093">In the authentication methods described before in connection with <figref idref="f0004">Fig.3</figref>, it is possible to send in the message (2) the challenge <maths id="math0025" num=""><math display="inline"><msubsup><mi>m</mi><mi>P</mi><mrow><msub><mi>x</mi><mi>P</mi></msub><mo>*</mo><mi>a</mi></mrow></msubsup></math><img id="ib0025" file="imgb0025.tif" wi="12" he="9" img-content="math" img-format="tif" inline="yes"/></maths> instead of sending <maths id="math0026" num=""><math display="inline"><msubsup><mi>m</mi><mi>p</mi><mi>a</mi></msubsup></math><img id="ib0026" file="imgb0026.tif" wi="10" he="9" img-content="math" img-format="tif" inline="yes"/></maths>.</p>
<p id="p0094" num="0094">The proof sent at message (3) will then be: <maths id="math0027" num=""><math display="inline"><msub><mi mathvariant="italic">Sig</mi><msubsup><mi mathvariant="italic">K</mi><mi mathvariant="italic">p</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup></msub><mfenced open="{" close="}" separators=""><msubsup><mi mathvariant="italic">m</mi><mi mathvariant="italic">p</mi><mi mathvariant="italic">a</mi></msubsup><mo>⁢</mo><msubsup><mi mathvariant="italic">m</mi><mi mathvariant="italic">V</mi><msub><mi mathvariant="italic">x</mi><mi mathvariant="italic">V</mi></msub></msubsup></mfenced></math><img id="ib0027" file="imgb0027.tif" wi="55" he="12" img-content="math" img-format="tif" inline="yes"/></maths><br/>
The same modification can be made in the complete version of the protocol defined in <figref idref="f0005">Figure 4</figref>. This also permits to identify the node P.</p>
<p id="p0095" num="0095">It will be understood by the skilled person that the embodiments described hereinbefore may be implemented by hardware, by software, or by a combination of software and hardware. The modules described in connections with embodiments of the invention may be as a whole or in part implemented by microprocessors or computers which are suitably programmed such as to act in accordance with the methods explained in connection with embodiments of the invention.</p>
<p id="p0096" num="0096">According to an embodiment of the invention there is provided a computer program, either stored in a data carrier or in some other way embodied by some physical means such as a recording medium or a transmission link which when being executed on a computer enables the computer to operate in accordance with the embodiments of the invention described hereinbefore.</p>
</description><!-- EPO <DP n="27"> -->
<claims id="claims01" lang="en">
<claim id="c-en-01-0001" num="0001">
<claim-text>A computer-implemented method of verifying in a computer network the identity of a proving node P by a verifying node V to verify said node P as the legitimate owner of a public key certificate C, said method comprising:
<claim-text>proving by said node P to said verifying node V that node P knows the secret key <i>x<sub>p</sub></i> without disclosing <i>x<sub>p</sub></i>, whereas:
<claim-text>said secret key <i>x<sub>p</sub></i> is a secret knowledge shared by said node P and a certification authority CA which has issued said certificate C to node P,</claim-text>
<claim-text>said certificate C which has been issued to P by said certification authority comprises :
<claim-text>the public key of said proving node;</claim-text>
<claim-text>one or more non-secret elements <i>m<sub>p</sub></i> identifying the identity of the owner of the certificate to which said certificate C was issued and the certification authority,</claim-text>
<claim-text>a non-secret value <i>S<sub>P</sub></i> which has been generated using a cryptographic method based on said secret value <i>x<sub>p</sub></i> and one or more other non-secret elements <i>m<sub>p</sub></i> of said certificate C in such a manner that the thus generated value <i>S<sub>P</sub></i> is based on but does not disclose <i>x<sub>p</sub></i> , said a non-secret value <i>S<sub>P</sub></i> being a signature of one or more other non-secret elements <i>m<sub>p</sub></i> of said certificate, said signature having been generated based on raising <i>m<sub>p</sub></i> to <i>x<sub>p</sub></i>; and said certificate further comprising:
<claim-text>a signature which has been generated based on <i>S<sub>P</sub></i> and on one or more other non-secret elements of said certificate using the private key of said certification authority;</claim-text></claim-text></claim-text></claim-text><!-- EPO <DP n="28"> -->
whereas said proving to verifier V the knowledge of <i>x<sub>p</sub></i> without disclosing <i>x<sub>p</sub></i> by using <i>S<sub>P</sub></i> verifies P as the legitimate owner of certificate C, whereas said proving comprises:
<claim-text>choosing a random value a by said verifying node V and generating a challenge based on raising <i>m<sub>p</sub></i> to a or on raising <i>S<sub>P</sub></i> to a, said challenge being forwarded to node P;</claim-text>
<claim-text>raising by node P said challenge to <i>x<sub>p</sub></i> if said challenge is based on <i>m<sub>p</sub></i> or to 1/<i>x<sub>p</sub></i> if said challenge is based on <i>S<sub>P</sub></i> and forwarding the result to node V as said proof; and</claim-text>
<claim-text>verifying the identity of P by comparing the proof forwarded from node P to node V with a value calculated by node V through raising either <i>S<sub>P</sub></i> or <i>m<sub>p</sub></i> to a.</claim-text></claim-text></claim>
<claim id="c-en-01-0002" num="0002">
<claim-text>The method of claim 1, wherein said method is used for verifying that certificate C, used by a proving node P to prove its identity to a node V, has not been revoked, and/or for verifying the identify of node P even when no connectivity to a fixed network is available and/or for verifying that the public/private key pair associated to certificate C has not been compromised.</claim-text></claim>
<claim id="c-en-01-0003" num="0003">
<claim-text>The method of claim 1 or 2, wherein said non-secret value <i>S<sub>P</sub></i> has been generated using a cryptographic function k as <i>S<sub>P</sub></i> = k (<i>m<sub>p</sub></i> , <i>x<sub>p</sub></i>), and said method comprises:
<claim-text>generating a challenge f by said node V based on an arbitrary number a as <maths id="math0028" num=""><math display="block"><mi mathvariant="normal">f</mi><mo mathvariant="normal">=</mo><mi mathvariant="normal">f</mi><mfenced separators=""><mi mathvariant="normal">a</mi><mo mathvariant="normal">,</mo><mi mathvariant="normal">g</mi><mfenced><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>x</mi><mi>p</mi></msub></mfenced></mfenced></math><img id="ib0028" file="imgb0028.tif" wi="54" he="10" img-content="math" img-format="tif"/></maths></claim-text>
<claim-text>and forwarding said challenge to node P;</claim-text>
<claim-text>generating by said node P a proof R as <maths id="math0029" num=""><math display="block"><mi mathvariant="normal">R</mi><mfenced separators=""><msub><mi>x</mi><mi>p</mi></msub><mo>,</mo><mi mathvariant="normal">f</mi><mfenced separators=""><mi mathvariant="normal">a</mi><mo mathvariant="normal">,</mo><mi mathvariant="normal">g</mi><mfenced><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>x</mi><mi>p</mi></msub></mfenced></mfenced></mfenced></math><img id="ib0029" file="imgb0029.tif" wi="57" he="13" img-content="math" img-format="tif"/></maths> and forwarding said proof to node V,<!-- EPO <DP n="29"> --></claim-text>
<claim-text>whereas the function R and a further function R' are chosen such that the proof can be verified by node V through recalculating the proof without knowing the value <i>x<sub>p</sub></i> using the function <maths id="math0030" num=""><math display="block"><mi mathvariant="normal">Rʹ</mi><mo mathvariant="normal">=</mo><mi mathvariant="normal">Rʹ</mi><mo>(</mo><msub><mi>m</mi><mi>p</mi></msub><mo>,</mo><msub><mi>S</mi><mi>p</mi></msub><mo>,</mo><mi mathvariant="normal">a</mi><mo>)</mo><mo>;</mo></math><img id="ib0030" file="imgb0030.tif" wi="49" he="9" img-content="math" img-format="tif"/></maths></claim-text>
<claim-text>verifying said proof R by said node V with said function R' = R' (<i>m<sub>p</sub></i>, <i>S<sub>P</sub></i>, a).</claim-text></claim-text></claim>
<claim id="c-en-01-0004" num="0004">
<claim-text>The method of one of claims 1 to 3, further comprising:
<claim-text>encrypting said challenge generated by node V with the public key of node P and forwarding said challenge to P in an encrypted manner;</claim-text>
<claim-text>decrypting the received encrypted challenge by node P using its private key.</claim-text></claim-text></claim>
<claim id="c-en-01-0005" num="0005">
<claim-text>The method of one of claims 1 to 4, further comprising:
<claim-text>adding to said challenge a value identifying verifying node V;</claim-text>
<claim-text>forwarding said challenge including said added value to node P;</claim-text>
<claim-text>encrypting said challenge including said added value by P using the private key of P and forwarding the thus encrypted challenge to node V.</claim-text></claim-text></claim>
<claim id="c-en-01-0006" num="0006">
<claim-text>The method of claim 5, wherein said added value comprises:
<claim-text>a value <i>S<sub>V</sub></i> which has been generated using a cryptographic method based on secret value x<i><sub>V</sub></i> shared by node V and a certification authority and one or more other non-secret elements <i>m<sub>V</sub></i> of a certificate of node V in such a manner that the thus generated value <i>S<sub>V</sub></i> is based on but does not disclose <i>x<sub>V</sub></i></claim-text></claim-text></claim>
<claim id="c-en-01-0007" num="0007">
<claim-text>The method of one of claims 1 to 6, further comprising:
<claim-text>adding a session identifier and/or a nonce to said message which is forwarded to V when presenting said value <i>S<sub>P</sub></i> to said node V;</claim-text>
<claim-text>further adding an encrypted version of said message which is generated based on the private key of node P;<!-- EPO <DP n="30"> --></claim-text>
<claim-text>adding a session identifier and/or a nonce to said challenge which is generated by node V and forwarded to node P;</claim-text>
<claim-text>encrypting said challenge using the private key of node V;</claim-text>
<claim-text>encrypting said challenge using the public key of node P.</claim-text></claim-text></claim>
<claim id="c-en-01-0008" num="0008">
<claim-text>The method of one of claims 1 to 7, further comprising:
<claim-text>adding session identifier <i>sid<sub>P</sub></i> and/or a nonce <i>n<sub>P</sub></i> to said message which is forwarded to V when presenting said value <i>S<sub>P</sub></i> to said node V;</claim-text>
<claim-text>further adding an encrypted version of said message with the private key of node P;</claim-text>
<claim-text>adding a session identifier <i>sid<sub>V</sub></i> and the said session identifier <i>sid<sub>P</sub></i> previously sent by P, to said <i>S<sub>V</sub></i> and to said challenge which is generated by node V;</claim-text>
<claim-text>encrypting a first value val<sub>1</sub> comprising said challenge, said session identifier <i>sid<sub>V</sub></i>, said <i>S<sub>V</sub></i>, said nonce <i>n<sub>P</sub></i> that can be incremented by one and a nonce <i>n<sub>V</sub></i>, using the private key of node V;</claim-text>
<claim-text>encrypting a second value comprising said challenge, said nonce <i>n<sub>P</sub></i> that can be incremented by one, said nonce <i>n<sub>V</sub></i> and said values val<sub>1</sub> encrypted with the private key of node V, using the public key of node P;</claim-text>
<claim-text>forwarding of said <i>sid<sub>P</sub></i>, said <i>sid<sub>V</sub></i>, said <i>S<sub>V</sub></i> and the said second value encrypted with the public key of node P</claim-text>
<claim-text>encrypting a third value comprising said proof, said <i>S<sub>V</sub></i>, said value identifying node P, said nonce <i>n<sub>V</sub></i> that can be incremented by one, using the private key of node P;</claim-text>
<claim-text>encrypting a fourth value comprising said value identifying node P, said nonce <i>n<sub>V</sub></i> that can be incremented by one and said third value encrypted with the private key of node P, using the public key of node V;<!-- EPO <DP n="31"> --></claim-text>
<claim-text>forwarding said session identifiers <i>sid<sub>P</sub></i> and <i>sid<sub>V</sub></i> and said encrypted fourth values encrypted with the public key of node V to node V.</claim-text></claim-text></claim>
<claim id="c-en-01-0009" num="0009">
<claim-text>A method of generating a public key certificate to be used to verify the identity of a proving node P in a network as the legitimate owner of said public key certificate, said method comprising:
<claim-text>distributing knowledge about a secret key <i>x<sub>p</sub></i> between a certification authority and node P such that both share said knowledge,</claim-text>
<claim-text>calculating a non-secret value <i>S<sub>P</sub></i> based on one or more public elements <i>m<sub>p</sub></i> of said certificate in such a manner that said non- secret value <i>S<sub>P</sub></i> does not disclose secret key <i>x<sub>p</sub></i>;</claim-text>
<claim-text>including said non- secret value <i>S<sub>P</sub></i> into a certificate issued to node P by said certification authority, and</claim-text>
<claim-text>adding to said certificate a signature which is generated using the private key of said certification authority and which is based on said non- secret value <i>S<sub>P</sub></i> , on one or more further non-secret elements of said certificate,</claim-text>
wherein said certificate C comprises
<claim-text>the public key of said proving node;</claim-text>
<claim-text>one or more non-secret elements identifying the identity of the owner of the certificate to which said certificate C was issued and the certification authority, said non-secret element <i>S<sub>P</sub></i> being a signature of one or more other non-secret elements <i>m<sub>p</sub></i> which has been generated by raising <i>m<sub>p</sub></i> to <i>x<sub>p</sub></i>, and</claim-text>
<claim-text>a signature which has been generated based on <i>S<sub>P</sub></i> and on one or more of other non-secret elements of said certificate using the private key of said certification authority, so that the identity of proving node P may be verified by the following steps:.<!-- EPO <DP n="32"> --></claim-text>
<claim-text>choosing a random value a by said verifying node V and generating a challenge based on raising <i>m<sub>p</sub></i> to a or on raising <i>S<sub>P</sub></i> to a, said challenge being forwarded to node P;</claim-text>
<claim-text>raising by node P said challenge to <i>x<sub>p</sub></i> if said challenge is based on <i>m<sub>p</sub></i> or to 1/<i>x<sub>p</sub></i> if said challenge is based on <i>S<sub>P</sub></i> and forwarding the result to node V as said proof; and</claim-text>
<claim-text>verifying the identity of P by comparing the proof forwarded from node P to node V with a value calculated by node V through raising either <i>S<sub>P</sub></i> or <i>m<sub>p</sub></i> to a.</claim-text></claim-text></claim>
<claim id="c-en-01-0010" num="0010">
<claim-text>The method of claim 9, wherein said non-secret value <i>S<sub>P</sub></i> is calculated based on raising <i>m<sub>p</sub></i>, to <i>x<sub>p</sub></i>.</claim-text></claim>
<claim id="c-en-01-0011" num="0011">
<claim-text>The method of one of claims 1 to 10, wherein in addition to its knowledge of secret key <i>x<sub>p</sub></i> node P has knowledge of a public key <i>e<sub>p</sub></i> or can generate that public key <i>e<sub>p</sub></i> corresponding to secret key <i>x<sub>p</sub></i> whereas, however, <i>e<sub>p</sub></i> is kept secret by node P unless a revocation request becomes necessary to enable node P to issue a revocation request if necessary based on said public key <i>e<sub>p</sub></i>.</claim-text></claim>
<claim id="c-en-01-0012" num="0012">
<claim-text>A data structure representing a certificate to be used to verify the identity of a node P, whereas said data structure has been generated using the method of claims 9 to 11.</claim-text></claim>
<claim id="c-en-01-0013" num="0013">
<claim-text>A method of revoking a certificate which has been generated and issued to a node P according to the method of one of claims 9 to 12, said method comprising:
<claim-text>generating and disclosing a message comprising <i>S<sub>P</sub></i> and secret key <i>x<sub>p</sub></i> or its corresponding public key <i>e<sub>p</sub></i>, and a signature of said message which has been generated using the private key of node P.</claim-text><!-- EPO <DP n="33"> --></claim-text></claim>
<claim id="c-en-01-0014" num="0014">
<claim-text>The method of one of claims 1 to 13, further comprising:
<claim-text>regularly exchanging revocation information between nodes of the network.</claim-text></claim-text></claim>
<claim id="c-en-01-0015" num="0015">
<claim-text>An apparatus for verifying in a communications network the identity of a proving node P by a verifying node V to verify said node P as the legitimate owner of a public key certificate C, said apparatus comprising:
<claim-text>a proving unit for proving by said node P to said verifying node V that node P knows the secret key <i>x<sub>p</sub></i> without disclosing <i>x<sub>p</sub></i>, whereas:
<claim-text>said secret key <i>x<sub>p</sub></i> is a secret knowledge shared by said node P and a certification authority CA which has issued a certificate C to node P,</claim-text>
<claim-text>said certificate C which has been issued to P by said certification authority comprises:
<claim-text>the public key of said proving node;</claim-text>
<claim-text>one or more non-secret elements <i>m<sub>p</sub></i> identifying the identity of the owner of the certificate to which said certificate C was issued and the certification authority,</claim-text></claim-text></claim-text>
<claim-text>a non-secret value <i>S<sub>P</sub></i> which has been generated using a cryptographic method based on said secret value <i>x<sub>p</sub></i> and one or more other non-secret elements <i>m<sub>p</sub></i>, of said certificate C in such a manner that the thus generated value <i>S<sub>P</sub></i> is based on but does not disclose <i>x<sub>p</sub></i>, said a non-secret value <i>S<sub>P</sub></i> being a signature of said one or more other non-secret elements <i>m<sub>p</sub></i> which has been generated by raising <i>m<sub>p</sub></i> to <i>x<sub>p</sub></i>; and said certificate further comprising:
<claim-text>a signature which has been generated based on <i>S<sub>P</sub></i> and on one or more other non-secret elements using the private key of said certification authority;<!-- EPO <DP n="34"> --></claim-text>
<claim-text>whereas said proving unit proves to verifier V the knowledge of <i>x<sub>p</sub></i> without</claim-text>
<claim-text>disclosing <i>x<sub>p</sub></i> by using <i>S<sub>P</sub></i> verifies P as the legitimate owner of certificate C and further carries out the following:
<claim-text>choosing a random value a by said verifying node V and generating a challenge based on raising <i>m<sub>p</sub></i> to a or on raising <i>S<sub>P</sub></i> to a, said challenge being forwarded to node P;</claim-text>
<claim-text>raising by node P said challenge to <i>x<sub>p</sub></i> if said challenge is based on <i>m<sub>p</sub></i> or to 1/<i>x<sub>p</sub></i> if said challenge is based on <i>S<sub>P</sub></i> and forwarding the result to node V as said proof; and</claim-text>
<claim-text>verifying the identity of P by comparing the proof forwarded from node P to node V with a value calculated by node V through raising either <i>S<sub>P</sub></i> or <i>m<sub>p</sub></i> to a..</claim-text></claim-text></claim-text></claim-text></claim>
<claim id="c-en-01-0016" num="0016">
<claim-text>An apparatus for generating a public key certificate to be used to verify the identity of a proving node P in a network as the legitimate owner of said public key certificate, said apparatus comprising:
<claim-text>a distributing unit for distributing knowledge about a secret key <i>x<sub>p</sub></i> between a certification authority and node P such that both share said knowledge,</claim-text>
<claim-text>a calculating unit for calculating a non-secret value <i>S<sub>P</sub></i> based on one or more public elements <i>m<sub>p</sub></i> of said certificate in such a manner that said non- secret value <i>S<sub>P</sub></i> does not disclose secret key <i>x<sub>p</sub></i>;</claim-text>
<claim-text>an incorporation unit for including said non- secret value <i>S<sub>P</sub></i> into a certificate issued to node P by said certification authority, and</claim-text>
<claim-text>an adding unit for adding to said certificate a signature which is generated using the private key of said certification authority and which is based on said non- secret value <i>S<sub>P</sub></i> and on one or more further non-secret elements of said certificate, wherein said certificate C comprises</claim-text>
<claim-text>the public key of said proving node;<!-- EPO <DP n="35"> --></claim-text>
<claim-text>one or more non-secret elements identifying the identity of the owner of the certificate to which said certificate C was issued and the certification authority, said non-secret element <i>S<sub>P</sub></i> being a signature of said one or more other non-secret elements <i>m<sub>p</sub></i> which has been generated by raising <i>m<sub>p</sub></i> to <i>x<sub>p</sub></i>, and</claim-text>
<claim-text>a signature which has been generated based on <i>S<sub>P</sub></i> and on one or more of said other non-secret elements using the private key of said certification authority, so that the identity of proving node P may be verified by the follwing steps:.</claim-text>
<claim-text>choosing a random value a by said verifying node V and generating a challenge based on raising <i>m<sub>p</sub></i> to a or on raising <i>S<sub>P</sub></i> to a, said challenge being forwarded to node P;</claim-text>
<claim-text>raising by node P said challenge to <i>x<sub>p</sub></i> if said challenge is based on <i>m<sub>p</sub></i> or to 1/<i>x<sub>p</sub></i> if said challenge is based on <i>S<sub>P</sub></i> and forwarding the result to node V as said proof; and</claim-text>
<claim-text>verifying the identity of P by comparing the proof forwarded from node P to node V with a value calculated by node V through raising either <i>S<sub>P</sub></i> or <i>m<sub>p</sub></i> to a..</claim-text></claim-text></claim>
<claim id="c-en-01-0017" num="0017">
<claim-text>An apparatus according to claim 17 or 18, further comprising:
<claim-text>means for carrying out a method according to any of claims 2 to 14.</claim-text></claim-text></claim>
<claim id="c-en-01-0018" num="0018">
<claim-text>A computer program comprising computer program code which when being executed on a computer enables said computer to carry out a method according to one of claims 1 to 14.</claim-text></claim>
</claims><!-- EPO <DP n="36"> -->
<claims id="claims02" lang="de">
<claim id="c-de-01-0001" num="0001">
<claim-text>Computer-implementiertes Verfahren, um in einem Computernetzwerk die Identität eines nachweisenden Knotens P durch eine verifizierenden Knoten V zu verifizieren, um den Knoten P als den legitimen Eigentümer eines Public-Key-Zertifikats C nachzuweisen, wobei das Verfahren aufweist:
<claim-text>Nachweisen durch Knoten P gegenüber dem verifizierenden Knoten V, dass Knoten P den geheimen Schlüssel <i>x<sub>p</sub></i> kennt, ohne <i>x<sub>p</sub></i> zu offenbaren, wobei:
<claim-text>der geheime Schlüssel <i>x<sub>p</sub></i> ein geheimes Wissen darstellt, das durch den Knoten P und eine Zertifizierungsauthorität CA geteilt wird, die das Zertifikat C für den Knoten P ausgestellt hat,</claim-text>
<claim-text>wobei das Zertifikat C, das durch die Zertifizierungsauthorität auf P ausgestellt wurde, aufweist:
<claim-text>den öffentlichen Schlüssel des nachweisenden Knotens;</claim-text>
<claim-text>ein oder mehrere nicht geheime Elemente <i>m<sub>p</sub></i>, die die Identität des Eigentümers des Zertifikats, auf den das Zertifikat C ausgestellt wurde und die Zertifizierungsauthorität identifizieren;</claim-text>
<claim-text>einen nicht geheimen Wert <i>S<sub>P</sub></i>, der unter Verwendung eines kryptographischen Verfahrens basierend auf dem geheimen Wert <i>x<sub>p</sub></i> sowie einem oder mehreren anderen nicht geheimen Elementen <i>m<sub>p</sub></i> des Zertifikats C erzeugt wurde, und zwar so, dass der damit erzeugte Wert <i>S<sub>P</sub></i> zwar auf dem Wert <i>x<sub>p</sub></i> basiert, ihn aber nicht offenbart, wobei der nicht geheime Wert <i>S<sub>P</sub></i> eine Signatur von einem oder mehreren anderen nicht geheimen Elementen <i>m<sub>p</sub></i> des Zertifikats ist, wobei die Signatur erzeugt wurde basierend auf Exponentialbildung von <i>m<sub>p</sub></i> mit Exponenten <i>x<sub>p</sub></i> ; und wobei das Zertifikat ferner aufweist:<!-- EPO <DP n="37"> -->
<claim-text>eine Signatur, die erzeugt wurde basierend auf <i>S<sub>P</sub></i> und auf einem oder mehreren anderen nicht geheimen Elementen des Zertifikats unter Verwendung des privaten Schlüssels der Zertifizierungsauthorität;</claim-text>
<claim-text>wobei das Nachweisen der Kenntnis von <i>x<sub>p</sub></i> ohne das Offenbaren von <i>x<sub>p</sub></i> unter Verwendung von <i>S<sub>P</sub></i> gegenüber dem Verifizierer V P als den legitimen Eigentümer des Zertifikats C ausweist, wobei der Nachweis umfasst:
<claim-text>Wählen eines Zufallswerts durch den verifizierenden Knoten V und Erzeugen einer Challenge basierend auf Exponentialbildung von <i>m<sub>p</sub></i> mit a im Exponenten oder basierend auf Exponentialbildung von <i>S<sub>P</sub></i> mit a im Exponenten, wobei die Challenge zum Knoten P gesandt wird;</claim-text>
<claim-text>Exponentialbildung der Challenge durch Knoten P mit <i>x<sub>p</sub></i> im Exponenten, falls die Challenge auf <i>m<sub>p</sub></i> basiert oder mit 1/<i>x<sub>p</sub></i> im Exponenten, falls die Challenge auf <i>S<sub>P</sub></i> basiert, sowie Absenden des Ergebnisses an Knoten V als Nachweis; und</claim-text>
<claim-text>Verifizieren der Identität von P durch Vergleich des Nachweises, der vom Knoten P an den Knoten V übersandt wurde, mit einem Wert, der vom Knoten V berechnet wurde, und zwar durch Exponentialbildung von entweder <i>S<sub>P</sub></i> oder <i>m<sub>p</sub></i> mit a als Exponenten.</claim-text></claim-text></claim-text></claim-text></claim-text></claim-text></claim>
<claim id="c-de-01-0002" num="0002">
<claim-text>Verfahren nach Anspruch 1, wobei das Verfahren dazu dient, zu verifizieren, dass das Zertifikat C, das durch ein nachweisenden Knoten P zum Nachweis seiner Identität gegenüber einem Knoten V verwendet wurde, nicht widerrufen wurde, und/oder zum Verifizieren der Identität des Knotens P, selbst dann, wenn keine Konnektivität mit einem festen Netz verfügbar ist, und/oder zum Verifizieren, dass das Paar aus öffentlichem/privatem Schlüssel, das dem Zertifikat C zugeordnet ist, nicht kompromittiert wurde.<!-- EPO <DP n="38"> --></claim-text></claim>
<claim id="c-de-01-0003" num="0003">
<claim-text>Verfahren nach Anspruch 1 oder 2, wobei der nicht geheime Wert <i>S<sub>P</sub></i> unter Verwendung einer kryptographischen Funktion k erzeugt wurde gemäß <i>S<sub>P</sub></i> = k (<i>m<sub>p</sub></i>, <i>x<sub>p</sub></i>) und wobei das Verfahren aufweist:
<claim-text>Erzeugen einer Challenge f durch den Knoten V basierend auf einer beliebigen Zahl gemäß <maths id="math0031" num=""><math display="block"><mi mathvariant="normal">f</mi><mo mathvariant="normal">=</mo><mi mathvariant="normal">f</mi><mfenced separators=""><mi mathvariant="normal">a</mi><mo mathvariant="normal">,</mo><mi mathvariant="normal">g</mi><mfenced><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>x</mi><mi>p</mi></msub></mfenced></mfenced></math><img id="ib0031" file="imgb0031.tif" wi="51" he="10" img-content="math" img-format="tif"/></maths>
<claim-text>und Senden der Challenge zum Knoten P;</claim-text>
<claim-text>Erzeugen eines Nachweises R durch Knoten P gemäß</claim-text>
<maths id="math0032" num=""><math display="block"><mi mathvariant="normal">R</mi><mfenced separators=""><msub><mi>x</mi><mi>p</mi></msub><mo>,</mo><mi mathvariant="normal">f</mi><mfenced separators=""><mi mathvariant="normal">a</mi><mo mathvariant="normal">,</mo><mi mathvariant="normal">g</mi><mfenced><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>x</mi><mi>p</mi></msub></mfenced></mfenced></mfenced></math><img id="ib0032" file="imgb0032.tif" wi="56" he="11" img-content="math" img-format="tif"/></maths><br/>
wobei die Funktion R und eine weitere Funktion R' so gewählt werden, dass der Nachweis durch Knoten V verifiziert werden kann durch erneutes Berechnen des Nachweises ohne Kenntnis des Wertes <i>x<sub>p</sub></i> unter Verwendung der Funktion <maths id="math0033" num=""><math display="block"><mi mathvariant="normal">Rʹ</mi><mo mathvariant="normal">=</mo><mi mathvariant="normal">Rʹ</mi><mo>(</mo><msub><mi>m</mi><mi>p</mi></msub><mo>,</mo><msub><mi>S</mi><mi>p</mi></msub><mo>,</mo><mi mathvariant="normal">a</mi><mo>)</mo><mo>;</mo></math><img id="ib0033" file="imgb0033.tif" wi="49" he="10" img-content="math" img-format="tif"/></maths> Verifizieren des Nachweises R durch den Knoten V mit dieser Funktion R' = R' (<i>m<sub>p</sub></i>, <i>S<sub>p</sub></i>, a).</claim-text></claim-text></claim>
<claim id="c-de-01-0004" num="0004">
<claim-text>Verfahren nach einem der Ansprüche 1 bis 3, ferner aufweisend:
<claim-text>Verschlüsseln der Challenge, die durch Knoten V erzeugt wurde, mit dem öffentlichen Schlüssel des Knotens P und Absenden der Challenge an P in verschlüsselter Form;</claim-text>
<claim-text>Entschlüsseln der empfangenen verschlüsselten Challenge durch den Knoten P unter Verwendung seines privaten Schlüssels.</claim-text></claim-text></claim>
<claim id="c-de-01-0005" num="0005">
<claim-text>Verfahren nach einem der Ansprüche 1 - 4, ferner aufweisend:
<claim-text>Hinzufügen eines den verifizierenden Knoten V identifizierenden Werts zur Challenge;</claim-text>
<claim-text>Absenden der Challenge einschließlich des hinzugefügten Wertes zum Knoten P;<!-- EPO <DP n="39"> --></claim-text>
<claim-text>Verschlüsseln der Challenge einschließlich des hinzugefügten Wertes durch P unter Verwendung des privaten Schlüssels von P und Absenden der so verschlüsselten Challenge zum Knoten V.</claim-text></claim-text></claim>
<claim id="c-de-01-0006" num="0006">
<claim-text>Verfahren nach Anspruch 5, wobei der hinzugefügte Wert aufweist:
<claim-text>einen Wert <i>S<sub>V</sub></i>, der erzeugt wurde unter Verwendung eines kryptographischen Verfahrens basierend auf dem geheimen Wert <i>x<sub>V</sub></i>, den sich Knoten V und eine Zertifizierungsauthorität teilen und einem oder mehreren anderen nicht geheimen Elementen <i>m<sub>V</sub></i> eines Zertifikats des Knotens V derart, dass der so erzeugte Wert <i>S<sub>V</sub></i> auf <i>x<sub>V</sub></i> basiert, aber diesen nicht offenbart.</claim-text></claim-text></claim>
<claim id="c-de-01-0007" num="0007">
<claim-text>Verfahren nach einem der Ansprüche 1 bis 6, ferner aufweisend:
<claim-text>Hinzufügen eines Session-Identifizierers und/oder einer Nonce zu der Nachricht, die an V gesandt wird, wenn der Wert <i>S<sub>P</sub></i> dem Knoten V präsentiert wird;</claim-text>
<claim-text>ferner Hinzufügen einer verschlüsselten Version der Nachricht, die basierend auf dem privaten Schlüssel des Knotens P erzeugt wurde;</claim-text>
<claim-text>Hinzufügen eines Session-Identifizierers und/oder einer Nonce zu der Challenge, die durch den Knoten V erzeugt wird und an Knoten P übersandt wird;</claim-text>
<claim-text>Verschlüsseln der Challenge unter Verwendung des privaten Schlüssels von Knoten V;</claim-text>
<claim-text>Verschlüsseln der Challenge unter Verwendung des öffentlichen Schlüssels von Knoten P.</claim-text></claim-text></claim>
<claim id="c-de-01-0008" num="0008">
<claim-text>Verfahren nach einem der Ansprüche 1 bis 7, ferner aufweisend:
<claim-text>Hinzufügen eines Session-Identifizierers <i>sid<sub>P</sub></i> und/oder einer Nonce <i>n<sub>P</sub></i> zu der Nachricht, die an V abgesandt wird, wenn der Wert <i>S<sub>P</sub></i> dem Knoten V präsentiert wird;</claim-text>
<claim-text>ferner Hinzufügen einer verschlüsselten Version der Nachricht mit dem privaten Schlüssel des Knotens P;<!-- EPO <DP n="40"> --></claim-text>
<claim-text>Hinzufügen eines Session-Identifizierers <i>sid<sub>V</sub></i> und des Session-Identifizierers <i>sid<sub>P</sub></i>, der vorher von P an <i>S<sub>V</sub></i> gesandt wurde zu <i>S<sub>V</sub></i> und zu der Challenge, die durch den Knoten V erzeugt wurde;</claim-text>
<claim-text>Verschlüsseln eines ersten Werts val<sub>1</sub>, der die Challenge aufweist, des Session-Identifizierers <i>sid<sub>V</sub></i>, von <i>S<sub>V</sub></i>, der Nonce <i>n<sub>P</sub></i>, die um eins inkrementiert werden kann und einer Nonce <i>n<sub>V</sub></i> unter Verwendung des privaten Schlüssels V;</claim-text>
<claim-text>Verschlüsseln eines zweiten Werts, der die Challenge aufweist, der Nonce <i>n<sub>P</sub></i>, die um eins inkrementiert werden kann, der Nonce <i>n<sub>V</sub></i> und des Wertes val<sub>1</sub>, der mit dem privaten Schlüssel des Knotens V verschlüsselt wurde, unter Verwendung des öffentlichen Schlüssels von Knoten P;</claim-text>
<claim-text>Absenden von <i>sid<sub>P</sub>,</i> von <i>sid<sub>V</sub></i>, von <i>S<sub>V</sub></i> und des zweiten Werts, der mit dem öffentlichen Schlüssel von Knoten P verschlüsselt wurden;</claim-text>
<claim-text>Verschlüsseln eines dritten Werts, der den Nachweis umfaßt, von <i>S<sub>V</sub></i>, des Werts, der den Knoten P identifiziert, der Nonce <i>n<sub>V</sub></i>, die um eins inkrementiert werden kann, unter Verwendung des privaten Schlüssels von Knoten P;</claim-text>
<claim-text>Verschlüsseln eines vierten Werts, der den Wert, der den Knoten P identifiziert; aufweist, der Nonce <i>n<sub>V</sub></i>, die um eins inkrementiert werden kann und des dritten Werts, der mit dem privaten Schlüssel von Knoten P verschlüsselt ist, unter Verwendung des öffentlichen Schlüssels von Knoten V;</claim-text>
<claim-text>Absenden der Session-Identifizierer <i>sid<sub>P</sub></i> und <i>sid<sub>V</sub></i> und des verschlüsselten vierten Wertes, der mit dem öffentlichen Schlüssel von Knoten V verschlüsselt wurde, an Knoten V.</claim-text></claim-text></claim>
<claim id="c-de-01-0009" num="0009">
<claim-text>Verfahren zum Erzeugen eines Public-Key-Zertifikats, das verwendet werden soll, um die Identität eines nachweisenden Knotens P als legitimen Eigentümer des Public-Key-Zertifikats in einem Netzwerk nachzuweisen, wobei das Verfahren aufweist:<!-- EPO <DP n="41"> -->
<claim-text>Verteilen von Wissen über einen geheimen Schlüssel <i>x<sub>p</sub></i> zwischen einer Zertifizierungsauthorität und Knoten P derart, dass beide das Wissen Teilen;</claim-text>
<claim-text>Berechnen eines nicht geheimen Wertes <i>S<sub>P</sub></i> basierend auf einem oder mehreren öffentlichen Elementen <i>m<sub>p</sub></i> des Zertifikats auf die Art, dass der nicht geheime Wert <i>S<sub>P</sub></i> nicht den geheimen Schlüssel <i>x<sub>p</sub></i> offenbart;</claim-text>
<claim-text>Einschließen des nicht geheimen Wertes <i>S<sub>P</sub></i> in ein Zertifikat, das durch die Zertifizierungsauthorität auf den Knoten P ausgestellt wird, und</claim-text>
<claim-text>Hinzufügen einer Signatur zu dem Zertifikat, die erzeugt wird unter Verwendung des privaten Schlüssels der Zertifizierungsauthorität und die auf dem nicht geheimen Wert <i>S<sub>P</sub></i> basiert, sowie auf einem oder mehreren nicht geheimen Elementen des Zertifikats, wobei das Zertifikat C aufweist:
<claim-text>den öffentlichen Schlüssel des nachweisenden Knotens;</claim-text>
<claim-text>ein oder mehrere nicht geheime Element, die die Identität des Eigentümers des Zertifikats, auf den das Zertifikat C ausgestellt wurde, und die Zertifizierungsauthorität identifizieren, wobei das nicht geheime Element <i>S<sub>P</sub></i> eine Signatur von einem oder mehreren anderen nicht geheimen Elementen <i>m<sub>p</sub></i> ist, die erzeugt wird durch Exponentialbildung von <i>m<sub>p</sub></i> mit <i>x<sub>p</sub></i> als Exponenten, und</claim-text>
<claim-text>eine Signatur, die erzeugt wird basierend auf <i>S<sub>P</sub></i> und einem oder mehreren anderen nicht geheimen Elementen des Zertifikats unter Verwendung des privaten Schlüssels der Zertifizierungsauthorität, so dass die Identität des nachweisenden Knotens verifiziert werden kann durch die folgenden Schritte:
<claim-text>Wählen eines Zufallswerts a durch den verifizierenden Knoten V und Erzeugen einer Challenge basierend auf Exponentialbildung von <i>m<sub>p</sub></i> mit <i>x<sub>p</sub></i> als Exponenten oder basierend auf Exponentialbildung von <i>S<sub>P</sub></i> mit a als Exponenten, wobei die Challenge an den Knoten P abgesandt wird;<!-- EPO <DP n="42"> --></claim-text>
<claim-text>Exponentialbildung durch Knoten P der Challenge mit <i>x<sub>p</sub></i> als Exponent, falls die Challenge auf <i>m<sub>p</sub></i> basiert oder mit 1/<i>x<sub>p</sub></i> als Exponent, falls die Challenge auf <i>S<sub>p</sub></i> basiert, sowie Absenden des Ergebnisses an Knoten V als Nachweis; und</claim-text>
<claim-text>Verifizieren der Identität von P durch Vergleich des Nachweises, der von Knoten P an Knoten V abgesandt wurde, mit einem Wert, der durch Knoten V berechnet wird durch Exponentialbildung von entweder <i>S<sub>P</sub></i> oder <i>m<sub>p</sub></i> mit a als Exponenten.</claim-text></claim-text></claim-text></claim-text></claim>
<claim id="c-de-01-0010" num="0010">
<claim-text>Verfahren nach Anspruch 9, wobei der nicht geheime Wert <i>S<sub>p</sub></i> berechnet wird basierend auf Exponentialbildung von <i>m<sub>p</sub></i> mit <i>x<sub>p</sub></i> als Exponenten.</claim-text></claim>
<claim id="c-de-01-0011" num="0011">
<claim-text>Verfahren nach einem der Ansprüche 1 bis 10, wobei zusätzlich zu seinem Wissen über den geheimen Schlüssel <i>x<sub>p</sub></i> der Knoten P Kenntnis hat von einem öffentlichen Schlüssel <i>e<sub>p</sub></i> oder diesen öffentlichen Schlüssel <i>e<sub>p</sub></i>, der dem geheimen Schlüssel <i>x<sub>p</sub></i> entspricht, erzeugen kann, wobei, jedoch <i>e<sub>p</sub></i> vom Knoten P geheim gehalten wird, falls nicht eine Widerrufsanforderung nötig wird, um den Knoten P in die Lage zu versetzen, falls nötig eine Widerrufsanforderung basierend auf dem öffentlichen Schlüssel <i>e<sub>p</sub></i> auszugeben.</claim-text></claim>
<claim id="c-de-01-0012" num="0012">
<claim-text>Datenstruktur, die ein Zertifikat repräsentiert, das verwendet wird, um die Identität des Knotens P zu verifizieren, wobei die Datenstruktur erzeugt wird unter Verwendung des Verfahrens gemäß Ansprüchen 9 bis 11.</claim-text></claim>
<claim id="c-de-01-0013" num="0013">
<claim-text>Verfahren zum Widerrufen eines Zertifikats, welches erzeugt wurde und ausgestellt wurde auf einen Knoten P gemäß einem Verfahren nach einem der Ansprüche 9 bis 12, wobei das Verfahren aufweist:<!-- EPO <DP n="43"> -->
<claim-text>Erzeugen und Offenbaren einer Nachricht, welche <i>S<sub>P</sub></i> und den geheimen Schlüssel <i>x<sub>p</sub></i> oder seinen entsprechenden öffentlichen Schlüssel <i>e<sub>p</sub></i> aufweist sowie einer Signatur der Nachricht, die erzeugt wurde unter Verwendung des privaten Schlüssels von Knoten P.</claim-text></claim-text></claim>
<claim id="c-de-01-0014" num="0014">
<claim-text>Verfahren nach einem der Ansprüche 1 bis 13, ferner aufweisend:
<claim-text>Regelmäßiges Austauschen von Widerrufsinformationen zwischen Knoten des Netzwerks.</claim-text></claim-text></claim>
<claim id="c-de-01-0015" num="0015">
<claim-text>Vorrichtung um in einem Computernetzwerk die Identität eines nachweisenden Knotens P durch eine verifizierenden Knoten V zu verfizieren, um den Knoten P als den legitimen Eigentümer eines Public-Key-Zertifikats C nachzuweisen, wobei die Vorrichtung aufweist:
<claim-text>eine Nachweiseinheit zum Nachweisen durch Knoten P gegenüber dem verifizierenden Knoten V, dass Knoten P den geheimen Schlüssel <i>x<sub>p</sub></i> kennt, ohne <i>x<sub>p</sub></i> zu offenbaren, wobei:
<claim-text>der geheime Schlüssel <i>x<sub>p</sub></i> ein geheimes Wissen darstellt, das durch den Knoten P und eine Zertifizierungsauthorität CA geteilt wird, die das Zertifikat C für den Knoten P ausgestellt hat,</claim-text>
<claim-text>wobei das Zertifikat C, das durch die Zertifizierungsauthorität auf P ausgestellt wurde, aufweist:
<claim-text>den öffentlichen Schlüssel des nachweisenden Knoten;</claim-text>
<claim-text>ein oder mehrere nicht geheime Elemente <i>m<sub>p</sub></i> , die die Identität des Eigentümers des Zertifikats, auf den das Zertifikat C ausgestellt wurde und der Zertifizierungsauthorität identifizieren;</claim-text>
<claim-text>einen nicht geheimen Wert <i>S<sub>P</sub></i>, der unter Verwendung eines kryptographischen Verfahrens basierend auf dem geheimen Wert <i>x<sub>p</sub></i> sowie einem oder mehreren anderen nicht geheimen Elementen <i>m<sub>p</sub></i> des Zertifikats C erzeugt<!-- EPO <DP n="44"> --> wurde, und zwar so, dass der damit erzeugte Wert <i>S<sub>P</sub></i> zwar auf dem Wert <i>x<sub>p</sub></i> basiert, ihn aber nicht offenbart, wobei der nicht geheime Wert <i>S<sub>P</sub></i> eine Signatur von einem oder mehreren anderen nicht geheimen Elementen <i>m<sub>p</sub></i> des Zertifikats ist, wobei die Signatur erzeugt wurde basierend auf Exponentialbildung von <i>m<sub>p</sub></i> mit Exponenten <i>x<sub>p</sub></i>; und wobei das Zertifikat ferner aufweist:
<claim-text>eine Signatur, die erzeugt wurde basierend auf <i>S<sub>P</sub></i> und auf einem oder mehreren anderen nicht geheimen Elementen des Zertifikats unter Verwendung des privaten Schlüssels der Zertifizierungsauthorität;</claim-text>
<claim-text>wobei die Nachweiseinheit gegenüber Verifizierer V die Kenntnis von <i>x<sub>p</sub></i> unter Verwendung von <i>S<sub>P</sub></i> nachweist, ohne <i>x<sub>p</sub></i> zu offenbaren und P als legitimen Eigentümer des Zertifikats C verifiziert sowie ferner Folgendes ausführt:
<claim-text>Wählen eines Zufallswerts durch den verifizierenden Knoten V und Erzeugen einer Challenge basierend auf Exponentialbildung von <i>m<sub>p</sub></i> mit a im Exponenten oder basierend auf Exponentialbildung von <i>S<sub>P</sub></i> mit a im Exponenten, wobei die Challenge zum Knoten P gesandt wird;</claim-text>
<claim-text>Exponentialbildung der Challenge durch Knoten P mit <i>x<sub>p</sub></i> im Exponenten, falls die Challenge auf <i>m<sub>p</sub></i> basiert oder mit 1/<i>x<sub>p</sub></i> im Exponenten, falls die Challenge auf <i>S<sub>P</sub></i> basiert, sowie Absenden des Ergebnisses an Knoten V als Nachweis; und</claim-text>
<claim-text>Verifizieren der Identität von P durch Vergleich des Nachweises, der vom Knoten P an den Knoten V übersandt wurde mit einem Wert, der vom Knoten V berechnet wurde, und zwar durch Exponentialbildung von entweder <i>S<sub>P</sub></i> oder <i>m<sub>p</sub></i> mit a als Exponenten.</claim-text></claim-text></claim-text></claim-text></claim-text></claim-text></claim>
<claim id="c-de-01-0016" num="0016">
<claim-text>Vorrichtung zum Erzeugen eines Public-Key-Zertifikats, das verwendet werden soll, um die Identität eines nachweisenden Knotens P als<!-- EPO <DP n="45"> --> legitimen Eigentümer des Public-Key-Zertifikats in einem Netzwerk nachzuweisen, wobei die Vorrichtung aufweist:
<claim-text>eine Verteilungseinheit zum Verteilen von Wissen über einen geheimen Schlüssel <i>x<sub>p</sub></i> zwischen einer Zertifizierungsauthorität und Knoten P derart, dass beide das Wissen Teilen;</claim-text>
<claim-text>eine Berechnungseinheit zum Berechnen eines nicht geheimen Wertes <i>S<sub>P</sub></i> basierend auf einem oder mehreren öffentlichen Elementen <i>m<sub>p</sub></i> des Zertifikats auf die Art, dass der nicht geheime Wert <i>S<sub>P</sub></i> nicht den geheimen Schlüssel <i>x<sub>p</sub></i> offenbart;</claim-text>
<claim-text>eine Einschließungseinheit zum Einschließen des nicht geheimen Wertes <i>S<sub>P</sub></i> in ein Zertifikat, das durch die Zertifizierungsauthorität auf den Knoten P ausgestellt wird, und</claim-text>
<claim-text>eine Hinzufügeeinheit zum Hinzufügen einer Signatur zu dem Zertifikat, die erzeugt wird unter Verwendung des privaten Schlüssels der Zertifizierungsauthorität und die auf dem nicht geheimen Wert <i>S<sub>P</sub></i> basiert, sowie auf einem oder mehreren nicht geheimen Elementen des Zertifikats, wobei das Zertifikat C aufweist:
<claim-text>den öffentlichen Schlüssel des nachweisenden Knotens;</claim-text>
<claim-text>ein oder mehrere nicht geheime Elemente, die die Identität des Eigentümers des Zertifikats, auf den das Zertifikat C ausgestellt wurde, und der Zertifizierungsauthorität identifizieren, wobei das nicht geheime Element <i>S<sub>P</sub></i> eine Signatur von einem oder mehreren anderen nicht geheimen Elementen <i>m<sub>p</sub></i> ist, die erzeugt wird durch Exponentialbildung von <i>m<sub>p</sub></i> mit <i>x<sub>p</sub></i> als Exponenten, und</claim-text>
<claim-text>eine Signatur, die erzeugt wird basierend auf <i>S<sub>P</sub></i> und einem oder mehreren anderen nicht geheimen Elementen des Zertifikats unter Verwendung des privaten Schlüssels der Zertifizierungsauthorität, so dass die Identität des nachweisenden Knotens verifiziert werden kann durch die folgenden Schritte:<!-- EPO <DP n="46"> -->
<claim-text>Wählen eines Zufallswerts a durch den verifizierenden Knoten V und Erzeugen einer Challenge basierend auf Exponentialbildung von <i>m<sub>p</sub></i> mit <i>x<sub>p</sub></i> als Exponenten oder basierend auf Exponentialbildung mit <i>S<sub>P</sub></i> mit a als Exponenten, wobei die Challenge an den Knoten P abgesandt wird;</claim-text>
<claim-text>Exponentialbildung durch Knoten P der Challenge mit <i>x<sub>p</sub></i> als Exponent, falls die Challenge auf <i>m<sub>p</sub></i> basiert oder mit 1/<i>x<sub>p</sub></i> als Exponent, falls die Challenge auf <i>S<sub>P</sub></i> basiert, sowie Absenden des Ergebnisses an Knoten V als Nachweis; und</claim-text>
<claim-text>Verifizieren der Identität von P durch Vergleich des Nachweises, der von Knoten P an Knoten V abgesandt wurde, mit einem Wert, der durch Knoten V berechnet wird durch Exponentialbildung von entweder <i>S<sub>P</sub></i> oder <i>m<sub>p</sub></i> mit a als Exponenten.</claim-text></claim-text></claim-text></claim-text></claim>
<claim id="c-de-01-0017" num="0017">
<claim-text>Vorrichtung gemäß Anspruch 15 oder 16, ferner aufweisend:
<claim-text>Eine Einrichtung zum Ausführen eines Verfahrens gemäß einem der Ansprüche 2 bis 14.</claim-text></claim-text></claim>
<claim id="c-de-01-0018" num="0018">
<claim-text>Computerprogramm mit Computerprogrammcode, der wenn er auf einem Computer ausgeführt wird, den Computer in die Lage versetzt, ein Verfahren gemäß einem der Ansprüche 1 bis 14 auszuführen.</claim-text></claim>
</claims><!-- EPO <DP n="47"> -->
<claims id="claims03" lang="fr">
<claim id="c-fr-01-0001" num="0001">
<claim-text>Procédé mis en oeuvre par ordinateur pour vérifier dans un réseau informatique l'identité d'un noeud de test P par un noeud de vérification V pour vérifier que ledit noeud P a la qualité de propriétaire légitime d'un certificat de clé publique C, ledit procédé comportant les étapes consistant à :
<claim-text>démontrer par ledit noeud P audit noeud de vérification V que le noeud P connaît la clé secrète <i>x<sub>p</sub></i> sans divulguer <i>x<sub>p</sub></i>, alors que :
<claim-text>ladite clé secrète <i>x<sub>p</sub></i> est une information secrète partagée par ledit noeud P et par une autorité de certification CA qui a délivré ledit certificat C au noeud P,</claim-text>
<claim-text>ledit certificat C, qui a été délivré au noeud P par ladite autorité de certification comprend :
<claim-text>la clé publique dudit noeud de test ;</claim-text>
<claim-text>un ou plusieurs éléments non secrets <i>m<sub>p</sub></i> identifiant l'identité du propriétaire du certificat auquel ledit certificat C a été délivré et l'autorité de certification,</claim-text>
<claim-text>une valeur non secrète <i>S<sub>P</sub></i>, qui a été générée en utilisant un procédé cryptographique basé sur ladite valeur secrète xpet un ou plusieurs autres éléments non secrets <i>m<sub>p</sub></i> dudit certificat C de telle manière que la valeur ainsi générée <i>S<sub>p</sub></i> est basée sur, mais ne divulgue pas <i>x<sub>p</sub>,</i> ladite une valeur non secrète <i>S<sub>p</sub></i> étant la<!-- EPO <DP n="48"> --> signature d'un ou plusieurs autres éléments non secrets <i>m<sub>p</sub></i> dudit certificat, ladite signature ayant été générée sur la base d'une élévation de <i>m<sub>p</sub></i> à <i>x<sub>p</sub></i> ; et ledit certificat comportant en outre :
<claim-text>une signature qui a été générée sur la base de <i>S<sub>p</sub></i> et d'un ou plusieurs autres éléments non secrets dudit certificat utilisant la clé privée de ladite autorité de certification ;</claim-text>
<claim-text>alors que ladite démonstration au vérificateur V de l'information de <i>x<sub>p</sub></i> sans divulguer <i>x<sub>p</sub></i> en utilisant <i>S<sub>p</sub></i> vérifie P en qualité de propriétaire légitime du certificat C, tandis que ladite démonstration comporte les étapes consistant à :
<claim-text>choisir une valeur aléatoire a par ledit noeud de vérification V et générer une demande d'accès basée sur l'élévation de <i>m<sub>p</sub></i> à a ou sur l'élévation de <i>S<sub>p</sub></i> à a, ladite demande d'accès étant transmise au noeud P ;</claim-text>
<claim-text>élever par le noeud P ladite demande d'accès à <i>x<sub>p</sub></i> si ladite demande d'accès est basée sur <i>m<sub>p</sub></i> ou à 1/<i>x<sub>p</sub></i> si ladite demande d'accès est basée sur <i>S<sub>p</sub></i> et transmettre le résultat au noeud V en qualité de ladite preuve ; et</claim-text>
<claim-text>vérifier l'identité de P en comparant la preuve transmise du noeud P au noeud V avec une valeur calculée par le noeud V via une élévation de <i>S<sub>p</sub></i> ou de <i>m<sub>p</sub></i> à a.</claim-text></claim-text></claim-text></claim-text></claim-text></claim-text></claim>
<claim id="c-fr-01-0002" num="0002">
<claim-text>Procédé selon la revendication 1, dans lequel ledit procédé est utilisé pour vérifier que le certificat C, utilisé par un noeud de test P pour<!-- EPO <DP n="49"> --> prouver son identité à un noeud V, n'a pas été révoqué, et/ou pour vérifier l'identité du noeud P y compris en l'absence de connectivité disponible à un réseau fixe et/ou pour vérifier que la paire clé publique/clé privée associée au certificat C n'a pas été compromise.</claim-text></claim>
<claim id="c-fr-01-0003" num="0003">
<claim-text>Procédé selon la revendication 1 ou 2, dans lequel ladite valeur non secrète <i>S<sub>p</sub></i> a été générée en utilisant une fonction cryptographique k en tant que <i>S<sub>p</sub></i>= k (<i>m<sub>p</sub></i>, <i>x<sub>p</sub></i>), et ledit procédé comporte les étapes consistant à :
<claim-text>générer une demande d'accès f par ledit noeud V sur la base d'un nombre arbitraire a en tant que <maths id="math0034" num=""><math display="block"><mi mathvariant="normal">f</mi><mo mathvariant="normal">=</mo><mi mathvariant="normal">f</mi><mfenced separators=""><mi mathvariant="normal">a</mi><mo mathvariant="normal">,</mo><mi mathvariant="normal">g</mi><mfenced><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>x</mi><mi>p</mi></msub></mfenced></mfenced></math><img id="ib0034" file="imgb0034.tif" wi="60" he="12" img-content="math" img-format="tif"/></maths> et transmettre ladite demande d'accès au noeud P ;<br/>
générer par ledit noeud P une preuve R en tant que <maths id="math0035" num=""><math display="block"><mi mathvariant="normal">R</mi><mfenced separators=""><msub><mi>x</mi><mi>p</mi></msub><mo>,</mo><mi mathvariant="normal">f</mi><mfenced separators=""><mi mathvariant="normal">a</mi><mo mathvariant="normal">,</mo><mi mathvariant="normal">g</mi><mfenced><msub><mi>m</mi><mi>p</mi></msub><mo>⁢</mo><msub><mi>x</mi><mi>p</mi></msub></mfenced></mfenced></mfenced></math><img id="ib0035" file="imgb0035.tif" wi="81" he="10" img-content="math" img-format="tif"/></maths> et transmettre ladite preuve au noeud V,<br/>
alors que la fonction R et une fonction supplémentaire R' sont sélectionnées de sorte que la preuve peut être vérifiée par le noeud V en recalculant la preuve sans connaître la valeur <i>X<sub>p</sub></i> en utilisant la fonction <maths id="math0036" num=""><math display="block"><mi mathvariant="normal">Rʹ</mi><mo mathvariant="normal">=</mo><mi mathvariant="normal">Rʹ</mi><mo>(</mo><msub><mi>m</mi><mi>p</mi></msub><mo>,</mo><msub><mi>S</mi><mi>p</mi></msub><mo>,</mo><mi mathvariant="normal">a</mi><mo>)</mo><mo>;</mo></math><img id="ib0036" file="imgb0036.tif" wi="69" he="10" img-content="math" img-format="tif"/></maths> vérifier ladite preuve R par ledit noeud V avec ladite fonction R' = R' (<i>m<sub>p</sub></i>, <i>S<sub>P</sub></i>, a).</claim-text></claim-text></claim>
<claim id="c-fr-01-0004" num="0004">
<claim-text>Procédé selon l'une quelconque des revendications 1 à 3, comportant en outre les étapes consistant à :<!-- EPO <DP n="50"> -->
<claim-text>chiffrer ladite demande d'accès générée par le noeud V avec la clé publique du noeud P et transmettre ladite demande d'accès à P d'une manière chiffrée ;</claim-text>
<claim-text>déchiffrer la demande d'accès chiffrée reçue par le noeud P en utilisant sa clé privée.</claim-text></claim-text></claim>
<claim id="c-fr-01-0005" num="0005">
<claim-text>Procédé selon l'une quelconque des revendications 1 à 4, comportant en outre les étapes consistant à :
<claim-text>ajouter à ladite demande d'accès une valeur identifiant le noeud de vérification V ;</claim-text>
<claim-text>transmettre ladite demande d'accès comportant ladite valeur ajoutée au noeud P ;</claim-text>
<claim-text>chiffrer ladite demande d'accès comportant ladite valeur ajoutée par P en utilisant la clé privée P et transmettre la demande d'accès ainsi chiffrée au noeud V.</claim-text></claim-text></claim>
<claim id="c-fr-01-0006" num="0006">
<claim-text>Procédé selon la revendication 5, dans lequel ladite valeur ajoutée comprend :
<claim-text>une valeur <i>S<sub>v</sub></i> qui a été générée en utilisant un procédé cryptographique basé sur la valeur secrète <i>x<sub>v</sub></i> partagée par le noeud V et une autorité de certification et un ou plusieurs autres éléments non secrets <i>m<sub>v</sub></i> d'un certificat du noeud V de telle manière que la valeur ainsi générée <i>S<sub>v</sub></i> est basée sur, mais ne divulgue pas, <i>x<sub>v</sub></i>.</claim-text></claim-text></claim>
<claim id="c-fr-01-0007" num="0007">
<claim-text>Procédé selon l'une quelconque des revendications 1 à 6, comportant en outre les étapes consistant à :<!-- EPO <DP n="51"> -->
<claim-text>ajouter un identifiant de session et/ou un nombre aléatoire secret, « nonce », audit message qui est transmis à V lors de la présentation de ladite valeur <i>S<sub>p</sub></i> audit noeud V ;</claim-text>
<claim-text>ajouter en outre une version chiffrée dudit message qui est générée sur la base de la clé privée du noeud P ;</claim-text>
<claim-text>ajouter un identifiant de session et/ou un nombre aléatoire secret, « nonce », à ladite demande d'accès qui est générée par le noeud V et transmise au noeud P ;</claim-text>
<claim-text>chiffrer ladite demande d'accès en utilisant la clé privée du noeud V ;</claim-text>
<claim-text>chiffrer ladite demande d'accès en utilisant la clé publique du noeud p.</claim-text></claim-text></claim>
<claim id="c-fr-01-0008" num="0008">
<claim-text>Procédé selon l'une quelconque des revendications 1 à 7, comportant en outre les étapes consistant à :
<claim-text>ajouter un identifiant de session <i>Sid<sub>p</sub></i> et/ou un nombre aléatoire secret, « nonce », <i>n<sub>p</sub></i> audit message qui est transmis à V lors de la présentation de ladite valeur <i>S<sub>p</sub></i> audit noeud V ;</claim-text>
<claim-text>ajouter en outre une version chiffrée dudit message avec la clé privée du noeud P ;</claim-text>
<claim-text>ajouter un identifiant de session <i>Sid<sub>v</sub></i> et ledit identifiant de session <i>Sid<sub>p</sub></i> précédemment envoyé par P, à ladite valeur <i>S<sub>v</sub></i> et à ladite demande d'accès qui est générée par le noeud V ;<!-- EPO <DP n="52"> --></claim-text>
<claim-text>chiffrer une première valeur val<sub>1</sub> comportant ladite demande d'accès, ledit identifiant de session <i>Sid<sub>v</sub></i>, ladite valeur <i>S<sub>v</sub></i>, ledit nombre aléatoire secret, « nonce », <i>n<sub>p</sub></i>, qui peut être incrémenté de un et un nombre aléatoire secret, « nonce », <i>n<sub>v</sub></i>, en utilisant la clé privée du noeud V ;</claim-text>
<claim-text>chiffrer une deuxième valeur comportant ladite demande d'accès, ledit nombre aléatoire secret, « nonce », <i>n<sub>p</sub></i> qui peut être incrémenté de un, ledit nonce <i>n<sub>v</sub></i> et lesdites valeurs val<sub>1</sub> chiffrées avec la clé privée du noeud V, en utilisant la clé publique du noeud P ;</claim-text>
<claim-text>transmettre ledit <i>Sid<sub>p</sub></i>, ledit <i>Sid<sub>v</sub></i>, ladite valeur <i>S<sub>v</sub></i> et ladite deuxième valeur chiffrée avec la clé publique du noeud P ;</claim-text>
<claim-text>chiffrer une troisième valeur comportant ladite preuve, ladite valeur <i>S<sub>v</sub></i>, ladite valeur identifiant ledit noeud P, ledit nombre aléatoire secret, « nonce », <i>n<sub>v</sub></i> qui peut être incrémenté de un, en utilisant la clé privée du noeud P ;</claim-text>
<claim-text>chiffrer une quatrième valeur comportant ladite valeur identifiant le noeud P, ledit nombre aléatoire secret, « nonce », <i>n<sub>v</sub></i> qui peut être incrémenté de un et ladite troisième valeur chiffrée avec la clé privée du noeud P, en utilisant la clé publique du noeud V ;</claim-text>
<claim-text>transmettre lesdits identifiants de session <i>Sid<sub>p</sub></i> et <i>Sid<sub>v</sub></i> et ladite quatrième valeur chiffrée, chiffrés avec la clé publique du noeud V au noeud V.</claim-text><!-- EPO <DP n="53"> --></claim-text></claim>
<claim id="c-fr-01-0009" num="0009">
<claim-text>Procédé pour générer un certificat de clé publique à utiliser pour vérifier l'identité d'un noeud de test P dans un réseau en tant que le propriétaire légitime dudit certificat de clé publique, ledit procédé comportant les étapes consistant à :
<claim-text>distribuer de l'information relative à une clé secrète <i>x<sub>p</sub></i> entre une autorité de certification et un noeud P de sorte les deux partagent ladite information,</claim-text>
<claim-text>calculer une valeur non secrète <i>S<sub>p</sub></i> sur la base d'un ou plusieurs éléments publiques <i>m<sub>p</sub></i> dudit certificat de telle manière que ladite valeur non secrète <i>S<sub>p</sub></i> ne divulgue pas la clé secrète <i>x<sub>p</sub></i> ;</claim-text>
<claim-text>inclure ladite valeur non secrète <i>S<sub>p</sub></i> dans un certificat émis au noeud P par ladite autorité de certification, et</claim-text>
<claim-text>ajouter audit certificat une signature qui est générée en utilisant la clé privée de ladite autorité de certification et qui est basée sur ladite valeur non secrète <i>S<sub>p</sub></i>, sur un ou plusieurs éléments non secrets supplémentaires dudit certificat,</claim-text>
dans lequel ledit certificat C comprend
<claim-text>la clé publique dudit noeud de test ;</claim-text>
<claim-text>un ou plusieurs éléments non secrets identifiant l'identité du propriétaire du certificat auquel ledit certificat C a été délivré et l'autorité de certification, ledit élément non secret <i>S<sub>p</sub></i> étant une signature d'un ou plusieurs autres éléments non secrets <i>m<sub>p</sub></i> qui a été générée en élevant <i>m<sub>p</sub></i> à <i>x<sub>p</sub></i>, et<!-- EPO <DP n="54"> --></claim-text>
<claim-text>une signature qui a été générée sur la base de <i>S<sub>p</sub></i> et sur la base d'un ou plusieurs des autres éléments non secrets dudit certificat en utilisant la clé privée de ladite autorité de certification, de sorte que l'identité du noeud de test P peut être vérifiée par les étapes suivantes consistant à :
<claim-text>choisir une valeur aléatoire a par ledit noeud de vérification V et générer une demande d'accès basée sur l'élévation de <i>m<sub>p</sub></i> à a ou sur l'élévation de <i>S<sub>p</sub></i> à a, ladite demande d'accès étant transmise au noeud P ;</claim-text>
<claim-text>élever par le noeud P ladite demande d'accès à <i>x<sub>p</sub></i> si ladite demande d'accès est basée sur <i>m<sub>p</sub></i> ou à 1/<i>x<sub>p</sub></i> si ladite demande d'accès est basée sur <i>S<sub>p</sub></i> et transmettre le résultat au noeud V en qualité de ladite preuve ; et</claim-text>
<claim-text>vérifier l'identité de P en comparant la preuve transmise du noeud P au noeud V avec une valeur calculée par le noeud V via une élévation de <i>S<sub>p</sub></i> ou de <i>m<sub>p</sub></i> à a.</claim-text></claim-text></claim-text></claim>
<claim id="c-fr-01-0010" num="0010">
<claim-text>Procédé selon la revendication 9, dans lequel ladite valeur non secrète <i>S<sub>p</sub></i> est calculée sur la base de l'élévation de <i>m<sub>p</sub></i>, à <i>x<sub>p</sub></i>.</claim-text></claim>
<claim id="c-fr-01-0011" num="0011">
<claim-text>Procédé selon l'une des revendications 1 à 10, dans lequel en plus de son information de clé secrète <i>x<sub>p</sub></i>, le noeud P présente une information d'une clé publique <i>e<sub>p</sub></i> ou peut générer cette clé publique <i>e<sub>p</sub></i> correspondant à la clé secrète <i>x<sub>p</sub></i> alors que, cependant, e p est gardée secrète par le noeud P à moins qu'une<!-- EPO <DP n="55"> --> demande de révocation devienne nécessaire pour permettre au noeud P d'émettre une demande de révocation, le cas échéant, sur la base de ladite clé publique <i>e<sub>p</sub></i>.</claim-text></claim>
<claim id="c-fr-01-0012" num="0012">
<claim-text>Structure de données représentant un certificat à utiliser pour vérifier l'identité d'un noeud P, alors que ladite structure de données a été générée en utilisant le procédé selon les revendications 9 à 11.</claim-text></claim>
<claim id="c-fr-01-0013" num="0013">
<claim-text>Procédé pour révoquer un certificat qui a été généré et délivré à un noeud P selon le procédé selon l'une quelconque des revendications 9 à 12, ledit procédé comportant les étapes consistant à :
<claim-text>générer et divulguer un message comportant <i>S<sub>p</sub></i> et la clé secrète <i>x<sub>p</sub></i> ou sa clé publique correspondante <i>e<sub>p</sub></i>, et une signature dudit message qui a été générée en utilisant la clé privée du noeud P.</claim-text></claim-text></claim>
<claim id="c-fr-01-0014" num="0014">
<claim-text>Procédé selon l'une quelconque des revendications 1 à 13, comportant en outre l'étape consistant à :
<claim-text>échanger régulièrement des informations de révocation entre les noeuds du réseau.</claim-text></claim-text></claim>
<claim id="c-fr-01-0015" num="0015">
<claim-text>Dispositif pour vérifier, dans un réseau de communication, l'identité d'un noeud de test P au moyen d'un noeud de vérification V pour vérifier que ledit noeud P a la qualité de propriétaire légitime d'un certificat de clé publique C, ledit dispositif comportant :<!-- EPO <DP n="56"> -->
<claim-text>une unité de test pour démontrer, par ledit noeud P, audit noeud de vérification V que le noeud P connaît la clé secrète <i>x<sub>p</sub></i> sans divulguer la clé secrète <i>x<sub>p</sub>,</i> alors que :
<claim-text>ladite clé secrète <i>x<sub>p</sub></i> est une information secrète partagée par ledit noeud P et par une autorité de certification CA qui a délivré ledit certificat C au noeud P,</claim-text>
<claim-text>ledit certificat C, qui a été délivré au noeud P par ladite autorité de certification comprend :
<claim-text>la clé publique dudit noeud de test ;</claim-text>
<claim-text>un ou plusieurs éléments non secrets <i>m<sub>p</sub></i> identifiant l'identité du propriétaire du certificat auquel ledit certificat C a été délivré et l'autorité de certification,</claim-text></claim-text>
<claim-text>une valeur non secrète <i>S<sub>p</sub></i>, qui a été générée en utilisant un procédé cryptographique basé sur ladite valeur secrète <i>x<sub>p</sub></i> et un ou plusieurs autres éléments non secrets <i>m<sub>p</sub></i> dudit certificat C de telle manière que la valeur ainsi générée <i>S<sub>p</sub></i> est basée sur, mais ne divulgue pas, <i>x<sub>p</sub></i>, ladite une valeur non secrète Spétant une signature dudit un ou desdits plusieurs autres éléments non secrets <i>m<sub>p</sub></i> qui a été générée en élevant <i>m<sub>p</sub></i> à <i>x<sub>p</sub></i> ; et ledit certificat comportant en outre :
<claim-text>une signature qui a été générée sur la base de <i>S<sub>p</sub></i> et d'un ou plusieurs autres éléments non secrets en<!-- EPO <DP n="57"> --> utilisant la clé privée de ladite autorité de certification ;</claim-text>
<claim-text>alors que ladite unité de test démontre au vérificateur V sa connaissance de <i>x<sub>p</sub></i> sans divulguer <i>x<sub>p</sub></i> en utilisant <i>S<sub>p</sub></i> et vérifie P en qualité de propriétaire légitime du certificat C, et met en outre en oeuvre les étapes consistant à :
<claim-text>choisir une valeur aléatoire a au moyen dudit noeud de vérification V et générer une demande d'accès basée sur l'élévation de <i>m<sub>p</sub></i> à a ou sur l'élévation de <i>S<sub>p</sub></i> à a, ladite demande d'accès étant transmise au noeud P ;</claim-text>
<claim-text>élever, par le noeud P, ladite demande d'accès à <i>x<sub>p</sub></i> si ladite demande d'accès est basée sur <i>m<sub>p</sub></i> ou à 1/<i>x<sub>p</sub></i> si ladite demande d'accès est basée sur <i>S<sub>p</sub></i> et transmettre le résultat au noeud V en qualité de ladite preuve ; et</claim-text>
<claim-text>vérifier l'identité de P en comparant la preuve transmise du noeud P au noeud V avec une valeur calculée par le noeud V via une élévation de <i>S<sub>p</sub></i> ou de <i>m<sub>p</sub></i> à a.</claim-text></claim-text></claim-text></claim-text></claim-text></claim>
<claim id="c-fr-01-0016" num="0016">
<claim-text>Dispositif pour générer un certificat de clé publique à utiliser pour vérifier l'identité d'un noeud de test P dans un réseau en tant que le propriétaire légitime dudit certificat de clé publique, ledit dispositif comportant :
<claim-text>une unité de distribution pour distribuer l'information relative à une clé secrète <i>x<sub>p</sub></i> entre une autorité de certification et un noeud P de sorte les deux partagent ladite information,<!-- EPO <DP n="58"> --></claim-text>
<claim-text>une unité de calcul pour calculer une valeur non secrète <i>S<sub>p</sub></i> sur la base d'un ou plusieurs éléments publics <i>m<sub>p</sub></i> dudit certificat d'une telle manière que ladite valeur non secrète <i>S<sub>p</sub></i> ne divulgue pas la clé secrète <i>x<sub>p</sub></i> ;</claim-text>
<claim-text>une unité d'incorporation pour inclure ladite valeur non secrète <i>S<sub>p</sub></i> dans un certificat délivré au noeud P par ladite autorité de certification, et</claim-text>
<claim-text>une unité d'ajout pour ajouter audit certificat une signature qui est générée en utilisant la clé privée de ladite autorité de certification et qui est basée sur ladite valeur non secrète <i>S<sub>p</sub></i>, et sur un ou plusieurs éléments non secrets supplémentaires dudit certificat,</claim-text>
dans lequel ledit certificat C comprend
<claim-text>la clé publique dudit noeud de test ;</claim-text>
<claim-text>un ou plusieurs éléments non secrets identifiant l'identité du propriétaire du certificat auquel ledit certificat C a été délivré et l'autorité de certification, ledit élément non secret <i>S<sub>p</sub></i> étant une signature dudit un ou desdits plusieurs autres éléments non secrets <i>m<sub>p</sub></i> qui a été générée en élevant <i>m<sub>p</sub></i> à <i>x<sub>p</sub></i>, et</claim-text>
<claim-text>une signature qui a été générée sur la base de <i>S<sub>p</sub></i> et sur la base d'un ou plusieurs desdits autres éléments non secrets en utilisant la clé privée de ladite autorité de certification, de sorte que<!-- EPO <DP n="59"> --> l'identité du noeud de test P peut être vérifiée par les étapes suivantes consistant à :
<claim-text>choisir une valeur aléatoire a par ledit noeud de vérification V et générer une demande d'accès basée sur l'élévation de <i>m<sub>p</sub></i> à a ou sur l'élévation de <i>S<sub>p</sub></i> à a, ladite demande d'accès étant transmise au noeud P ;</claim-text>
<claim-text>élever par le noeud P ladite demande d'accès à <i>x<sub>p</sub></i> si ladite demande d'accès est basée sur <i>m<sub>p</sub></i> ou à 1/<i>x<sub>p</sub></i> si ladite demande d'accès est basée sur <i>S<sub>p</sub></i> et transmettre le résultat au noeud V en qualité de ladite preuve ; et</claim-text>
<claim-text>vérifier l'identité de P en comparant la preuve transmise du noeud P au noeud V à une valeur calculée par le noeud V via une élévation de <i>S<sub>p</sub></i> ou de <i>m<sub>p</sub></i> à a.</claim-text></claim-text></claim-text></claim>
<claim id="c-fr-01-0017" num="0017">
<claim-text>Dispositif selon la revendication 17 ou 18, comportant en outre :
<claim-text>un moyen pour mettre en oeuvre un procédé selon l'une quelconque des revendications 2 à 14.</claim-text></claim-text></claim>
<claim id="c-fr-01-0018" num="0018">
<claim-text>Programme informatique comportant un code de programme informatique lequel, lorsqu'il est exécuté sur un ordinateur, permet audit ordinateur de mettre en oeuvre un procédé selon l'une quelconque des revendications 1 à 14.</claim-text></claim>
</claims><!-- EPO <DP n="60"> -->
<drawings id="draw" lang="en">
<figure id="f0001" num="1A"><img id="if0001" file="imgf0001.tif" wi="165" he="202" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="61"> -->
<figure id="f0002" num="1B"><img id="if0002" file="imgf0002.tif" wi="165" he="212" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="62"> -->
<figure id="f0003" num="2"><img id="if0003" file="imgf0003.tif" wi="162" he="162" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="63"> -->
<figure id="f0004" num="3"><img id="if0004" file="imgf0004.tif" wi="144" he="207" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="64"> -->
<figure id="f0005" num="4"><img id="if0005" file="imgf0005.tif" wi="165" he="231" img-content="drawing" img-format="tif"/></figure>
</drawings>
<ep-reference-list id="ref-list">
<heading id="ref-h0001"><b>REFERENCES CITED IN THE DESCRIPTION</b></heading>
<p id="ref-p0001" num=""><i>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.</i></p>
<heading id="ref-h0002"><b>Non-patent literature cited in the description</b></heading>
<p id="ref-p0002" num="">
<ul id="ref-ul0001" list-style="bullet">
<li><nplcit id="ref-ncit0001" npl-type="s"><article><author><name>R.L. RIVEST</name></author><author><name>A. SHAMIR</name></author><author><name>L.M. ADLEMAN</name></author><atl>A method for obtaining digital signatures and public-key cryptosystems</atl><serial><sertitle>Communications of the ACM</sertitle><pubdate><sdate>19780000</sdate><edate/></pubdate><vid>21</vid><ino>2</ino></serial><location><pp><ppf>120</ppf><ppl>126</ppl></pp></location></article></nplcit><crossref idref="ncit0001">[0053]</crossref></li>
</ul></p>
</ep-reference-list>
</ep-patent-document>
