EP4402854A1 - Procedes et dispositifs d'authentification et de verification de non-revocation - Google Patents

Procedes et dispositifs d'authentification et de verification de non-revocation

Info

Publication number
EP4402854A1
EP4402854A1 EP22785763.8A EP22785763A EP4402854A1 EP 4402854 A1 EP4402854 A1 EP 4402854A1 EP 22785763 A EP22785763 A EP 22785763A EP 4402854 A1 EP4402854 A1 EP 4402854A1
Authority
EP
European Patent Office
Prior art keywords
entity
pair
authentication
group
signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP22785763.8A
Other languages
German (de)
English (en)
Inventor
Olivier Sanders
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Publication of EP4402854A1 publication Critical patent/EP4402854A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures

Definitions

  • the invention relates to the general field of digital data protection and cryptography.
  • EPID Enhanced Privacy ID
  • an entity is said to be revoked when one of its signature keys is revoked, which is done by placing one of the signatures generated with this key on a revocation list;
  • any entity that produces a signature must provide proof that this signature was not produced with the revoked key, i.e. with the key of a signature recorded in the revocation list, thus proving that the authenticating entity is not the one that was revoked.
  • the invention is more specifically in the context in which the signatures comprise a pair (h, h x ), where h is an element of a mathematical group and x is the secret of the signatory entity and in which this pair is included in the revocation list.
  • the invention aims in particular at an authentication method which does not have this drawback.
  • the invention relates to an authentication method implemented by an authentication device of a first entity to carry out an authentication of this first entity with a second entity.
  • This process includes:
  • a step of generating a signature to authenticate the first entity with the second entity comprising a pair (h, h X100 ), where X100 is a secret specific to the first entity and h is an element of a math group;
  • - hi and ki are the elements of the pair of index i in the revocation list
  • the invention relates to a device for authenticating a first entity, said device being configured to perform authentication of this first entity with a second entity, this device comprising:
  • - a module for generating a signature to authenticate the first entity with the second entity, said signature comprising a pair (h, h X100 ), where X100 is a secret specific to the first entity and h is an element of a math group; - a cryptographic module configured for each index i of a pair (hi, k) included in a revocation list, said pair (hi, ki) having been extracted from a signature generated by a revoked entity, hi being an element of said group, with ki hi xi , xi being a secret specific to an entity that generated said signature:
  • - hi and ki are the elements of the pair of index i in the revocation list
  • the invention relates to a method for verifying non-revocation implemented by a device for verifying non-revocation of a second entity during the authentication of a first entity, said method comprising:
  • the invention relates to a non-revocation checking device, this device being configured to check during the authentication of a first entity with a second entity, whether this first entity must be rejected due to revocation, this device comprising:
  • Ci h, A , where A is a known value.
  • the invention is situated in the context of the authentication of a first entity with a second entity, no limitation being attached to the nature of the first and second entities.
  • the first entity is a processor and the second entity is a server of the manufacturer of this processor;
  • the first entity is a client device and the second entity is a server device;
  • the first entity is a microcircuit card and the second entity is a reader of such a card;
  • the invention proposes a mechanism in which a first entity which seeks to authenticate itself with a second entity, produces for this new authentication a signature with a secret of its own, and provides proof to this second entity that this secret is different from all the secrets used to produce signatures from which were extracted pairs registered in the revocation list.
  • the revocation list is created and updated by the second entity. For example, when the second entity considers that an entity which has authenticated itself to it with a signature has suspicious behavior, it registers the pair (hi, ki) of this signature in the revocation list. But this embodiment is not limiting, it being possible for the revocation list to be created or maintained by a third party, or even by a plurality of third parties.
  • Ci a single element of the mathematical group, per pair in the revocation list.
  • the non-revocation proof has three elements of the pairwise mathematical group in the revocation list.
  • the single group element Ci sent in the proposed technique has a maximum size of 380 bits whereas in the known prior art, the three cyclic elements have, cumulatively, a size of 894 bits.
  • those skilled in the art can refer to the documents https://electriccoin.co/blog/new-sna rk-curve/ and httDs://link.sDri nger.com/chapter/10.1007%2F978- 3-540-45146-4_8, Section 5r .
  • the gain provided by the invention is very significant, especially when the number of revoked signatures increases.
  • the zero-knowledge proof is produced using the Schnorr protocol described in the publication “Efficient Identification and Signatures for Smart Cards” by Claus-Peter Schnorr, CRYPTO 1989”.
  • the zero-knowledge proof contains only 2 scalars (integer modulo p), of 256 bits each. It therefore has a size of 512 bits whatever the number N of pairs in the revocation list.
  • - hi and k are the elements of the pair of index i in the revocation list
  • - A is a known value, for example 1;
  • the non-revocation verification device can therefore very easily detect, on the basis of the single group element Ci received, that the first entity must be rejected for this new authentication. All he has to do, after having checked the validity of the zero-knowledge proof to ensure that the elements Ci have indeed been formed, is to compare the value Ci received with hi A .
  • the element Ci appears to the non-revocation verification device as a pseudo-value. random.
  • the authentication device does not explicitly verify that the character string has not been used to prove non-revocation for a previous authentication of the entity. But the mechanism for obtaining the character string is such that such a collision is statistically improbable; the character string is for example a random number of 256 bits.
  • the character string is at least part of the signature. This embodiment is particularly advantageous because it avoids having to send the character string as such, the latter being able to be deduced directly by the non-revocation checking device from the signature.
  • the mathematical group is a cyclic group of order p, p being a prime number.
  • the invention applies in particular but in a non-limiting way when the signatures are produced for bilinear groups.
  • the different steps of the authentication method and the different steps of the non-revocation verification method are determined by computer program instructions or are implemented by a silicon chip which comprises transistors adapted to form logic gates of non-programmable hardwired logic.
  • the invention also relates to a computer program on an information medium, this program being capable of being implemented in a device or more generally in a computer, this program comprising instructions adapted to the implementation implementation of the steps of an authentication method or of a non-revocation verification method as described above.
  • This program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in partially compiled form, or in any other desirable form.
  • the invention also relates to an information medium readable by a computer, and comprising instructions of a computer program as mentioned above.
  • the information carrier can be any entity or device capable of storing the program.
  • the medium may comprise a storage means, such as a ROM, a flash-type non-volatile memory or even a magnetic recording means, for example a hard disk.
  • the information medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can in particular be downloaded from an Internet-type network.
  • the information carrier can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
  • FIG. 1 shows an authentication device and a non-revocation verification device in accordance with a particular embodiment of the invention
  • FIG. 2 represents, in the form of a flowchart, the main steps of an authentication method and the main steps of a non-revocation verification method in accordance with a particular embodiment of the invention
  • FIG. 3 shows the functional architecture of an authentication device according to a particular embodiment of the invention.
  • FIG. 4 shows the functional architecture of a non-revocation verification device in accordance with a particular mode of implementation of the invention.
  • FIG. 1 represents, in their environment, an authentication device 10 and a non-revocation verification device 20 conforming to a particular embodiment of the invention.
  • the authentication device 10 is incorporated into a first entity 100.
  • the entity 100 uses the device 10 to authenticate itself with a second entity 200.
  • the non-revocation checker 20 is incorporated into the second entity 200.
  • the entity 200 uses the non-revocation checker 20 to check whether the first entity 100 should be rejected for this new authentication.
  • an entity when an entity performs authentication or authenticates itself to the second entity 200, it uses a signature comprising a pair (h, k), where:
  • - h is an element of a mathematical group Gl, for example a cyclic group of order p, p being a prime number;
  • the second entity 200 when the second entity 200 considers for example that this entity 100 has suspicious behavior, it registers the pair (h, k) in a revocation list LR.
  • the revocation list is administered by a third-party entity mandated in this capacity. No limitation is attached to the way in which this revocation list is established.
  • the authentication device 10 has the hardware architecture of a computer. It notably comprises a processor 10A, a read only memory 10B, a random access memory 10C, a rewritable non-volatile memory 10D and means of communication 10E with the entity 200.
  • the read only memory 10B of the device 10 constitutes a recording medium in accordance with the invention, readable by the processor 10A and on which is recorded a computer program PGA in accordance with the invention, this program comprising instructions for the execution steps of an authentication method according to the invention described later with reference to FIG. 2 in one embodiment.
  • the authentication device 10 uses these means of communication 10 to obtain an updated version of the revocation list LR from the second entity 200. It is underlined here that the two entities 100 and 200 must agree in advance on the version of the revocation list to be used during authentication.
  • the second entity 200 sends the revocation list before authentication.
  • the first entity 100 obtains the version of the revocation list from a public source. No limitation is attached to the manner of obtaining this revocation list.
  • the non-volatile memory 10D of the authentication device 10 comprises:
  • the non-revocation verification device 20 has a hardware architecture of a computer. It notably comprises a processor 20A, a read only memory 20B, a random access memory 20C, a rewritable non-volatile memory 20D and means of communication 20E with the entity 100.
  • the read only memory 20B of the device 10 constitutes a recording medium in accordance with the invention, readable by the processor 20A and on which is recorded a computer program PGV in accordance with the invention, this program comprising instructions for the execution steps of a non-revocation verification method according to the invention described later with reference to FIG. 2 in one embodiment.
  • the non-volatile memory 20D of the non-revocation verification device 20 includes an up-to-date copy of the revocation list LR.
  • the communication means 10E and 20E are configured to allow the devices 10 and 20 to communicate with each other.
  • the non-revocation verification device 20 creates and updates a revocation list in which it stores the pairs (hi, ki) included in the signatures produced by entities that authenticate with the entity 200 when it considers that these entities have suspicious behavior.
  • the authentication device 10 During a step E10, the authentication device 10 generates a signature SIG to authenticate the entity 100 with the entity 200.
  • this signature SIG comprises a pair (h, h X100 ), where X100 is the secret of the entity 100 and h is an element of the mathematical group Gl.
  • the method comprises steps E20 to E60 to prove to the entity 200 that the entity 100 is not revoked. More specifically, this proof of non-revocation aims to provide proof to the second entity 200 that the secret X100 used to generate the SIG signature is not a secret that was used to produce a signature comprising one of the N pairs (hi , k) of the revocation list LR.
  • the authentication device 10 obtains a character string STR specific to this new authentication. This string of characters has never been used to generate such a proof, i.e. it is different from those he used for other proofs.
  • the string STR is a part of the SIG signature, for example the part of the SIG signature which does not include the pair (h, h X100 ). This makes it possible to limit the number of elements transmitted by the authentication device to provide proof of non-revocation.
  • the authentication device 10 derives, in a deterministic manner, a value ai from the character string STR and the index i.
  • this value ai is derived deterministically means that it is obtained without using randomness. Any entity that knows the character string STR and the index i is thus able to calculate ai.
  • ai H(STR
  • H is a public hash function, for example SHA-256 or SHA-3.
  • - hi and k are the elements of the pair of index i in the revocation list LR;
  • - A is a known value, for example 1;
  • the known value A can be defined globally in the system parameters or locally, for example by one of the two entities involved in the authentication process.
  • the authentication device 10 generates zero-knowledge proof P that the device 10 has used the secret X100 of the entity 100 to obtain the element of group Ci for each of the pairs (hi, ki) of the revocation list LR, in other words that it knows x, such that for all i:
  • the zero-knowledge proof P contains only 2 scalars (integer modulo p), of 256 bits each, regardless of the number N of pairs in the LR revocation list.
  • the authentication device 10 sends to the second entity 200:
  • the second entity 200 therefore receives, during a step F60:
  • the second entity 200 checks whether the signature SIG is valid during a step F65. If not, it rejects the authentication.
  • the non-revocation verification device 20 or the second entity 200 can therefore very easily detect, on the basis of the only group elements Ci received under reverse of a validity of the proof P with zero disclosure, that the entity 100 must be rejected for this new authentication. It only needs to compare the value Ci received with h, A .
  • the size of the element Ci is a maximum of 380 bits.
  • the signature SIG also includes the character string STR.
  • the computer program PGA defines functional modules of the authentication device 10 represented in FIG. 3. More specifically, the authentication device 10 designed to perform authentication of a first entity 100 with a second entity 200 comprises , in this embodiment:
  • an MGS module for generating a SIG signature to authenticate the first entity 100 with the second entity 200, this SIG signature comprising a pair (h, h X100 ), where X100 is a secret of the first entity 100 and h is an element of mathematical group G1;
  • a cryptographic module CRY configured to obtain, for each index i of a pair (hi, ki) in the revocation list LR, the deterministic value ai and the group element Ci described above;
  • the computer program PGV defines functional modules of the non-revocation verification device 20 represented in FIG. 4. More specifically, the non-revocation verification device 20 configured to verify during the authentication of a first entity 100 from a second entity 200, if this first entity must be rejected due to revocation, comprises, in this embodiment of the invention:
  • the non-revocation verification device 20 also comprises a module MCL for creating and updating a revocation list LR as described previously.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Une liste de révocation (LR) comporte au moins une paire (hi, k) extraite d'une signature générée par une entité révoquée, où hi est un élément d'un groupe mathématique (Gl) et k = hixi, où xi est un secret de ladite entité révoquée. Une première entité (100) envoie (E60), à une deuxième entité (200), pour s'authentifier auprès d'elle : une signature (SIG) générée par ladite première entité (100) pour cette authentification; une chaîne de caractères (STR); un élément (Ci) du groupe (Gl) pour chaque paire (hi, k) de la liste de révocation (LR); et une preuve (P) à divulgation nulle de connaissance que ladite première entité (100) a utilisé un secret (X100) de cette première entité (100) et la chaîne de caractères pour obtenir ledit élément de groupe (Ci) pour chacune des paires de ladite liste de révocation (LR). La deuxième entité rejette (F70) ladite première entité (100) si ladite preuve a divulgation nulle de connaissance (P) n'est pas valide ou si pour au moins une dite paire (hi, k), l'élément de groupe (Ci) est tel que Ci = hiA, où A est une valeur connue.

Description

Procédés et dispositifs d'authentification et de vérification de non-révocation
Arrière-plan de l'invention
L'invention se rapporte au domaine général de la protection des données numériques et de la cryptographie.
Elle se situe plus particulièrement dans le contexte des mécanismes d'authentification.
Ces mécanismes d'authentification sont aujourd'hui très largement répandus, notamment ceux à base de signature numérique ou de certificat.
L'utilisation de signatures numériques pose un certain nombre de problèmes, notamment en ce qu'elle permet de tracer le signataire et en ce qu'elle révèle potentiellement trop d'informations sur le signataire.
En effet, lorsqu'une signature numérique porte sur un ensemble de données certifiées, l'ensemble des données certifiées doit être révélé pour pouvoir en vérifier l'authenticité.
Ceci a conduit au développement de techniques d'authentification qui visent à révéler le moins d'éléments possibles au moment d'une authentification. Ces techniques sont largement déployées et connues sous le nom de signatures numériques anonymes.
Ces systèmes d'authentification anonymes posent cependant des difficultés lorsqu'il s'agit de révoquer les droits d'une entité.
Pour répondre à ce problème, un mécanisme d'authentification connu sous le nom de EPID (Enhanced Privacy ID) a été défini (voir par exemple la publication « Enhanced privacy id: a direct anonymous attestation scheme with enhanced revocation capabilities » de Brickell et Li, publié à la conférence WPS2007). Dans ce mécanisme :
- une entité est dite révoquée lorsqu'une de ses clés de signature est révoquée, ce qui est fait en plaçant une des signatures générées avec cette clé sur une liste de révocation ;
- toute entité qui produit une signature doit apporter la preuve que cette signature n'a pas été produite avec la clé révoquée, c'est-à-dire avec la clé d'une signature enregistrée dans la liste de révocation, prouvant ainsi que l’entité qui s’authentifie n’est pas celle qui a été révoquée.
L'invention se situe plus spécifiquement dans le contexte dans lequel les signatures comportent une paire (h, hx), où h est un élément d'un groupe mathématique et x est le secret de l'entité signataire et dans lequel cette paire est inscrite dans la liste de révocation. Cette paire est notée (hi, ki = hixi) par la suite.
La technique la plus efficace connue à ce jour pour rapporter la preuve qu'un secret x utilisé pour produire une signature diffère d'un secret xi utilisé pour produire une signature (hi, = hixi) de la liste de révocation nécessite d'envoyer trois éléments du groupe mathématique à l'entité qui vérifie la preuve, soit environ 894 bits.
En pratique les listes de révocation peuvent contenir un nombre N très important de paires (hi, ki = hixi) typiquement plusieurs dizaines de milliers. Le fait de devoir communiquer 3. N éléments de groupe (ou 894. N bits) pour prouver qu'une entité signataire n'est pas révoquée peut constituer un inconvénient important lorsque N augmente.
L'invention vise notamment une méthode d'authentification qui ne présente pas cet inconvénient.
Objet et résumé de l'invention
Selon un premier aspect, l'invention concerne un procédé d'authentification mis en oeuvre par un dispositif d'authentification d'une première entité pour effectuer une authentification de cette première entité auprès d'une deuxième entité. Ce procédé comporte :
- une étape de génération d'une signature pour authentifier la première entité auprès de la deuxième entité, ladite signature comportant une paire (h, hX100), où X100 est un secret propre à la première entité et h est un élément d'un groupe mathématique ;
- pour chaque indice i d'une paire (hi, ki) comprise dans une liste de révocation (LR), ladite paire (hi, ki) ayant été extraite d'une signature générée par une entité révoquée, hi étant un élément dudit groupe, avec ki = hixi, xi étant un secret propre à ladite entité révoquée :
(i) une étape d'obtention, de façon déterministe, d'une valeur ai à partir dudit indice i et d'une chaîne de caractères propre à ladite authentification ;
(ii) une étape d'obtention d'un élément du groupe mathématique selon la formule
- hi et ki sont les éléments de la paire d'indice i dans la liste de révocation ;
- A est une valeur connue ;
- ai est ladite valeur obtenue de façon déterministe; et
- X100 est le secret de la première entité ;
- une étape de génération d'une preuve à divulgation nulle de connaissance que ledit dispositif d'authentification a utilisé le secret X100 et ladite chaîne de caractères pour obtenir ledit élément de groupe Ci pour chacune des paires de la liste de révocation ; et
- une étape d'envoi, à la deuxième entité :
- de ladite signature;
- de ladite chaîne de caractères ;
- de ladite preuve à divulgation nulle de connaissance ; et
- dudit élément Ci pour chaque paire (hi, ki) de la liste de révocation.
Corrélativement, l'invention concerne un dispositif d'authentification d'une première entité, ledit dispositif étant configuré pour effectuer une authentification de cette première entité auprès d'une deuxième entité, ce dispositif comportant :
- un module de génération d'une signature pour authentifier la première entité auprès de la deuxième entité, ladite signature comportant une paire (h, hX100), où X100 est un secret propre à la première entité et h est un élément d'un groupe mathématique ; - un module cryptographique configuré pour chaque indice i d'une paire (hi, k) comprise dans une liste de révocation, ladite paire (hi, ki) ayant été extraite d'une signature générée par une entité révoquée, hi étant un élément dudit groupe, avec ki = hixi, xi étant un secret propre à une entité ayant généré ladite signature :
(i) obtenir, de façon déterministe, une valeur ai à partir dudit indice i et de ladite chaîne de caractères ;
(ii) obtenir un élément G dudit groupe mathématique (Gl) selon la formule C; =
(ht ai. ki i+x100 où :
- hi et ki sont les éléments de la paire d'indice i dans la liste de révocation ;
- A est une valeur connue ;
- ai est ladite valeur obtenue de façon déterministe; et
- X100 est le secret de l'entité 100 ;
- un module de génération d'une preuve à divulgation nulle de connaissance que ledit dispositif d'authentification a utilisé le secret et la chaîne de caractères pour obtenir l'élément de groupe Ci pour chacune des paires de ladite liste de révocation ; et
- un module d'envoi, à la deuxième entité :
- de ladite signature ;
- de ladite chaîne de caractères ;
- de ladite preuve à divulgation nulle de connaissance ; et
- dudit élément Ci pour chaque paire (hi, ki) de la liste de révocation.
Selon un deuxième aspect, l'invention concerne un procédé de vérification de non-révocation mis en oeuvre par un dispositif de vérification de non-révocation d'une deuxième entité lors de l'authentification d'une première entité, ledit procédé comportant :
- une étape de réception :
- d'une signature générée par la première entité pour cette authentification ;
- d'une chaîne de caractères ;
- d'un élément G d'un même groupe mathématique pour chaque paire (hi, ki) comprise dans une liste de révocation, ladite paire (hi, ki) ayant été extraite d'une signature générée par une entité révoquée, hi étant un élément dudit groupe, avec ki = hixi, xi étant un secret propre à ladite entité révoquée ; et
- d'une preuve à divulgation nulle de connaissance que ladite première entité a utilisé un secret de cette première entité et ladite chaîne de caractères pour obtenir ledit élément de groupe pour chacune des paires de la liste de révocation ; et
- une étape de rejet pour cause de révocation de ladite première entité si ladite preuve a divulgation nulle de connaissance n'est pas valide ou si pour au moins une dite paire (hi, ki), l'élément de groupe Ci est tel que Ci = hiA, où A est une valeur connue. Corrélativement, l'invention concerne un dispositif de vérification de non-révocation, ce dispositif étant configuré pour vérifier lors de l'authentification d'une première entité auprès d'une deuxième entité, si cette première entité doit être rejetée pour cause de révocation, ce dispositif comportant :
- un module de réception :
- d'une signature générée par la première entité pour cette authentification ;
- d'une chaîne de caractères ;
- d'un élément G d'un même groupe mathématique pour chaque paire (hi, ki) d'une liste de révocation, ladite paire (hi, ki) ayant été extraite d'une signature générée par une entité révoquée, hi étant un élément dudit groupe, avec k = hixi, xi étant un secret propre à ladite entité révoquée ; et
- d'une preuve à divulgation nulle de connaissance que ladite première entité a utilisé un secret de cette première entité et ladite chaîne de caractères pour obtenir ledit élément de groupe Ci pour chacune des paires de ladite liste de révocation ; et
- un module de rejet pour cause de révocation de ladite première entité si ladite preuve a divulgation nulle de connaissance n'est pas valide ou si pour au moins une dite paire (hi, ki), l'élément de groupe Ci est tel que Ci = h,A, où A est une valeur connue.
D'une façon générale, l'invention se situe dans le contexte de l'authentification d'une première entité auprès d'une deuxième entité, aucune limitation n'étant attachée à la nature des première et deuxième entités.
Par exemple :
- la première entité est un processeur et la deuxième entité est un serveur du fabricant de ce processeur ;
- la première entité est un dispositif client et la deuxième entité est un dispositif serveur ;
- la première entité est une carte à microcircuit et la deuxième entité est un lecteur d'une telle carte ;
- etc.
Comme mentionné en introduction, l'invention propose un mécanisme dans lequel une première entité qui cherche à s'authentifier auprès d'une deuxième entité, produit pour cette nouvelle authentification une signature avec un secret qui lui est propre, et apporte la preuve à cette deuxième entité que ce secret est différent de tous les secrets utilisés pour produire des signatures desquelles ont été extraites des paires enregistrées dans la liste de révocation.
Dans un mode particulier de réalisation, la liste de révocation est créée et mise à jour par la deuxième entité. Par exemple, lorsque la deuxième entité considère qu'une entité qui s'est authentifiée auprès d'elle avec une signature a un comportement suspect, elle enregistre la paire (hi, ki) de cette signature dans la liste de révocation. Mais ce mode de réalisation n'est pas limitatif, la liste de révocation pouvant être créée ou maintenue par un tiers, voire par une pluralité de tiers.
De façon remarquable, si on appelle N le nombre de paires dans la liste de révocation, on note que la preuve de non-révocation en tant que telle comporte :
- d'une part une chaîne de caractères et une preuve à divulgation nulle de connaissance, quel que soit le nombre de paires dans la liste de révocation ; et
- d'autre part, un unique élément du groupe mathématique, Ci, par paire dans la liste de révocation.
Ce résultat est particulièrement intéressant, car comme mentionné auparavant, dans les meilleures techniques connues, la preuve de non révocation comporte trois éléments du groupe mathématique par paire dans la liste de révocation.
L'unique élément de groupe Ci envoyé dans la technique proposée a une taille maximum de 380 bits alors que dans l'art antérieur connu, les trois éléments cycliques présentent, cumulés, une taille de 894 bits. Pour plus de renseignements, l'homme du métier peut se reporter aux documents https://electriccoin.co/blog/new-sna rk-curve/ et httDs://link.sDri nger.com/chapter/10.1007%2F978-3- 540-45146-4_8 , Section 5r.
Le gain apporté par l'invention est très important, surtout quand le nombre de signatures révoquées augmente.
Dans un mode particulier de réalisation de l'invention, la preuve à divulgation nulle de connaissance est produite en utilisant le protocole de Schnorr décrit dans la publication « Efficient Identification and Signatures for Smart Cards » de Claus-Peter Schnorr, CRYPTO 1989 ».
Lorsque le protocole de Schnorr est utilisé, la preuve à divulgation nulle de connaissance ne contient que 2 scalaires (entier modulo p), de 256 bits chacun. Elle a donc une taille de 512 bits quel que soit le nombre N de paires dans la liste de révocation.
Par ailleurs, le calcul de G est particulièrement avantageux. En effet conformément à l'invention
- hi et k sont les éléments de la paire d'indice i dans la liste de révocation ;
- A est une valeur connue, par exemple 1 ;
- ai est la valeur obtenue de façon déterministe; et
- X100 est le secret de la première entité.
Grâce à cette formule, la vérification de la non-révocation est extrêmement simple.
En effet, si la première entité a déjà été révoquée, la liste de révocation comporte une paire (hi, ki) avec ki=hiX100.
Et dans ce cas, Ci = hiA (par exemple Ci = hi si A = 1).
Le dispositif de vérification de non-révocation peut donc détecter très facilement, sur la base du seul élément de groupe Ci reçu, que la première entité doit être rejetée pour cette nouvelle authentification. Il lui suffit, après avoir vérifié la validité de la preuve à divulgation nulle de connaissance pour s'assurer que les éléments Ci ont bien été formés, de comparer la valeur Ci reçue avec hiA.
Au contraire, si le secret X100 de la première entité n'a été utilisé dans aucune des signatures dont les paires sont mémorisées dans la liste de révocation, alors l'élément Ci apparaît au dispositif de vérification de non-révocation comme une valeur pseudo-aléatoire.
Cette caractéristique est très intéressante d'un point de vue de préservation de l'anonymat car l'élément Ci ne révèle aucune information sur le secret X100. La chaîne de caractères précitée peut être quelconque. La seule contrainte est qu'elle soit propre à cette nouvelle authentification, autrement dit qu'elle soit différente des autres chaînes de caractères utilisées pour constituer des preuves de non-révocation pour des authentifications précédentes de la première entité.
En pratique, le dispositif d'authentification ne vérifie pas explicitement que la chaîne de caractères n'a pas été utilisée pour prouver une non-révocation pour une authentification précédente de l'entité. Mais le mécanisme d'obtention de la chaîne de caractères est tel qu'une telle collision est statistiquement improbable ; la chaîne de caractères est par exemple un aléa de 256 bits.
Dans un mode de réalisation, la chaîne de caractères est au moins une partie de la signature. Ce mode de réalisation est particulièrement avantageux car il évite de devoir envoyer la chaîne de caractères en tant que telle, celle-ci pouvant être déduite directement par le dispositif de vérification de non-révocation à partir de la signature.
Dans un mode de réalisation, la valeur ai est obtenue par ai = H(STR || i) où H est une fonction de hachage publique.
Dans un mode de réalisation, le groupe mathématique est un groupe cyclique d'un ordre p, p étant un nombre premier. L'invention s'applique en particulier mais de façon non limitative lorsque les signatures sont produites pour des groupes bilinéaires.
Dans un mode particulier de réalisation, les différentes étapes du procédé d'authentification et les différentes étapes du procédé de vérification de non-révocation sont déterminées par des instructions de programmes d'ordinateurs ou sont implémentées par une puce en silicium qui comprend des transistors adaptés pour constituer des portes logiques d'une logique câblée non programmable.
En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre dans un dispositif ou plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes d'un procédé d'authentification ou d'un procédé de vérification de non-révocation tel que décrit ci-dessus.
Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, une mémoire non volatile de type flash ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des dessins :
D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures :
- La figure 1 représente un dispositif d'authentification et un dispositif de vérification de non- révocation conformes à un mode particulier de réalisation de l'invention ;
- La figure 2 représente, sous forme d'organigramme, les principales étapes d'un procédé d'authentification et les principales étapes d'un procédé de vérification de non-révocation conformes à un mode particulier de réalisation de l'invention ;
- La figure 3 représente l'architecture fonctionnelle d'un dispositif d'authentification conforme à un mode particulier de mise en oeuvre de l'invention ; et
- La figure 4 représente l'architecture fonctionnelle d'un dispositif de vérification de non-révocation conforme à un mode particulier de mise en oeuvre de l'invention.
Description des modes de réalisation
La figure 1 représente, dans leur environnement, un dispositif 10 d'authentification et un dispositif 20 de vérification de non-révocation conformes à un mode particulier de réalisation de l'invention.
Dans le mode de réalisation décrit ici, le dispositif 10 d'authentification est incorporé dans une première entité 100. L'entité 100 utilise le dispositif 10 pour s'authentifier auprès d'une deuxième entité 200.
Dans le mode de réalisation décrit ici, le dispositif 20 de vérification de non-révocation est incorporé dans la deuxième entité 200. L'entité 200 utilise le dispositif 20 de vérification de non- révocation pour vérifier si la première entité 100 doit être rejetée pour cette nouvelle authentification.
Dans le mode de réalisation, lorsqu'une entité réalise une authentification ou s'authentifie auprès de la deuxième entité 200, elle utilise une signature comportant une paire (h, k), où :
- h est un élément d'un groupe mathématique Gl, par exemple un groupe cyclique d'ordre p, p étant un nombre premier ; et
- k = hx, où x est un secret de cette entité.
Dans le mode de réalisation décrit ici, lorsque la deuxième entité 200 considère par exemple que cette entité 100 a un comportement suspect, elle enregistre la paire (h, k) dans une liste de révocation LR. Dans un autre mode de réalisation, la liste de révocation est administrée par une entité tierce mandatée à ce titre. Aucune limitation n'est attachée à la manière dont cette liste de révocation est établie.
La liste de révocation LR comporte par conséquent une liste de N paires (hi, ki), i=l à N, la paire (hi, ki) ayant été obtenue par la deuxième entité 200 à partir de la ième signature accompagnant un comportement considéré suspect par l'entité 200. Dans cette paire, hi appartient au groupe G1 précité et ki = hixi, xi étant le secret de l'entité ayant émis cette signature.
Dans le mode de réalisation décrit ici, le dispositif d'authentification 10 dispose d'une architecture matérielle d'un ordinateur. Il comprend notamment un processeur 10A, une mémoire morte 10B, une mémoire vive 10C, une mémoire non volatile réinscriptible 10D et des moyens de communication 10E avec l'entité 200.
La mémoire morte 10B du dispositif 10 constitue un support d'enregistrement conforme à l'invention, lisible par le processeur 10A et sur lequel est enregistré un programme d'ordinateur PGA conforme à l'invention, ce programme comportant des instructions pour l'exécution des étapes d'un procédé d'authentification selon l'invention décrites ultérieurement en référence à la figure 2 dans un mode de réalisation.
Dans le mode de réalisation décrit ici, le dispositif d'authentification 10 utilise ces moyens de communication 10 pour obtenir une version à jour de la liste de révocation LR auprès de la deuxième entité 200. Il est souligné ici que les deux entités 100 et 200 doivent s'accorder préalablement sur la version de la liste de révocation à utiliser lors d'une authentification. Dans un mode de réalisation particulier, la deuxième entité 200 envoie la liste de révocation avant authentification. Dans un autre mode de réalisation particulier, la première entité 100 obtient la version de la liste de révocation sur une source publique. Aucune limitation n'est attachée à la manière d'obtenir cette liste de révocation.
Dans le mode de réalisation décrit ici, la mémoire non volatile 10D du dispositif d'authentification 10 comporte :
- un secret X100 propre à l'entité 100 ; et
- une copie de la liste de révocation LR.
Dans le mode de réalisation décrit ici, le dispositif de vérification de non-révocation 20 dispose d'une architecture matérielle d'un ordinateur. Il comprend notamment un processeur 20A, une mémoire morte 20B, une mémoire vive 20C, une mémoire non volatile réinscriptible 20D et des moyens de communication 20E avec l'entité 100.
La mémoire morte 20B du dispositif 10 constitue un support d'enregistrement conforme à l'invention, lisible par le processeur 20A et sur lequel est enregistré un programme d'ordinateur PGV conforme à l'invention, ce programme comportant des instructions pour l'exécution des étapes d'un procédé de vérification de non-révocation selon l'invention décrites ultérieurement en référence à la figure 2 dans un mode de réalisation.
Dans le mode de réalisation décrit ici, la mémoire non volatile 20D du dispositif de vérification de non- révocation 20 comporte une copie à jour de la liste de révocation LR.
Les moyens de communication 10E et 20E sont configurés pour permettre aux dispositifs 10 et 20 de communiquer entre eux.
Nous allons maintenant décrire en référence à la figure 2 :
- les principales étapes d'un procédé d'authentification mis en œuvre par le dispositif d'authentification 10 pour effectuer une authentification de l'entité 100 auprès de la deuxième entité 200 ; et
- les principales étapes d'un procédé de vérification de non-révocation mis en œuvre par le dispositif de vérification de non-révocation 20 pour vérifier si la première entité 100 doit être rejetée pour cause de révocation lors de cette authentification.
Dans ce mode de réalisation, au cours d'une étape générale F5, le dispositif de vérification de non- révocation 20 crée et maintient à jour une liste de révocation dans laquelle il mémorise les paires (hi, ki) comprises dans les signatures produites par des entités qui s'authentifient auprès de l'entité 200 lorsqu'il considère que ces entités ont un comportement suspect.
Nous supposons par la suite que la liste de révocation LR à jour est obtenue par le dispositif d'authentification 10 au cours d'une étape E5.
Au cours d'une étape E10, le dispositif d'authentification 10 génère une signature SIG pour authentifier l'entité 100 auprès de l'entité 200.
Dans le mode de réalisation décrit ici, cette signature SIG comporte une paire (h, hX100), où X100 est le secret de l'entité 100 et h est un élément du groupe mathématique Gl.
Dans le mode de réalisation décrit ici, le procédé comporte des étapes E20 à E60 pour prouver à l'entité 200 que l'entité 100 n'est pas révoquée. Plus précisément, cette preuve de non-révocation vise à apporter la preuve à la deuxième entité 200 que le secret X100 utilisé pour générer la signature SIG n'est pas un secret qui a été utilisé pour produire une signature comprenant une des N paires (hi, k) de la liste de révocation LR.
Au cours d'une étape E20, le dispositif d'authentification 10 obtient une chaîne de caractères STR propre à cette nouvelle authentification. Cette chaine de caractères n'a jamais été utilisée pour générer une telle preuve, c'est-à-dire qu'elle est différente de celles qu'il a utilisées pour d'autres preuves.
Dans le mode de réalisation décrit ici, la chaîne STR est une partie de la signature SIG, par exemple la partie de la signature SIG qui ne comporte pas la paire (h, hX100). Ceci permet de limiter le nombre d'éléments transmis par le dispositif d'authentification pour apporter la preuve de non révocation.
Dans le mode de réalisation décrit ici, le procédé d'authentification comprend une boucle comportant deux étapes E30, E40 pour chaque indice i, i=l à N, N étant le nombre de paires dans la liste de révocation LR.
Au cours d'une étape E30, le dispositif d'authentification 10, dérive, de façon déterministe, une valeur ai à partir de la chaine de caractères STR et de l'indice i.
Le fait que cette valeur ai est dérivée de façon déterministe, signifie qu'elle est obtenue sans utiliser d'aléa. Toute entité qui connaît la chaine de caractères STR et l'indice i est ainsi capable de calculer ai.
Dans le mode de réalisation décrit ici, ai = H(STR || i) où H est une fonction de hachage publique, par exemple SHA-256 ou SHA-3. Au cours d'une étape E40, le dispositif d'authentification 10 calcule ou obtient un élément Ci du groupe mathématique G1 selon la formule : C; = hi ai. ki~) /ai+xl0° (1) où :
- hi et k sont les éléments de la paire d'indice i dans la liste de révocation LR ;
- A est une valeur connue, par exemple 1 ;
- ai est la valeur obtenue de façon déterministe à l'étape E30 ; et
- X100 est le secret de l'entité 100.
La valeur connue A peut être définie globalement dans les paramètres du système ou localement, par exemple par l'une des deux entités impliquées dans le processus d'authentification.
Dans le mode de réalisation décrit ici, au cours d'une étape E50, le dispositif d'authentification 10 génère une preuve P à divulgation nulle de connaissance que le dispositif 10 a utilisé le secret X100 de l'entité 100 pour obtenir l'élément de groupe Ci pour chacune des paires (hi, ki) de la liste de révocation LR, autrement dit qu'il connait x, tel que pour tout i :
Ctx = {h^. k^. C^1
Une telle preuve est très classique en cryptographie.
Dans le mode de réalisation décrit ici, elle est produite en utilisant le protocole de Schnorr : la preuve P à divulgation nulle de connaissance ne contient que 2 scalaires (entier modulo p), de 256 bits chacun, quel que soit le nombre N de paires dans la liste de révocation LR.
Dans le mode de réalisation décrit ici, au cours d'une étape E60, le dispositif d'authentification 10 envoie à la deuxième entité 200 :
- la signature SIG pour cette nouvelle authentification ;
- la chaîne de caractères STR propre à cette nouvelle authentification ;
- la preuve P à divulgation nulle de connaissance ; et
- un élément Ci du groupe G1 pour chaque paire (hi, ki) de la liste de révocation LR, i = 1 à N.
Dans ce mode particulier de réalisation, la deuxième entité 200 reçoit donc, au cours d'une étape F60 :
- la signature SIG pour cette nouvelle authentification ;
- la chaîne de caractères STR propre à cette nouvelle authentification ;
- la preuve P à divulgation nulle de connaissance ; et
- un élément du groupe G pour chaque paire (hi, ki) de la liste de révocation LR, i = 1 à N.
Dans le mode de réalisation décrit ici, la deuxième entité 200 vérifie si la signature SIG est valide au cours d'une étape F65. Si ce n'est pas le cas elle rejette l'authentification.
Dans le mode de réalisation décrit ici, le dispositif 20 de vérification de non- révocation rejette la première entité 100 pour cause de révocation au cours d'une étape F70 si la preuve à divulgation nulle de connaissance P n'est pas valide ou si pour au moins une dite paire (hi, ki), l'élément de groupe Ci est tel que Ci = hiA. Il enregistre alors la paire (h, hX100) de la signature SIG dans la liste de révocation LR. En effet, si l'entité 100 était à l'origine d'une signature accompagnant une opération suspecte lors d'une authentification précédente de l'entité 100, alors la liste de révocation LR comporterait une paire (hi, ki) avec k=hiX100.
Dans ce cas, Ci = hiA (par exemple G = hi si A = 1).
Le dispositif de vérification de non-révocation 20 ou la deuxième entité 200 peut donc détecter très facilement, sur la base des seuls éléments de groupe Ci reçus sous réverse d'une validité de la preuve P à divulgation nulle, que l'entité 100 doit être rejetée pour cette nouvelle authentification. Il lui suffit de comparer la valeur Ci reçue avec h,A. Dans le mode de réalisation décrit ici, la taille de l'élément Ci est maximum de 380 bits.
Au contraire, si le secret X100 n'a été utilisé dans aucune des signatures dont les paires sont mémorisées dans la liste de révocation, alors l'élément Ci apparaît comme une valeur pseudoaléatoire.
Cette caractéristique est très intéressante car l'élément de groupe Ci ne révèle aucune information sur le secret X100.
Dans un mode de réalisation particulier, la signature SIG comporte en outre la chaîne de caractères STR.
Le programme d'ordinateur PGA définit des modules fonctionnels du dispositif d'authentification 10 représentés à la figure 3. Plus précisément, le dispositif d'authentification 10 conçu pour effectuer une authentification d'une première entité 100 auprès d'une deuxième entité 200 comporte, dans ce mode de réalisation :
- un module MOL d'obtention d'une liste de révocation LR telle que décrite précédemment ;
- un module MGS de génération d'une signature SIG pour authentifier la première entité 100 auprès de la deuxième entité 200, cette signature SIG comportant une paire (h, hX100), où X100 est un secret de la première entité 100 et h est un élément du groupe mathématique G1 ;
- un module MOC d'obtention d'une chaîne de caractères STR propre à ladite authentification ;
- un module cryptographique CRY configuré pour obtenir, pour chaque indice i d'une paire (hi, ki) dans la liste de révocation LR, la valeur déterministe ai et l'élément de groupe Ci décrit précédemment ;
- un module MGP de génération d'une preuve à divulgation nulle de connaissance que ledit dispositif (10) a utilisé un secret X100 de la première entité pour obtenir les éléments de groupe Ci ; et
- un module COM1 d'envoi, à la deuxième entité 200 :
- de ladite signature SIG;
- de la chaîne de caractères STR ;
- de la preuve P à divulgation nulle de connaissance ; et
- de l'élément Ci pour chaque paire de la liste de révocation LR.
Le programme d'ordinateur PGV définit des modules fonctionnels du dispositif de vérification de non- révocation 20 représentés à la figure 4. Plus précisément, le dispositif de vérification de non- révocation 20 configuré pour vérifier lors de l'authentification d'une première entité 100 auprès d'une deuxième entité 200, si cette première entité doit être rejetée pour cause de révocation, comporte, dans ce mode de réalisation de l'invention:
- un module COM2 de réception :
- d'une signature SIG générée par la première entité 100 pour cette authentification ; - d'une chaîne de caractères STR ;
- d'un élément Ci du groupe G1 pour chaque paire (hi, ki) de la liste de révocation LR ;
- et d'une preuve P à divulgation nulle de connaissance que ladite première entité 100 a utilisé un secret de cette première entité pour obtenir l'élément de groupe Ci pour chacune des paires de la liste de révocation LR ; et - un module MR de révocation de la première entité 100 si ladite preuve a divulgation nulle de connaissance P n'est pas valide ou si pour au moins une dite paire (hi, k), l'élément de groupe Ci est tel que G = h,A, où A est une valeur connue.
Dans un mode de réalisation particulier, le dispositif de vérification de non révocation 20 comprend en outre un module MCL de création et de mise à jour d'une liste de révocation LR telle que décrite précédemment.

Claims

REVENDICATIONS
[Revendication 1] Procédé d'authentification mis en oeuvre par un dispositif d'authentification (10) d'une première entité (100) pour effectuer une authentification de ladite première entité (100) auprès d'une deuxième entité (200), ledit procédé comportant :
- une étape (E10) de génération d'une signature (SIG) pour authentifier la première entité (100) auprès de la deuxième entité (200), ladite signature (SIG) comportant une paire (h, hX100), où X100 est un secret propre à ladite première entité (100) et h est un élément d'un groupe mathématique (Gl) ;
- pour chaque indice i d'une paire (hi, ki) comprise dans une liste de révocation (LR), ladite paire (hi, ki) ayant été extraite d'une signature générée par une entité révoquée, hi étant un élément dudit groupe (Gl), avec ki = hixi, xi étant un secret propre à ladite entité révoquée :
(i) une étape (E30) d'obtention, de façon déterministe, d'une valeur ai à partir dudit indice i et d'une chaîne de caractères (STR) propre à ladite authentification ;
(ii) une étape (E40) d'obtention d'un élément G dudit groupe mathématique (Gl) selon la formule
- hi et ki sont les éléments de la paire d'indice i dans la liste de révocation (LR) ;
- A est une valeur connue ;
- ai est ladite valeur obtenue de façon déterministe; et
- X100 est le secret de la première entité (100)
- une étape (E50) de génération d'une preuve (P) à divulgation nulle de connaissance que ledit dispositif (10) a utilisé le secret X100 et ladite chaîne de caractères (STR) pour obtenir ledit élément de groupe Ci pour chacune des paires de ladite liste de révocation (LR) ; et
- une étape (E60) d'envoi, à la deuxième entité (200) :
- de ladite signature (SIG);
- de ladite chaîne de caractères (STR) ;
- de ladite preuve (P) à divulgation nulle de connaissance ; et
- dudit élément Ci pour chaque paire de la liste de révocation (LR).
[Revendication 2] Procédé d'authentification selon la revendication 1 dans lequel ledit groupe mathématique est un groupe cyclique d'un ordre p, p étant un nombre premier.
[Revendication 3] Procédé d'authentification selon la revendication 1 ou 2, dans lequel ladite chaîne de caractères (STR) est au moins une partie de ladite signature (SIG).
[Revendication 4] Procédé d'authentification selon l'une quelconque des revendications 1 à 3, dans lequel ladite valeur ai est obtenue par ai = H(STR || i) où H est une fonction de hachage publique.
[Revendication 5] Procédé de vérification de non- révocation mis en oeuvre par un dispositif (20) de vérification de non-révocation d'une deuxième entité (200) lors de l'authentification d'une première entité (100), ledit procédé comportant : - une étape (F60) de réception :
- d'une signature (SIG) générée par ladite première entité (100) pour cette authentification ;
- d'une chaîne de caractères (STR) ;
- d'un élément G d'un même groupe mathématique (Gl) pour chaque paire (hi, k) comprise dans une liste de révocation (LR), ladite paire (hi, ki) ayant été extraite d'une signature générée par une entité révoquée, hi étant un élément dudit groupe (Gl), avec ki = hixi, xi étant un secret propre à ladite entité révoquée ;
- et d'une preuve (P) à divulgation nulle de connaissance que ladite première entité (100) a utilisé un secret (X100) de cette première entité (100) et ladite chaîne de caractères (STR) pour obtenir ledit élément de groupe (Ci) pour chacune des paires comprise dans la liste de révocation (LR) ; et
- une étape (F70) de rejet pour cause de révocation de ladite première entité (100) si ladite preuve a divulgation nulle de connaissance (P) n'est pas valide ou si pour au moins une dite paire (hi, ki), l'élément de groupe (Ci) est tel que Ci = hiA, où A est une valeur connue.
[Revendication 6] Programme d'ordinateur (PGA) comportant des instructions pour l'exécution des étapes du procédé d'authentification selon l'une quelconque des revendications 1 à 4 lorsque ledit programme est exécuté par un ordinateur.
[Revendication 7] Programme d'ordinateur (PGV) comportant des instructions pour l'exécution des étapes du procédé de vérification de non-révocation selon la revendication 5 lorsque ledit programme est exécuté par un ordinateur.
[Revendication 8] Dispositif d'authentification (10) d'une première entité (100), ledit dispositif étant configuré pour effectuer une authentification de ladite première entité (100) auprès d'une deuxième entité (200), ledit dispositif (10) comportant :
- un module (MGS) de génération d'une signature (SIG) pour authentifier la première entité (100) auprès de la deuxième entité (200), ladite signature (SIG) comportant une paire (h, hX100), où X100 est un secret propre à ladite première entité (100) et h est un élément d'un groupe mathématique (Gl) ;
- un module cryptographique (CRY) configuré pour chaque indice i d'une paire (hi, ki) comprise dans une liste de révocation (LR), ladite paire (hi, ki) ayant été extraite d'une signature générée par une entité révoquée, hi étant un élément dudit groupe (Gl), avec ki = hixi, xi étant un secret propre à ladite entité révoquée:
(i) obtenir, de façon déterministe, une valeur ai à partir dudit indice i et d'une chaîne de caractères (STR) propre à ladite authentification ;
(ii) obtenir un élément G dudit groupe mathématique (Gl) selon la formule Q =
- hi et ki sont les éléments de la paire d'indice i dans la liste de révocation (LR) ;
- A est une valeur connue ;
- ai est ladite valeur obtenue de façon déterministe; et - X100 est le secret de l'entité 100 ;
- un module (MGP) de génération d'une preuve (P) à divulgation nulle de connaissance que ledit dispositif d'authentification (10) a utilisé le secret X100 et ladite chaîne de caractères (STR) pour obtenir ledit élément de groupe (Ci) pour chacune des paires de ladite liste de révocation (LR) ; et
- un module (COM1) d'envoi, à la deuxième entité (200) :
- de ladite signature (SIG);
- de ladite chaîne de caractères (STR) ;
- de ladite preuve (P) à divulgation nulle de connaissance ; et
- dudit élément Ci du pour chaque paire de la liste de révocation (LR).
[Revendication 9] Dispositif (20) de vérification de non-révocation, ledit dispositif étant configuré pour vérifier lors de l'authentification d'une première entité (100) auprès d'une deuxième entité (200), si cette première entité doit être rejetée, ledit dispositif comportant :
- un module (COM2) de réception :
- d'une signature (SIG) générée par ladite première entité (100) pour cette authentification ;
- d'une chaîne de caractères (STR) ;
- d'un élément G d'un même groupe mathématique (Gl) pour chaque paire (hi, k) d'une liste de révocation (LR), ladite paire (hi, ki) ayant été extraite d'une signature générée par une entité révoquée, hi étant un élément dudit groupe (Gl), avec k = hixi, xi étant un secret propre à ladite entité révoquée ;
- et d'une preuve (P) à divulgation nulle de connaissance que ladite première entité (100) a utilisé un secret (X100) de cette première entité (100) et ladite chaîne de caractères (STR) pour obtenir ledit élément de groupe Ci pour chacune des paires de ladite liste de révocation (LR) ; et
- un module (MR) de rejet pour cause de révocation de ladite première entité (100) si ladite preuve a divulgation nulle de connaissance (P) n'est pas valide ou si pour au moins une dite paire (hi, k), l'élément de groupe Ci est tel que Ci = hiA, où A est une valeur connue.
EP22785763.8A 2021-09-15 2022-09-09 Procedes et dispositifs d'authentification et de verification de non-revocation Pending EP4402854A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2109677A FR3127056A1 (fr) 2021-09-15 2021-09-15 Procédés et dispositifs d’authentification et de vérification de non-révocation
PCT/FR2022/051705 WO2023041863A1 (fr) 2021-09-15 2022-09-09 Procedes et dispositifs d'authentification et de verification de non-revocation

Publications (1)

Publication Number Publication Date
EP4402854A1 true EP4402854A1 (fr) 2024-07-24

Family

ID=80122258

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22785763.8A Pending EP4402854A1 (fr) 2021-09-15 2022-09-09 Procedes et dispositifs d'authentification et de verification de non-revocation

Country Status (6)

Country Link
EP (1) EP4402854A1 (fr)
JP (1) JP2024535027A (fr)
KR (1) KR20240064691A (fr)
CN (1) CN117981270A (fr)
FR (1) FR3127056A1 (fr)
WO (1) WO2023041863A1 (fr)

Also Published As

Publication number Publication date
CN117981270A (zh) 2024-05-03
JP2024535027A (ja) 2024-09-26
US20240396739A1 (en) 2024-11-28
WO2023041863A1 (fr) 2023-03-23
KR20240064691A (ko) 2024-05-13
FR3127056A1 (fr) 2023-03-17

Similar Documents

Publication Publication Date Title
EP0675614B1 (fr) Dispositif pour l'échange sécurisé de données du genre RSA limité à la signature numérique et la vérification des messages et carte à microcircuit comportant un tel dispositif
EP2345202B1 (fr) Procédé de signature numérique en deux étapes
EP3928232A1 (fr) Méthode cryptographique de vérification des données
EP3238200A1 (fr) Entité électronique sécurisée, appareil électronique et procédé de vérification de l'intégrité de données mémorisées dans une telle entité électronique sécurisée
EP2909963B1 (fr) Procédé de signature électronique à signature ephémère
EP2795833B1 (fr) Procede d'authentification entre un lecteur et une etiquette radio
EP1514377A1 (fr) Procede et dispositif d'interface pour echanger de maniere protegee des donnees de contenu en ligne
EP4012972A1 (fr) Méthode de divulgation sélective de données via une chaine de blocs
WO2022096824A1 (fr) Procede de delegation d'acces a une chaine de blocs
EP3729720B1 (fr) Procédé cryptographique de signature de groupe
EP4402854A1 (fr) Procedes et dispositifs d'authentification et de verification de non-revocation
EP3673633B1 (fr) Procédé d'authentification d'un utilisateur auprès d'un serveur d'authentification
EP4062584A1 (fr) Procede securise d'echange de donnees entre un terminal et un serveur
WO2021074527A1 (fr) Procede de gestion d'une base de donnees de cles publiques, procede d'authentification de cles publiques, et dispositifs serveur et client mettant en oeuvre ces procedes
WO2021198606A1 (fr) Procede et dispositif d'authentification d'un utilisateur aupres d'une application
WO1998010563A2 (fr) Instrument de securisation d'echanges de donnees
EP2330772A1 (fr) Procédé de chiffrement à clef publique sans certificat
WO2025021489A1 (fr) Procédés et dispositifs pour authentifier des données
EP2129115A1 (fr) Méthode de mise à jour de données de sécurité dans un module de sécurité et module de sécurité pour la mise en oeuvre de cette méthode
EP4160987B1 (fr) Procédé pour générer une signature électronique au moyen du protocole fido
WO2010046168A1 (fr) Procédé de sécurisation des messages destinés à un terminal évolué dans une architecture distribuée
EP1992104B1 (fr) Authentification d'un dispositif informatique au niveau utilisateur
FR3141538A1 (fr) Procede et dispositif de stockage en ligne reparti de fichiers dans un contexte zero confiance
FR3111037A1 (fr) Procédé de dérivation d’une signature partielle avec vérification partielle
WO2002019613A1 (fr) Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240412

AK Designated contracting states

Kind code of ref document: A1

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

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)