WO2008017765A1 - Systeme et procede cryptographique a cle publique - Google Patents

Systeme et procede cryptographique a cle publique Download PDF

Info

Publication number
WO2008017765A1
WO2008017765A1 PCT/FR2007/051535 FR2007051535W WO2008017765A1 WO 2008017765 A1 WO2008017765 A1 WO 2008017765A1 FR 2007051535 W FR2007051535 W FR 2007051535W WO 2008017765 A1 WO2008017765 A1 WO 2008017765A1
Authority
WO
WIPO (PCT)
Prior art keywords
entity
equal
value
public
public key
Prior art date
Application number
PCT/FR2007/051535
Other languages
English (en)
Inventor
David Lefranc
Hervé SIBERT
Marc Girault
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Publication of WO2008017765A1 publication Critical patent/WO2008017765A1/fr

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/3271Cryptographic 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 challenge-response
    • 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

Definitions

  • the invention relates to the field of cryptography. More particularly, that of public key cryptography for the authentication of a first entity having a secret key associated with a public key by a second entity having the public key.
  • the invention can be used for the protection against the fraud of an electronic chip in transactions between an application and the chip.
  • a first type of fraud involves duplicating the card without authorization, the term cloning being often used to characterize this operation.
  • a second type of fraud consists of modifying the data attached to a card, in particular the amount of the credit entered in the card.
  • cryptography is used, on the one hand to ensure the authentication of the card by means of authentication and / or to authenticate the data by means of a digital signature, and on the other hand to ensure the confidentiality of the data by means of encryption.
  • cryptography involves two entities, which are in the case of authentication a verifier and an object to be verified, and it can be either symmetrical or asymmetrical.
  • the first authentication mechanisms developed in symmetric cryptography consist in calculating once and for all an authentication value, different for each card, storing it in the memory of the card, reading it at each transaction and verifying it by interrogating an application of the network supporting the transaction where the authentication values already allocated are either stored or recalculated. These mechanisms provide insufficient protection because the authentication value can be spied on, reproduced and replayed fraudulently since it is always the same for a given card, thus making it possible to make a clone of this card. To combat clones, passive card authentication mechanisms are replaced by active authentication mechanisms that can further ensure the integrity of the data.
  • the general principle of the symmetric active authentication mechanisms is as follows: during an authentication, the electronic chip and the application calculate an authentication value which is the result of a function applied to a list of arguments determined at each authentication; the argument list may comprise a hazard (the hazard being data determined by the application at each authentication), a piece of data contained in the electronic chip and a secret key known to the chip and the application.
  • the authentication value calculated by the chip is identical to the authentication value calculated by the application, the chip is deemed authentic and the transaction between the chip and the application is authorized.
  • the secret key mechanisms require that the verification device, in charge of the authentication of the chip, such as those present in a public telephone, an electronic payment terminal, or a public transit gate, knows the secret key held by said chip.
  • a major disadvantage is that, if it is desired that said device can authenticate any chip issued in connection with the application, or it must store the secret keys of all chips, or it must store a basic key, also called mother-key or key-master, to find the secret key of any chip. In both cases, each of these devices stores enough information to be able to retrieve the secret keys of all the chips issued, and thus stores enough information to be able to make clones of any of them. It follows that a successful intrusion against any of the verification devices would destroy the security of the application as a whole.
  • the operating principle of the public key authentication mechanisms is then as follows: the chip seeking to authenticate calculates values depending on its private key (which is associated with its public key) and possible random parameters; the application then checks the consistency of the values calculated by the chip without requiring knowledge of the private key of the chip; only the use of the public key of the smart card is necessary as well as any other non-secret parameters. It is also conceivable that the chip is authenticated to the application but also that the chip authenticates the application with which it communicates. In this case, the term "mutual authentication" is used. This type of mutual authentication is done by simultaneously running two traditional authentication methods where the chip and the application interchange roles in both protocols.
  • the present invention relates to a public key cryptographic method for authenticating a first entity having a secret key S associated with a public key P by a second entity having said public key P, the method comprising the following steps: - sending a challenge c by the second entity to the first entity,
  • the authentication protocol of the present invention enables secure and efficient authentication between the two entities.
  • This protocol finds a very advantageous application by allowing the first entity to share its secret key (comprising two parameters a and b) with other entities. This allows the first entity to authenticate anonymously (without revealing its identity) to the second entity.
  • the use of bilinear applications in the field of cryptography is known.
  • the current problem with these bilinear applications is that their evaluations generate enormous computations, much more complex than the computation of a modular exponentiation. Hence the difficulty in a classical setting of making such calculations.
  • the existing solutions seem very inefficient to allow their use for mutual authentication.
  • the authentication mechanism according to the invention allows the use of a bilinear application with a low calculation cost compared to existing schemas. Moreover, since the third public value is published, the second entity advantageously does not need to calculate it .
  • said public key P furthermore comprises identical public parameters for any first entity, said public parameters comprising a first parameter equal to the first primitive g lf a second parameter equal to the second primitive g 2 , and a third parameter e (g 15 g 2 ) equal to the image by the bilinear application e of the first and second primitives g j and g 2 .
  • the first and second groups (G ⁇ G 2) are equal and have a common primitive g, the first and second primitive ⁇ g and g 2 being then both equal to g.
  • said first and second members Bi and Bj belonging to a plurality of members Bl, ..., Bk, ... Bn, each Bk member having a partial secret key consisting of a predetermined natural number b k and a partial public key g b
  • t equal to the exponentiation of said common primitive g by said partial secret key b k
  • said partial secret keys a of said first member Bi and b of said second member Bj being respectively equal to the partial secret keys b ; and b j .
  • a member may authenticate anonymously in a "one out of two" pattern, choosing another member from among a plurality of members.
  • the method according to the invention comprises the following steps:
  • Y is equal to the product Wv 0 between said first value W and said third public value v brought to the power of said second natural number c.
  • Validation or non-validation of the verification step makes it possible to consider that the authentication is respectively successful or not. In either case, the calculation operations between the first and second entities can be performed with only a linear application evaluation, four exponentiations and three transfer phases, which represents a low calculation cost for an authentication scheme.
  • said first value W e (g 15 g 2 ) r and / or said first term g 2 or g [are pre-calculated. This makes the online execution of the protocol faster, since the first values have already been calculated offline.
  • said steps are reiterated according to a predetermined number of times in parallel or sequential manner.
  • the security of the authentication is increased.
  • said anonymous entity belonging to a pair of members is able to lift its anonymity vis-à-vis the second entity by providing said second entity with proof of its knowledge of a couple (r, s). ) formed by said natural number r and the partial secret key s equal to one of the first and second integers a or b.
  • the anonymous entity can disclose its precise identity to the second entity in a simple and secure manner without compromising its secret key.
  • the invention also relates to a public key cryptosystem comprising a first entity having a secret key S associated with a public key P and a second entity having said public key P, said system being adapted for implementing the cryptographic method according to least one of the above features.
  • This first entity may, for example, advantageously be constituted by an electronic chip, and this second entity may then be constituted by an application or a verification device responsible for authenticating the electronic chip.
  • the invention also relates to a computer program downloadable from a communication network and / or stored on a computer readable medium and / or executable by an electronic chip, comprising code instructions for executing the steps of the cryptographic method according to at least one of the above features, when run on a computer or microchip.
  • FIG 1 schematically illustrates a public key cryptographic system comprising a first entity and a second entity, according to the invention
  • FIG. 2 illustrates a table detailing the characteristics of the cryptographic method according to the invention
  • FIG. 3 is an example schematically illustrating the main steps of the authentication of the first entity by the second entity.
  • FIG. 4 is a table showing certain characteristics of two cryptographic methods according to the prior art.
  • FIG. 1 schematically illustrates a public key cryptosystem comprising a first entity El and a second entity E2.
  • the first entity El and the second entity E2 may be interconnected via a communication line 3 by contact or remotely or via a communication network.
  • the first entity El can be an object to check such as a chip of a phone card, credit card or ticket.
  • the second entity E2 may be an application or a verification device, in charge of the authentication of the first entity El, such as those present in a public telephone, an electronic payment terminal or a transit gate.
  • the first entity El has a public key P and a secret key S associated with this public key P
  • the second entity E2 has the public key P
  • the secret key S belongs to a first group G 1 and a second group G 2 (mathematical concept).
  • the secret key S is a secret value equal to a first number g i or a second number g 2 brought to the power of the product between a first integer a and a second integer b (formally
  • the numbers g x and g 2 are first order primitives q respectively generating the first group G 1 and the second group G 2 .
  • q is a prime number, preferably large (for example q> 2,160 ).
  • the first and second integers a and b are two predetermined natural numbers strictly less than q -
  • the public key P has a first public value, a second public value, and the first and second primitives g x and g 2 .
  • the first public value is equal to the first primitive g ⁇ brought to the power of the first integer a (that is to say g ") and the second public value is equal to the second primitive g 2 brought to the power of the second integer b (ie g 2 ).
  • a bilinear application e defined on the set G 1 XG 2 in G, where G is a group, is introduced. Then, for the generators (or primitives) g ⁇ and g 2 respectively of G 1 and G 2 , the function e is called bilinear of G 1 ⁇ G 2 in G if e (g 1 J g 2 ) e (g 1 , g 2 ) ab .
  • the public key P may comprise identical public parameters for any first entity El. These public parameters comprise a first parameter equal to the first primitive gl , a second parameter equal to the second primitive g2 , and a third parameter e ( gl , g2 ). equal to the image by the bilinear application e of the first and second primitives gl and g2 .
  • FIG. 1 is also an illustration of the main steps of the cryptographic method according to the invention for the authentication of the first entity El (entity to be verified) by the second entity E2 (audit entity).
  • the second entity E2 sends (step N4) a challenge to the latter.
  • the first entity El calculates (step N5) a response that takes into account the challenge and the secret key S.
  • the first entity El sends this response to the second entity E2.
  • Figure 2 illustrates a table detailing the characteristics of the protocol according to the authentication scheme of the present invention.
  • the protocol may be characterized by the number of mathematical operations necessary to iterate between the first entity El and the second entity E2. These operations comprise the number of phases (referenced NP) of data transfer, the number of exponentiations (referenced NE) by an exponent of the same size as that of the order of the primitive g, and the number of evaluations (referenced NB ) a bilinear application.
  • the first column of the table indicates the EN entity
  • the second column indicates the number of NB evaluations of a bilinear application
  • the third column indicates the number of NE exponentiations by an exponent of the same size than that of the order of g
  • the fourth column indicates the number of NP data transfer phases.
  • the number of NB evaluations of a bilinear application is equal to "zero"
  • the number of exponentiations NE is equal to "three"
  • the number of NB evaluations of a bilinear application is equal to "one”
  • the number of exponentiations NE is equal to "one”.
  • the number of data transfer phases NP between the first entity El and the second entity E2 is equal to "three".
  • Figure 4 shows a table detailing the characteristics of the protocol of Wang and Wang (referenced Ml) and that of Kim and Kim (referenced M2).
  • the first column of the table indicates the type of protocol Ml or M2
  • the second column indicates the entity EN (that is to say, an ElOl chip or an application E102)
  • the third column indicates the number of evaluations NB of a bilinear application
  • the fourth column indicates the number of exponences NE by an exponent of the same size as that of the order of g
  • the fifth column indicates the number of phases NP of data transfer.
  • FIG. 3 is an example illustrating the main steps of the authentication of the first entity El by the second entity E2.
  • the first entity El chooses a first natural number r.
  • This natural number r is advantageously chosen randomly from the integers strictly smaller than the first order q of the primitive g, or g 2 (that is to say 0 ⁇ r ⁇ q).
  • step N 13 the second entity E2 chooses a second natural number c defining a challenge or a question (see step N3 of FIG. 1).
  • This second natural number c can be chosen in an interval of integer [ ⁇ , 2 4 [, where k is a value which depends on the public key P. It should be noted that the larger the k, the less likely it is that the cryptographic system is "broken".
  • step N14 the second entity E2 sends this second natural number c to the first entity El.
  • step N15 after the reception of this second natural number c, the first entity El calculates a second value Y defining the response to the challenge (see step N5 of FIG. 1).
  • This second value is equal to the product of a first term g 2 or g [, and a second term S °
  • the first term g 2 or g i is equal to the primitive belonging to the same group as that of the secret key brought to the power of the first natural number r.
  • the second term S c is equal to the secret key brought to the power of the second natural number c.
  • the first term g 2 or g may be precalculated.
  • step N 16 the first entity El sends this second value 7 to the second entity E2.
  • the second entity E2 directly calculates this value by the application e (g ?, g?).
  • the above steps can be repeated a predetermined number of times.
  • step N17 when the equality of step N17 is verified, the set of steps NI1 to N17 is validated, and the first and second entities E1 and E2 begin a new execution of these steps. It is also possible to execute these steps several times in parallel manner, simultaneously executing a set of these steps NI1 to N17. In fact, in the parallel case, the set of values calculated during one of the parallel executions is not necessary for another of the parallel executions. In this case, all executions continue.
  • the steps NI1 to N17 can be repeated a predetermined number of times in parallel or sequential manner.
  • the authentication is successful when the equality of the step N17 has been checked the determined number of times, without there being an execution in which it has not been verified.
  • the secret key S can belong to the first group G 1 or the second group G 2 .
  • the first and second groups (G 15 G 2 ) can be chosen equal or distinct.
  • G 1 G 2 ) and having a common primitive g.
  • the primitives g L and g 2 are then both equal to g. This reduces the number of data to be published.
  • the first entity may have a property of "1 out of 2".
  • the first entity may correspond to an anonymous entity among a pair of members (Bi, Bj) formed by an association between a first member Bi and a second member Bj.
  • the first member Bi has a first partial public key g and has a first partial secret key constituted by a natural number a and the second member has a second Bj partial public key g b and a second partial secret key consisting of a natural number b.
  • the first and second partial secret keys a and b are randomly selected from the set of natural numbers strictly less than the order q.
  • the third parameter is obtained directly from the bilinear map e and the third public value v is obtained by calculating e (g a , g b ).
  • the second entity E2 is then convinced that the first entity El has the secret key g *. Now, according to the hypothesis of the Diffie-Hellman problem, the second entity E2 knows that this secret key can only be known from the first member Bi or the second member Bj.
  • the second entity E2 is convinced to have authenticated the first member Bi or the second member Bj and only one of them, but without knowing which exactly. Thus, this corresponds to anonymity in a population of two members.
  • the first and second members Bi and Bj can belong to a plurality of members, for example a community of n members denoted by Bl,..., Bk,..., Bn (l ⁇ k n n).
  • Each member Bk has a partial secret key consisting of a predetermined natural number b k and a partial public key g bk equal to the exponentiation of the common primitive g by the partial secret key b k .
  • the numbers b k are advantageously chosen randomly in the set of integers strictly smaller than the first order q.
  • partial secret keys a of the first member Bi and b of the second member Bj are respectively equal to the partial secret keys b ; and b r
  • a b
  • b b for each pair of members (5 Bi Bj) with ⁇ i, j ⁇ n, i ⁇ j.
  • an anonymous entity may waive the anonymity of the "1 out of 2" application. Indeed, it can be useful for an entity anonymous belonging to a couple of members (Bi 5 Bj) to reveal his precise identity or to lift his anonymity vis-à-vis the second entity E2.
  • the anonymous entity supplies this second entity E2 with proof of its knowledge of a pair (r, s) formed by the natural number r and the partial secret key s equal to one of the first and second whole a or b.
  • the value a is only known to the anonymous entity. Indeed, there are known protocols to prove the knowledge of the pair (r, a) such that the preceding equation is satisfied. Such an example is described by D. Chaum, et al. in “Advances in Cryptology - Eurocrypt'87, Jgg. 304 of Lecture Notes in Computer Science, 39 127-141. Springer-Verlag, 1987 “under the title” An Improved Protocol for Demonstrating Possession of Discrete Logarithms and Some Generalizations. "Thus, the second entity E2 can be convinced that the anonymous entity is familiar with the pair (r, a), and particular, the value a, and therefore the anonymous entity is exactly Bi.
  • the cryptographic method according to the invention authorizes the anonymous entity (first entity) to prove its knowledge of couples (r, a) associated with each verification equation inherent in a given number of executions, or conversely, only with respect to verification equations chosen by the second entity E2 or the first entity El.
  • computer program downloadable from a communication network comprising code instructions for executing the steps of the cryptographic method according to the invention when it is executed on a computer, a microprocessor or an electronic chip. This computer program can be stored on a computer readable medium.
  • This program can 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 a partially compiled form, or in any other form desirable shape.
  • the invention also relates to a computer-readable information medium, comprising instructions of a computer program as mentioned above.
  • the information carrier may be any object or device capable of storing the program.
  • the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium, for example a floppy disk or a disk. hard.
  • the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can be downloaded in particular on an Internet type network.
  • the information carrier may 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.
  • the invention also relates to an electronic chip card that can conventionally comprise a processing unit, a memory, an input unit and an output unit and adapted for implementing the cryptographic method according to the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un système et un procédé cryptographique à clé publique pour l'authentification d'une première entité (El) possédant une clé secrète S associée à une clé publique P par une seconde entité (E2) possédant ladite clé publique P, comprenant les étapes suivantes : envoi d'un défi c par la seconde entité (E2) à la première entité (El); calcul par la première entité (El) d'une réponse Y prenant en compte le défi c et ladite clé secrète S; envoi par la première entité (El) de la réponse Y à la seconde entité; et vérification de la réponse Y par la première entité (El) à l'aide du défi c et de la clé publique P. En outre, ladite clé secrète est une valeur secrète S ~ g<SUB>1</SUB> <SUP>ab</SUP>

Description

Titre de l'invention
Système et procédé cryptographique à clé publique
Domaine technique de l'invention L'invention se rapporte au domaine de la cryptographie. Plus particulièrement, celui de la cryptographie à clé publique pour l'authentification d'une première entité possédant une clé secrète associée à une clé publique par une seconde entité possédant la clé publique. A titre d'exemple, l'invention peut être utilisée pour la protection contre la fraude d'une puce électronique dans des transactions entre une application et la puce.
Arrière-plan de l'invention
Actuellement, les cartes à puce sont susceptibles de subir différents types de fraude. Un premier type de fraude consiste à dupliquer sans autorisation la carte, le terme clonage étant souvent utilisé pour caractériser cette opération. Un deuxième type de fraude consiste à modifier les données attachées à une carte, en particulier le montant du crédit inscrit dans la carte. Pour lutter contre ces fraudes, il est fait appel à la cryptographie, d'une part pour assurer l'authentification de la carte au moyen d'une authentification et/ou pour assurer l'authentification des données au moyen d'une signature numérique, et d'autre part pour assurer le cas échéant la confidentialité des données au moyen d'un chiffrement. De manière générale, la cryptographie met en jeu deux entités, qui sont dans le cas de l'authentification un vérificateur et un objet à vérifier, et elle peut être soit symétrique, soit asymétrique. Lorsqu'elle est symétrique (ou "à clé secrète", les deux termes étant synonymes), les deux entités partagent exactement la même information, en particulier une clé secrète. Lorsqu'elle est asymétrique (ou "à clé publique", les deux termes étant synonymes), une des deux entités possède une paire de clés dont l'une est secrète et l'autre est publique ; il n'y a pas de clé secrète partagée.
Les premiers mécanismes d'authentification développés en cryptographie symétrique consistent à calculer une fois pour toutes une valeur d'authentification, différente pour chaque carte, à la stocker dans la mémoire de la carte, à la lire à chaque transaction et à la vérifier en interrogeant une application du réseau supportant la transaction où les valeurs d'authentification déjà attribuées sont soit stockées soit recalculées. Ces mécanismes assurent une protection insuffisante parce que la valeur d'authentification peut être espionnée, reproduite et rejouée frauduleusement étant donné qu'elle est toujours la même pour une carte donnée, permettant ainsi de réaliser un clone de cette carte. Pour lutter contre les clones, les mécanismes d'authentification passifs de cartes sont remplacés par des mécanismes d'authentification actifs qui peuvent en outre assurer l'intégrité des données.
Le principe général des mécanismes d'authentification actifs symétriques est le suivant : lors d'une authentification, la puce électronique et l'application calculent une valeur d'authentification qui est le résultat d'une fonction appliquée à une liste d'arguments déterminée à chaque authentification ; la liste d'arguments peut comprendre un aléa (l'aléa étant une donnée déterminée par l'application à chaque authentification), une donnée contenue dans la puce électronique et une clé secrète connue de Ia puce électronique et de l'application. Lorsque la valeur d'authentification calculée par la puce électronique est identique à la valeur d'authentification calculée par l'application, la puce électronique est jugée authentique et la transaction entre la puce électronique et l'application est autorisée.
Cependant, les mécanismes à clé secrète imposent que le dispositif de vérification, en charge de l'authentification de la puce, tel que ceux présents dans un téléphone public, un terminal de paiement électronique, ou encore un portillon de transport en commun, connaisse la clé secrète détenue par ladite puce. Il en découle un inconvénient majeur, à savoir que, si l'on souhaite que ledit dispositif puisse authentifier n'importe quelle puce émise en relation avec l'application, soit il doit stocker les clés secrètes de toutes les puces, soit il doit stocker une clé de base, appelée aussi clé-mère ou clé-maître, permettant de retrouver la clé secrète de n'importe quelle puce. Dans les deux cas, chacun de ces dispositifs stocke suffisamment d'information pour pouvoir retrouver les clés secrètes de toutes les puces émises, et stocke donc suffisamment d'information pour pouvoir fabriquer des clones de n'importe laquelle d'entre elles. Il s'ensuit qu'une intrusion réussie contre n'importe lequel des dispositifs de vérification anéantirait la sécurité de l'application dans son ensemble. Ainsi, des solutions à base de cryptographie à clé publique peuvent être préférées aux mécanismes à clé secrète. Le principe de fonctionnement des mécanismes d'authentification à clés publiques est alors le suivant : la puce cherchant à s'authentifier calcule des valeurs dépendant de sa clé privée (qui est associée à sa clé publique) et d'éventuels paramètres aléatoires ; l'application vérifie ensuite la cohérence des valeurs calculées par la puce sans nécessiter la connaissance de la clé privée de la puce; seule l'utilisation de la clé publique de la carte à puce est nécessaire ainsi que d'éventuels autres paramètres non secrets. II est alors aussi envisageable que la puce s'authentifie auprès de l'application mais aussi que la puce authentifie l'application avec laquelle elle communique. Dans ce cas, le terme "authentification mutuelle" est utilisé. Ce type d'authentification mutuelle se fait en exécutant simultanément deux procédés d'authentification classiques où la puce et l'application intervertissent les rôles dans les deux protocoles. Les solutions les plus connues permettant de réaliser de tels mécanismes d'authentification reposent généralement sur des problèmes mathématiques difficiles tels que la factorisation ou le logarithme discret, ces deux problèmes engendrent dans leur réalisation des calculs d' exponentiations modulaires, c'est a dire des calculs du type xe mod n où "mod" correspond à la fonction mathématique de réduction modulaire. Ce type de calculs est à priori l'opération la plus complexe pouvant être réalisée en temps raisonnable (sans hypothèse particulière sur la puissance de calcul) par une carte à puce. Cependant, au cas où l'on trouverait des algorithmes efficaces pour résoudre ces problèmes, alors ces derniers deviendraient inutilisables en cryptographie.
Objet et résumé de l'invention La présente invention concerne un procédé cryptographique à clé publique pour l'authentification d'une première entité possédant une clé secrète S associée à une clé publique P par une seconde entité possédant ladite clé publique P , le procédé comprenant les étapes suivantes : - envoi d'un défi c par la seconde entité à la première entité,
- calcul par la première entité d'une réponse Y prenant en compte le défi c et ladite clé secrète S ,
- envoi par la première entité de la réponse Y à la seconde entité, et
- vérification de la réponse Y par la première entité à l'aide du défi c et de la clé publique P .
Ledit procédé est remarquable en ce que :
- ladite clé secrète est une valeur secrète S = gf ou S = gf égale à un premier nombre g[ ou un deuxième nombre g2 porté à la puissance du produit entre un premier entier a et un deuxième entier b , où lesdits nombres g] et g2 sont des primitifs d'ordre premier q engendrant respectivement un premier et un deuxième groupes (G1 , G2), et où lesdits premier et deuxième entiers a et b sont deux nombres naturels prédéterminés, et
- ladite clé publique P comporte une première valeur publique g, égale audit premier primitif gt porté à la puissance dudit premier entier a , une deuxième valeur publique g2 égale audit deuxième primitif g2 porté à la puissance dudit deuxième entier b, une troisième valeur publique v = e(g13g2)ab égale à l'image par une application bilinéaire e définie sur lesdits premier et deuxième groupes G1 et G2 du couple Cg1 ,g2) formé par le premier primitif et le deuxième primitif, portée à la puissance du produit entre le premier entier a et le deuxième entier b , et les premier et deuxième primitifs g, et g2.
Ainsi, le protocole d'authentification de la présente invention permet une authentification sécurisée et efficace entre les deux entités. Ce protocole trouve une application très avantageuse en permettant à la première entité de partager sa clé secrète (comportant deux paramètres a et b) avec d'autres entités. Ceci permet à la première entité de s'authentifier de manière anonyme (sans révéler son identité) auprès de la seconde entité. Actuellement, l'utilisation des applications bilinéaires dans le domaine de la cryptographie est connue. Cependant, le problème actuel lié à ces applications bilinéaires est que leurs évaluations engendrent d'énormes calculs, bien plus complexes que le calcul d'une exponentiation modulaire. D'où la difficulté dans un cadre classique de réaliser de tels calculs. De plus, les solutions existantes semblent très peu efficaces pour permettre leur utilisation pour Pauthentification mutuelle.
En revanche, le mécanisme d'authentification selon l'invention permet l'utilisation d'une application bilinéaire avec un faible coût de calcul par rapport aux schémas existants. Par ailleurs, étant donné que la troisième valeur publique est publiée, la seconde entité n'a avantageusement pas besoin de la calculer
Figure imgf000008_0001
.
Selon une particularité de l'invention, ladite clé publique P comporte en outre des paramètres publics identiques pour toute première entité, lesdits paramètres publics comprenant un premier paramètre égal au premier primitif gl f un deuxième paramètre égal au deuxième primitif g2, et un troisième paramètre e(g15g2) égal à l'image par l'application bilinéaire e des premier et deuxième primitifs gj et g2. Le fait de fixer ces paramètres de manière universelle, et de les publier, permet de simplifier la mise en place d'un système de sécurité exploitant la présente invention. Avantageusement, les premier et deuxième groupes (G^G2) sont égaux et comportent un primitif commun g , les premier et deuxième primitifs gι et g2 étant alors tous deux égaux à g . Ceci permet d'introduire une symétrie dans la structure du protocole d'authentification, qui simplifie la publication des données publiques et permet en outre de mettre en œuvre un protocole d'authentification en anneau. On rappelle que dans Pauthentifïcation dite "en anneau" et dans l'authentification dite "de groupe", on authentifie le fait qu'une entité appartient à un groupe, sans pour autant déterminer l'identité exacte de cette entité, qui reste donc anonyme ; mais dans l'authentification de groupe, il existe un tiers habilité à lever l'anonymat de cette entité en cas de besoin, alors qu'il n'existe pas un tel tiers dans l'authentification en anneau. Selon une autre particularité de l'invention, la première entité correspond à une entité anonyme parmi un couple de membres (Bi, Bj) formé par une association entre un premier membre Bi et un second membre Bj, le premier membre Bj possédant une première clé publique partielle ga et une première clé secrète partielle constituée par un nombre naturel a et le second membre Bj possédant une seconde clé publique partielle gb et une seconde clé secrète partielle constituée par un nombre naturel b , ce qui permet à chacun desdits premier et second membres de former ladite valeur secrète S = gab à partir desdites première et seconde clés publiques partielles ga et gb et l'une desdites première et seconde clés secrètes partielles a ou b .
Ainsi, en cas de l'authentification de l'entité anonyme (première entité) par la seconde entité, cette dernière est convaincue d'avoir authentifié l'un des deux membres sans pour autant savoir lequel avec exactitude.
Avantageusement, lesdits premier et second membres Bi et Bj appartiennent à une pluralité de membres Bl,...,Bk,... Bn, chaque membre Bk possédant une clé secrète partielle constituée par un nombre naturel bk prédéterminé et une clé publique partielle gb|t égale à l'exponentiation dudit primitif commun g par ladite clé secrète partielle bk , lesdites clé secrètes partielles a dudit premier membre Bi et b dudit second membre Bj étant respectivement égales aux clés secrètes partielles b; et bj .
Ainsi, un membre peut s'authentifier de manière anonyme selon un schéma de « un parmi deux », en choisissant un autre membre quelconque parmi une pluralité de membres.
Selon un mode de réalisation, le procédé selon l'invention comprend les étapes suivantes :
-choix par la première entité, d'un premier nombre naturel r strictement inférieur audit ordre premier q ,
-envoi par la première entité à la seconde entité d'une première valeur W = e(gl 5 g2)r égale à l'image par l'application bilinéaire e du couple (g15g2) formé par lesdits premier et deuxième primitifs portée à la puissance dudit premier nombre naturel r,
-choix par la seconde entité d'un second nombre naturel c définissant ledit défi, -envoi dudit second nombre naturel c à la première entité,
-calcul par la première entité d'une seconde valeur Y = g2Sc ou Y = g[S° définissant ladite réponse, ladite seconde valeur étant égale au produit entre un premier terme g2 ou g[, et un second terme S0, ledit premier terme g2 ou g[ étant égal au primitif appartenant au même groupe que celui de la clé secrète porté à la puissance dudit premier nombre naturel r, et ledit second terme S° étant égal à la clé secrète S portée à la puissance dudit second nombre naturel c , -envoi de ladite seconde valeur Y à la seconde entité, et -vérification par la seconde entité si l'image e(gl 5Y) ou e(Y,g2) par l'application bilinéaire e du couple formé par ledit primitif appartenant à l'autre des premier et deuxième groupes (G15G2) et ladite seconde valeur
Y est égale au produit Wv0 entre ladite première valeur W et ladite troisième valeur publique v portée à la puissance dudit second nombre naturel c . La validation ou la non-validation de l'étape de vérification permet de considérer que l'authentification est respectivement réussie ou non. Dans l'un ou l'autre des cas, les opérations de calcul entre les première et seconde entités peuvent être réalisées avec seulement une évaluation d'application linéaire, quatre exponentiations et trois phases de transfert, ce qui représente un faible coût de calcul pour un schéma d'authentification.
Avantageusement, ladite première valeur W = e(g15 g2)r et/ou ledit premier terme g2 ou g[ sont pré-calculés. Ceci permet de rendre plus rapide l'exécution en ligne du protocole, puisque les premières valeurs ont déjà pu être calculées hors ligne.
Selon une particularité de l'invention, lesdites étapes sont réitérées selon un nombre prédéterminé de fois de manière parallèle ou séquentielle. Ainsi, la sécurité de l'authentification est augmentée.
Avantageusement, ladite entité anonyme appartenant à un couple de membres (Bi, Bj) est apte à lever son anonymat vis-à-vis de la seconde entité en fournissant à ladite seconde entité une preuve de sa connaissance d'un couple (r,s) formé par ledit nombre naturel r et par la clé secrète partielle s égale à l'un des premier et second entiers a ou b .
Ainsi, l'entité anonyme peut dévoiler son identité précise à la seconde entité de manière simple et sécurisée sans compromettre sa clé secrète. L'invention vise aussi un système cryptographique à clé publique comportant une première entité possédant une clé secrète S associée à une clé publique P et une seconde entité possédant ladite clé publique P , ledit système étant adapté pour la mise en œuvre du procédé cryptographique selon au moins l'une des caractéristiques ci-dessus. Cette première entité peut, par exemple, avantageusement être constituée par une puce électronique, et cette seconde entité peut alors être constituée par une application ou un dispositif de vérification chargé d'authentifier la puce électronique.
L'invention vise aussi un programme informatique téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par une puce électronique, comprenant des instructions de codes pour l'exécution des étapes du procédé cryptographique selon au moins l'une des caractéristiques ci- dessus, lorsqu'il est exécuté sur un ordinateur ou une puce électronique. Brève description des dessins D'autres particularités et avantages de l'invention ressortiront à la lecture de la description faite, ci-après, à titre indicatif mais non limitatif, en référence aux dessins annexés, sur lesquels :
-la figure 1 illustre schématiquement un système cryptographique à clé publique comportant une première entité et une seconde entité, selon l'invention ;
-la figure 2 illustre un tableau détaillant les caractéristiques du procédé cryptographique selon l'invention ;
-la figure 3 est un exemple illustrant de manière schématique les principales étapes de l'authentification de la première entité par la seconde entité ; et
-la figure 4 est un tableau montrant certaines caractéristiques de deux procédés cryptographiques selon l'art antérieur.
Description détaillée de modes de réalisation
Conformément à l'invention, la figure 1 illustre de manière schématique un système cryptographique à clé publique comportant une première entité El et une seconde entité E2.
La première entité El et la seconde entité E2 peuvent être reliés entre elles par l'intermédiaire d'une ligne de communication 3 par contact ou à distance ou via un réseau de communication.
La première entité El peut être un objet à vérifier tel qu'une puce électronique d'une carte de téléphone, carte de crédit ou titre de transport. La seconde entité E2 peut être une application ou un dispositif de vérification, en charge de l'authentification de la première entité El, tel que ceux présents dans un téléphone public, un terminal de paiement électronique ou un portillon de transport en commun.
La première entité El possède une clé publique P ainsi qu'une clé secrète S associée à cette clé publique P , et la seconde entité E2 possède la clé publique P . Conformément à l'invention, la clé secrète S appartient à un premier groupe G1 ou à un deuxième groupe G2 (notion mathématique).
Plus particulièrement, la clé secrète S est une valeur secrète égale à un premier nombre gι ou un deuxième nombre g2 porté à la puissance du produit entre un premier entier a et un deuxième entier b (formellement
S = gj b ou S = g*) . Les nombres gx et g2 sont des primitifs d'ordre premier q engendrant respectivement le premier groupe G1 et le deuxième groupe G2. On notera que q est un nombre premier de préférence grand (par exemple q> 2160). Les premier et deuxième entiers a et b sont deux nombres naturels prédéterminés strictement inférieurs à q -
Par ailleurs, la clé publique P comporte une première valeur publique, une deuxième valeur publique, et les premier et deuxième primitifs gx et g2. La première valeur publique est égale au premier primitif gγ porté à la puissance du premier entier a (c'est-à-dire g") et la deuxième valeur publique est égale au deuxième primitif g2 porté à la puissance du deuxième entier b (c'est-à-dire g2 ).
Selon un mode de réalisation particulier du mécanisme d'authentification, on introduit une application bilinéaire e définie sur l'ensemble G1 X G2 dans G, où G est un groupe. Alors, pour les générateurs (ou primitifs) gλ et g2 respectivement de G1 et G2, la fonction e est dite bilinéaire de G1 χ G2 dans G si e(g1 Jg2) = e(g1 ,g2)ab .
Ainsi, la clé publique P peut comporter une troisième valeur publique v égale à l'image par l'application bilinéaire e définie sur les premier et deuxième groupes Gj et G2 du couple (g19g2) formé par le premier primitif et le deuxième primitif, portée à la puissance du produit entre le premier entier a et le deuxième entier b (c'est-à-dire v = e(gl ,g2)ab = e(gl ,S) , ou respectivement v = e(gl ,g2)ab =e(Sl jg2) ). La publication de cette troisième valeur publique v permet d'épargner à la seconde entité E2 son calcul direct par e(gl a,g b) , (voir étape N17 de la figure 3). Plus particulièrement, la clé publique peut correspondre à un sextuplé de la forme (gι,g2,glg2 bMgι,g2),v = e(gι,g2γb) .
Avantageusement, la clé publique P peut comporter des paramètres publics identiques pour toute première entité El. Ces paramètres publics comprennent un premier paramètre égal au premier primitif gl , un deuxième paramètre égal au deuxième primitif g2, et un troisième paramètre e(gl,g2) égal à l'image par l'application bilinéaire e des premier et deuxième primitifs gl et g2.
Ainsi, en fixant les paramètres gl, g2/ et e(gl,g2) de manière
"universelle", c'est-à-dire en les fixant égales pour tous les acteurs du protocole et en les publiant comme paramètres universels du protocole, la clé publique, propre à chaque entité, est avantageusement réduite au triplet (gl a,gb,v = e(gl,g2)ab) .
On notera que la figure 1 est également une illustration des principales étapes du procédé cryptographique selon l'invention pour l'authentification de la première entité El (entité à vérifier) par la seconde entité E2 (entité vérificatrice).
En effet, afin de vérifier l'authenticité de la première entité El, la seconde entité E2 envoie (étape N4) un défi à cette dernière. En recevant ce défi, la première entité El calcule (étape N5) une réponse qui prend en compte le défi et la clé secrète S . A l'étape N6, la première entité El envoie cette réponse à la seconde entité E2.
A la réception de la réponse, la seconde entité E2 vérifie cette réponse à l'aide du défi et de la clé publique P . La figure 2 illustre un tableau détaillant les caractéristiques du protocole selon le schéma d'authentification de la présente invention.
Le protocole peut être caractérisé par le nombre d'opérations mathématiques nécessaire pour réaliser une itération entre la première entité El et la deuxième entité E2. Ces opérations comportent le nombre de phases (référencé NP) de transfert de données, le nombre d'exponentiations (référencé NE) par un exposant de même taille que celle de l'ordre du primitif g , et le nombre d'évaluations (référencé NB) d'une application bilinéaire. En effet, la première colonne du tableau indique l'entité EN
(c'est-à-dire, la puce ElOl ou l'application E102), la deuxième colonne indique le nombre d'évaluations NB d'une application bilinéaire, la troisième colonne indique le nombre d'exponentiations NE par un exposant de même taille que celle de l'ordre de g , et la quatrième colonne indique le nombre de phases NP de transfert de données.
Ainsi, pour la première entité El le nombre d'évaluations NB d'une application bilinéaire est égal à « zéro », le nombre d'exponentiations NE est égal à « trois ». En outre, pour la seconde entité E2 le nombre d'évaluations NB d'une application bilinéaire est égal à « un », le nombre d'exponentiations NE est égal à « un ». Par ailleurs, le nombre de phases NP de transfert de données entre la première entité El et la seconde entité E2 est égal à « trois ».
A titre de comparaison, on peut comparer ces valeurs aux valeurs correspondantes caractérisant deux schémas d'authentification connus utilisant les applications bilinéaires. Le premier protocole est décrit dans l'article de G. Yao, G. Wang, et Y. Wang intitulé "An Improved Identification Schemé1, Progress in Computer Science and Applied Logic, Berkhauser-Verlag, novembre 2003. Le second protocole est décrit dans l'article de M. Kim et K. Kim intitulé "A New Identification Scheme Based on the Bilinear Diffie-Hellman Probien?, 7th Australian Conférence on Information Security and Privacy, ACISP '02, pages 362 à 378, Springer- Verlag, 2002.
La figure 4 illustre un tableau détaillant les caractéristiques du protocole de Wang et Wang (référencé Ml) et celui de Kim et Kim (référencé M2). La première colonne du tableau indique le type de protocole Ml ou M2, la deuxième colonne indique l'entité EN (c'est-à-dire, une puce ElOl ou une application E102), la troisième colonne indique le nombre d'évaluations NB d'une application bilinéaire, la quatrième colonne indique le nombre d'exponentiations NE par un exposant de même taille que celle de l'ordre de g, et la cinquième colonne indique le nombre de phases NP de transfert de données.
On notera que les valeurs données sont des valeurs moyennes.
De plus, ces valeurs sont données pour des méthodes ne réalisant pas des précalculs, qui restent une possibilité très contextuelle. Ceci permet de rendre objective et de faciliter la comparaison entre les différentes méthodes.
La comparaison entre les tableaux de la figure 2 et de la figure 4 montre alors que le protocole selon ce mode de réalisation de la présente invention requiert avantageusement moins de calcul que les protocoles connus considérés.
La figure 3 est un exemple illustrant les principales étapes de l'authentification de la première entité El par la seconde entité E2.
A l'étape NIl, la première entité El choisit un premier nombre naturel r . Ce nombre naturel r est avantageusement choisi de manière aléatoire parmi les entiers strictement inférieurs à l'ordre premier q du primitif g, ou g2 (c'est-à-dire 0 < r < q ). La première entité El calcule alors une première valeur W = e(gl 5g2)r égale à l'image par l'application bilinéaire e du couple (g, g2) formé par les premier et deuxième primitifs portée à la puissance du premier nombre naturel r . Avantageusement, la première valeur W = e(g1 ,g2)r peut être pré-calculée.
A l'étape N12, la première entité El envoie cette première valeur W = e(g1 5g2)r à la seconde entité E2. Alors, à l'étape N 13, la seconde entité E2 choisit un second nombre naturel c définissant un défi ou une question (voir étape N3 de la figure 1). Ce second nombre naturel c peut être choisi dans un intervalle d'entier [θ,24[ , où k est une valeur qui dépend de la clé publique P . On notera que plus k est grand et moins il y a de risques que le système cryptographique soit "cassé".
A l'étape N 14, la seconde entité E2 envoie ce second nombre naturel c à la première entité El.
A l'étape N15, après la réception de ce second nombre naturel c, la première entité El calcule une seconde valeur Y définissant la réponse au défi (voir étape N5 de la figure 1). Cette seconde valeur est égale au produit entre un premier terme g2 ou g[, et un second terme S°
(c'est-à-dire, Y =
Figure imgf000017_0001
= gf (gf J ). Le premier terme g2 ou gï est égal au primitif appartenant au même groupe que celui de la clé secrète porté à la puissance du premier nombre naturel r . Le second terme Sc est égal à la clé secrète portée à la puissance du second nombre naturel c . Avantageusement, le premier terme g2 ou g[ peut être précalculé.
A l'étape N 16, la première entité El, envoie cette seconde valeur 7 à la seconde entité E2. Enfin, à l'étape N17, la seconde entité E2 vérifie si l'image e(g19Y) ou e(Y,g2) par l'application bilinéaire e du couple formé par le primitif appartenant à l'autre des premier et deuxième groupes (G1 G2) et la seconde valeur Y est égale au produit Wvc entre la première valeur W et la troisième valeur publique v (où v = e(g13g2)ai ) portée à la puissance du second nombre naturel c . Formellement, la seconde entité E2 vérifie si e(gj,Y) = Jfvc (ou respectivement e(Y,g2) = Wvc ).
On notera qu'au cas où la troisième valeur publique n'est pas pré-calculée, la seconde entité E2 calcule directement cette valeur par l'application e(g?,g£) .
Ainsi, si l'égalité est vérifiée, l'authentification de la première entité El est validée. Par contre, si l'égalité n'est pas vérifiée, l'authentification n'est pas validée. D'une manière générale, les étapes ci-dessus peuvent être réitérées un nombre prédéterminé de fois.
En effet, lorsque l'égalité de l'étape N 17 est vérifiée, l'ensemble des étapes NIl à N 17 est validé, et les première et seconde entités El et E2 commencent une nouvelle exécution de ces étapes. II est aussi possible d'exécuter plusieurs fois ces étapes de manière parallèle, en exécutant simultanément un ensemble de ces étapes NIl à N17. En effet, dans le cas parallèle, l'ensemble des valeurs calculées durant une des exécutions parallèles n'est pas nécessaire à une autre des exécutions parallèles. Dans ce cas, l'ensemble des exécutions se poursuit.
Ainsi, les étapes NIl à N 17 peuvent être réitérées un nombre prédéterminé de fois de manière parallèle ou séquentielle. Dans les deux cas, l'authentification est réussie lorsque l'égalité de l'étape N17 a été vérifiée le nombre déterminé de fois, sans qu'il y ait eu une exécution dans laquelle elle n'ait pas été vérifiée.
Cet exemple montre que la clé secrète S peut appartenir au premier groupe G1 ou au deuxième groupe G2. Dans les deux cas, la troisième valeur publique v est égale à e(g1,gf) = e(g1,g2)ab = e(g,b,g2) . On notera que les premier et deuxième groupes (G15G2) peuvent être choisis égaux ou distincts.
Pour des choix de clés de taille élevée, il est difficile dans l'état actuel des connaissances de trouver un groupe tel que, en prenant G1 et G2 égaux à ce même groupe, les calculs soient efficaces. Il est donc dans ce cas plus avantageux de prendre deux groupes distincts.
En revanche, pour des choix de clés de taille standard, il est facile de trouver un groupe tel que, en prenant G1 et G2 égaux à ce même groupe, les calculs soient efficaces. Dans ce cas, il est avantageux de choisir le premier groupe G1 égal au deuxième groupe G2 (c'est à dire,
G1 = G2) et comportant un primitif commun g . Les primitifs gL et g2 sont alors tous deux égaux à g . Ceci permet de réduire le nombre de données à publier.
Plus particulièrement, comme déjà indiqué ci-dessus, ce choix g! = g2 permet d'introduire une symétrie dans la structure du protocole d'authentification, qui simplifie la publication des données publiques et permet, comme décrit ci-dessous, de mettre en œuvre un protocole d'authentification en anneau.
Avantageusement, la première entité peut présenter une propriété de "1 parmi 2". Autrement dit, la première entité peut correspondre à une entité anonyme parmi un couple de membres (Bi, Bj) formé par une association entre un premier membre Bi et un second membre Bj.
Pour cette application, on choisit le premier groupe G1 égal au deuxième groupe G2 et comportant un primitif commun g d'ordre premier q (c'est-à-dire, G1 = G2 et g, = g2 = g ).
Dans ce cas, on suppose que le premier membre Bi possède une première clé publique partielle ga et une première clé secrète partielle constituée par un nombre naturel a et que le second membre Bj possède une seconde clé publique partielle gb et une seconde clé secrète partielle constituée par un nombre naturel b.
Ceci permet à chacun des premier et second membres Bi et Bj de former la valeur secrète S = gab à partir des première et seconde clés publiques partielles ga et gb et l'une des première et seconde clés secrètes partielles a ou b .
En effet, il existe en cryptographie, une hypothèse nommée « problème de Diffie-Hellman », qui stipule que si l'on connaît g, ga , et gb, il est impossible de calculer la valeur gab sans la connaissance de a ou b .
Ainsi, à partir des clés publiques partielles g , ga et gb, seuls les premier et second membres Bi et Bj peuvent calculer la clé secrète gab puisqu'ils sont les seuls à connaître une des valeurs indispensables a ou b .
Avantageusement, les première et seconde clés secrètes partielles a et b sont choisies aléatoirement dans l'ensemble des entiers naturels strictement inférieurs à l'ordre q.
Par ailleurs, à partir des clés publiques partielles ga et gb des premier et second membres Bi et Bj, il est simple de construire une clé publique associée au protocole général selon le procédé cryptographique des figures 1 et 3. En effet, le troisième paramètre
Figure imgf000020_0001
est directement obtenu par l'application bilinéaire e et la troisième valeur publique v s'obtient par le calcul de e(ga,gb) . A titre d'exemple, considérons le cas où la première entité El fournit à la deuxième entité E2 la clé publique (g1,ga,g1\e(g1,g1),v = e(g1,g1)ab) dans le cadre du protocole général décrit ci-dessus en relation avec les figures 2 et 3. En cas de succès de ce protocole, la seconde entité E2 est alors convaincue que la première entité El possède la clé secrète g* . Or, selon l'hypothèse du problème Diffie-Hellman, la seconde entité E2 sait que cette clé secrète ne peut être connue que du premier membre Bi ou du second membre Bj.
Par conséquent, en cas de succès du protocole général, la seconde entité E2 est convaincue d'avoir authentifié le premier membre Bi ou le second membre Bj et uniquement l'un des deux, mais sans pour autant savoir lequel avec exactitude. Ainsi, ceci correspond à un anonymat dans une population de deux membres.
D'une manière générale, les premier et second membres Bi et Bj peuvent appartenir à une pluralité de membres, par exemple une communauté de n membres notés Bl,...,Bk,...,Bn (l ≤ k≤ n ). Chaque membre Bk possède une clé secrète partielle constituée par un nombre naturel bk prédéterminé et une clé publique partielle gbk égale à l'exponentiation du primitif commun g par la clé secrète partielle bk . Les nombres bk sont avantageusement choisis aléatoirement dans l'ensemble des entiers strictement inférieurs à l'ordre premier q .
On notera que les clés secrètes partielles a du premier membre Bi et b du second membre Bj sont respectivement égales aux clés secrètes partielles b; et br Autrement dit, a = b; et b = bd pour tout couple de membres (Bi5Bj) avec l ≤i,j ≤ n,i ≠ j .
Ainsi, lorsqu'un membre Bi veut s'authentifier de manière anonyme "1 parmi 2", il choisit un autre membre Bj quelconque, et son authentification suivant le schéma ci-dessus prouve qu'il est soit Bi, soit Bj -
Par ailleurs, une entité anonyme peut lever l'anonymat inhérent à l'application "1 parmi 2". En effet, il peut être utile pour une entité anonyme appartenant à un couple de membres (Bi5Bj) de dévoiler son identité précise ou de lever son anonymat vis-à-vis de la seconde entité E2.
Dans ce cas, l'entité anonyme fournit à cette seconde entité E2 une preuve de sa connaissance d'un couple (r,s) formé par le nombre naturel r et par la clé secrète partielle s égale à l'un des premier et second entiers a ou b .
A titre d'exemple, prenant le cas où l'entité anonyme correspond au membre Bi. Alors, à l'étape N17 de la figure 3, la seconde entité E2 vérifie si e(g1,γ)= Wvc , ce qui peut se réécrire :
Figure imgf000022_0001
On notera que la valeur r est seulement connue de l'entité anonyme. En effet, obtenir r à partir de la valeur ~W = e(gι,gι)r est le problème dit du "logarithme discret", qui est un problème supposé impossible à résoudre en un temps "raisonnable" et qui est à la base de nombreuses applications cryptographiques.
De même la valeur a est seulement connue de l'entité anonyme. En effet, il existe des protocoles connus pour prouver la connaissance du couple (r,a) tel que l'équation précédente soit satisfaite. Un tel exemple est décrit par D. Chaum, et al. dans «Advances in Cryptology - Eurocrypt'87, Jgg. 304 of Lecture Notes in Computer Science, Seiten 127-141. Springer-Verlag, 1987" sous le titre "An Improved Protocol for Demonstrating Possession of Discrète Logarithms and Some Generalizations". Ainsi, la seconde entité E2 peut être convaincue que l'entité anonyme connaît bien le couple (r,a) , et en particulier, la valeur a , et donc que l'entité anonyme est bien exactement Bi .
Le procédé cryptographique selon l'invention autorise que l'entité anonyme (première entité) prouve sa connaissance des couples (r,a) associés à chaque équation de vérification inhérente à un nombre déterminé d'exécutions, ou au contraire, uniquement par rapport à des équations de vérification choisies par la seconde entité E2 ou la première entité El. L'invention vise aussi un programme informatique téléchargeable depuis un réseau de communication comprenant des instructions de codes pour l'exécution des étapes du procédé cryptographique selon l'invention lorsqu'il est exécuté sur un ordinateur, un microprocesseur ou une puce électronique. Ce programme informatique peut être stocké sur un support lisible par ordinateur.
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 objet ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou 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.
L'invention vise également une carte à puce électronique pouvant comprendre de manière classique une unité de traitement, une mémoire, une unité d'entrée et une unité de sortie et adaptée pour la mise en œuvre du procédé cryptographique selon l'invention.

Claims

REVENDICATIONS
1. Procédé cryptographique à clé publique pour l'authentification d'une première entité (El) possédant une clé secrète S associée à une clé publique P par une seconde entité (E2) possédant ladite clé publique P , comprenant les étapes suivantes :
- envoi d'un défi c par la seconde entité (E2) à la première entité (El),
- calcul par la première entité (El) d'une réponse Y prenant en compte le défi c et ladite clé secrète S , - envoi par la première entité (El) de la réponse Y à la seconde entité, et
- vérification de la réponse Y par la première entité (El) à l'aide du défi c et de la clé publique P , ledit procédé étant caractérisé en ce que :
- ladite clé secrète est une valeur secrète S = gf ou S = gf égale à un premier nombre g[ ou un deuxième nombre g2 porté à la puissance du produit entre un premier entier a et un deuxième entier b , où lesdits nombres g! et g2 sont des primitifs d'ordre premier q engendrant respectivement un premier et un deuxième groupes (G1 ,G2), et où lesdits premier et deuxième entiers a et b sont deux nombres naturels prédéterminés, et
- ladite clé publique P comporte une première valeur publique g; égale audit premier primitif gj porté à la puissance dudit premier entier a , une deuxième valeur publique g2 égale audit deuxième primitif g2 porté à la puissance dudit deuxième entier b , une troisième valeur publique v = e(gI 3g2)ab égale à l'image par une application bilinéaire e définie sur lesdits premier et deuxième groupes G1 et G2 du couple (g15g2) formé par le premier primitif et le deuxième primitif, portée à la puissance du produit entre le premier entier a et le deuxième entier b , et les premier et deuxième primitifs g, et g2 .
2. Procédé selon la revendication 1, caractérisé en ce que ladite clé publique P comporte en outre des paramètres publics identiques pour toute première entité (El), lesdits paramètres publics comprenant un premier paramètre égal au premier primitif gi r un deuxième paramètre égal au deuxième primitif g2, et un troisième paramètre e(gi,g2) égal à l'image par l'application bilinéaire e des premier et deuxième primitifs g1 et g2.
3. Procédé selon la revendication 1 ou la revendication 2, caractérisé en ce que les premier et deuxième groupes (G17G2) sont égaux et comportent un primitif commun g, les premier et deuxième primitifs gj et g2 étant alors tous deux égaux à g .
4. Procédé selon la revendication 3, caractérisé en ce que la première entité (El) correspond à une entité anonyme parmi un couple de membres (Bi, Bj) formé par une association entre un premier membre Bi et un second membre Bj, le premier membre Bi possédant une première clé publique partielle ga et une première clé secrète partielle constituée par un nombre naturel a et le second membre Bj possédant une seconde clé publique partielle gb et une seconde clé secrète partielle constituée par un nombre naturel b , ce qui permet à chacun desdits premier et second membres de former ladite valeur secrète S = gab à partir desdites première et seconde clés publiques partielles ga et gb et l'une desdites première et seconde clés secrètes partielles a ou b .
5. Procédé selon la revendication 4, caractérisé en ce que lesdits premier et second membres Bi et Bj appartiennent à une pluralité de membres Bl, ...,Bk,...Bn, chaque membre Bk possédant une clé secrète partielle constituée par un nombre naturel bk prédéterminé et une clé publique partielle gbk égale à l'exponentiation dudit primitif commun g par ladite clé secrète partielle bk , lesdites clé secrètes partielles a dudit premier membre Bi et b dudit second membre Bj étant respectivement égales aux clés secrètes partielles b; et bi .
6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comporte les étapes suivantes : -choix par la première entité (El), d'un premier nombre naturel r strictement inférieur audit ordre premier q ,
-envoi par la première entité (El) à la seconde entité (E2) d'une première valeur W = e(g1 ;g2)r égale à l'image par l'application bilinéaire e du couple (g15g2) formé par lesdits premier et deuxième primitifs portée à la puissance dudit premier nombre naturel r,
-choix par la seconde entité (E2) d'un second nombre naturel c définissant ledit défi,
-envoi dudit second nombre naturel c à la première entité (El),
-calcul par la première entité (El) d'une seconde valeur Y^2S0 ou Y = g[Sc définissant ladite réponse, ladite seconde valeur étant égale au produit entre un premier terme g\ ou g[, et un second terme S0, ledit premier terme g2 ou g[ étant égal au primitif appartenant au même groupe que celui de la clé secrète porté à la puissance dudit premier nombre naturel r, et ledit second terme SQ étant égal à la clé secrète S portée à la puissance dudit second nombre naturel c,
-envoi de ladite seconde valeur Y à la seconde entité (E2), et -vérification par la seconde entité (E2) si l'image e(g13Y) ou e(Y,g2) par l'application bilinéaire e du couple formé par ledit primitif appartenant à l'autre des premier et deuxième groupes (GnG2) et ladite seconde valeur
Y est égale au produit Wvc entre ladite première valeur W et ladite troisième valeur publique / portée à la puissance dudit second nombre naturel c .
7. Procédé selon la revendication 6, caractérisé en ce que ladite première valeur W = e(g15 g2)r et/ou ledit premier terme g2 ou g[ sont pré-calculés.
8. Procédé selon la revendication 6 ou la revendication 7, caractérisé en ce que lesdites étapes sont réitérées selon un nombre prédéterminé de fois de manière parallèle ou séquentielle.
9. Procédé selon la revendication 7 ou la revendication 8, caractérisé en ce que ladite entité anonyme appartenant à un couple de membres (Bi, Bj) est apte à lever son anonymat vis-à-vis de la seconde entité en fournissant à ladite seconde entité une preuve de sa connaissance d'un couple (r,s) formé par ledit nombre naturel r et par la clé secrète partielle s égale à l'un des premier et second entiers a ou b .
10. Système cryptographique à clé publique comportant une première entité (El) possédant une clé secrète S associée à une clé publique P et une seconde entité (E2) possédant ladite clé publique P7 ledit système étant adapté pour la mise en œuvre du procédé cryptographique selon au moins l'une des revendications 1 à 9.
11. Système cryptographique selon la revendication 10, caractérisé en ce que ladite première entité (El) est constituée par une puce électronique et ladite seconde entité (E2) est constituée par une application ou un dispositif de vérification chargé d'authentifier ladite puce électronique.
12. Programme informatique téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par une puce électronique, caractérisé en ce qu'il comprend des instructions de codes pour l'exécution des étapes du procédé cryptographique selon au moins l'une des revendications 1 à 9, lorsqu'il est exécuté sur un ordinateur ou une puce électronique.
PCT/FR2007/051535 2006-06-30 2007-06-26 Systeme et procede cryptographique a cle publique WO2008017765A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0652750 2006-06-30
FR0652750 2006-06-30

Publications (1)

Publication Number Publication Date
WO2008017765A1 true WO2008017765A1 (fr) 2008-02-14

Family

ID=37636095

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/051535 WO2008017765A1 (fr) 2006-06-30 2007-06-26 Systeme et procede cryptographique a cle publique

Country Status (1)

Country Link
WO (1) WO2008017765A1 (fr)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LU ET AL: "A new deniable authentication protocol from bilinear pairings", APPLIED MATHEMATICS AND COMPUTATION, ELSEVIER, vol. 168, no. 2, 15 September 2005 (2005-09-15), pages 954 - 961, XP005099227, ISSN: 0096-3003 *
MENEZES A J ET AL: "Handbook of Applied Cryptography, PASSAGE", HANDBOOK OF APPLIED CRYPTOGRAPHY, CRC PRESS SERIES ON DISCRETE MATHEMATICES AND ITS APPLICATIONS, BOCA RATON, FL, CRC PRESS, US, 1997, pages 385 - 388,489, XP002377968, ISBN: 0-8493-8523-7 *
MENEZES ET AL: "CHALLENGE-RESPONSE IDENTIFICATION (STRONG AUTHENTICATION)", HANDBOOK OF APPLIED CRYPTOGRAPHY, CRC PRESS SERIES ON DISCRETE MATHEMATICES AND ITS APPLICATIONS, BOCA RATON, FL, CRC PRESS, US, 1997, pages 397,403 - 404, XP001236154, ISBN: 0-8493-8523-7 *
SONGWON LEE ET AL: "Threshold Password-Based Authentication Using Bilinear Pairings", EURO PKI, 2004, pages 350 - 363, XP019007640 *

Similar Documents

Publication Publication Date Title
EP3251046B1 (fr) Systèmes et procédés pour la gestion d&#39;engagements en réseau d&#39;entités sécurisées
EP1441313B1 (fr) Procédé cryptographique à clé publique pour la protection d&#39; une puce électronique contre la fraude
EP0998731B1 (fr) Procede et systeme de paiement par cheque electronique
EP1807967B1 (fr) Procede de delegation securisee de calcul d&#39;une application bilineaire
WO2003056750A2 (fr) Systeme cryptographique de signature de groupe
EP1299838A1 (fr) Systeme et procede de gestion de transactions de micropaiement, terminal de client et equipement de marchand correspondants
WO2000062477A1 (fr) Procede d&#39;authentification et de signature de message utilisant des engagements de taille reduite et systemes correspondants
EP1419610B1 (fr) Procede de realisation d&#39;une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret
EP1266364A1 (fr) Procede cryptographique de protection contre la fraude
EP1721246B1 (fr) Procede et dispositif pour accomplir une operation cryptographique
EP0909495B1 (fr) Procede de cryptographie a cle publique
EP1466304A1 (fr) Procede cryptographique de revocation a l&#39;aide d&#39;une carte a puce
EP0769768B1 (fr) Procédé cryptographique de protection contre la fraude
WO2008017765A1 (fr) Systeme et procede cryptographique a cle publique
EP1269431B1 (fr) Procede de protection d&#39;une puce electronique contre la fraude
WO2008001009A1 (fr) Systeme et procede cryptographique a cle publique pour l&#39;authentification d&#39;une premiere entite par une seconde entite
FR2734679A1 (fr) Procede de cryptographie a cle publique base sur le logarithme discret
FR2867335A1 (fr) Procede cryptographique notamment a cle publique
FR2949932A1 (fr) Procede cryptographique d&#39;abonnement anonyme a un service
WO2003023606A1 (fr) Procede pour le calcul d&#39;une exponentiation dans un groupe et son application a l&#39;authentification d&#39;un utilisateur

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07823521

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07823521

Country of ref document: EP

Kind code of ref document: A1