[go: up one dir, main page]

WO2008001009A1 - Public-key cryptographic system and method for the authentication of a first entity by a second entity - Google Patents

Public-key cryptographic system and method for the authentication of a first entity by a second entity Download PDF

Info

Publication number
WO2008001009A1
WO2008001009A1 PCT/FR2007/051534 FR2007051534W WO2008001009A1 WO 2008001009 A1 WO2008001009 A1 WO 2008001009A1 FR 2007051534 W FR2007051534 W FR 2007051534W WO 2008001009 A1 WO2008001009 A1 WO 2008001009A1
Authority
WO
WIPO (PCT)
Prior art keywords
entity
equal
public key
value
public
Prior art date
Application number
PCT/FR2007/051534
Other languages
French (fr)
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 WO2008001009A1 publication Critical patent/WO2008001009A1/en

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

Definitions

  • Public key cryptographic system and method for authentication of a first entity by a second entity Public key cryptographic system and method for authentication of a first entity by a second entity
  • 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.
  • symmetric or "secret key”, the two terms being synonymous
  • secret key the two terms being synonymous
  • public key the two terms being synonymous
  • one of the two entities has a pair of keys, one of which is secret and the other is public; there is no shared secret key.
  • 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 a network application capable of implementing 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 upon, reproduced and replayed fraudulently since it is always the same for a given card; a fraudster can thus 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 a data item determined by the application at each authentication), a piece of data contained in the electronic chip and a known secret key of the electronic 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, know the secret key held by said chip.
  • said device can authenticate any chip issued in connection with the application, either it must store the secret keys of all chips, or it must store a basic key, also called mother-key or master key, to find the secret key of any chip.
  • 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 chip is authenticated to the application but also that the chip authenticates the application with which it communicates.
  • the term "mutual authentication” is used. This type of mutual authentication is done in performing simultaneously two conventional authentication methods where the chip and the application interchange roles in both protocols.
  • mod is the mathematical function of modular reduction. This type of calculation is a priori the most complex operation that can be performed in a reasonable time (without any particular assumption on computing power) by a smart card.
  • Figure 4 shows a table detailing the characteristics of the protocol of Wang and Wang (referenced M1) and that of Kim and Kim (referenced M2).
  • Each protocol M1 or M2 can be characterized by the number of mathematical operations necessary to carry out an iteration between an electronic chip E101 and an application E102. 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.
  • the first column of the table indicates the type of protocol M1 or M2
  • the second column indicates the entity EN (that is to say, the chip E101 or the application E102)
  • the third column indicates the number NB
  • the fourth column indicates the number of exponents NE by an exponent of the same size as that of the order of g
  • the fifth column indicates the number of NP phases of data transfer.
  • 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, said secret key S belonging to a first or to a second group (G ⁇ G 2 ) respectively generated by first and second primitive primitive primitive primitives g 1 and g 2 , said method comprising the following steps:
  • said authentication protocol of the present invention allows the use of a bilinear application with a calculation cost lower than existing schemas, which allows secure and efficient authentication between the two entities.
  • This protocol finds a very advantageous application in the use of new processes currently considered too expensive in computing time.
  • the present invention therefore aims to propose a new solution to effectively reduce this computing time.
  • the method according to the invention comprises the following steps: -choice by the first entity of a first natural number r,
  • the validation or the non-validation of the verification step makes it possible to consider that the authentication is successful or not successful respectively.
  • the calculation operations between the first and second entities can be performed with only one linear application evaluation, four exponentiations and three transfer phases, which represents a lower overall computational cost. current authentication schemes.
  • said steps are repeated a predetermined number of times in parallel or sequential manner.
  • the security of the authentication is increased.
  • the first and second groups are equal and comprise a common primitive, the primitives 1 and g 2 being then both equal to g. This reduces the number of data to be published.
  • 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 the implementation of the method cryptographic device according to at 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; and FIG. 4 illustrates a table detailing the characteristics of the cryptographic methods according to the prior art.
  • FIG. 1 schematically illustrates a public key cryptosystem comprising a first entity E1 and a second entity E2.
  • the first entity E1 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 E1 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 E1, such as those present in a public telephone, an electronic payment terminal or a transit gate.
  • the first entity E1 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 or a second group (G ⁇ G 2 ) respectively generated by first and second generators or primitives ⁇ 1 and g 2 of order q, where q is a prime number preferably large (by example q> 2,160 ).
  • q is a prime number preferably large (by example q> 2,160 ).
  • the first parameter is equal to the first primitive ⁇ 1
  • the second parameter is equal to the second primitive g 2
  • the first ⁇ 1 , second g 2 , and third v e (g ⁇ , g 2 ) public parameters are identical for any first entity E1.
  • variables or parameters ⁇ 1 , g 2 and eig ⁇ g ⁇ can be set "universally", i.e. they are set equal for all protocol actors and published as universal parameters of the protocol.
  • 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 E1 (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 E1 calculates (step N5) a response that takes into account the challenge and the secret key S.
  • step N6 the first entity E1 sends this response to the second entity E2.
  • the second entity E ⁇ 2 checks (step N7) this response using the challenge and the public key P.
  • Figure 2 illustrates a table detailing the characteristics of the protocol according to the authentication scheme of the present invention.
  • This table indicates that for the first entity E1 the number of NB evaluations of a bilinear application is equal to "zero", the number of exponentiations NE by an exponent of the same size as that of the order of the primitive g is equal at three ".
  • this table indicates that for the second entity E2 the number of NB evaluations of a bilinear application is equal to "one", the number of exponences NE by an exponent of the same size as that of the order of g is equal to "one”
  • the table also indicates that the number of data transfer phases NP between the first entity E1 and the second entity E2 is equal to "three".
  • this table shows that the average number of operations for an iteration between the first entity E1 and the second entity E2 can be achieved with only a linear application evaluation, four exponentiations and three transfer phases, which represents a cost overall calculation less than the authentication schemes of the prior art (see FIG. 4).
  • the overall number of exponentiations (which require a great deal of computing time) is small compared with this prior art.
  • FIG. 3 is an example illustrating the main steps of the authentication of the first entity E1 by the second entity E2.
  • the first entity E1 chooses a first natural number r.
  • This natural number is advantageously chosen randomly from the integers strictly smaller than the first order q of the primitive ⁇ 1 or g 2 (that is to say 0 ⁇ r ⁇ q).
  • step N13 the second entity E ⁇ 2 chooses a second natural number c defining a challenge or a question (see step N3 of FIG. 1).
  • step N14 the second entity E2 sends this second natural number c to the first entity E1.
  • This second value is equal to the product between a first term g 2 r or g [, and a second term S c .
  • the first term g 2 r or g [ 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 S brought to the power of the second natural number c.
  • the first term g 2 or g [ may be precalculated.
  • step N16 the first entity E1 sends this second value F to the second entity E2.
  • steps N11 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.
  • This example shows that the secret key S can belong to the first group G 1 or the second group G 2 .
  • the public value v is equal to e ⁇ g x , S).
  • the public value v is equal to e (S, g 2 ).
  • the invention also relates to a 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 means magnetic recording, for example a floppy disk or a hard disk.
  • 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 in particular be downloaded to a network of the Internet type.
  • 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)
  • Storage Device Security (AREA)

Abstract

The invention relates to a public-key cryptographic system and method for the authentication of a first entity (E1) possessing a secret key S associated with a public key P by a second entity (E2) possessing said public key P, said secret key S belonging to a first or to a second group (G1, G2) respectively generated by first and second primitives g1 and g

Description

Titre de l'invention Title of the invention
Système et procédé cryptographique à clé publique pour l'authentification d'une première entité par une seconde entitéPublic key cryptographic system and method for authentication of a first entity by a second entity
Domaine technique de l'inventionTechnical field of the 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.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. By way of example, the invention can be used for the protection against the fraud of an electronic chip in transactions between an application and the chip.
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.BACKGROUND OF THE INVENTION Currently, smart cards are susceptible to different types of fraud. 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. To fight against these frauds, 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.
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 apte à mettre en œuvre 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 ; un fraudeur peut ainsi 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.In general, 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. When it is symmetric (or "secret key", the two terms being synonymous), the two entities share exactly the same information, in particular a secret key. When it is asymmetric (or "public key", the two terms being synonymous) one of the two entities has a pair of keys, one of which is secret and the other is public; there is no shared secret key. 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 a network application capable of implementing 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 upon, reproduced and replayed fraudulently since it is always the same for a given card; a fraudster can thus 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.
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 la 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. I l 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. I l 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.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 a data item determined by the application at each authentication), a piece of data contained in the electronic chip and a known secret key of the electronic chip and the application. When 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. However, 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, know the secret key held by said chip. It follows from a major drawback that, if it is desired that said device can authenticate any chip issued in connection with the application, either it must store the secret keys of all chips, or it must store a basic key, also called mother-key or master key, 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.
Ainsi, des solutions à base de cryptographie à clé publique peuvent être préférées aux mécanismes à clé secrète. Le principe de fonctionnement de 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.Thus, solutions based on public key cryptography may be preferred over secret key mechanisms. The operating principle of 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.
I l 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.It is also possible 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 in performing simultaneously two conventional authentication methods where the chip and the application interchange roles in both protocols.
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 à dire des calculs du type xe modn oùThe best-known solutions for performing such authentication mechanisms are generally based on difficult mathematical problems such as factorization or discrete logarithm; these two problems generate in their realization calculations of modular exponentiations, ie calculations of the type x e modn where
" 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."mod" is the mathematical function of modular reduction. This type of calculation is a priori the most complex operation that can be performed in a reasonable time (without any particular assumption on computing power) by a smart card.
Cependant, au cas où l'on trouverait des algorithmes efficaces pour résoudre ces problèmes, alors ces derniers deviendraient inutilisables en cryptographie. Cest pourquoi il est indispensable de partir à la recherche de problèmes mathématiques d'une autre nature et de mécanismes d'authentification utilisant ces nouveaux problèmes.However, if we find efficient algorithms to solve these problems, then these problems would become unusable in cryptography. That is why it is essential to go looking for mathematical problems of another nature and authentication mechanisms using these new problems.
Depuis quelques années, les applications bilinéaires, bien connues des mathématiciens, ont fait leur apparition dans le domaine de la cryptographie. Considérons par exemple une application / définie sur l'ensemble G1 X G2 dans G où G^G2 et G sont des groupes (notion mathématique). Supposons ^1 et g2 des générateurs (ou primitifs) respectivement de G1 et G2 , la fonction / est dite bilinéaire de G1 X G2
Figure imgf000006_0001
In recent years, bilinear applications, well known to mathematicians, have appeared in the field of cryptography. For example, consider an application / defined on the set G 1 XG 2 in G where G ^ G 2 and G are groups (mathematical notion). Suppose ^ 1 and g 2 of the (or primitive) generators respectively of G 1 and G 2 , the function / is called bilinear of G 1 XG 2
Figure imgf000006_0001
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 (simple) 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 de les utiliser pour l'authentification mutuelle. Actuellement, il existe deux schémas d'authentification utilisant les applications bilinéaires. Le premier protocole est décrit dans l'article de G. Yao, G. Wang, et Y. Wang intitulé "An I mproved Identification Scheme", 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 Problem", 7th Australian Conférence on I nformation Security and Privacy, ACI SP '02, pages 362 à 378, Springer- Verlag, 2002.The current problem with these bilinear applications is that their evaluations generate enormous calculations, much more complex than the calculation of a (simple) modular exponentiation. Hence the difficulty in a classic setting, to make such calculations. In addition, existing solutions seem very inefficient to use for mutual authentication. Currently, there are two authentication schemes using bilinear applications. The first protocol is described in the article by G. Yao, G. Wang, and Y. Wang titled "An I mproved Identification Scheme," Progress in Computer Science and Applied Logic, Berkhauser-Verlag, November 2003. The second protocol is described in the paper by Kim and K. Kim entitled "A New Identification Scheme Based on the Bilinear Diffie-Hellman Problem", 7th Australian Conference on Information Security and Privacy, ACI SP '02, pp. 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é M1 ) et celui de Kim et Kim (référencé M2).Figure 4 shows a table detailing the characteristics of the protocol of Wang and Wang (referenced M1) and that of Kim and Kim (referenced M2).
Chaque protocole M1 ou M2 peut être caractérisé par le nombre d'opérations mathématiques nécessaire pour réaliser une itération entre une puce électronique E101 et une application E102. 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'évaluationsEach protocol M1 or M2 can be characterized by the number of mathematical operations necessary to carry out an iteration between an electronic chip E101 and an application E102. 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.
(référencé NB) d'une application bilinéaire.(referenced NB) of a bilinear application.
En effet, la première colonne du tableau indique le type de protocole M1 ou M2, la deuxième colonne indique l'entité EN (c'est-à-dire, la puce E101 ou l'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.In fact, the first column of the table indicates the type of protocol M1 or M2, the second column indicates the entity EN (that is to say, the chip E101 or the application E102), the third column indicates the number NB For a bilinear application, the fourth column indicates the number of exponents NE by an exponent of the same size as that of the order of g and the fifth column indicates the number of NP phases of data transfer.
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. Ces protocoles présentent des propriétés de sécurité fort intéressantes mais nécessitent en pratique beaucoup de calculs. Ceci présente un très grand frein à leur développement.It should be noted that the values given are average values. In addition, these values are given for methods that do not perform precalculations, which remain a very contextual possibility. This makes it possible to make objective and to facilitate the comparison between the different methods. These protocols have very interesting security properties but in practice require a lot of calculations. This presents a great obstacle to their development.
Objet et résumé de l'inventionObject and summary of the 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 , ladite clé secrète S appartenant à un premier ou à un deuxième groupes (G^G2) respectivement engendrés par des premier et deuxième primitifs ^1 et g2 d'ordre premier q , ledit procédé comprenant les étapes suivantes :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, said secret key S belonging to a first or to a second group (G ^ G 2 ) respectively generated by first and second primitive primitive primitive primitives g 1 and g 2 , said method comprising the following steps:
- envoi d'un défi par la seconde entité à la première entité,sending a challenge by the second entity to the first entity,
- calcul par la première entité d'une réponse prenant en compte ledit défi et ladite clé secrète S ,calculation by the first entity of a response taking into account said challenge and said secret key S,
- envoi par la première entité de ladite réponse à la seconde entité, etsending by the first entity of said response to the second entity, and
- vérification de la réponse par la seconde entité à l'aide dudit défi et de la clé publique P .- Verification of the response by the second entity using said challenge and the public key P.
Ledit procédé est remarquable en ce que ladite clé publique P comporte, d'une part, une valeur publique v = e(g1,S) ou v = e(s,g2) égale à l'image par une application bilinéaire e définie sur lesdits premier et deuxième groupes (G^G2) d'un couple d'éléments formé par la clé secrète S et le primitif appartenant à l'autre des premier et deuxième groupes (G^G2) que celui auquel appartient la clé secrète S , et d'autre part ce primitif.Said method is remarkable in that said public key P comprises, on the one hand, a public value v = e (g 1 , S) or v = e (s, g 2 ) equal to the image by a bilinear application e defined on said first and second groups (G ^ G 2 ) of a pair of elements formed by the secret key S and the primitive belonging to the other of the first and second groups (G ^ G 2 ) than that to which the secret key S, and on the other hand this primitive.
Ainsi, le protocole d'authentification de la présente invention permet l'utilisation d'une application bilinéaire avec un coût de calcul inférieur aux schémas existants, ce qui permet une authentification sécurisée et efficace entre les deux entités. Ce protocole trouve une application très avantageuse dans l'utilisation de nouveaux procédés à l'heure actuelle jugés trop coûteux en temps de calcul. La présente invention a donc pour but de proposer une nouvelle solution afin de diminuer efficacement ce temps de calcul. Avantageusement, 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 ^1 , un deuxième paramètre égal au deuxième primitif g2 , et un troisième paramètre v = e(gι,g2) égal à l'image par ladite application bilinéaire e desdits premier et deuxième primitifs ^1 et g2. Le fait de fixer ces paramètres de manière universelle et de les publier permet de simplifier les calculs.Thus, the authentication protocol of the present invention allows the use of a bilinear application with a calculation cost lower than existing schemas, which allows secure and efficient authentication between the two entities. This protocol finds a very advantageous application in the use of new processes currently considered too expensive in computing time. The present invention therefore aims to propose a new solution to effectively reduce this computing time. Advantageously, 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 ^ 1 , a second parameter equal to the second primitive g 2 , and a third parameter v = e ( g ι , g 2 ) equal to the image by said bilinear application e of said first and second primitives ^ 1 and g 2 . Setting these parameters universally and publishing them simplifies calculations.
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 ,According to one embodiment, the method according to the invention comprises the following steps: -choice by the first entity of a first natural number r,
-envoi par la première entité à la seconde entité d'une première valeur W = e(gι,g2)r égale à l'image par l'application bilinéaire e du couple (^1, g2) 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,sending by the first entity to the second entity a first value W = e (g ι , g 2 ) r equal to the image by the bilinear application e of the pair (^ 1 , g 2 ) formed by said first and second primitives brought to the power of said first natural number r, -choice by the second entity of a second natural number c defining said challenge,
-envoi dudit second nombre naturel c à la première entité, -calcul par la première entité d'une seconde valeur Y = g2 rSc 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 Sc, 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 Sc étant égal à la clé secrète S portée à la puissance dudit second nombre naturel c , -envoi de ladite seconde valeur F à la seconde entité, et -vérification par la seconde entité si l'image e(gι,Y) ou e(γ,g2) par l'application bilinéaire e du couple formé par ledit primitif appartenant à l'autre des premier et deuxième groupes (G^G2) et ladite seconde valeur Y est égale au produit Wvc entre ladite première valeur W et ladite clé publique v portée à la puissance dudit second nombre naturel c .sending said second natural number c to the first entity, -calculating by the first entity a second value Y = g 2 r S c where Y = g [S c defining said response, said second value being equal to the product between a first term g \ or g [, and a second term S c , said first term g 2 or g [being equal to the primitive belonging to the same group as that of the secret key brought to the power of said first natural number r, and said second term S c being equal to the secret key S brought to the power of said second natural number c, sending said second value F to the second entity, and verifying by the second entity if the image e (g ι , Y) or e (γ, g 2 ) by the bilinear application e of the pair formed by said primitive belonging to the other of the first and second groups (G ^ G 2 ) and said second value Y is equal to the product Wv c between said first value W and said public key v brought to the power of said second natural number c.
Ainsi, la validation ou la non-validation de l'étape de vérification permet de considérer que l'authentification est réussie ou non réussie respectivement. 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 coût de calcul global inférieur aux schémas actuels d'authentification.Thus, the validation or the non-validation of the verification step makes it possible to consider that the authentication is successful or not successful respectively. In either case, the calculation operations between the first and second entities can be performed with only one linear application evaluation, four exponentiations and three transfer phases, which represents a lower overall computational cost. current authentication schemes.
Avantageusement, ladite première valeur W ^ e(gι,g2)r et/ou ledit premier terme g2 ou g[ sont précalculés.Advantageously, said first value W ^ e (g ι, g 2) r and / or said first term g 2 or g [are precalculated.
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.This makes the online execution of the protocol faster, since the first values have already been calculated offline.
Selon une particularité de l'invention, lesdites étapes sont réitérées 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.According to one particularity of the invention, said steps are repeated a predetermined number of times in parallel or sequential manner. Thus, the security of the authentication is increased.
Selon une variante, les premier et deuxième groupes (G^G2) sont égaux et comportent un primitif commun g les primitifs ^1 et g2 étant alors tout deux égaux à g . Ceci permet de réduire le nombre de données à publier.According to a variant, the first and second groups (G 1 G 2 ) are equal and comprise a common primitive, the primitives 1 and g 2 being then both equal to g. This reduces the number of data to be published.
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.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 the implementation of the method cryptographic device according to at 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.
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.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.
Brève description des dessinsBrief description of the drawings
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 :Other features and advantages of the invention will appear on reading the description given below, by way of indication but not limitation, with reference to the accompanying drawings, in which:
-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 ;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;
-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 illustre un tableau détaillant les caractéristiques des procédés cryptographiques selon l'art antérieur.FIG. 3 is an example schematically illustrating the main steps of the authentication of the first entity by the second entity; and FIG. 4 illustrates a table detailing the characteristics of the cryptographic methods according to the prior art.
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é E1 et une seconde entité EΞ2.Detailed description of embodiments In accordance with the invention, FIG. 1 schematically illustrates a public key cryptosystem comprising a first entity E1 and a second entity E2.
La première entité E1 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.The first entity E1 and the second entity E2 may be interconnected via a communication line 3 by contact or remotely or via a communication network.
La première entité E1 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é E1 , tel que ceux présents dans un téléphone public, un terminal de paiement électronique ou un portillon de transport en commun.The first entity E1 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 E1, such as those present in a public telephone, an electronic payment terminal or a transit gate.
La première entité E1 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 .The first entity E1 has a public key P and a secret key S associated with this public key P, and the second entity E2 has the public key P.
La clé secrète S appartient à un premier ou à un deuxième groupes (G^G2) respectivement engendrés par des premier et deuxième générateurs ou primitifs ^1 et g2 d'ordre q , où q est un nombre premier de préférence grand (par exemple q > 2160). En effet, on suppose l'existence d'une application bilinéaire e définie sur G1 X G2 et à valeur dans un troisième groupe G , de sorte que les groupes G1 et G2 sont respectivement engendrés par les éléments ^1 et g2 d'ordre q (c'est-à-dire e(g",g2 )= e(g1,g2)ab pour tout a et tout b).The secret key S belongs to a first or a second group (G ^ G 2 ) respectively generated by first and second generators or primitives ^ 1 and g 2 of order q, where q is a prime number preferably large (by example q> 2,160 ). Indeed, we assume the existence of a bilinear mapping e defined on G 1 XG 2 and with a value in a third group G, so that the groups G 1 and G 2 are respectively generated by the elements ^ 1 and g 2 of order q (i.e., e (g ", g 2 ) = e (g 1 , g 2 ) ab for all a and all b).
Conformément à l'invention, la clé publique P comporte d'une part une valeur publique v égale à l'image par l'application bilinéaire e définie sur les premier et deuxième groupes (G^G2) d'un couple d'éléments formé par la clé secrète S et le primitif appartenant à l'autre des premier et deuxième groupes (G^G2) que celui auquel appartient la clé secrète S (c'est-à-dire v = e(g1, S) ou v = e(S, g2) et d'autre part, ce primitif (c'est-à-dire ^1 ou g2 respectivement).According to the invention, the public key P comprises on the one hand a public value v equal to the image by the bilinear application e defined on the first and second groups (G ^ G 2 ) of a pair of elements. formed by the secret key S and the primitive belonging to the other of the first and second groups (G ^ G 2 ) than that to which the secret key S (that is to say, v = e (g 1, S) or v = e (S, g 2) and secondly, this primitive (that is to say 1 or g ^ 2 respectively).
Plus particulièrement, la clé publique peut correspondre à un quadruplet comportant trois paramètres en plus de la valeur publique w = e{gι, S) ou v = e(S, ^1) . A titre d'exemple, le premier paramètre est égal au premier primitif ^1 , le deuxième paramètre est égal au deuxième primitif g2 et le troisième paramètre v = e(gι,g2) es\ égal à l'image par l'application bilinéaire e des premier et deuxième primitifs ^1 et g2. Autrement dit, la clé publique P peut être constituée d'un quadruplet de la forme (^1, g2, e{gï, g2), v = e(gι,S)) ou (g1, g2,e(g1, g2), v = e(S, g2))More particularly, the public key may correspond to a quadruplet comprising three parameters in addition to the public value w = e {g ι , S) or v = e (S, ^ 1 ). For example, the first parameter is equal to the first primitive ^ 1, the second parameter is equal to the second primitive g 2 and the third parameter v = e (g ι, g 2) are \ equal to the image by bilinear application e of the first and second primitives ^ 1 and g 2 . In other words, the public key P can be constituted by a quadruplet of the form (^ 1, g 2, g e {I, G 2), v = e (g ι, S)) or (g 1, g 2 , e (g 1 , g 2 ), v = e (S, g 2 ))
Avantageusement, les premier ^1 , deuxième g2 , et troisième v = e(g{, g2) paramètres publics sont identiques pour toute première entité E1.Advantageously, the first ^ 1 , second g 2 , and third v = e (g { , g 2 ) public parameters are identical for any first entity E1.
Ainsi, les variables ou paramètres ^1 , g2 et eig^g^ peuvent être fixées "universellement", c'est-à-dire qu'elles sont fixées égales pour tous les acteurs du protocole et publiées comme paramètres universels du protocole. Dans ce cas la clé publique, propre à chaque entité, est alors réduite à V = ^g15S) ou v = e(S, g2)Thus, the variables or parameters ^ 1 , g 2 and eig ^ g ^ can be set "universally", i.e. they are set equal for all protocol actors and published as universal parameters of the protocol. In this case the public key, specific to each entity, is then reduced to V = ^ g 15 S) or v = e (S, g 2 )
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é E1 (entité à vérifier) par la seconde entité E2 (entité vérificatrice).It will be noted that 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 E1 (entity to be verified) by the second entity E2 (audit entity).
En effet, afin de vérifier l'authenticité de la première entité E1 , la seconde entité E2 envoie (étape N4) un défi à cette dernière. En recevant ce défi, la première entité E1 calcule (étape N5) une réponse qui prend en compte le défi et la clé secrète S .Indeed, in order to verify the authenticity of the first entity E1, the second entity E2 sends (step N4) a challenge to the latter. Upon receiving this challenge, the first entity E1 calculates (step N5) a response that takes into account the challenge and the secret key S.
A l'étape N6, la première entité E1 envoi cette réponse à la seconde entité E2. A la réception de la réponse, la seconde entité EΞ2 vérifie (étape N7) cette réponse à l'aide du défi et de la clé publique P .In step N6, the first entity E1 sends this response to the second entity E2. On receiving the response, the second entity EΞ2 checks (step N7) this response using the challenge and the public key 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. Ce tableau indique que pour la première entité E1 le nombre d'évaluations NB d'une application bilinéaire est égal à « zéro », le nombre d'exponentiations NE par un exposant de même taille que celle de l'ordre du primitif g est égal à « trois ». En outre, ce tableau indique que pour la seconde entité E2 le nombre d'évaluations NB d'une application bilinéaire est égal à « un », le nombre d'exponentiations NE par un exposant de même taille que celle de l'ordre de g est égal à « un ». Le tableau indique également que le nombre de phases NP de transfert de données entre la première entité E1 et la seconde entité E2 est égal à « trois ».Figure 2 illustrates a table detailing the characteristics of the protocol according to the authentication scheme of the present invention. This table indicates that for the first entity E1 the number of NB evaluations of a bilinear application is equal to "zero", the number of exponentiations NE by an exponent of the same size as that of the order of the primitive g is equal at three ". In addition, this table indicates that for the second entity E2 the number of NB evaluations of a bilinear application is equal to "one", the number of exponences NE by an exponent of the same size as that of the order of g is equal to "one" The table also indicates that the number of data transfer phases NP between the first entity E1 and the second entity E2 is equal to "three".
Ainsi, ce tableau montre que le nombre moyen d'opérations pour une itération entre la première entité E1 et la seconde entité E2 peut être réalisé avec seulement une évaluation d'application linéaire, quatre exponentiations et trois phases de transfert, ce qui représente un coût de calcul global inférieur aux schémas d'authentification de l'art antérieur (voir figure 4). En particulier, on notera que le nombre global d'exponentiations (qui nécessitent beaucoup de temps de calcul) est petit par rapport à cet art antérieur.Thus, this table shows that the average number of operations for an iteration between the first entity E1 and the second entity E2 can be achieved with only a linear application evaluation, four exponentiations and three transfer phases, which represents a cost overall calculation less than the authentication schemes of the prior art (see FIG. 4). In particular, it will be noted that the overall number of exponentiations (which require a great deal of computing time) is small compared with this prior art.
La figure 3 est un exemple illustrant les principales étapes de l'authentification de la première entité E1 par la seconde entité E2.FIG. 3 is an example illustrating the main steps of the authentication of the first entity E1 by the second entity E2.
A l'étape N1 1 , la première entité E1 choisit un premier nombre naturel r . Ce nombre naturel rest avantageusement choisi de manière aléatoire parmi les entiers strictement inférieurs à l'ordre premier q du primitif ^1 Ou g2 (c'est-à-dire 0 < r < q). La première entité E1 calcule alors une première valeur W = e{gx,g2) é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) peut être précalculée.In step N1 1, the first entity E1 chooses a first natural number r. This natural number is advantageously chosen randomly from the integers strictly smaller than the first order q of the primitive ^ 1 or g 2 (that is to say 0 <r <q). The first entity E1 then calculates a first value W = e {g x , g 2 ) equal to the image by the bilinear application e of the pair (g ι , g 2 ) formed by the first and second primitives brought to the power of the first natural number r. Advantageously, the first value W = e (g 1 , g 2 ) can be precalculated.
A l'étape N12, la première entité E1 envoie cette première valeur W = Kg15^2) à la seconde entité EΞ2. Alors, à l'étape N13, la seconde entité EΞ2 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 [θ,2* [ où k est une valeur qui dépend de la valeur publique v = e(gι, S) ou v = e(S, g2) . On notera que plus k est grand et moins il y a de risques que le système cryptographique soit "cassé".In step N12, the first entity E1 sends this first value W = Kg 15 ^ 2 ) to the second entity EΞ2. Then, in step N13, the second entity EΞ2 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 * [where k is a value which depends on the public value v = e (g ι , S) or v = e (S, g 2 ) . It should be noted that the larger the k, the less likely it is that the cryptographic system is "broken".
A l'étape N14, la seconde entité EΞ2 envoie ce second nombre naturel c à la première entité E1.In step N14, the second entity E2 sends this second natural number c to the first entity E1.
A l'étape N15, après la réception de ce second nombre naturel c, la première entité E1 calcule une seconde valeur Y = g2 rSc ou Y = g[Sc 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 r ou g[ , et un second terme Sc . Le premier terme g2 r 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 S portée à la puissance du second nombre naturel c . Avantageusement, le premier terme g2 ou g[ peut être précalculé.In step N15, after the reception of this second natural number c, the first entity E1 calculates a second value Y = g 2 r S c where Y = g [S c defining the response to the challenge (see step N5 of FIG. 1). This second value is equal to the product between a first term g 2 r or g [, and a second term S c . The first term g 2 r or g [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 S brought to the power of the second natural number c. Advantageously, the first term g 2 or g [may be precalculated.
A l'étape N16, la première entité E1 envoie cette seconde valeur F à la seconde entité E2.In step N16, the first entity E1 sends this second value F to the second entity E2.
Enfin, à l'étape N17, la seconde entité vérifie si l'image e{gx,Y) 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 clé publique v portée à la puissance du second nombre naturel c (c'est-à-dire, e{gx,Y) = Wvc ou respectivement e(Y, g2) = Wvc) .Finally, in step N17, the second entity checks whether the image e {g x , Y) or e (Y, g 2 ) by the bilinear application e of the pair formed by the primitive belonging to the other of the first and second groups (G 1 , G 2 ) and the second value Y is equal to the product Wv c between the first value W and the public key v brought to the power of the second natural number c (that is, e {g x , Y) = Wv c or respectively e (Y, g 2 ) = Wv c ).
Ainsi, si l'égalité est vérifiée, l'authentification de la première entité E1 est validée. Par contre, si l'égalité n'est pas vérifiée, l'authentification n'est pas validée.Thus, if the equality is verified, the authentication of the first entity E1 is validated. On the other hand, if the equality is not verified, the authentication is not validated.
On notera que les étapes ci-dessus peuvent être réitérées un nombre prédéterminé de fois.Note that the above steps can be repeated a predetermined number of times.
En effet, lorsque l'égalité de l'étape N17 est vérifiée, l'ensemble des étapes N11 à N17 est validé, et les première et seconde entités E1 et E2 commencent une nouvelle exécution de ces étapes.Indeed, when the equality of the step N17 is verified, the set of steps N11 to N17 is validated, and the first and second entities E1 and E2 begin a new execution of these steps.
I l 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 N11 à 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.It is also possible to execute these steps several times in parallel, simultaneously executing a set of these steps N11 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.
Ainsi, les étapes N11 à N17 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.Thus, steps N11 to N17 can be repeated a predetermined number of times in parallel or sequential manner. In both cases, 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.
Cet exemple montre que la clé secrète S peut appartenir au premier groupe G1 ou au deuxième groupe G2. Lorsqu'on choisit la clé secrète S dans le deuxième groupe G2 , la valeur publique v est égale à e{gx, S) . En revanche, lorsqu'on choisit la clé secrète S dans le premier groupe G1 , la valeur publique v est égale à e(S, g2) .This example shows that the secret key S can belong to the first group G 1 or the second group G 2 . When the secret key S is chosen in the second group G 2 , the public value v is equal to e {g x , S). On the other hand, when the secret key S is chosen in the first group G 1 , the public value v is equal to e (S, g 2 ).
On notera que les premier et deuxième groupes (G1, G2) peuvent être choisis égaux ou distincts. En effet, 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 (G1 = G2) et comportant un primitif commun g . Les primitifs ^1 et g2 sont alors tout deux égaux à g . Ceci permet de réduire le nombre de données à publier.It should be noted that the first and second groups (G 1 , G 2 ) can be chosen equal or distinct. Indeed, for choices of keys of standard size, it is easy to find a group such that, taking G 1 and G 2 equal to this same group, the calculations are effective. In this case, it is advantageous to choose the first group G 1 equal to the second group G 2 (G 1 = G 2 ) and having a common primitive g. The primitives ^ 1 and g 2 are then both equal to g. This reduces the number of data to be published.
En revanche, pour des choix de clés de taille élevée, il est difficile dans l'état des connaissances actuel de trouver un groupe tel que, en prenant Gl et Gl égaux à ce même groupe, les calculs soient efficaces. I l est donc dans ce cas plus avantageux de prendre deux groupes distincts.On the other hand, for choices of keys of high size, it is difficult in the current state of knowledge to find a group such that, taking Gl and Gl equal to this same group, the calculations are effective. It is therefore in this case more advantageous to take two distinct groups.
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.The invention also relates to a 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.
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.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.
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.The invention also relates to a computer-readable information medium, comprising instructions of a computer program as mentioned above.
Le support d'informations peut être n'importe quel 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.The information carrier may be any object or device capable of storing the program. For example, the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a means magnetic recording, for example a floppy disk or a hard disk.
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 I nternet.On the other hand, 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 in particular be downloaded to a network of the Internet type.
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.Alternatively, 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.
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. 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.

Claims

REVENDI CATI ONS REVENDI CATI ONS
1. Procédé cryptographique à clé publique pour l'authentification d'une première entité (E1 ) possédant une clé secrète S associée à une clé publique P par une seconde entité (E2) possédant ladite clé publique P , ladite clé secrète S appartenant à un premier ou à un deuxième groupes (G1, G2) respectivement engendrés par des premier et deuxième primitifs ^1 et g2 d'ordre premier q , ledit procédé comprenant les étapes suivantes: - envoi d'un défi par la seconde entité (E2) à la première entité (E1 ),A public key cryptographic method for authenticating a first entity (E1) having a secret key S associated with a public key P by a second entity (E2) having said public key P, said secret key S belonging to a first or second groups (G 1 , G 2 ) respectively generated by first and second primitives ^ 1 and g 2 of first order q, said method comprising the following steps: - sending a challenge by the second entity ( E2) to the first entity (E1),
- calcul par la première entité (E1 ) d'une réponse prenant en compte ledit défi et ladite clé secrète S ,calculation by the first entity (E1) of a response taking into account said challenge and said secret key S,
- envoi par la première entité (E1 ) de ladite réponse à la seconde entité, et - vérification de la réponse par la seconde entité (E2) à l'aide dudit défi et de la clé publique P , ledit procédé étant caractérisé en ce que ladite clé publique P comporte, d'une part, une valeur publique v = e(g1, S) ou v = e(S, g2) égale à l'image par une application bilinéaire e définie sur lesdits premier et deuxième groupes (G1, G2) d'un couple d'éléments formé par la clé secrète S et le primitif appartenant à l'autre des premier et deuxième groupes (G1, G2) que celui auquel appartient la clé secrète S , et d'autre part ce primitif.- sending by the first entity (E1) of said response to the second entity, and - checking the response by the second entity (E2) using said challenge and the public key P, said method being characterized in that said public key P comprises, on the one hand, a public value v = e (g 1 , S) or v = e (S, g 2 ) equal to the image by a bilinear application e defined on said first and second groups (G 1 , G 2 ) of a pair of elements formed by the secret key S and the primitive belonging to the other of the first and second groups (G 1 , G 2 ) than that to which the secret key S belongs, and on the other hand, this primitive.
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é, lesdits paramètres publics comprenant un premier paramètre égal au premier primitif ^1 , un deuxième paramètre égal au deuxième primitif g2 , et un troisième paramètre v = e(g1, g2) égal à l'image par ladite application bilinéaire e desdits premier et deuxième primitifs ^1 , g2.2. Method according to claim 1, characterized in that said public key P further comprises identical public parameters for any first entity, said public parameters comprising a first parameter equal to the first primitive ^ 1 , a second parameter equal to the second primitive g 2 , and a third parameter v = e (g 1 , g 2 ) equal to the image by said bilinear application e of said first and second primitives ^ 1 , g 2 .
3. Procédé selon la revendication 1 ou la revendication 2, caractérisé en ce qu'il comprend les étapes suivantes :3. Method according to claim 1 or claim 2, characterized in that it comprises the following steps:
-choix par la première entité (E1 ) d'un premier nombre naturel r ,by the first entity (E1) of a first natural number r,
-envoi par la première entité (E1 ) à la seconde entité (E2) d'une première valeur W = e(gι,g2) égale à l'image par l'application bilinéaire e du couplesending by the first entity (E1) to the second entity (E2) a first value W = e (g ι , g 2 ) equal to the image by the bilinear application e of the pair
(g{, g2) formé par lesdits premier et deuxième primitifs portée à la puissance dudit premier nombre naturel r ,(g { , g 2 ) formed by said first and second primitives brought to the power of said first natural number r,
-choix par la seconde entité (E2) d'un second nombre naturel c définissant ledit défi,by the second entity (E2) of a second natural number c defining said challenge,
-envoi dudit second nombre naturel c à la première entité (E1 ),sending said second natural number c to the first entity (E1),
-calcul par la première entité (E1 ) d'une seconde valeur Y = g2 rSc ou Y = g[Sc définissant ladite réponse, ladite seconde valeur étant égale au produit entre un premier terme g2 r ou ^1" , et un second terme Sc , ledit premier terme g2 r 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 Sc étant égal à la clé secrète S portée à la puissance dudit second nombre naturel c ,calculating by the first entity (E1) a second value Y = g 2 r S c where Y = g [S c defining said response, said second value being equal to the product between a first term g 2 r or ^ 1 " , and a second term S c , said first term g 2 r or g [being equal to the primitive belonging to the same group as that of the secret key brought to the power of said first natural number r, and said second term S c being equal to the secret key S brought to the power of said second natural number c,
-envoi de ladite seconde valeur F à la seconde entité (E2), et -vérification par la seconde entité (E2) si l'image e{gι , Y) 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 (G1, G2) et ladite seconde valeur Y est égale au produit Wvc entre ladite première valeur W et ladite clé publique v portée à la puissance dudit second nombre naturel c . sending said second value F to the second entity (E2), and verifying by the second entity (E2) if the image e {g ι , Y) or e (Y, g 2 ) by the bilinear application e the pair formed by said primitive belonging to the other of the first and second groups (G 1 , G 2 ) and said second value Y is equal to the product Wv c between said first value W and said public key v brought to the power of said second natural number c.
4. Procédé selon la revendication 3, caractérisé en ce que ladite première valeur W = Kg15^2) et/ou ledit premier terme g2 r ou g[ sont précalculés.4. Method according to claim 3, characterized in that said first value W = Kg 15 ^ 2 ) and / or said first term g 2 r or g [are precalculated.
5. Procédé selon la revendication 3 ou 4, caractérisé en ce que lesdites étapes sont réitérées un nombre prédéterminé de fois de manière parallèle ou séquentielle.5. Method according to claim 3 or 4, characterized in that said steps are repeated a predetermined number of times in parallel or sequential manner.
6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les premier et deuxième groupes (G1, G2) sont égaux et comportent un primitif commun g , les primitifs ^1 et g2 étant alors tout deux égaux à g .6. Method according to any one of claims 1 to 5, characterized in that the first and second groups (G 1 , G 2 ) are equal and comprise a common primitive g, primitives ^ 1 and g 2 then being both equal to g.
7. Système cryptographique à clé publique comportant une première entité (E1 ) possédant une clé secrète S associée à une clé publique P et une seconde entité (EΞ2) 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 revendications 1 à 6.7. Public key cryptosystem comprising a first entity (E1) having a secret key S associated with a public key P and a second entity (EΞ2) having said public key P, said system being adapted for the implementation of the cryptographic method according to at least one of claims 1 to 6.
8. Système cryptographique selon la revendication 7, caractérisé en ce que ladite première entité (E1 ) 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.8. Cryptographic system according to claim 7, characterized in that said first entity (E1) is constituted by an electronic chip and said second entity (E2) is constituted by an application or a verification device responsible for authenticating said electronic chip.
9. 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 à 6, lorsqu'il est exécuté sur un ordinateur ou une puce électronique. 9. Computer program downloadable from a communication network and / or stored on a computer readable medium and / or executable by an electronic chip, characterized in that it comprises code instructions for executing the steps of the cryptographic method according to at least one of claims 1 to 6, when executed on a computer or an electronic chip.
PCT/FR2007/051534 2006-06-30 2007-06-26 Public-key cryptographic system and method for the authentication of a first entity by a second entity WO2008001009A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0652749 2006-06-30
FR0652749A FR2903258A1 (en) 2006-06-30 2006-06-30 CRYPTOGRAPHIC SYSTEM AND METHOD WITH A PUBLIC KEY FOR THE AUTHENTICATION OF A FIRST ENTITY BY A SECOND ENTITY

Publications (1)

Publication Number Publication Date
WO2008001009A1 true WO2008001009A1 (en) 2008-01-03

Family

ID=37613907

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/051534 WO2008001009A1 (en) 2006-06-30 2007-06-26 Public-key cryptographic system and method for the authentication of a first entity by a second entity

Country Status (2)

Country Link
FR (1) FR2903258A1 (en)
WO (1) WO2008001009A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1675299A1 (en) * 2004-12-23 2006-06-28 Hewlett-Packard Development Company, L.P. Authentication method using bilinear mappings

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1675299A1 (en) * 2004-12-23 2006-06-28 Hewlett-Packard Development Company, L.P. Authentication method using bilinear mappings

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DAS ET AL: "A novel remote user authentication scheme using bilinear pairings", COMPUTERS & SECURITY, ELSEVIER SCIENCE PUBLISHERS. AMSTERDAM, NL, vol. 25, no. 3, May 2006 (2006-05-01), pages 184 - 189, XP005477985, ISSN: 0167-4048 *
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 *
M.KIM ET AL: "A New Identification Scheme Based on the Bilinear Diffie-Hellman Problem", 7TH AUSTRALIAN CONFERENCE ON INFORMATION SECURITY AND PRIVACY, ACISP'02, 2002, pages 362 - 378, XP002415284 *
SONGWON LEE ET AL: "Threshold Password-Based Authentication Using Bilinear Pairings", EURO PKI 2004, 2004, pages 350 - 363, XP019007640 *
YAO ET AL: "An Improvred Identification Scheme", PROGRESS IN COMPUTER SCIENCE AND APPLIED LOGIC, November 2003 (2003-11-01), pages 1 - 9, XP002415283 *

Also Published As

Publication number Publication date
FR2903258A1 (en) 2008-01-04

Similar Documents

Publication Publication Date Title
EP1441313B1 (en) Public key cryptographical method for protecting an electronic chip against fraud
WO1996033567A1 (en) Process for generating electronic signatures, in particular for smart cards
WO2002005152A1 (en) System and method for managing micropayment transactions, corresponding client terminal and trader equipment
WO2000062477A1 (en) Authentication and signature method for messages using reduced size of binary units of information content and corresponding systems
EP1266364B1 (en) Cryptographic method for protection against fraud
EP0909495B1 (en) Public key cryptography method
EP1807967B1 (en) Method for secure delegation of calculation of a bilinear application
EP0769768B1 (en) Cryptographic method to protect against fraud
CA2451034C (en) Cryptographic method of protecting an electronic chip against fraud
EP1721246B1 (en) Method and device for performing a cryptographic operation
WO2008001009A1 (en) Public-key cryptographic system and method for the authentication of a first entity by a second entity
EP1269431B1 (en) Method for protecting an electronic chip against fraud
WO2008017765A1 (en) Public key cryptographic system and method
FR3145222A1 (en) Protection against side-channel attacks of a cryptographic algorithm involving a substitution table
FR2734679A1 (en) Public key encryption based on discrete logarithms
WO2005088438A1 (en) Public-key cryptographic method
FR2871914A1 (en) SYSTEM OF PAYMENT BY SUITE OF TOKENS
WO2003023606A1 (en) Method of calculating the exponentiation in a group and the application thereof for user authentication
WO2016166478A1 (en) Methods of generating and verifying a security key of a virtual monetary unit
WO2007006798A1 (en) Method and system for authenticating silicon chips

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: 07803950

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: 07803950

Country of ref document: EP

Kind code of ref document: A1