WO2014125206A1 - Procédé cryptographique de génération d'une paire de clés utilisateur pour une entité possédant un identifiant public i, et système - Google Patents
Procédé cryptographique de génération d'une paire de clés utilisateur pour une entité possédant un identifiant public i, et système Download PDFInfo
- Publication number
- WO2014125206A1 WO2014125206A1 PCT/FR2014/050262 FR2014050262W WO2014125206A1 WO 2014125206 A1 WO2014125206 A1 WO 2014125206A1 FR 2014050262 W FR2014050262 W FR 2014050262W WO 2014125206 A1 WO2014125206 A1 WO 2014125206A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- entity
- key
- public
- pair
- user
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/64—Self-signed certificates
Definitions
- the invention relates to the field of securing data and exchanges between different entities using public key cryptographic techniques.
- It relates more particularly to the certification of a public key of a device having an identifier in order to improve the security of a mechanism for authenticating this device or for digitally signing a message by this device based on a diagram of the GPS type or "cryptoGPS" (named after its inventors Girault, Poupard and Stern).
- the GPS scheme has a preferred application in the field of radio-identification or RFID (for Radio Frequency IDentification).
- radio-identification is a technique used to store and retrieve data remotely using markers called radio-tags or radio tags or RFID tags. It is commonly used in many sectors of activity such as the pharmaceutical industry, distribution, fashion or libraries, for the traceability of various objects.
- the GPS scheme can be easily embedded in radio-identification systems. It makes it possible for a first device that is not very powerful in terms of computing power and memory, such as an RFID tag, to authenticate and authenticate itself securely with a second, more powerful device, such as a reader. RFID tags.
- the GPS protocol is advantageously such that the cost of authentication for the first least powerful device can be reduced substantially by means of a series of optimizations.
- Coupled mode which consists in calculating during a preliminary step all the values that can be and storing these precalculated values (i.e. the coupons) on the RFID tag. This leaves the RFID tag with only a minimum of operations to perform during the actual authentication session.
- FIG. 1 An example of implementation of a GPS authentication scheme of a first device E1 with a second device E2 is illustrated in FIG. 1.
- E1 is for example an RFID tag and E2 is an RFID tag reader.
- the PI phase is a preliminary phase that can be executed only once in the life of the authentication system, unlike the P2 phase which is implemented at each authentication of the device El.
- the parameters n, g, and the key v are public, that is, they are accessible by the device E2. On the other hand, the private key remains secret and is specific to the device El. It is stored on the device El and is never transmitted to the outside.
- the P2 authentication phase is carried out in three main steps.
- a plurality of commitment values or coupons x are similarly precalculated ; , ⁇ ⁇ i ⁇ N using random r ; , ⁇ ⁇ i ⁇ N, during the configuration phase Pl. These coupons are then stored on the device El in order to limit the calculations made by the device El during the authentication phase P2.
- the device E2 On receipt of this commitment, the device E2 randomly chooses a challenge c (step E30), which it transmits to the device El (step E40).
- the GPS scheme can also be used by an El device to digitally sign a message m.
- the challenge c is generated by the device E1 not randomly but by applying a hash function h to a vector resulting from the concatenation of the message m and the commitment x.
- the digital signature associated with the message m is then formed by the pair (c, y).
- PKI public key infrastructure
- One solution to overcome this disadvantage is to use an authentication or signature mechanism based on the GPS scheme and based on the identity of the device that seeks to authenticate or to sign a message.
- the public key of the device El can be replaced by its identity (for example its code EPC (Electronic Product Code) for an RFID tag).
- EPC Electronic Product Code
- the link between the device and its public key is direct.
- a certification authority CA signs the identity I of the device El by generating a certificate, while respecting the constraints of the GPS scheme (non-disclosure of the secret key s of the device El, and in particular to the authority of certification). Then the device El uses a public user key formed by the certificate and its identity to authenticate with an E2 device using a GPS authentication scheme.
- step F10 a so-called "master" key pair is generated for the CA from:
- n pq defined as the product of two prime numbers p and q;
- the master key pair of the CA includes MasterPubK master public key and MasterSecK master private key defined by:
- the CA CA calculates a certificate A (step F50) according to:
- step F60 then transmits it to the device El (step F60).
- step F70 Upon receipt of the certificate A, the device El verifies that (step F70):
- the advantage of such a solution is that it makes it possible to certify the identity / device El without using a PKI public key infrastructure and while remaining compatible with the implementation of an authentication scheme or GPS signature.
- the invention responds in particular to this need by proposing a cryptographic method for generating a user key pair for an entity having a public identifier /, this method comprising: A step of generating, by a certification authority, a pair of master keys comprising:
- a master public key comprising an RSA n module, produces two prime numbers p and q, an integer b greater than or equal to 1, two quadratic residues a and g modulo n, and a value h determined from a random z;
- a secret master key comprising the prime numbers p and q;
- the relationship between the public identity of the entity and its public key is established by a certification authority via the generation of a certificate allowing the signing of the certificate.
- public identity of the entity so that the public user key of the entity consists of its public identity and the certificate thus generated by the certification authority.
- the secret key of the entity is also never disclosed, including to the certification authority, since only a proof of knowledge of the secret key to zero knowledge disclosure is provided to it, without ever disclosing the secret key.
- the zero-knowledge protocol used by the entity relies for example on a GPS type authentication scheme.
- the hazard e used in the certificate is specific to each public identifier /, and on the other hand, the relationship linking the certificate, the secret key and the public identity is now tamper-proof due in particular to the presence by exposing the identity of the entity in the certificate generated by the certification authority.
- the use of an RSA module to generate the master public key of the certification authority also reinforces this complexity.
- the user key pair generated according to the invention is therefore unfalsifiable, the adversary being unable to generate a valid user key pair from the information published by the certification authority and by the entity.
- the inventors had the judicious idea to transpose the signature scheme of a message described in the document of Mr. Joye to the problem of the certification of the identity of the entity embedded in an identity-based GPS mechanism, to generate a pair of user keys compatible with a GPS authentication or signature mechanism of a message.
- the invention can easily be part of a low-cost cryptography logic allowing the entity to authenticate itself or to sign a message according to a GPS mechanism.
- the verifier device in charge of authenticating the entity possessing a user key pair generated according to the invention or of verifying the signature of a message produced by such an entity, applies an authentication mechanism or type of GPS signature as described above with reference to Figure 1 based:
- the invention therefore provides a secure solution to the certification of the identity of the entity as part of a GPS authentication or signature mechanism.
- the method of generating a user key pair proposed by the invention also makes it possible to envisage dimensions for the user secret key, the random variables, the RSA module, etc., which are reasonable, with a choice of appropriate function f, so that the complexity of embodiment of the invention remains limited and is compatible with low cost cryptography logic. This is particularly the case when the pair (A e) generated by the certification authority verifies:
- the invention is not limited to the aforementioned function f.
- the certificate (A, e) generated by the certification authority verifies:
- the verifier device responsible for authenticating the entity having a user key pair generated according to this embodiment of the invention or verifying the signature of a message produced by such an entity applies a GPS authentication or signature mechanism based on the entity's private user key, on the g element issued by the certification authority, and on a public key v generated by the verifier device from the public user key of the entity according to:
- the certificate (A, e) generated by the certification authority verifies:
- the verifier device in charge of authenticating the entity having a user key pair generated according to this embodiment of the invention, or of verifying the signature of a message produced by such an entity, applies an authentication mechanism or type of GPS signature based on the user's private key of the entity, on the element g published by the certification authority, and on a public key v generated by the verifier device from the public key user of the entity according to:
- the invention provides a method of authenticating an entity having a public identifier / with a verifier device, by using a user key pair generated in accordance with the generation method according to the invention. , the authentication of the entity being performed using a GPS type authentication scheme implemented between the entity and the verifier device.
- This method has both the advantages of the generation method according to the invention and the advantages of a GPS authentication method, recalled above, in terms of complexity (computing power and / or storage memory).
- Such a method because of its low complexity, can be easily implemented between an RFID tag and an RFID tag reader.
- another aspect of the invention is a method of signing a message by an entity having a public identifier / using a pair of user keys generated in accordance with the generation method according to the invention, the signature of the message being carried out at using a GPS type signature scheme.
- This method also benefits both the advantages of the generation method according to the invention and the advantages of a GPS signature method, mentioned above.
- the invention relies, as mentioned above, firstly on an entity having a public identifier and seeking to authenticate or to sign a message according to a GPS mechanism based on the identity, and secondly on a certification authority, able to establish a relationship between the public identifier of the entity and its public key.
- the invention also relates to a method for obtaining by an entity having a public identifier / of a pair of user keys comprising a user public key and a user private key, this method comprising:
- the invention relates to an entity having a public identifier / comprising:
- an evaluation module able to evaluate from:
- the invention also relates to a method of sending by a certificate authority a certificate to an entity having a public identifier / for forming a user public key for this entity, this method comprising:
- a step of generating a pair of master keys comprising:
- a master public key comprising an RSA n module, produces two prime numbers p and q, an integer b greater than or equal to 1, two quadratic residues a and g modulo n, and a value h determined from a random z;
- a secret master key comprising the prime numbers p and q;
- a step of receiving from the entity a value v g ⁇ s (mod) generated by the entity using its user private key s, and a proof of knowledge of the secret key user according to a protocol with zero disclosure of knowledge;
- the invention provides a certification authority comprising:
- a module for generating a pair of master keys comprising:
- a master public key comprising an RSA n module, produces two prime numbers p and q, an integer b greater than or equal to 1, two quadratic residues a and g modulo n, and a value h determined from a random z;
- a secret master key comprising the prime numbers p and q;
- a receiving module from the entity of a value v g ⁇ s (mod n) generated by the entity using its user private key s, and a proof of knowledge of the key secret user according to a protocol with zero disclosure of knowledge;
- a generation module from the public identifier / entity and the value v, of a pair of (A, e) in which e is a random associated with the public identifier /, and:
- a module for sending the pair (A, e) to the entity The obtaining method, the sending method, the entity and the certification authority benefit from the same advantages as mentioned above for the method of generating a user key pair.
- the various steps of the obtaining method and the sending method are implemented by a silicon chip which comprises transistors adapted to constitute logic gates of a non-programmable hardwired logic.
- a silicon chip which comprises transistors adapted to constitute logic gates of a non-programmable hardwired logic. This embodiment is particularly advantageous in the context of RFID tags.
- the various steps of the method of obtaining and the method of sending are determined by computer program instructions.
- the invention also relates to a computer program on an information medium, this program being capable of being implemented in an entity or more generally in a computer, this program comprising instructions adapted to the implementation of steps of a production process as described above.
- the invention also relates to a computer program on an information medium, this program being capable of being implemented in a certification authority or more generally in a computer, this program comprising instructions adapted to the implementation steps of a sending method as described above.
- Each of these programs 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 form what other form is desirable.
- 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 entity 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 provides a system comprising:
- this system further comprises a verifier device, able to authenticate the entity by applying a GPS authentication scheme or to check the validity of a signature of a message generated by the entity by applying a GPS signature scheme.
- FIG. 1, already described, schematically represents a GPS authentication scheme of the state of the art
- FIG. 2 already described, schematically represents a GPS authentication scheme based on the identity proposed in the state of the art
- FIG. 3 schematically shows a system according to the invention comprising an entity and a certification authority according to the invention in a particular embodiment
- FIG. 4 illustrates the main steps of a generation method, a sending method and a method of obtaining according to the invention as they are implemented in a particular embodiment respectively by the system, the certification authority and the entity of Figure 3;
- FIG. 5 illustrates an application of the user key pair generated according to the invention to a GPS authentication mechanism of the entity of FIG. 3 with a verifier device.
- Appendix 1 recalls the recommendations concerning cryptographic parameter dimensions of the ECRYPTII instance.
- the invention proposes a secure mechanism based on the generation, by a certification authority, of a public key (A, e, l) certified for an entity and based on its identity / (or identifier public), this public key being advantageously unfalsifiable and compatible with an authentication scheme or GPS signature.
- the certification authority generates, for the public / entity identifier, a certificate consisting of a pair of values (A, e) where e is a hazard specific to the public / entity identifier and A is in the form:
- n is an RSA module
- b is an integer greater than or equal to 1
- v is a value generated by the entity using its private key s and transmitted to the certification authority
- h is a value determined by the certification authority from a randomly kept secret by the certification authority.
- functions / are proposed in the remainder of the description for illustrative purposes.
- FIG. 3 represents, in its environment, a system 1 according to the invention, in a particular embodiment.
- This system 1 comprises an entity 2, a certification authority 3 and a verifier device 4, in accordance with the invention.
- the entity 2 is an RFID tag seeking to authenticate itself to the verifier device 4, using a GPS authentication scheme based on the identity as presented above.
- the verifier device 4 is here an RFID tag reader.
- the entity 2 may be a terminal and the verifier device 4 a server from which the entity 2 seeks to authenticate.
- the invention has a privileged application in association with a GPS-type authentication or signature mechanism
- the invention can be used in association with other asymmetric cryptographic mechanisms using a certificate of an authority certification.
- Entity 2 has an identifier /, such as for example an electronic product code or EPC (Electronic Product Code).
- This identifier is public, that is to say accessible by or known to other entities, such as, for example, the certification authority 3 or by the verifier device 4.
- the identifier / is, in the example envisaged here , an integer of 160 bits.
- the entity 2 integrates a silicon chip 2A and communication means 2B with the certification authority 3 and the verifier device 4.
- the silicon chip 2A comprises transistors adapted to constitute gates logical of a non-programmable hardwired logic for executing the steps of the method for obtaining a user key pair described later with reference to FIG.
- the entity 2 has the hardware architecture of a computer, and comprises in particular a processor, a read-only memory, a random access memory, a non-volatile memory and communication means with a computer.
- the read-only memory of the entity 2 constitutes a recording medium in accordance with the invention, readable by the processor and on which is recorded a computer program according to the invention. , comprising instructions for performing the steps of the method of obtaining a pair of user keys.
- This computer program defines, in an equivalent way, functional modules of the entity 2 able to implement the steps of the obtaining method.
- the certification authority 3 has, in the embodiment described here, the hardware architecture of a computer.
- processor 3A It comprises in particular a processor 3A, a read-only memory 3B, a random access memory 3C, a non-volatile memory 3D and communication means 3E with the entity 2.
- the ROM 3B of the certification authority is a recording medium according to the invention, readable by the processor 3A and on which is recorded a computer program according to the invention, including instructions for execution steps of a method of sending a certificate according to the invention described now with reference to Figure 4, in a particular embodiment.
- This computer program defines, in an equivalent manner, functional modules of the certification authority capable of implementing the steps of the obtaining method.
- This generation process is based on the method of sending a certificate associated with the public identifier / of the entity 2 implemented by the certification authority 3, and on the method of obtaining a user key pair by entity 2 from this certificate.
- the certification authority 3 generates a pair of master keys comprising a master public key mpk and a master secret key msk (step G10).
- the certification authority 3 generates from these numbers and a hazard z, a value h such that:
- h g ⁇ z (rnod).
- the master public key mpk of the certification authority 3 is published.
- the entity 2 then sends the certification authority 3 its public identifier /, the value v and a proof of knowledge of the secret user key s according to a protocol with zero disclosure of knowledge (step G40).
- This protocol is based for example on a GPS type authentication scheme as described above or as illustrated in the document by Mr. Girault. Such a protocol is known per se and will not be described in more detail here.
- the certification authority 3 verifies the proof of knowledge sent by the entity 2, then generates, from the public identifier / and the value v, a certificate formed of a pair of values (A, e) (step G50).
- e is an integer chosen randomly by the certification authority 3 and associated with the public identifier / (i.e. a distinct integer e is chosen for each public identifier J), of 128-bit dimension here.
- the certification authority 3 generates the value A according to:
- a eb is written as:
- the certification authority 3 sends the certificate (A, e) thus generated to the entity 2 (step G60).
- step G70 upon receipt of this certificate, the entity 2 verifies that (step G70):
- the user key pair (upk, usk) thus obtained by the entity 2 is compatible with an authentication or signature scheme of a GPS type message.
- the entity 2 thus obtains the user key pair (upk, usk) generated according to the invention (step H 20).
- the verifier device 4 On receipt of the public key upk, the verifier device 4 evaluates a new public key v 'according to:
- step H40 using the master public key issued by the certification authority 3 (step H40).
- a GPS authentication scheme is then implemented between the entity 2 and the verifier device 4, similarly to what has been described above with reference to FIG. 1, but applied to the public key v 'evaluated by the verifier device 4, to the element g published by the certification authority 3, and to the secret key usk of the entity 2 (step H50).
- the steps of this diagram being identical to those described with reference to Figure 1, they will not be described again here.
- the entity 2 can sign a message m according to a GPS signature mechanism as described above, using the user key pair (upk, usk) generated in accordance with the invention.
- the verifier device 4 then verifies, upon receipt of the message m and its signature, that the signature is valid by applying the verification steps detailed previously and using as public key v '.
- the LEV, LS, Ln, Lz and L1 parameters are set according to the level of security that is desired for the underlying cryptographic problems that result from the certification proposed by the invention (ie factoring, logarithms These problems are relatively standard in the state of the art, the fixing of these parameters does not pose any difficulty in itself to the skilled person.
- the values of the parameters Le, b and Lusk can then be set according to the values chosen for the parameters LEV, LS, Ln, Lz and Ll.
- Lusk a dimension consistent with the recommendations of various instances in cryptography, and in particular for example by the consortium ecrypt2.
- These recommendations are recalled at the following URL: http: //www.keylength.eom/en/3/ and an excerpt is reproduced in Appendix 1. More details on these recommendations are available in the document entitled “Yearly Report on Algorithms”. and KeySizes (2011) “, D.SPA.17 Rev. 1.0, ICT-2007-216676 ECRYPT II, June 2011.
- Ln 3248 bits
- a public identifier / for the entity 2 comprising at least 160 bits and a user secret key of at least 400 bits is preferably chosen.
- the certification authority 3 used during the step G50, to generate the certificate (A, e), a function of the form:
- the certification authority 3 generates during the step G50 a certificate CA, e) for the public identifier I, where e is an integer chosen randomly by the certification authority 3 and associated with the public identifier / (the a distinct integer e is chosen for each public identifier 1), and the value A is generated according to:
- h is a random value of the same dimension as n, determined from a randomness z.
- the hazard z is for example the seed of a pseudo-random generator.
- a eb is written as:
- entity 2 upon receipt of this certificate, entity 2 then verifies during step G70 that:
- the authentication of the entity 2 by the verifier device 4 is based on the evaluation by the verifier device 4 of a new public key v 'during the step H40 according to: using the master public key issued by the CA 3.
- the certification authority 3 generates during the step G50 a certificate CA, e) for the public identifier /, where e is an integer chosen randomly by the certification authority 3 and associated to the public identifier / (ie a separate integer e is chosen for each public identifier J), and the value A is generated according to:
- the hazard z is for example the seed of a pseudo-random generator.
- entity 2 upon receipt of this certificate, entity 2 then verifies during step G70 that:
- the authentication of the entity 2 by the verifier device 4 is based on the evaluation by the verifier device 4 of a new public key v 'during the step H40 according to:
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Procédé cryptographique de génération d'une paire de clés utilisateur pour une entité possédant un identifiant public /, et système. Le procédé selon l'invention comporte: la génération (G10) par une autorité de certification: o d'une clé publique maître comprenant un module RSA n produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques a et g modulo n et une valeur h déterminée à partir d'un aléa z;o une clé secrète maître comprenant p et q; la génération (G20) par l'entité d'une clé secrète utilisateur s; l'évaluation (G30) par l'entité d'une valeur v = g~s (mod n); l'envoi (G40) de v à l'autorité avec une preuve de connaissance de s; la génération (G50) par l'autorité d'un certificat {A, e) dans lequel e est un aléa associé à / et: A eb = f (h i , v, n), f étant une fonction prédéterminée; l'envoi (G60) de (A, e) à l'entité; l'obtention (G80) d'une paire de clés utilisateur pour l'entité comprenant s et une clé publique utilisateur formée à partir de A, e et I
Description
Procédé cryptographique de génération d'une paire de clés utilisateur pour une entité possédant un identifiant public /, et système Arrière-plan de l'invention
L'invention se rapporte au domaine de la sécurisation des données et des échanges entre différentes entités à l'aide de techniques cryptographiques à clé publique.
Elle concerne plus particulièrement la certification d'une clé publique d'un dispositif possédant un identifiant en vue d'améliorer la sécurité d'un mécanisme d'authentification de ce dispositif ou de signature numérique d'un message par ce dispositif s'appuyant sur un schéma de type GPS ou « cryptoGPS » (du nom de ses inventeurs Girault, Poupard et Stern).
Le schéma GPS est décrit en détail dans le document intitulé « On the Fly Authentification and Signature Schemes based on Groups of Unknown Order », Journal of Cryptology, pages 463-488, vol. 19 n°4, 2006. Il s'agit d'un protocole à divulgation nulle de connaissance (ou « zéro knowledge » en anglais), offrant une solution sécurisée à faible coût, en termes de puissance de calcul et/ou de mémoire de stockage.
Ainsi, le schéma GPS a-t-il une application privilégiée dans le domaine de la radio- identification ou RFID (pour Radio Frequency IDentification).
De façon connue, la radio-identification est une technique utilisée pour stocker et récupérer des données à distance en utilisant des marqueurs appelés radio-étiquettes ou étiquettes radio ou encore tags RFID. Elle est couramment utilisée dans de nombreux secteurs d'activités tels que l'industrie pharmaceutique, la distribution, la mode ou dans les bibliothèques, pour la traçabilité d'objets divers et variés.
Du fait de sa faible complexité, le schéma GPS peut être aisément embarqué dans les systèmes de radio-identification. Il permet en effet à un premier dispositif peu puissant en termes de puissance de calcul et de mémoire, tel une étiquette RFID, de s'identifier et de s'authentifier de manière sécurisée auprès d'un second dispositif plus puissant, tel un lecteur d'étiquettes RFID. Le protocole GPS est avantageusement tel que le coût de l'authentification pour le premier dispositif le moins puissant peut être réduit substantiellement au moyen d'une série d'optimisations.
II existe en particulier un mode dit « à coupons », qui consiste à calculer au cours d'une étape préliminaire toutes les valeurs qui peuvent l'être et à stocker ces valeurs précalculées (i.e. les coupons) sur l'étiquette RFID. De cette sorte il ne reste à l'étiquette RFID qu'un minimum d'opérations à effectuer pendant la session d'authentification à proprement parler.
Un exemple de mise en œuvre d'un schéma d'authentification GPS d'un premier dispositif El auprès d'un second dispositif E2 est illustré à la figure 1. El est par exemple une étiquette RFID et E2 un lecteur d'étiquettes RFID.
Il est classiquement composé de deux phases, à savoir une première phase PI de configuration au cours de laquelle des données d'authentification (paramètres, clés publique/privée
et le cas échéant coupons) sont calculées et/ou fournies au premier dispositif El, puis une seconde phase P2 d'authentification au cours de laquelle le premier dispositif El s'authentifie auprès du second dispositif E2 à l'aide de ces données d'authentification. La phase PI est une phase préliminaire qui peut n'être exécutée qu'une seule fois dans la vie du système d'authentification, contrairement à la phase P2 qui est mise en œuvre à chaque authentification du dispositif El.
Au cours de la phase de configuration PI, une paire de clé publique v/ clé privée s' est générée. Dans l'exemple illustré à la figure 1, les clés s et v sont liées par la relation suivante :
v = g~s modn
où n = pq est un module dit RSA (Rivest Shamir Adleman) résultant du produit de deux nombres premiers p et q, g est un élément du groupe multiplicatif Z* = (Ζ/ ηΖ) \ {θ}, Z désignant l'ensemble des entiers relatifs. Les paramètres n , g, et la clé v sont publics, autrement dit, ils sont accessibles par le dispositif E2. En revanche, la clé privée s reste secrète et est propre au dispositif El. Elle est stockée sur le dispositif El et n'est jamais transmise vers l'extérieur.
La phase P2 d'authentification s'effectue en trois étapes principales.
Le dispositif El choisit aléatoirement un entier r puis évalue un engagement x = gr modn (étape E10) qu'il transmet au dispositif E2 (étape E20).
Dans le mode dit à coupons, on précalcule de façon similaire une pluralité de valeurs d'engagement ou coupons x;, \≤i≤N à l'aide d'aléas r;, \≤i≤N, au cours de la phase de configuration Pl. Ces coupons sont ensuite stockés sur le dispositif El afin de limiter les calculs réalisés par le dispositif El au cours de la phase d'authentification P2.
Sur réception de cet engagement, le dispositif E2 choisit aléatoirement un défi c (étape E30), qu'il transmet au dispositif El (étape E40).
Le dispositif El évalue une réponse à ce défi y = r + c x s (étape E50), qu'il envoie au dispositif E2 pour vérification (étape E60). Cette vérification consiste pour le dispositif E2 à s'assurer que x = gyvc modn (étape E70). Le cas échéant, le dispositif El est valablement authentifié.
Le schéma GPS peut également être utilisé par un dispositif El pour signer numériquement un message m.
Dans ce cas, le défi c est généré par le dispositif El non pas aléatoirement mais en appliquant une fonction de hachage h à un vecteur résultant de la concaténation du message m et de l'engagement x . La signature numérique associée au message m est alors formée par le couple (c, y).
Sur réception du message m et de sa signature (c, y), le dispositif E2 vérifie que la signature est valide en calculant la valeur x' = gy /vc )modn et la valeur c' = î(m, '), puis en s'assurant que c = c' .
Pour renforcer la sécurité du schéma GPS, le recours à une infrastructure de clés publiques ou PKI (Public Key Infrastructure) est nécessaire afin d'établir un lien entre la clé publique qui est utilisée lors de l'authentification ou de la signature, et l'identité du dispositif El. Une telle infrastructure est toutefois relativement complexe à mettre en œuvre et à gérer.
Une solution pour remédier à cet inconvénient consiste à utiliser un mécanisme d'authentification ou de signature s'appuyant sur le schéma GPS et basé sur l'identité du dispositif qui cherche à s'authentifier ou à signer un message.
Par exemple, la clé publique du dispositif El peut être remplacée par son identité (par exemple son code EPC (Electronic Product Code) pour une étiquette RFID). Ainsi, le lien entre le dispositif et sa clé publique est direct.
Toutefois avec une telle solution, lorsque la clé secrète du dispositif est compromise, par exemple parce que le dispositif sur lequel elle est stockée est perdu, l'identité du dispositif est également compromise. Or il n'est pas toujours possible d'obtenir une autre paire de clés pour la même identité.
Une solution alternative, toujours basée sur l'identité du dispositif El qui cherche à s'authentifier ou à signer un message, est proposée par Marc Girault dans le document intitulé « Self-certified public keys », Eurocrypt'91, vol. 547, Lecture Notes in Computer Science, pages 490-497, Springer, 1991.
Conformément à cette solution, une autorité de certification CA signe l'identité I du dispositif El en générant un certificat, tout en respectant les contraintes du schéma GPS (non divulgation de la clé secrète s du dispositif El, et notamment à l'autorité de certification). Puis le dispositif El utilise une clé publique utilisateur formée du certificat et de son identité pour s'authentifier auprès d'un dispositif E2 à l'aide d'un schéma d'authentification GPS.
Un exemple de mise en œuvre de cette solution est illustré à la figure 2.
Dans un premier temps (étape F10), une paire de clés dite « maître » est générée pour l'autorité de certification CA à partir :
d'un module RSA n = pq défini comme le produit de deux nombres premiers p et q ;
d'un entier e premier avec (p-1) et (q-1) et d'un entier d = e~1(mod(p - ï)(q - ï)) ;
et d'un élément^ du groupe multiplicatif Z* = (Z InZ) \ {0}, Z désignant l'ensemble des entiers relatifs.
La paire de clés maître de l'autorité de certification comprend une clé publique maître MasterPubK et une clé privée maître MasterSecK définies par :
MasterPubK = (n,e, g)
MasterSecK = (p,q,d)
Au niveau du dispositif El, au cours d'une étape de configuration, une clé secrète s du dispositif El est générée de façon aléatoire (étape F20).
Puis le dispositif El génère la valeur v = g s moàn (étape F30) et l'envoie à l'autorité de certification CA avec son identité / et une preuve de connaissance de la clé secrète s à divulgation nulle de connaissance (étape F40). Cette preuve est fournie via la mise en œuvre d'un schéma GPS.
Après avoir vérifié la connaissance de la clé secrète s par le dispositif El, l'autorité de certification CA calcule un certificat A (étape F50) selon :
puis le transmet au dispositif El (étape F60).
Sur réception du certificat A, le dispositif El vérifie que (étape F70) :
v = Ae + I (modw) .
Le cas échéant, le dispositif El dispose d'une paire de clés utilisateur comprenant une clé publique utilisateur UPubK = (A,I) et d'une clé secrète utilisateur USecK= s (étape F80).
L'authentification du dispositif El auprès d'un dispositif E2 est alors réalisée à l'aide d'un mécanisme d'authentification GPS tel que décrit précédemment en référence à la figure 1, appliqué à la clé secrète utilisateur s du dispositif El, à l'élément g et à une clé publique v = Ae + 1 générée par le dispositif E2 à partir de la clé publique UPubK = (A,I) du dispositif El (étape F90).
L'avantage d'une telle solution est qu'elle permet de certifier l'identité /du dispositif El sans faire appel à une infrastructure PKI de clés publiques et tout en restant compatible avec la mise en œuvre d'un schéma d'authentification ou de signature GPS.
Toutefois selon cette solution, il est facile pour un adversaire d'obtenir une paire de clés utilisateur valide, sans l'intervention de l'autorité de certification. En effet, l'adversaire peut choisir aléatoirement une clé secrète s*, une valeurA* et calculer ensuite une identité
I* = g~ * +A*e (modn) . Même si en pratique, la probabilité de fonctionnement d'une telle attaque est très faible, l'adversaire ne pouvant contrôler la valeur de l'identité f , cette attaque reste néanmoins possible.
Il existe donc un besoin d'un mécanisme permettant de générer une clé publique certifiée basée sur l'identité d'un dispositif et compatible avec un schéma d'authentification ou de signature GPS, ne présentant pas les inconvénients de l'état de la technique en termes de sécurité et sans recourir à une infrastructure PKI.
Objet et résumé de l'invention
L'invention répond notamment à ce besoin en proposant un procédé cryptographique de génération d'une paire de clés utilisateur pour une entité possédant un identifiant public /, ce procédé comportant :
— une étape de génération, par une autorité de certification, d'une paire de clés maître comprenant :
o une clé publique maître, comprenant un module RSA n, produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques a et g modulo n, et une valeur h déterminée à partir d'un aléa z ;
o une clé secrète maître comprenant les nombres premiers p et q ;
— une étape de génération par l'entité d'une clé secrète utilisateur s à partir d'un aléa ;
— une étape d'évaluation par l'entité, à partir de la clé secrète utilisateur et de la clé publique maître, d'une valeur v = g~s (mod ) ;
— une étape d'envoi par l'entité de cette valeur v à l'autorité de certification avec une preuve de connaissance de la clé secrète utilisateur selon un protocole à divulgation nulle de connaissance ;
— une étape de génération par l'autorité de certification, à partir de l'identifiant public / de l'entité et de la valeur v, d'un certificat formé d'un couple de valeurs {A, e) dans lequel e est un aléa associé à l'identifiant public / et :
Ae" = f{h!, v, n) ,
où f est une fonction prédéterminée ; et
— une étape d'envoi du certificat (A, e) à l'entité par l'autorité de certification ;
ces étapes résultant en l'obtention d'une paire de clés utilisateur pour l'entité comprenant la clé secrète utilisateur s et une clé publique utilisateur formée à partir des valeurs A et e et de l'identifiant / de l'entité.
Ainsi selon l'invention, et comme dans le schéma proposé par M. Girault, la relation entre l'identité publique de l'entité et sa clé publique est établie par une autorité de certification via la génération d'un certificat permettant de signer l'identité publique de l'entité, de sorte que la clé publique utilisateur de l'entité est constituée de son identité publique et du certificat ainsi généré par l'autorité de certification.
La clé secrète de l'entité n'est par ailleurs jamais divulguée, y compris à l'autorité de certification, puisque seule une preuve de connaissance de la clé secrète à divulgation nulle de connaissance est apportée à celle-ci, sans jamais divulguer la clé secrète. Le protocole à divulgation nulle de connaissance utilisé par l'entité s'appuie par exemple sur un schéma d'authentification de type GPS.
Toutefois, conformément à l'invention, d'une part, l'aléa e utilisé dans le certificat est propre à chaque identifiant public /, et d'autre part, la relation liant le certificat, la clé secrète et l'identité publique est maintenant infalsifiable du fait notamment de la présence en exposant de l'identité de l'entité dans le certificat généré par l'autorité de certification. La fonction f permet de s'assurer qu'aucune entité, sans connaître la factorisation du module RSA n, ne peut trouver un
couple de valeurs (A, e) qui va vérifier la relation Aeb = f(h', v, n) . Seule l'autorité de certification peut générer un tel couple de valeurs.
Pour mieux illustrer les avantages de l'invention et notamment ce caractère infalsifiable, nous allons envisager plusieurs exemples de fonctions f pouvant être utilisées par l'autorité de certification pour générer le certificat (A, e).
Dans un premier mode de réalisation de l'invention :
h = g~z(mod ri),
et le certificat (A, e) généré par l'autorité de certification vérifie :
A = (ah'v^ mod ri),
avec d = (mod (p— l) (q>— 1)) et b supérieur à 1.
Par ailleurs, pour renforcer la sécurité du schéma ainsi proposé, le procédé de génération peut comprendre en outre une étape de vérification par l'entité que : v =— - (mod n) .
ah1 J
Dans ce premier mode de réalisation, un adversaire peut certes choisir aléatoirement une clé secrète s* , une valeur A* et calculer ensuite, à partir de la clé publique maître, la valeur h = a A e gs (modw) . Toutefois, il ne peut pas à partir de cette valeur générer une identité publique /, du fait de la complexité du problème logarithmique discret à résoudre. L'utilisation d'un module RSA pour générer la clé publique maître de l'autorité de certification renforce en outre cette complexité.
La paire de clés utilisateur générée selon l'invention est donc infalsifiable, l'adversaire étant dans l'impossibilité de générer une paire de clés utilisateur valide à partir des informations publiées par l'autorité de certification et par l'entité.
La preuve du niveau de sécurité atteint par ce premier mode de réalisation de l'invention (autrement dit du caractère infalsifiable de la paire de clés utilisateur générée) peut être apportée en s'appuyant sur une démonstration analogue à celle menée par M. Joye dans le document intitulé « An efficient on-line/off-line signature scheme without random oracles », CANS'08, vol. 5339 de Lecture Notes in Computer Science, pages 98-107, Springer, 2008. Ce document propose en effet un procédé de signature d'un message, présenté comme une alternative au schéma de signature GPS mais qui contrairement au schéma GPS, ne s'appuie pas sur un modèle d'oracle aléatoire. Conformément à ce procédé, le message est signé à l'aide d'une signature vérifiant une relation analogue à celle liant l'identité publique / de l'entité, le certificat (A,e) généré par l'autorité de certification et l'élément g publié par l'autorité de certification conformément à l'invention.
Les inventeurs ont eu l'idée judicieuse de transposer le schéma de signature d'un message décrit dans le document de M. Joye au problème de la certification de l'identité de l'entité
posé dans un mécanisme GPS basé sur l'identité, afin de générer une paire de clés utilisateurs compatible avec un mécanisme GPS d'authentification ou de signature d'un message. De cette sorte, l'invention peut aisément s'inscrire dans une logique de cryptographie à bas coût permettant à l'entité de s'authentifier ou de signer un message selon un mécanisme GPS.
II suffit à cet effet que le dispositif vérificateur en charge d'authentifier l'entité possédant une paire de clés utilisateur générée selon l'invention ou de vérifier la signature d'un message produite par une telle entité, applique un mécanisme d'authentification ou de signature de type GPS tel que décrit précédemment en référence à la figure 1 s'appuyant :
— sur la clé privée utilisateur de l'entité,
— sur l'élément publié par l'autorité de certification, et
— sur une clé publique v générée par le dispositif vérificateur à partir de la clé publique utilisateur de l'entité selon :
Ae"
v = — (mod n) .
(ah )
L'invention offre donc une solution sécurisée à la certification de l'identité de l'entité dans le cadre d'un mécanisme d'authentification ou de signature de type GPS.
Il convient de noter que le procédé de génération d'une paire de clés utilisateur proposé par l'invention permet en outre d'envisager des dimensions pour la clé secrète utilisateur, les aléas, le module RSA, etc., raisonnables, moyennant un choix approprié de la fonction f, de sorte que la complexité de réalisation de l'invention reste limitée et est compatible avec une logique de cryptographie bas coût. C'est le cas notamment lorsque le couple (A e) généré par l'autorité de certification vérifie :
A = (ahlv)d (mod n),
avec d = {mod (p— l) (q>— 1)) et b supérieur à 1.
Les dimensions de ces paramètres dépendent bien entendu d'un compromis sécurité/complexité.
Toutefois, préférentiellement, on choisit une faible valeur pour l'entier b, tel que par exemple b=4, un identifiant de l'entité de dimension supérieure ou égale à 160 bits, et une clé secrète utilisateur s comprenant au moins 400 bits.
L'invention ne se limite pas à la fonction f précitée.
Ainsi, dans un autre mode de réalisation de l'invention, le certificat (A, e) généré par l'autorité de certification vérifie :
Ae = ahlv(mod )
(Le., b=l dans ce mode de réalisation).
Le dispositif vérificateur en charge d'authentifier l'entité possédant une paire de clés utilisateur générée selon ce mode de réalisation de l'invention ou de vérifier la signature d'un
message produite par une telle entité, applique un mécanisme d'authentification ou de signature de type GPS s'appuyant sur la clé privée utilisateur de l'entité, sur l'élément g publié par l'autorité de certification, et sur une clé publique v générée par le dispositif vérificateur à partir de la clé publique utilisateur de l'entité selon :
Ae
v = — (mod n) .
(ah1 )
Cette solution, bien que très avantageuse en termes de sécurité, nécessite toutefois des tailles de paramètres, et notamment de clé secrète, plus importantes.
Dans un autre mode de réalisation encore, le certificat (A, e) généré par l'autorité de certification vérifie :
Ae = hI + v(mod ri).
Le dispositif vérificateur en charge d'authentifier l'entité possédant une paire de clés utilisateur générée selon ce mode de réalisation de l'invention, ou de vérifier la signature d'un message produite par une telle entité, applique un mécanisme d'authentification ou de signature de type GPS s'appuyant sur la clé privée utilisateur de l'entité, sur l'élément g publié par l'autorité de certification, et sur une clé publique v générée par le dispositif vérificateur à partir de la clé publique utilisateur de l'entité selon :
v = Ae - h1 (mod n) .
Ces exemples ne sont bien entendu pas exhaustifs. On peut envisager d'autres fonctions f procurant des avantages similaires à ceux décrits précédemment et qui permettent de générer une paire de clés utilisateur compatibles avec un schéma d'authentification ou de signature GPS.
En corollaire, selon un autre aspect, l'invention vise un procédé d'authentification d'une entité possédant un identifiant public / auprès d'un dispositif vérificateur, en utilisant une paire de clés utilisateur générée conformément au procédé de génération selon l'invention, l'authentification de l'entité étant réalisée à l'aide d'un schéma d'authentification de type GPS mis en œuvre entre l'entité et le dispositif vérificateur.
Ce procédé bénéficie à la fois des avantages du procédé de génération selon l'invention et des avantages d'un procédé d'authentification GPS, rappelés précédemment, en termes de complexité (puissance de calcul et/ou mémoire de stockage).
Un tel procédé, du fait de sa faible complexité, peut être aisément mis en œuvre entre une étiquette RFID et un lecteur d'étiquettes RFID.
L'invention vise selon un autre aspect encore un procédé de signature d'un message par une entité possédant un identifiant public / en utilisant une paire de clés utilisateur générée conformément au procédé de génération selon l'invention, la signature du message étant réalisée à l'aide d'un schéma de signature de type GPS.
Ce procédé bénéficie également à la fois des avantages du procédé de génération selon l'invention et des avantages d'un procédé de signature GPS, rappelés précédemment.
L'invention s'appuie, comme mentionné précédemment, d'une part sur une entité possédant un identifiant public et cherchant à s'authentifier ou à signer un message selon un mécanisme GPS basé sur l'identité, et d'autre part sur une autorité de certification, apte à établir une relation entre l'identifiant public de l'entité et sa clé publique.
Ainsi, l'invention vise aussi un procédé d'obtention par une entité possédant un identifiant public / d'une paire de clés utilisateur comprenant une clé publique utilisateur et une clé privée utilisateur, ce procédé comportant :
— une étape de génération de la clé secrète utilisateur s à partir d'un aléa ;
— une étape d'évaluation à partir :
o de cette clé secrète utilisateur ; et
o d'une clé publique maître d'une autorité de certification comprenant un module RSA n, produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques a et g modulo n, et une valeur h déterminée à partir d'un aléa z, d'une valeur v = g~s (mod n) ;
— une étape d'envoi de la valeur v à l'autorité de certification avec une preuve de connaissance de la clé secrète utilisateur selon un protocole à divulgation nulle de connaissance ;
— une étape de réception de l'autorité de certification d'un certificat formé d'un couple de valeurs (A, e), dans lequel e est un aléa associé à l'identifiant public /, et :
Ae" = f {h!, v, n) ,
où / est une fonction prédéterminée ; et
— une étape d'obtention de la clé publique utilisateur à partir des valeurs A et e et de l'identifiant / de l'entité.
Corrélativement, l'invention vise une entité possédant un identifiant public / comportant :
— un module de génération d'une clé secrète utilisateur s à partir d'un aléa ;
— un module d'évaluation, apte à évaluer à partir :
o de cette clé secrète utilisateur ; et
o d'une clé publique maître d'une autorité de certification comprenant un module RSA n, produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques a et g modulo n, et une valeur h déterminée à partir d'un aléa z, une valeur v = g~s (mod n) ;
— un module d'envoi de la valeur v à l'autorité de certification avec une preuve de connaissance de la clé secrète utilisateur selon un protocole à divulgation nulle de connaissance ;
— un module de réception en provenance de l'autorité de certification, d'un certificat formé d'un couple de valeurs (A, e) dans lequel e est un aléa associé à l'identifiant public / et :
Ae" = f {h!, v, n) ,
où / est une fonction prédéterminée ; et
— un module d'obtention d'une clé publique utilisateur à partir des valeurs A et e et de l'identifiant /.
L'invention vise également un procédé d'envoi par une autorité de certification d'un certificat à une entité possédant un identifiant public / en vue de former une clé publique utilisateur pour cette entité, ce procédé comportant :
— une étape de génération d'une paire de clés maître comprenant :
o une clé publique maître, comprenant un module RSA n, produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques a et g modulo n, et une valeur h déterminée à partir d'un aléa z ;
o une clé secrète maître comprenant les nombres premiers p et q ;
— une étape de réception en provenance de l'entité d'une valeur v = g~s (mod ) générée par l'entité à l'aide de sa clé privée utilisateur s, et d'une preuve de connaissance de la clé secrète utilisateur selon un protocole à divulgation nulle de connaissance ;
— une étape de génération, à partir de l'identifiant public / de l'entité et de la valeur v, d'un certificat formé d'un couple de valeurs (A,e) dans lequel e est un aléa associé à l'identifiant public /, et :
Ae" = f{h!, v, n) ,
où / est une fonction prédéterminée ; et
— une étape d'envoi du certificat (A, e) à l'entité.
Corrélativement, l'invention vise une autorité de certification comprenant :
— un module de génération d'une paire de clés maître comprenant :
o une clé publique maître, comprenant un module RSA n, produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques a et g modulo n, et une valeur h déterminée à partir d'un aléa z ;
o une clé secrète maître comprenant les nombres premiers p et q ;
— un module de réception en provenance de l'entité d'une valeur v = g~s (mod n) générée par l'entité à l'aide de sa clé privée utilisateur s, et d'une preuve de connaissance de la clé secrète utilisateur selon un protocole à divulgation nulle de connaissance ;
— un module de vérification de ladite preuve de connaissance ;
— un module de génération, à partir de l'identifiant public / de l'entité et de la valeur v, d'un couple de (A,e) dans lequel e est un aléa associé à l'identifiant public /, et :
Aeb = f{h!, v, n) ,
où / est une fonction prédéterminée ; et
— un module d'envoi du couple (A, e) à l'entité.
Le procédé d'obtention, le procédé d'envoi, l'entité et l'autorité de certification bénéficient des mêmes avantages que ceux cités précédemment pour le procédé de génération d'une paire de clés utilisateur.
Dans un mode particulier de réalisation, les différentes étapes du procédé d'obtention et du procédé d'envoi sont implémentées par une puce en silicium qui comprend des transistors adaptés pour constituer des portes logiques d'une logique câblée non programmable. Ce mode de réalisation est particulièrement avantageux dans le contexte des étiquettes RFID.
Dans un autre mode particulier de réalisation, les différentes étapes du procédé d'obtention et du procédé d'envoi sont déterminées par des instructions de programmes d'ordinateurs.
En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en œuvre dans une entité ou plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d'un procédé d'obtention tel que décrit ci-dessus.
L'invention vise également un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en œuvre dans une autorité de certification ou plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d'un procédé d'envoi tel que décrit ci-dessus.
Chacun de ces programmes peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus.
Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, 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.
Selon un autre aspect, l'invention vise aussi un système comportant :
— une entité possédant un identifiant public / selon l'invention ; et
— une autorité de certification selon l'invention ;
Dans un mode particulier de réalisation, ce système comporte en outre un dispositif vérificateur, apte à authentifier l'entité en appliquant un schéma d'authentification GPS ou à vérifier la validité d'une signature d'un message générée par l'entité en appliquant un schéma de signature GPS.
On peut également envisager, dans d'autres modes de réalisation, que le procédé de génération, le procédé d'envoi, le procédé d'obtention, le système, l'entité et l'autorité de certification selon l'invention présentent en combinaison tout ou partie des caractéristiques précitées. Brève description des dessins
D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins et à l'annexe qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures :
— la figure 1, déjà décrite, représente de façon schématique un schéma d'authentification GPS de l'état de la technique ;
— la figure 2, déjà décrite, représente de façon schématique un schéma d'authentification GPS basé sur l'identité proposé dans l'état de la technique ;
— la figure 3 représente de façon schématique un système conforme à l'invention comprenant une entité et une autorité de certification conformes à l'invention dans un mode particulier de réalisation ;
— la figure 4 illustre les principales étapes d'un procédé de génération, d'un procédé d'envoi et d'un procédé d'obtention selon l'invention telles qu'elles sont mises en œuvre dans un mode particulier de réalisation respectivement par le système, l'autorité de certification et l'entité de la figure 3 ; et
— la figure 5 illustre une application de la paire de clés utilisateur générée conformément à l'invention à un mécanisme d'authentification GPS de l'entité de la figure 3 auprès d'un dispositif vérificateur.
L'annexe 1 rappelle les préconisations en matière de dimensions de paramètres cryptographiques de l'instance ECRYPTII.
Description détaillée de l'invention
Comme mentionné précédemment, l'invention propose un mécanisme sécurisé s'appuyant sur la génération, par une autorité de certification, d'une clé publique (A, e, l) certifiée destinée à une entité et basée sur son identité / (ou identifiant public), cette clé publique étant avantageusement infalsifiable et compatible avec un schéma d'authentification ou de signature GPS.
Plus spécifiquement, conformément à l'invention, l'autorité de certification génère, pour l'identifiant public / de l'entité, un certificat formé d'un couple de valeurs (A, e) où e est un aléa propre à l'identifiant public / de l'entité et A est sous la forme :
Aeb = f(hï, v, n),
où / est une fonction prédéterminée, n est un module RSA, b est un entier supérieur ou égal à 1, v est une valeur générée par l'entité à l'aide de sa clé privée s et transmise à l'autorité de certification, et h est une valeur déterminée par l'autorité de certification à partir d'un aléa gardé secret par l'autorité de certification.
La fonction / est telle qu'aucune entité, sans connaître la factorisation du module RSA n, ne peut trouver un couple de valeurs (A, e) vérifiant la relation Agb = f(h', v, n) . Seule l'autorité de certification peut avantageusement générer un tel couple de valeurs, de sorte que la clé publique (A, e, l) générée selon l'invention est infalsifiable. Différents exemples de fonctions / sont proposés dans la suite de la description à titre illustratif.
La figure 3 représente, dans son environnement, un système 1 conforme à l'invention, dans un mode particulier de réalisation.
Ce système 1 comprend une entité 2, une autorité de certification 3 et un dispositif vérificateur 4, conformes à l'invention. Dans l'exemple envisagé ici, l'entité 2 est une étiquette RFID cherchant à s'authentifier auprès du dispositif vérificateur 4, à l'aide d'un schéma d'authentification GPS basé sur l'identité tel que présenté précédemment. Le dispositif vérificateur 4 est ici un lecteur d'étiquette RFID.
Toutefois, aucune limitation n'est attachée à la nature de l'entité 2 et du dispositif vérificateur 4. L'invention s'applique à d'autres types de systèmes au sein desquels un mécanisme d'authentification entre deux dispositifs ou un mécanisme de signature d'un message peut être mis en œuvre. Ainsi, par exemple, l'entité 2 peut être un terminal et le dispositif vérificateur 4 un serveur auprès duquel l'entité 2 cherche à s'authentifier.
Par ailleurs, bien que l'invention ait une application privilégiée en association avec un mécanisme d'authentification ou de signature de type GPS, l'invention peut être utilisée en association avec d'autres mécanismes de cryptographie asymétrique utilisant un certificat d'une autorité de certification.
L'entité 2 possède un identifiant /, tel que par exemple un code produit électronique ou EPC (Electronic Product Code). Cet identifiant est public, c'est-à-dire accessible par ou connus d'autres entités, tels que par exemple l'autorité de certification 3 ou par le dispositif vérificateur 4. L'identifiant / est, dans l'exemple envisagé ici, un entier de 160 bits.
Dans le mode de réalisation décrit ici, l'entité 2 intègre une puce en silicium 2A et des moyens de communication 2B avec l'autorité de certification 3 et le dispositif vérificateur 4. La puce en silicium 2A comprend des transistors adaptés pour constituer des portes logiques d'une
logique câblée non programmable pour l'exécution des étapes du procédé d'obtention d'une paire de clés utilisateur décrites ultérieurement en référence à la figure 4.
Dans un autre mode de réalisation de l'invention, l'entité 2 a l'architecture matérielle d'un ordinateur, et comprend notamment un processeur, une mémoire morte, une mémoire vive, une mémoire non volatile et des moyens de communication avec l'autorité de certification 3 et le dispositif vérificateur 4. La mémoire morte de l'entité 2 constitue un support d'enregistrement conforme à l'invention, lisible par le processeur et sur lequel est enregistré un programme d'ordinateur conforme à l'invention, comportant des instructions pour l'exécution des étapes du procédé d'obtention d'une paire de clés utilisateur. Ce programme d'ordinateur définit, de façon équivalente, des modules fonctionnels de l'entité 2 aptes à mettre en oeuvre les étapes du procédé d'obtention. L'autorité de certification 3 a, dans le mode de réalisation décrit ici, l'architecture matérielle d'un ordinateur.
Elle comprend notamment un processeur 3A, une mémoire morte 3B, une mémoire vive 3C, une mémoire non volatile 3D et des moyens de communication 3E avec l'entité 2.
La mémoire morte 3B de l'autorité de certification constitue un support d'enregistrement conforme à l'invention, lisible par le processeur 3A et sur lequel est enregistré un programme d'ordinateur conforme à l'invention, comportant des instructions pour l'exécution des étapes d'un procédé d'envoi d'un certificat conforme à l'invention décrites maintenant en référence à la figure 4, dans un mode particulier de réalisation. Ce programme d'ordinateur définit, de façon équivalente, des modules fonctionnels de l'autorité de certification aptes à mettre en œuvre les étapes du procédé d'obtention.
Nous allons maintenant décrire, en référence à la figure 4, les principales étapes d'une procédé de génération d'une paire de clés utilisateur destinée à l'entité 2, telles qu'elles sont mises en œuvre par le système 1 dans un mode particulier de réalisation. Ce procédé de génération s'appuie sur le procédé d'envoi d'un certificat associé à l'identifiant public /de l'entité 2 mis en œuvre par l'autorité de certification 3, et sur le procédé d'obtention d'une paire de clés utilisateur par l'entité 2 à partir de ce certificat.
Conformément à l'invention, l'autorité de certification 3 génère une paire de clés maître comprenant une clé publique maître mpk et une clé secrète maître msk (étape G10).
A cet effet, l'autorité de certification 3 détermine un module RSA n = pq, par exemple de dimension 768 bits, où p et q désignent deux nombres premiers.
Elle choisit par ailleurs un entier b supérieur à 1, par exemple b = 4, et deux résidus quadratiques a et g modulo n, Le., a, g £ ¾.
L'autorité de certification 3 génère à partir de ces nombres et d'un aléa z, une valeur h telle que :
h = g~z(rnod ).
Dans le mode de réalisation décrit ici, la paire de clés maître est alors donnée par : mpk = (n, g, a, h, b) et msk = (p, q, z).
La clé publique maître mpk de l'autorité de certification 3 est publiée.
L'entité 2 génère une clé secrète utilisateur usk à partir d'un entier s de dimension 400 bits ici (étape G20), i.e. usk = s.
Puis elle évalue à partir de sa clé secrète s et de la clé publique mpk de l'autorité de certification 3, une valeur v = g~s (mod ri) (étape G30).
L'entité 2 envoie ensuite à l'autorité de certification 3 son identifiant public /, la valeur v et une preuve de connaissance de la clé secrète utilisateur s selon un protocole à divulgation nulle de connaissance (étape G40). Ce protocole s'appuie par exemple sur un schéma d'authentification de type GPS tel que décrit précédemment ou encore tel qu'illustré dans le document de M. Girault. Un tel protocole est connu en soi et ne sera pas décrit plus en détail ici.
Sur réception de ces éléments, l'autorité de certification 3 vérifie la preuve de connaissance envoyée par l'entité 2, puis génère, à partir de l'identifiant public / et de la valeur v, un certificat formé d'un couple de valeurs (A, e) (étape G50).
Plus spécifiquement, e est un entier choisi aléatoirement par l'autorité de certification 3 et associé à l'identifiant public /(i.e. un entier e distinct est choisi pour chaque identifiant public J), de dimension 128 bits ici. Par ailleurs dans le mode de réalisation décrit ici, l'autorité de certification 3 génère la valeur A selon :
A = (ah'v^ mod ri),
i
avec d =— (mod (p— ï) (q— 1)).
Autrement dit, Aeb s'écrit sous la forme :
Ae" = f (h!, v, ri)
avec f(hl, v, ri) = ahlv (mod ri) et b supérieur à 1.
Puis l'autorité de certification 3 envoie le certificat (A, e) ainsi généré à l'entité 2 (étape G60).
Dans le mode de réalisation décrit ici, sur réception de ce certificat, l'entité 2 vérifie que (étape G70) :
— (mod ri) .
Le cas échéant, la clé publique utilisateur upk est formée à partir du certificat (A, e) reçu de l'autorité de certification 3 et de l'identifiant public /de l'entité 2 (étape G80), autrement
upk = (A, e, I) .
De façon avantageuse, la paire de clés utilisateur (upk, usk) ainsi obtenue par l'entité 2 est compatible avec un schéma d'authentification ou de signature d'un message de type GPS.
Plus spécifiquement, en référence à la figure 5, nous allons décrire brièvement comment la paire de clés utilisateur ainsi obtenue peut être utilisée pour permettre à l'entité 2 de s'authentifier auprès du dispositif vérificateur 4 à l'aide d'un schéma d'authentification GPS basé sur l'identifiant public /de l'entité 2.
Suite à la mise en œuvre du procédé de génération décrite en référence à la figure 4 (étape H10), l'entité 2 obtient donc la paire de clés utilisateur (upk, usk) générée conformément à l'invention (étape H 20).
Afin de s'authentifier selon un schéma GPS auprès du dispositif vérificateur 4, elle envoie à celui-ci sa clé publique upk = (A, e, I) certifiée par l'autorité de certification 3 (étape H30).
Sur réception de la clé publique upk, le dispositif vérificateur 4 évalue une nouvelle clé publique v' selon :
Ae"
v' = — (modw)
(ah )
en utilisant la clé publique maître publiée par l'autorité de certification 3 (étape H40).
Un schéma d'authentification GPS est alors mis en œuvre entre l'entité 2 et le dispositif vérificateur 4, de façon similaire à ce qui a été décrit précédemment en référence à la figure 1, mais appliqué à la clé publique v' évaluée par le dispositif vérificateur 4, à l'élément g publié par l'autorité de certification 3, et à la clé secrète usk de l'entité 2 (étape H50). Les étapes de ce schéma étant identiques à celles décrites en référence à la figure 1, elles ne seront pas décrites à nouveau ici.
De manière analogue, l'entité 2 peut signer un message m selon un mécanisme de signature GPS tel que décrit précédemment, en utilisant la paire de clés utilisateur (upk, usk) générée conformément à l'invention. Le dispositif vérificateur 4 vérifie alors, sur réception du message m et de sa signature, que la signature est valide en appliquant les étapes de vérification détaillées précédemment et en utilisant comme clé publique v'.
Dans l'exemple précédent, on a envisagé un identifiant / de l'entité 2 de dimension
160 bits, un module RSA n de dimension 768 bits, un entier b = 4 et une clé secrète s de l'entité 2 de dimension 400 bits. Toutefois, l'invention ne se limite pas à ces valeurs numériques. D'autres valeurs numériques peuvent être envisagées en fonction du niveau de sécurité requis, comme illustré maintenant.
Dans la suite de la description, on note :
— LEV, le niveau de sécurité requis et LS un paramètre de sécurité,
— Ln, la taille en bits du module RSA n,
— \a taille en bits de l'aléa z,
— la taille en bits de l'identifiant / de l'entité 2,
— la taille en bits de l'élément e et
— Lusk la taille en bits de la clé secrète de l'entité 2,
D'après les travaux de M. Joye cités précédemment, les relations suivantes peuvent être établies entre ces paramètres afin de maintenir le niveau de sécurité LEV :
Ln > 2 (Le + 2) (1)
b{Le - 1) > Lusk + 1 (2)
Ln - 4 > Lusk > Lz + Ll + LS (3)
Le = LEV + 30 (4)
Les relations (2) et (3) conduisent en outre à la relation suivante :
b(Le - 1) > Lusk > Lz + Ll + LS (5)
En général, les paramètres LEV, LS, Ln, Lz et Ll sont fixés en fonction du niveau de sécurité que l'on souhaite obtenir pour les problèmes cryptographiques sous-jacents qui résultent de la certification proposée par l'invention (i.e. factorisation, logarithmes discrets, etc.)- Ces problèmes étant relativement standards dans l'état de la technique, la fixation de ces paramètres ne pose pas de difficulté en soi à l'homme du métier.
Les valeurs des paramètres Le, b et Lusk peuvent ensuite être fixées en fonction des valeurs choisies pour les paramètres LEV, LS, Ln, Lz et Ll.
Ainsi par exemple, on peut choisir comme dimension de clé secrète Lusk, une dimension conforme aux préconisations de diverses instances en matière cryptographique, et notamment par exemple par le consortium ecrypt2. Ces préconisations sont rappelées à l'URL suivante : http://www.keylength.eom/en/3/ et un extrait est reproduit en annexe 1. Plus de détails sur ces recommandations sont disponibles dans le document intitulé « Yearly Report on Algorithms and KeySizes (2011) », D.SPA.17 Rev. 1.0, ICT-2007-216676 ECRYPT II, Juin 2011.
A titre illustratif, selon ces préconisations, si l'on choisit un niveau de sécurité LEV=80 bits (extrait de la colonne « symétrique » de la table en annexe 1), on a :
Ln = 1248 bits (extrait de la colonne « asymétrique » de la table en annexe 1),
= 160 bits (extrait de la colonne « clé discrète » de la table en annexe 1),
Ll = 160 bits (extrait de la colonne « hash » de la table en annexe 1),
LS = 80 bits (extrait de la colonne « symétrique » de la table en annexe 1), et
L· = 110 bits (cf. en application de la relation (4)).
Il résulte de la relation (5) que b = 4 et Lusk = 400 bits.
Selon un autre exemple, si l'on choisit un niveau de sécurité LEV=128 bits, on a : Ln = 3248 bits,
= 256 bits,
U = 256 bits,
LS = 128 bits, et
= 158 bits (cf. en application de la relation (4)).
Il résulte de la relation (5) que b = 5 et Lusk = 640 bits.
Bien entendu ces exemples ne sont donnés qu'à titre illustratif, et d'autres valeurs numériques peuvent être choisies pour l'exécution de l'invention. Toutefois, afin de garantir un niveau de sécurité suffisant, on choisit préférentiel lement un identifiant public / pour l'entité 2 comprenant au moins 160 bits et une clé secrète utilisateur d'au moins 400 bits.
Dans l'exemple illustré à la figure 4, l'autorité de certification 3 a utilisé au cours de l'étape G50, pour générer le certificat (A, e), une fonction de la forme :
f(hl, v, ri) = ah'v ( nod ri)
avec
Aeb = f {hï, v, n)
h = g~z(mod ri) et b étant supérieur à 1 (ex. b=4).
Cet exemple, bien que très avantageux, n'est toutefois pas limitatif en soi, et d'autres fonctions peuvent être envisagées en variante.
Ainsi, dans une variante de réalisation, l'autorité de certification 3 génère au cours de l'étape G50 un certificat ÇA, e) pour l'identifiant public I, où e est un entier choisi aléatoirement par l'autorité de certification 3 et associé à l'identifiant public / (Le. un entier e distinct est choisi pour chaque identifiant public 1), et la valeur A est générée selon :
Ae = (ah1 v) (rnod ri),
où la valeur h est une valeur aléatoire de même dimension que n, déterminée à partir d'un aléa z. L'aléa z est par exemple la graine d'un générateur pseudo-aléatoire.
Autrement dit, Aeb s'écrit sous la forme :
Ae" = f {h!, v, n)
avec f(hl, v, ri) = ahlv (rnod ri) et b=\ à l'étape G10.
Corrélativement, sur réception de ce certificat, l'entité 2 vérifie alors au cours de l'étape G70 que :
Ae
v =— 7 (rnod ri) .
ah
Par ailleurs, en référence à la figure 5, l'authentification de l'entité 2 par le dispositif vérificateur 4 repose sur l'évaluation par le dispositif vérificateur 4 d'une nouvelle clé publique v' au cours de l'étape H40 selon :
en utilisant la clé publique maître publiée par l'autorité de certification 3.
Pour une telle fonction, en s'appuyant sur les travaux décrits dans le document de J. Camenisch et al. intitulé « A signature scheme with efficient protocols », SCN'02, vol. 2576 de Lecture Notes in Computer Science, pages 268-289, Springer 2002, on peut envisager d'utiliser les dimensions de paramètres suivantes, avec les notations introduites précédemment :
Ln = 1024 bits,
U = 160 bits,
le = 162 bits,
Lusk = 1346 bits.
Par ailleurs, pour une sécurité de 80 bits, on peut prendre Lz = 80 bits
Dans une autre variante de réalisation, l'autorité de certification 3 génère au cours de l'étape G50 un certificat ÇA, e) pour l'identifiant public /, où e est un entier choisi aléatoirement par l'autorité de certification 3 et associé à l'identifiant public / (i.e. un entier e distinct est choisi pour chaque identifiant public J), et la valeur A est générée selon :
Ae = (h1 + v) (rnod ri),
où la valeur h est une valeur aléatoire de même dimension que n, déterminée à partir d'un aléa z.
L'aléa z est par exemple la graine d'un générateur pseudo-aléatoire.
Autrement dit, Aeb s'écrit dans cette variante sous la forme :
Aeb = f {hï, v, n)
avec f(hl, v, ri) = h1 + v) ( nod ri) et b=\ à l'étape G10.
Corrélativement, sur réception de ce certificat, l'entité 2 vérifie alors au cours de l'étape G70 que :
v = Ae + hl(mod ri).
Par ailleurs, en référence à la figure 5, l'authentification de l'entité 2 par le dispositif vérificateur 4 repose sur l'évaluation par le dispositif vérificateur 4 d'une nouvelle clé publique v' au cours de l'étape H40 selon :
v' = Ae + h'Çmod ri)
en utilisant la clé publique maître publiée par l'autorité de certification 3.
Annexe 1
Extrait des préconisations ECRYPT II (20111
Niveau Symétrique Asymétrique Clé discrète Groupe Courbe Hash
Loqarithmique elliptique
1 32
2 64 816 128 816 128 128
3 72 1008 144 1008 144 144
4 80 1248 160 1248 160 160
5 96 1776 192 1776 192 192
6 112 2432 224 2432 224 224
7 128 3248 256 3248 256 256
8 256 15424 512 15424 512 512
Claims
1. Procédé cryptographique de génération d'une paire de clés utilisateur pour une entité (2) possédant un identifiant public /, ce procédé comportant :
— une étape de génération (G10), par une autorité de certification (3), d'une paire de clés maître comprenant :
o une clé publique maître, comprenant un module RSA n, produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques a et g modulo n, et une valeur h déterminée à partir d'un aléa z ;
o une clé secrète maître comprenant les nombres premiers p et q ;
— une étape de génération (G20) par l'entité (2) d'une clé secrète utilisateur s à partir d'un aléa ;
— une étape d'évaluation (G30) par l'entité (2), à partir de la clé secrète utilisateur et de la clé publique maître, d'une valeur v = g~s (mod n) ;
— une étape d'envoi (G40) par l'entité (2) de cette valeur v à l'autorité de certification (3) avec une preuve de connaissance de la clé secrète utilisateur selon un protocole à divulgation nulle de connaissance ;
— une étape de génération (G50) par l'autorité de certification, à partir de l'identifiant public / de l'entité et de la valeur v, d'un certificat formé d'un couple de valeurs {A, e) dans lequel e est un aléa associé à l'identifiant public / et :
Ae" = f {h!, v, n) ,
où / est une fonction prédéterminée ; et
— une étape d'envoi (G60) du certificat (A, e) à l'entité par l'autorité de certification ;
ces étapes résultant en l'obtention (G80) d'une paire de clés utilisateur pour l'entité comprenant la clé secrète utilisateur s et une clé publique utilisateur formée à partir des valeurs A et e et de l'identifiant / de l'entité.
2. Procédé selon la revendication 1 dans lequel :
h = g~z(mod ), et
A = (ahlv)d (mod ),
(mod (p— 1) (q— 1)) et b supérieur à 1.
3. Procédé selon la revendication 1 ou 2 comprenant en outre une étape vérification (G70) par l'entité (2) que : v =— 7 {mod ri) .
ah
4. Procédé selon l'une quelconque des revendications 1 à 3 dans lequel l'identifiant public / comprend au moins 160 bits.
5. Procédé selon l'une quelconque des revendications 1 à 3 dans lequel la clé secrète utilisateur s comprend au moins 400 bits.
6. Procédé selon la revendication 1 dans lequel :
Ae = ah'v mod n).
7. Procédé selon l'une quelconque des revendications 1 à 6 dans lequel le protocole à divulgation nulle de connaissance s'appuie sur un schéma d'authentification de type GPS.
8. Procédé d'authentification d'une entité (2) possédant un identifiant public / auprès d'un dispositif vérificateur (4), en utilisant une paire de clés utilisateur générée conformément au procédé de génération selon l'une quelconque des revendications 1 à 7, l'authentification (H50) de l'entité (2) étant réalisée à l'aide d'un schéma d'authentification de type GPS mis en œuvre entre l'entité et le dispositif vérificateur.
9. Procédé de signature d'un message par une entité (2) possédant un identifiant public / en utilisant une paire de clés utilisateur générée conformément au procédé de génération selon l'une quelconque des revendications 1 à 7, la signature du message étant réalisée à l'aide d'un schéma de signature de type GPS.
10. Procédé d'obtention par une entité (2) possédant un identifiant public / d'une paire de clés utilisateur comprenant une clé publique utilisateur et une clé privée utilisateur, ce procédé comportant :
— une étape de génération (G20) de la clé secrète utilisateur s à partir d'un aléa ;
— une étape d'évaluation (G30) à partir :
o de cette clé secrète utilisateur ; et
o d'une clé publique maître d'une autorité de certification (3) comprenant un module RSA n, produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques et g modulo n, et une valeur h déterminée à partir d'un aléa z,
d'une valeur v = g~s (mod n) ;
— une étape d'envoi (G40) de la valeur v à l'autorité de certification (3) avec une preuve de connaissance de la clé secrète utilisateur selon un protocole à divulgation nulle de connaissance ;
— une étape de réception (G60) de l'autorité de certification (3) d'un certificat formé d'un couple de valeurs (A, e), dans lequel e est un aléa associé à l'identifiant public /, et :
Ae" = f {h!, v, n) ,
où / est une fonction prédéterminée ; et
— une étape d'obtention (G80) de la clé publique utilisateur à partir des valeurs A et e et de l'identifiant / de l'entité.
11. Procédé d'envoi par une autorité de certification (3) d'un certificat à une entité (2) possédant un identifiant public / en vue de former une clé publique utilisateur pour cette entité, ce procédé comportant :
— une étape de génération (G10) d'une paire de clés maître comprenant :
o une clé publique maître, comprenant un module RSA n, produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques a et g modulo n, et une valeur h déterminée à partir d'un aléa z ;
o une clé secrète maître comprenant les nombres premiers p et q ;
— une étape de réception (G40) en provenance de l'entité d'une valeur v = g~s (mod ) générée par l'entité à l'aide de sa clé privée utilisateur s, et d'une preuve de connaissance de la clé secrète utilisateur selon un protocole à divulgation nulle de connaissance ;
— une étape de génération (G50), à partir de l'identifiant public / de l'entité et de la valeur v, d'un couple de (A,e) dans lequel e est un aléa associé à l'identifiant public /, et :
Aeb = f {hï, v, n) ,
où / est une fonction prédéterminée ; et
— une étape d'envoi (G60) du couple (A, e) à l'entité.
12. Entité (2) possédant un identifiant public / comportant :
— un module de génération d'une clé secrète utilisateur s à partir d'un aléa ;
— un module d'évaluation, apte à évaluer à partir :
o de cette clé secrète utilisateur ; et
o d'une clé publique maître d'une autorité de certification comprenant un module RSA n, produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques a et g modulo n, et une valeur h déterminée à partir d'un aléa z, une valeur v = g~s (mod ) ;
— un module d'envoi de la valeur v à l'autorité de certification avec une preuve de connaissance de la clé secrète utilisateur selon un protocole à divulgation nulle de connaissance ;
— un module de réception en provenance de l'autorité de certification, d'un certificat formé d'un couple de valeurs (A, e) dans lequel e est un aléa associé à l'identifiant public /, et :
Aeb = f {hï, v, n) ,
où / est une fonction prédéterminée ; et
— un module d'obtention d'une clé publique utilisateur à partir des valeurs A et e et de l'identifiant /.
13. Autorité de certification (3) comprenant :
— un module de génération d'une paire de clés maître comprenant :
o une clé publique maître, comprenant un module RSA n, produit de deux nombres premiers p et q, un entier b supérieur ou égal à 1, deux résidus quadratiques a et g modulo n, et une valeur h déterminée à partir d'un aléa z ;
o une clé secrète maître comprenant les nombres premiers p et q ;
— un module de réception en provenance de l'entité d'une valeur v = g~s (mod n) générée par l'entité à l'aide de sa clé privée utilisateur s, et d'une preuve de connaissance de la clé secrète utilisateur selon un protocole à divulgation nulle de connaissance ;
— un module de vérification de ladite preuve de connaissance ;
— un module de génération, à partir de l'identifiant public / de l'entité et de la valeur v, d'un couple de (A,e) dans lequel e est un aléa associé à l'identifiant public /, et :
Aeb = f {hï, v, n) ,
où / est une fonction prédéterminée ; et
— un module d'envoi du couple (A, e) à l'entité.
14. Système (1) comportant :
— une entité (2) possédant un identifiant public / selon la revendication 12 ; et
— une autorité de certification (3) selon la revendication 13 ;
15. Système (1) selon la revendication 14 comportant en outre un dispositif vérificateur (4), apte à authentifier l'entité (2) en appliquant un schéma d'authentification GPS ou à vérifier la validité d'une signature d'un message générée par l'entité (2) en appliquant un schéma de signature GPS.
16. Programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé d'obtention selon la revendication 10 ou du procédé d'envoi selon la revendication 11 lorsque ledit programme est exécuté par un ordinateur.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1351332 | 2013-02-15 | ||
FR1351332A FR3002350A1 (fr) | 2013-02-15 | 2013-02-15 | Procede cryptographique de generation d'une paire de cles utilisateur pour une entite possedant un identifiant public i, et systeme |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014125206A1 true WO2014125206A1 (fr) | 2014-08-21 |
Family
ID=48901069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2014/050262 WO2014125206A1 (fr) | 2013-02-15 | 2014-02-11 | Procédé cryptographique de génération d'une paire de clés utilisateur pour une entité possédant un identifiant public i, et système |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3002350A1 (fr) |
WO (1) | WO2014125206A1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069547A (zh) * | 2020-07-29 | 2020-12-11 | 北京农业信息技术研究中心 | 一种供应链责任主体身份认证方法及*** |
US20210247522A1 (en) * | 2014-04-23 | 2021-08-12 | Opentv, Inc. | Techniques for securing live positioning signals |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003017569A1 (fr) * | 2001-08-20 | 2003-02-27 | France Telecom | Procede de realisation d'une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret |
-
2013
- 2013-02-15 FR FR1351332A patent/FR3002350A1/fr active Pending
-
2014
- 2014-02-11 WO PCT/FR2014/050262 patent/WO2014125206A1/fr active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003017569A1 (fr) * | 2001-08-20 | 2003-02-27 | France Telecom | Procede de realisation d'une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret |
Non-Patent Citations (10)
Title |
---|
"Eurocrypt'91", vol. 547, 1991, SPRINGER, article "Self-certified public keys", pages: 490 - 497 |
"Information Security and Privacy", vol. 1270, 1 January 1997, SPRINGER-VERLAG, Berlin/Heidelberg, article SHAHROKH SAEEDNIA: "Identity-based and self-certified key-exchange protocols", pages: 303 - 313, XP055092407, DOI: 10.1007/BFb0027937 * |
"On the Fly Authentification and Signature Schemes based on Groups of Unknown Order", JOURNAL OF CRYPTOLOGY, vol. 19, no. 4, 2006, pages 463 - 488 |
"Yearly Report on Algorithms and KeySizes", D.SPA.17 REV. 1.0, ICT-2007-216676 ECRYPT II, June 2011 (2011-06-01) |
CAMENISCH ET AL.: "SCN'02", vol. 2576, 2002, SPRINGER, article "et al. intitulé « A signature scheme with efficient protocols", pages: 268 - 289 |
M. JOYE: "CANS'08", vol. 5339, 2008, SPRINGER, article "An efficient on-line/off-line signature scheme without random oracles", pages: 98 - 107 |
MARC JOYE ED - MATTHEW K FRANKLIN ET AL: "An Efficient On-Line/Off-Line Signature Scheme without Random Oracles", 2 December 2008, CRYPTOLOGY AND NETWORK SECURITY, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 98 - 107, ISBN: 978-3-540-89640-1, XP019112186 * |
PETERSEN H ET AL: "SELF-CERTIFIED KEYS - CONCEPTS AND APPLICATIONS", COMMUNICATIONS AND MULTIMEDIA SECURITY. INTERNATIONAL CONFERENCE, XX, XX, vol. 3, 1 September 1997 (1997-09-01), pages 102 - 116, XP000828383 * |
SHAHROKH SAEEDNIA: "A note on Girault's self-certified model", INFORMATION PROCESSING LETTERS, vol. 86, no. 6, 1 June 2003 (2003-06-01), pages 323 - 327, XP055092410, ISSN: 0020-0190, DOI: 10.1016/S0020-0190(03)00203-5 * |
SHAO Z: "Cryptographic systems using a self-certified public key based on discrete logarithms", IEE PROCEEDINGS E. COMPUTERS & DIGITAL TECHNIQUES, INSTITUTION OF ELECTRICAL ENGINEERS. STEVENAGE, GB, vol. 148, no. 6, 22 November 2001 (2001-11-22), pages 233 - 237, XP006017612, ISSN: 0143-7062, DOI: 10.1049/IP-CDT:20010780 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210247522A1 (en) * | 2014-04-23 | 2021-08-12 | Opentv, Inc. | Techniques for securing live positioning signals |
US11567217B2 (en) * | 2014-04-23 | 2023-01-31 | Opentv, Inc. | Techniques for securing live positioning signals |
US20230213660A1 (en) * | 2014-04-23 | 2023-07-06 | Opentv, Inc. | Techniques for securing live positioning signals |
US11892548B2 (en) | 2014-04-23 | 2024-02-06 | Opentv, Inc. | Techniques for securing live positioning signals |
CN112069547A (zh) * | 2020-07-29 | 2020-12-11 | 北京农业信息技术研究中心 | 一种供应链责任主体身份认证方法及*** |
CN112069547B (zh) * | 2020-07-29 | 2023-12-08 | 北京农业信息技术研究中心 | 一种供应链责任主体身份认证方法及*** |
Also Published As
Publication number | Publication date |
---|---|
FR3002350A1 (fr) | 2014-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3476097B1 (fr) | Technique de téléchargement d'un profil d'accès à un réseau | |
US10447696B2 (en) | Method for proving retrievability of information | |
EP2446579B1 (fr) | Procédé d'authentification mutuelle d'un lecteur et d'une étiquette radio | |
EP3010177A1 (fr) | Procédé d'authentification d'un dispositif client auprès d'un serveur à l'aide d'un élément secret | |
EP3665609B1 (fr) | Procédé et serveur de certification d'un document électronique | |
FR2759226A1 (fr) | Protocole de verification d'une signature numerique | |
CA2895189C (fr) | Signature de groupe utilisant un pseudonyme | |
EP2795833B1 (fr) | Procede d'authentification entre un lecteur et une etiquette radio | |
EP2371083B1 (fr) | Signature de groupe a vérification locale de révocation avec capacité de levée d'anonymat | |
Bellare et al. | Deterring certificate subversion: efficient double-authentication-preventing signatures | |
FR3075423A1 (fr) | Technique de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur | |
US20150023498A1 (en) | Byzantine fault tolerance and threshold coin tossing | |
WO2014125206A1 (fr) | Procédé cryptographique de génération d'une paire de clés utilisateur pour une entité possédant un identifiant public i, et système | |
EP3857810A1 (fr) | Procédé cryptographique de comparaison sécurisée de deux données secrètes x et y | |
EP3008851B1 (fr) | Procédé et système de délégation d'un calcul d'une valeur de couplage bilinéaire à un serveur de calcul | |
FR3091107A1 (fr) | Procédé et système de génération de clés pour un schéma de signatures anonymes | |
WO2019122679A1 (fr) | Procédé cryptographique de signature de groupe | |
WO2007042419A1 (fr) | Procede cryptographique mettant en oeuvre un systeme de chiffrement base sur l'identite | |
WO2021074527A1 (fr) | Procede de gestion d'une base de donnees de cles publiques, procede d'authentification de cles publiques, et dispositifs serveur et client mettant en oeuvre ces procedes | |
FR2898423A1 (fr) | Procede securise de configuration d'un dispositif de generation de signature electronique. | |
FR3140728A1 (fr) | Procédé de traitement cryptographique, dispositif électronique et programme d’ordinateur associés | |
WO2021165625A1 (fr) | Procede de calcul d'une cle de session, procede de recuperation d'une telle cle de session | |
EP4402854A1 (fr) | Procedes et dispositifs d'authentification et de verification de non-revocation | |
FR3111037A1 (fr) | Procédé de dérivation d’une signature partielle avec vérification partielle | |
FR3070517A1 (fr) | Systeme et procede d'authentification et de signature numerique |
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: 14706919 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14706919 Country of ref document: EP Kind code of ref document: A1 |