WO2014125206A1 - Cryptographic method for generating a pair of user keys for an entity having a public identifier i, and system - Google Patents
Cryptographic method for generating a pair of user keys for an entity having a public identifier i, and system 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
The invention relates to a cryptographic method for generating a pair of user keys for an entity having a public identifier /, and a system. The method according to the invention comprises: the generation (G10), by a certification authority, of either a master public key comprising an RSA modulus n which is the product of two first numbers p and q, a whole number b higher than or equal to 1, two quadratic residues a and g modulus n and a value h determined from a variate z, or a master secret key comprising p and q; the generation (G20), by said entity, of a user secret key s; the evaluation (G30), by the entity, of a value v = g~s (mod n); the transmission (G40) of v to the authority with proof of knowledge of s; the generation (G50), by the authority, of a certificate {A, e) wherein e is a variate associated with / and A eb = f (h i , v, n), f being a pre-determined function; the transmission (G60) of (A, e) to the entity; and the production (G80) of a pair of user keys for the entity, comprising s, and a user public key formed from A, e and 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 Cryptographic method for generating a user key pair for an entity having a public identifier /, and system Background of the 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. The invention relates to the field of securing data and exchanges between different entities using public key cryptographic techniques.
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). 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).
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. The GPS scheme is described in detail in the document entitled "On the Fly Authentication and Signature Schemes based on Groups of Unknown Order", Journal of Cryptology, pages 463-488, vol. 19 n ° 4, 2006. This is a protocol with zero knowledge disclosure (or "zero knowledge" in English), offering a secure solution at low cost, in terms of computing power and / or memory. storage.
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). Thus, the GPS scheme has a preferred application in the field of radio-identification or RFID (for 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. In a known manner, 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.
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. Due to its low complexity, 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.
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. There is in particular a so-called "coupons" 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.
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. 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.
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. It is conventionally composed of two phases, namely a first phase PI configuration during which authentication data (parameters, public / private key and where appropriate coupons) are calculated and / or provided to the first device El, then a second authentication phase P2 during which the first device El authenticates with the second device E2 using these data of authentication. 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.
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 : During the PI configuration phase, a public key v / private key pair was generated. In the example illustrated in FIG. 1, the keys s and v are linked by the following relation:
v = g~s modn 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. where n = pq is a module called RSA (Rivest Shamir Adleman) resulting from the product of two prime numbers p and q, g is an element of the multiplicative group Z * = (Ζ / ηΖ) \ {θ}, Z denoting the set relative integers. 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.
La phase P2 d'authentification s'effectue en trois étapes principales. The P2 authentication phase is carried out in three main steps.
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). The device El randomly chooses an integer r and then evaluates a commitment x = g r modn (step E10) which it transmits to the device E2 (step 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. In the so-called coupon mode, 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.
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). On receipt of this commitment, the device E2 randomly chooses a challenge c (step E30), which it transmits to the device El (step 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é. The device El evaluates a response to this challenge y = r + cxs (step E50), which it sends to the device E2 for verification (step E60). This check consists for the device E2 to ensure that x = g y v c modn (step E70). If necessary, the device El is validly authenticated.
Le schéma GPS peut également être utilisé par un dispositif El pour signer numériquement un message m. The GPS scheme can also be used by an El device to digitally sign a 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). In this case, 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).
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. Upon receipt of the message m and its signature (c, y), the device E2 verifies that the signature is valid by calculating the value x '= g y / v c ) modn and the value c' = i (m, ') then making sure that c = c '. To enhance the security of the GPS scheme, the use of a public key infrastructure (PKI) is required to establish a link between the public key that is used during authentication or signing, and the public key infrastructure. However, such an infrastructure is relatively complex to implement and manage.
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. 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.
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. For example, 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). Thus, the link between the device and its public key is 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é. However with such a solution, when the secret key of the device is compromised, for example because the device on which it is stored is lost, the identity of the device is also compromised. But it is not always possible to obtain another pair of keys for the same identity.
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. An alternative solution, still based on the identity of the El device that seeks to authenticate itself or to sign a message, is proposed by Marc Girault in the document entitled "Self-certified public keys", Eurocrypt'91, vol. 547, Lecture Notes in Computer Science, pp. 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. According to this solution, 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.
Un exemple de mise en œuvre de cette solution est illustré à la figure 2. An example of implementation of this solution is illustrated in 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 : At first (step F10), a so-called "master" key pair is generated for the CA from:
d'un module RSA n = pq défini comme le produit de deux nombres premiers p et q ; an RSA module n = pq defined as the product of two prime numbers p and q;
d'un entier e premier avec (p-1) et (q-1) et d'un entier d = e~1(mod(p - ï)(q - ï)) ; an integer e prime with (p-1) and (q-1) and an integer 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. and an element ^ of the multiplicative group Z * = (Z InZ) \ {0}, where Z denotes the set of relative integers.
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 : The master key pair of the CA includes MasterPubK master public key and MasterSecK master private key defined by:
MasterPubK = (n,e, g) MasterPubK = (n, e, g)
MasterSecK = (p,q,d) 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. At the device El, during a configuration step, a secret key s of the device El is generated randomly (step F20). Then the device El generates the value v = g s moan (step F30) and sends it to the CA with its identity / and a proof of knowledge of the secret key s to zero disclosure of knowledge (step F40) . This proof is provided via the implementation of a GPS scheme.
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 : After verifying the knowledge of the secret key s by the device El, the CA CA calculates a certificate A (step F50) according to:
puis le transmet au dispositif El (étape F60). then transmits it to the device El (step F60).
Sur réception du certificat A, le dispositif El vérifie que (étape F70) : Upon receipt of the certificate A, the device El verifies that (step F70):
v = Ae + I (modw) . v = A e + 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). In this case, the device El has a pair of user keys comprising a user public key UPubK = (A, I) and a user secret key USecK = s (step 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). The authentication of the device El with a device E2 is then carried out using a GPS authentication mechanism as described above with reference to FIG. 1, applied to the secret user key s of the device E1, the element g and a public key v = A e + 1 generated by the device E2 from the public key UPubK = (A, I) of the device El (step 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. 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.
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éHowever, according to this solution, it is easy for an adversary to obtain a valid user key pair, without the intervention of the certification authority. In fact, the adversary can randomly choose a secret key s * , a value A * and then calculate an identity
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. I * = g ~ * + A * e (modn). Although in practice, the probability of operation of such an attack is very low, the opponent can not control the value of the identity f, this attack is still 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. There is therefore a need for a mechanism for generating a public key certified based on the identity of a device and compatible with an authentication scheme or GPS signature, not having the disadvantages of the prior art in terms of security and without resorting to a PKI infrastructure.
Objet et résumé de l'invention Object and summary of the 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 : 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:
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 ; 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;
o une clé secrète maître comprenant les nombres premiers p et q ; a secret master key comprising the prime numbers p and q;
— une étape de génération par l'entité d'une clé secrète utilisateur s à partir d'un aléa ; A step of generation by the entity of a secret user key from a random;
— 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 ) ; An evaluation step by the entity, from the secret user key and the master public key, of a value 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 ; A step of sending by the entity of this value v to the certification authority with a proof of knowledge of the secret user key according to a protocol with null disclosure of knowledge;
— 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 : A step of generation by the certification authority, based on the public identifier / entity and the value v, of a certificate consisting of a pair of values {A, e) in which e is a hazard associated with the public identifier / and:
Ae" = f{h!, v, n) , A e "= f {h, v, n),
où f est une fonction prédéterminée ; et where f is a predetermined function; and
— une étape d'envoi du certificat (A, e) à l'entité par l'autorité de certification ; A step of sending the certificate (A, e) to the entity by the certification authority;
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é. these steps resulting in obtaining a user key pair for the entity comprising the user secret key s and a user public key formed from the values A and e and the identifier / entity.
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. Thus, according to the invention, and as in the diagram proposed by M. Girault, 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.
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. 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.
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. However, according to the invention, on the one hand, 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 function f makes it possible to make sure that no entity, without knowing the factorization of the module RSA n, can not find a couple of values (A, e) which will verify the relation A eb = f (h ', v, n). Only the certification authority can generate such a pair of values.
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). To better illustrate the advantages of the invention and in particular this unfalsifiable character, we will consider several examples of functions f that can be used by the certification authority to generate the certificate (A, e).
Dans un premier mode de réalisation de l'invention : In a first embodiment of the invention:
h = g~z(mod ri), h = g ~ z (mod ri),
et le certificat (A, e) généré par l'autorité de certification vérifie : and the certificate (A, e) generated by the certification authority verifies:
A = (ah'v^ mod ri), A = (ah'v ^ mod ri),
avec d = (mod (p— l) (q>— 1)) et b supérieur à 1. with d = (mod (p-1) (q> - 1)) and b greater than 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) . Moreover, to enhance the security of the schema thus proposed, the generation method may furthermore comprise a verification step by the entity that: v = - - (mod n).
ah1 J ah 1 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é. In this first embodiment, an adversary can certainly randomly choose a secret key s * , a value A * and then calculate, from the master public key, the value h = a A e g s (modw). However, from this value, it can not generate a public identity /, because of the complexity of the discrete logarithmic problem to be solved. The use of an RSA module to generate the master public key of the certification authority also reinforces this complexity.
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é. 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.
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. The proof of the level of security attained by this first embodiment of the invention (in other words the tamper-proof nature of the user key pair generated) can be provided by relying on a demonstration similar to that conducted by Mr. Joye in the document entitled "An efficient on-line / off-line signature scheme without random oracles", CANS'08, vol. 5339 of Lecture Notes in Computer Science, pages 98-107, Springer, 2008. This document proposes indeed a method of signature of a message, presented as an alternative to the GPS signature scheme but which contrary to the GPS scheme, does not exist. not rely on a random oracle model. According to this method, the message is signed using a signature verifying a relationship analogous to that linking the public / entity identity, the certificate (A, e) generated by the certification authority and the element g issued by the certification authority according to the 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. 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. In this way, 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.
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 : It suffices for this purpose that 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:
— sur la clé privée utilisateur de l'entité, - on the user's private key of the entity,
— sur l'élément publié par l'autorité de certification, et - on the element published by the certification authority, and
— sur une clé publique v générée par le dispositif vérificateur à partir de la clé publique utilisateur de l'entité selon : On a public key v generated by the verifier device from the public user key of the entity according to:
Ae" A e "
v = — (mod n) . v = - (mod n).
(ah ) (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. 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.
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 : It should be noted that 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:
A = (ahlv)d (mod n), A = (ah l v) d (mod n),
avec d = {mod (p— l) (q>— 1)) et b supérieur à 1. with d = {mod (p-1) (q> - 1)) and b greater than 1.
Les dimensions de ces paramètres dépendent bien entendu d'un compromis sécurité/complexité. The dimensions of these parameters depend, of course, on a security / complexity compromise.
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. However, preferentially, a small value is chosen for the integer b, such as, for example, b = 4, an identifier of the entity of dimension greater than or equal to 160 bits, and a user secret key s comprising at least 400 bits.
L'invention ne se limite pas à la fonction f précitée. The invention is not limited to the aforementioned function f.
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 : Thus, in another embodiment of the invention, the certificate (A, e) generated by the certification authority verifies:
Ae = ahlv(mod ) A e = ah l v (mod)
(Le., b=l dans ce mode de réalisation). (Le., B = 1 in this embodiment).
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 : 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:
Ae A e
v = — (mod n) . v = - (mod n).
(ah1 ) (ah 1 )
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. This solution, although very advantageous in terms of security, however, requires parameter sizes, including secret key, more important.
Dans un autre mode de réalisation encore, le certificat (A, e) généré par l'autorité de certification vérifie : In yet another embodiment, the certificate (A, e) generated by the certification authority verifies:
Ae = hI + v(mod ri). A e = h I + 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 : 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:
v = Ae - h1 (mod n) . v = A e - h 1 (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. These examples are of course not exhaustive. Other functions that provide advantages similar to those described above and which make it possible to generate a pair of user keys compatible with an authentication or GPS signature scheme can be envisaged.
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. As a corollary, in another aspect, 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.
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). 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).
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. Such a method, because of its low complexity, can be easily implemented between an RFID tag and an RFID tag reader.
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. According to another aspect, 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.
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. 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.
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 : Thus, 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:
— une étape de génération de la clé secrète utilisateur s à partir d'un aléa ; A step of generating the secret user key from a random;
— une étape d'évaluation à partir : An evaluation step from:
o de cette clé secrète utilisateur ; et o this secret user key; and
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) ; o of a public key master of a certification authority comprising an RSA n module, product of 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 randomness z, of a value 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 ; A step of sending the value v to the certification authority with a proof of knowledge of the secret user key according to a protocol with null disclosure of knowledge;
— 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 : A step of receiving the certification authority of a certificate consisting of a pair of values (A, e), in which e is a random associated with the public identifier /, and:
Ae" = f {h!, v, n) , A e "= f {h, v, n),
où / est une fonction prédéterminée ; et where / is a predetermined function; and
— une étape d'obtention de la clé publique utilisateur à partir des valeurs A et e et de l'identifiant / de l'entité. A step of obtaining the public user key from the values A and e and the identifier / entity.
Corrélativement, l'invention vise une entité possédant un identifiant public / comportant : Correlatively, the invention relates to an entity having a public identifier / comprising:
— un module de génération d'une clé secrète utilisateur s à partir d'un aléa ; A module for generating a secret user key from a random;
— un module d'évaluation, apte à évaluer à partir : - an evaluation module, able to evaluate from:
o de cette clé secrète utilisateur ; et o this secret user key; and
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) ; o of a public key master of a certification authority comprising an RSA n module, product of 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 randomness z, a value 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 ; A module for sending the value v to the certification authority with a proof of knowledge of the secret user key according to a protocol with null disclosure of knowledge;
— 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) , A reception module from the certification authority, a certificate consisting of a pair of values (A, e) in which e is a hazard associated with the public identifier / and: A e "= f {h, v, n),
où / est une fonction prédéterminée ; et where / is a predetermined function; and
— un module d'obtention d'une clé publique utilisateur à partir des valeurs A et e et de l'identifiant /. A module for obtaining a public user key from the values A and e and the identifier /.
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 : 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:
— une étape de génération d'une paire de clés maître comprenant : A step of generating a pair of master keys comprising:
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 ; 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;
o une clé secrète maître comprenant les nombres premiers p et q ; a secret master key comprising the prime numbers p and 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 ; 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;
— 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 : A step of generating, from the public identifier / entity and the value v, a certificate formed of a pair of values (A, e) in which e is a random associated with the public identifier /, and:
Ae" = f{h!, v, n) , A e "= f {h, v, n),
où / est une fonction prédéterminée ; et where / is a predetermined function; and
— une étape d'envoi du certificat (A, e) à l'entité. A step of sending the certificate (A, e) to the entity.
Corrélativement, l'invention vise une autorité de certification comprenant : Correlatively, the invention provides a certification authority comprising:
— un module de génération d'une paire de clés maître comprenant : A module for generating a pair of master keys comprising:
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 ; 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;
o une clé secrète maître comprenant les nombres premiers p et q ; a secret master key comprising the prime numbers p and 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 ; 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;
— un module de vérification de ladite preuve de connaissance ; A module for verifying said proof of knowledge;
— 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 : 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:
Aeb = f{h!, v, n) , A eb = f {h, v, n),
où / est une fonction prédéterminée ; et where / is a predetermined function; and
— 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. 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.
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. In a particular embodiment, 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. This embodiment is particularly advantageous in the context of RFID tags.
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. In another particular embodiment, the various steps of the method of obtaining and the method of sending are determined by computer program instructions.
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. Consequently, 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.
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. 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.
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. 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.
L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. The invention also relates to a computer-readable information medium, comprising instructions of a computer program as mentioned above.
Le support d'informations peut être n'importe 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. The information carrier may be any entity or device capable of storing the program. For example, the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium, for example a floppy disk or a disk. hard.
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. On the other hand, the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can be downloaded in particular on an Internet type network.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
Selon un autre aspect, l'invention vise aussi un système comportant : According to another aspect, the invention also provides a system comprising:
— une entité possédant un identifiant public / selon l'invention ; et An entity having a public identifier / according to the invention; and
— 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. A certification authority according to the invention; In a particular embodiment, 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.
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 It can also be envisaged, in other embodiments, that the generation method, the sending method, the method of production, the system, the entity and the certification authority according to the invention present in combination all or some of the aforementioned features. Brief description of the drawings
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 : Other features and advantages of the present invention will emerge from the description given below, with reference to the drawings and the appendix which illustrate embodiments having no limiting character. In the 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 ; FIG. 1, already described, schematically represents a GPS authentication scheme of the state of the art;
— 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 ; FIG. 2, already described, schematically represents a GPS authentication scheme based on the identity proposed in the state of the art;
— 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 ; - Figure 3 schematically shows a system according to the invention comprising an entity and a certification authority according to the invention in a particular embodiment;
— 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 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; and
— 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. 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.
L'annexe 1 rappelle les préconisations en matière de dimensions de paramètres cryptographiques de l'instance ECRYPTII. Appendix 1 recalls the recommendations concerning cryptographic parameter dimensions of the ECRYPTII instance.
Description détaillée de l'invention Detailed description of the 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 : As mentioned above, 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. More specifically, in accordance with the invention, 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:
Aeb = f(hï, v, n), A eb = 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. where / is a predetermined function, 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, and h is a value determined by the certification authority from a randomly kept secret by the certification authority.
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. The function / is such that no entity, without knowing the factorization of the RSA n module, can find a pair of values (A, e) satisfying the relation A gb = f (h ', v, n). Only the certification authority can advantageously generate such a pair of values, so that the public key (A, e, l) generated according to the invention is tamper-proof. Various examples of functions / are proposed in the remainder of the description for illustrative purposes.
La figure 3 représente, dans son environnement, un système 1 conforme à l'invention, dans un mode particulier de réalisation. FIG. 3 represents, in its environment, a system 1 according to the invention, in a particular embodiment.
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. This system 1 comprises an entity 2, a certification authority 3 and a verifier device 4, in accordance with the invention. In the example envisaged here, 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.
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. However, no limitation is attached to the nature of the entity 2 and the verifier device 4. The invention applies to other types of systems in which an authentication mechanism between two devices or a mechanism of Signing a message can be implemented. Thus, for example, the entity 2 may be a terminal and the verifier device 4 a server from which the entity 2 seeks to authenticate.
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. Moreover, although 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.
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. 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.
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. In the embodiment described here, 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.
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. In another embodiment of the invention, 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 certification authority 3 and the verifier device 4. 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.
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. 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.
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. 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.
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. We will now describe, with reference to FIG. 4, the main steps of a method for generating a user key pair intended for the entity 2, as implemented by the system 1 in a mode particular embodiment. 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.
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). According to the invention, the certification authority 3 generates a pair of master keys comprising a master public key mpk and a master secret key msk (step 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. For this purpose, the certification authority 3 determines an RSA module n = pq, for example of 768-bit dimension, where p and q denote two prime numbers.
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 £ ¾. It also chooses an integer b greater than 1, for example b = 4, and two quadratic residues a and 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 : The certification authority 3 generates from these numbers and a hazard z, a value h such that:
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). h = g ~ z (rnod). In the embodiment described here, the master key pair is then given by: mpk = (n, g, a, h, b) and msk = (p, q, z).
La clé publique maître mpk de l'autorité de certification 3 est publiée. The master public key mpk of the certification authority 3 is published.
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. Entity 2 generates a user secret key usk from an integer s of dimension 400 bits here (step 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). Then it evaluates from its secret key s and the public key mpk of the certification authority 3, a value v = g ~ s (mod ri) (step 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. 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.
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). On receipt of these elements, 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).
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 : More specifically, 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. Furthermore, in the embodiment described here, the certification authority 3 generates the value A according to:
A = (ah'v^ mod ri), A = (ah'v ^ mod ri),
i i
avec d =— (mod (p— ï) (q— 1)). with d = - (mod (p-) (q-1)).
Autrement dit, Aeb s'écrit sous la forme : In other words, A eb is written as:
Ae" = f (h!, v, ri) A e "= f (h, v, ri)
avec f(hl, v, ri) = ahlv (mod ri) et b supérieur à 1. with f (h l , v, ri) = ah l v (mod ri) and b greater than 1.
Puis l'autorité de certification 3 envoie le certificat (A, e) ainsi généré à l'entité 2 (étape G60). Then the certification authority 3 sends the certificate (A, e) thus generated to the entity 2 (step G60).
Dans le mode de réalisation décrit ici, sur réception de ce certificat, l'entité 2 vérifie que (étape G70) : In the embodiment described here, upon receipt of this certificate, the entity 2 verifies that (step G70):
— (mod ri) . - (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) . If necessary, the user public key upk is formed from the certificate (A, e) received from the certification authority 3 and the public identifier / from the entity 2 (step G80), otherwise 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. Advantageously, 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.
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. More specifically, with reference to FIG. 5, we will briefly describe how the user key pair thus obtained can be used to enable the entity 2 to authenticate itself to the verifier device 4 by means of a schema. GPS authentication based on the public / entity identifier 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). Following the implementation of the generation method described with reference to FIG. 4 (step H10), the entity 2 thus obtains the user key pair (upk, usk) generated according to the invention (step 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). In order to authenticate according to a GPS scheme with the verifier device 4, it sends to it its public key upk = (A, e, I) certified by the certification authority 3 (step H30).
Sur réception de la clé publique upk, le dispositif vérificateur 4 évalue une nouvelle clé publique v' selon : On receipt of the public key upk, the verifier device 4 evaluates a new public key v 'according to:
Ae" A e "
v' = — (modw) v '= - (modw)
(ah ) (ah)
en utilisant la clé publique maître publiée par l'autorité de certification 3 (étape H40). using the master public key issued by the certification authority 3 (step 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. 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.
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'. Similarly, 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 '.
Dans l'exemple précédent, on a envisagé un identifiant / de l'entité 2 de dimension In the previous example, we considered an identifier / of the entity 2 of 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. 160 bits, an RSA module n of 768 bits dimension, an integer b = 4 and a secret key s of the entity 2 of dimension 400 bits. However, the invention is not limited to these numerical values. Other numerical values may be considered depending on the level of security required, as illustrated now.
Dans la suite de la description, on note :
— LEV, le niveau de sécurité requis et LS un paramètre de sécurité, In the rest of the description, we note: - LEV, the required security level and LS a security parameter,
— Ln, la taille en bits du module RSA n, - Ln, the size in bits of the RSA n module,
— \a taille en bits de l'aléa z, - bit size of the z randomness,
— la taille en bits de l'identifiant / de l'entité 2, The size in bits of the identifier / of the entity 2,
— la taille en bits de l'élément e et The size in bits of the element e and
— Lusk la taille en bits de la clé secrète de l'entité 2, - Lusk the bit size of the secret key of entity 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 : Based on the work of Mr. Joye cited above, the following relationships can be established between these parameters to maintain the LEV security level:
Ln > 2 (Le + 2) (1) Ln> 2 (The + 2) (1)
b{Le - 1) > Lusk + 1 (2) b {The - 1)> Lusk + 1 (2)
Ln - 4 > Lusk > Lz + Ll + LS (3) Ln - 4> Lusk> Lz + Ll + ls (3)
Le = LEV + 30 (4) The = LEV + 30 (4)
Les relations (2) et (3) conduisent en outre à la relation suivante : Relations (2) and (3) also lead to the following relation:
b(Le - 1) > Lusk > Lz + Ll + LS (5) b (The - 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. In general, 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.
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. 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.
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. For example, one can choose as a secret key dimension 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.
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 : As an illustration, according to these recommendations, if one chooses a level of security LEV = 80 bits (extracted from the "symmetrical" column of the table in appendix 1), one has:
Ln = 1248 bits (extrait de la colonne « asymétrique » de la table en annexe 1), Ln = 1248 bits (extracted from the "asymmetric" column of the table in appendix 1),
= 160 bits (extrait de la colonne « clé discrète » de la table en annexe 1), = 160 bits (extract from the "discrete key" column of the table in appendix 1),
Ll = 160 bits (extrait de la colonne « hash » de la table en annexe 1), Ll = 160 bits (from the "hash" column of the table in Appendix 1),
LS = 80 bits (extrait de la colonne « symétrique » de la table en annexe 1), et LS = 80 bits (extracted from the "symmetrical" column of the table in Appendix 1), and
L· = 110 bits (cf. en application de la relation (4)). L = 110 bits (see application of relation (4)).
Il résulte de la relation (5) que b = 4 et Lusk = 400 bits. It follows from relation (5) that b = 4 and Lusk = 400 bits.
Selon un autre exemple, si l'on choisit un niveau de sécurité LEV=128 bits, on a : Ln = 3248 bits, According to another example, if one chooses a level of security LEV = 128 bits, one has: Ln = 3248 bits,
= 256 bits,
U = 256 bits, = 256 bits, U = 256 bits,
LS = 128 bits, et LS = 128 bits, and
= 158 bits (cf. en application de la relation (4)). = 158 bits (see application of relation (4)).
Il résulte de la relation (5) que b = 5 et Lusk = 640 bits. It follows from relation (5) that b = 5 and 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. Of course these examples are given for illustrative purposes, and other numerical values may be chosen for the execution of the invention. However, in order to guarantee a sufficient level of security, 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.
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 : In the example illustrated in FIG. 4, the certification authority 3 used during the step G50, to generate the certificate (A, e), a function of the form:
f(hl, v, ri) = ah'v ( nod ri) f (h l , v, ri) = ah'v (nod ri)
avec with
Aeb = f {hï, v, n) A eb = f {h, v, n)
h = g~z(mod ri) et b étant supérieur à 1 (ex. b=4). h = g ~ z (mod ri) and b being greater than 1 (eg 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. This example, although very advantageous, is however not limiting in itself, and other functions may be envisaged alternatively.
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 : Thus, in an alternative embodiment, 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:
Ae = (ah1 v) (rnod ri), A e = (ah 1 v) (rnod r 1),
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. where the value 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.
Autrement dit, Aeb s'écrit sous la forme : In other words, A eb is written as:
Ae" = f {h!, v, n) A e "= f {h, v, n)
avec f(hl, v, ri) = ahlv (rnod ri) et b=\ à l'étape G10. with f (h l , v, ri) = ah l v (rnod ri) and b = \ at step G10.
Corrélativement, sur réception de ce certificat, l'entité 2 vérifie alors au cours de l'étape G70 que : Correlatively, upon receipt of this certificate, entity 2 then verifies during step G70 that:
Ae A e
v =— 7 (rnod ri) . v = - 7 (rnod ri).
ah ha
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. Moreover, with reference to FIG. 5, 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.
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 : For such a function, building on the work described in the document by J. Camenisch et al. entitled "A signature scheme with efficient protocols", SCN'02, vol. 2576 of Lecture Notes in Computer Science, pages 268-289, Springer 2002, one can consider using the following parameter dimensions, with the notations introduced previously:
Ln = 1024 bits, Ln = 1024 bits,
U = 160 bits,U = 160 bits,
le = 162 bits, the = 162 bits,
Lusk = 1346 bits. Lusk = 1346 bits.
Par ailleurs, pour une sécurité de 80 bits, on peut prendre Lz = 80 bits Moreover, for an 80-bit security, we can take 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 : In another variant embodiment, 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:
Ae = (h1 + v) (rnod ri), A e = (h 1 + v) (rnod r 1),
où la valeur h est une valeur aléatoire de même dimension que n, déterminée à partir d'un aléa z.where the value h is a random value of the same dimension as n, determined from a randomness z.
L'aléa z est par exemple la graine d'un générateur pseudo-aléatoire. The hazard z is for example the seed of a pseudo-random generator.
Autrement dit, Aeb s'écrit dans cette variante sous la forme : In other words, A eb is written in this variant in the form:
Aeb = f {hï, v, n) A eb = f {h, v, n)
avec f(hl, v, ri) = h1 + v) ( nod ri) et b=\ à l'étape G10. with f (h l , v, ri) = h 1 + v) (nod ri) and b = \ at step G10.
Corrélativement, sur réception de ce certificat, l'entité 2 vérifie alors au cours de l'étape G70 que : Correlatively, upon receipt of this certificate, entity 2 then verifies during step G70 that:
v = Ae + hl(mod ri). v = A e + h l (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 : Moreover, with reference to FIG. 5, 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:
v' = Ae + h'Çmod ri) v '= A e + h'Cmod ri)
en utilisant la clé publique maître publiée par l'autorité de certification 3.
Annexe 1 using the master public key issued by the CA 3. Annex 1
Extrait des préconisations ECRYPT II (20111 Extract of the recommendations ECRYPT II (20111
Niveau Symétrique Asymétrique Clé discrète Groupe Courbe Hash Symmetric Asymmetric Level Discrete Key Hash Curve Group
Loqarithmique elliptique Elliptical Loqarithmic
1 32 1 32
2 64 816 128 816 128 128 2 64 816 128 816 128 128
3 72 1008 144 1008 144 1443 72 1008 144 1008 144 144
4 80 1248 160 1248 160 1604 80 1248 160 1248 160 160
5 96 1776 192 1776 192 1925 96 1776 192 1776 192 192
6 112 2432 224 2432 224 2246 112 2432 224 2432 224 224
7 128 3248 256 3248 256 2567 128 3248 256 3248 256 256
8 256 15424 512 15424 512 512
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 : A cryptographic method for generating a user key pair for an entity (2) having a public identifier /, the method comprising:
— une étape de génération (G10), par une autorité de certification (3), d'une paire de clés maître comprenant : A step of generating (G10), by a certification authority (3), a pair of master keys comprising:
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 ; 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;
o une clé secrète maître comprenant les nombres premiers p et q ; a secret master key comprising the prime numbers p and q;
— une étape de génération (G20) par l'entité (2) d'une clé secrète utilisateur s à partir d'un aléa ; A step of generation (G20) by the entity (2) of a secret user key s from a random;
— 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) ; An evaluation step (G30) by the entity (2), from the secret user key and the master public key, of a value 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 ; A step of sending (G40) by the entity (2) this value v to the certification authority (3) with a proof of knowledge of the secret user key according to a protocol with null disclosure of knowledge;
— 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 : A generation step (G50) by the certification authority, based on the public identifier / entity and the value v, of a certificate formed of a pair of values {A, e) in which e is a hazard associated with the public identifier / and:
Ae" = f {h!, v, n) , A e "= f {h, v, n),
où / est une fonction prédéterminée ; et where / is a predetermined function; and
— une étape d'envoi (G60) du certificat (A, e) à l'entité par l'autorité de certification ; A step of sending (G60) the certificate (A, e) to the entity by the certification authority;
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é. these steps resulting in obtaining (G80) a user key pair for the entity comprising the user secret key s and a user public key formed from the values A and e and the identifier / entity .
2. Procédé selon la revendication 1 dans lequel : 2. The method of claim 1 wherein:
h = g~z(mod ), et h = g ~ z (mod), and
A = (ahlv)d (mod ), A = (ah l v) d (mod),
(mod (p— 1) (q— 1)) et b supérieur à 1. (mod (p-1) (q-1)) and b greater than 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) . 3. The method of claim 1 or 2 further comprising a verification step (G70) by the entity (2) that: v = - 7 {mod ri).
ah
ha
4. Procédé selon l'une quelconque des revendications 1 à 3 dans lequel l'identifiant public / comprend au moins 160 bits. 4. Method according to any one of claims 1 to 3 wherein the public identifier / comprises at least 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. 5. Method according to any one of claims 1 to 3 wherein the secret user key s comprises at least 400 bits.
6. Procédé selon la revendication 1 dans lequel : The method of claim 1 wherein:
Ae = ah'v mod n). A e = 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. 7. Method according to any one of claims 1 to 6 wherein the zero knowledge disclosure protocol is based on a GPS type authentication scheme.
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. 8. A method of authenticating an entity (2) having a public identifier / with a verifier device (4), by using a user key pair generated according to the generation method according to any one of claims 1 to 7, the authentication (H50) of the entity (2) being performed using a GPS type authentication scheme implemented between the entity and the verifier device.
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. 9. A method of signing a message by an entity (2) having a public identifier / using a user key pair generated according to the generation method according to any one of claims 1 to 7, the signature of the message being realized using a GPS type signature scheme.
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 : 10. Method of obtaining by an entity (2) having a public identifier / of a pair of user keys comprising a user public key and a user private key, this method comprising:
— une étape de génération (G20) de la clé secrète utilisateur s à partir d'un aléa ; A step of generating (G20) the secret user key s from a random;
— une étape d'évaluation (G30) à partir : An evaluation step (G30) starting from:
o de cette clé secrète utilisateur ; et o this secret user key; and
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, a public key master of a certification authority (3) comprising an RSA module n, produced of two prime numbers p and q, an integer b greater than or equal to 1, two quadratic residues and g modulo n, and a value h determined from a hazard 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 ; a value v = g ~ s (mod n); A step of sending (G40) the value v to the certification authority (3) with a proof of knowledge of the secret user key according to a protocol with null disclosure of knowledge;
— 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 : A step of receiving (G60) the certification authority (3) of a certificate consisting of a pair of values (A, e), in which e is a random associated with the public identifier /, and:
Ae" = f {h!, v, n) , A e "= f {h, v, n),
où / est une fonction prédéterminée ; et where / is a predetermined function; and
— une étape d'obtention (G80) de la clé publique utilisateur à partir des valeurs A et e et de l'identifiant / de l'entité. A step of obtaining (G80) the user public key from the values A and e and the identifier / entity.
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 : 11. A method of sending by a certificate authority (3) a certificate to an entity (2) having a public identifier / for forming a public user key for that entity, the method comprising:
— une étape de génération (G10) d'une paire de clés maître comprenant : A step of generating (G10) a pair of master keys comprising:
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 ; 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;
o une clé secrète maître comprenant les nombres premiers p et q ; a secret master key comprising the prime numbers p and 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 ; A reception step (G40) originating from the entity of a value v = g ~ s (mod) generated by the entity using its user private key s, and a proof of knowledge of the secret user key according to a protocol with zero disclosure of knowledge;
— 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 : A generation step (G50), 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:
Aeb = f {hï, v, n) , A eb = f {h, v, n),
où / est une fonction prédéterminée ; et where / is a predetermined function; and
— une étape d'envoi (G60) du couple (A, e) à l'entité. A step of sending (G60) the pair (A, e) to the entity.
12. Entité (2) possédant un identifiant public / comportant : 12. Entity (2) having a public identifier / comprising:
— un module de génération d'une clé secrète utilisateur s à partir d'un aléa ; A module for generating a secret user key from a random;
— un module d'évaluation, apte à évaluer à partir : - an evaluation module, able to evaluate from:
o de cette clé secrète utilisateur ; et o this secret user key; and
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 ) ; o of a public key master of a certification authority comprising an RSA n module, product of 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 randomness z, a value 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 : A module for sending the value v to the certification authority with a proof of knowledge of the secret user key according to a protocol with null disclosure of knowledge; A reception module from the certification authority, a certificate consisting of a pair of values (A, e) in which e is a random associated with the public identifier /, and:
Aeb = f {hï, v, n) , A eb = f {h, v, n),
où / est une fonction prédéterminée ; et where / is a predetermined function; and
— un module d'obtention d'une clé publique utilisateur à partir des valeurs A et e et de l'identifiant /. A module for obtaining a public user key from the values A and e and the identifier /.
13. Autorité de certification (3) comprenant : 13. Certification Authority (3) comprising:
— un module de génération d'une paire de clés maître comprenant : A module for generating a pair of master keys comprising:
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 ; 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;
o une clé secrète maître comprenant les nombres premiers p et q ; a secret master key comprising the prime numbers p and 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 ; 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;
— un module de vérification de ladite preuve de connaissance ; A module for verifying said proof of knowledge;
— 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 : 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:
Aeb = f {hï, v, n) , A eb = f {h, v, n),
où / est une fonction prédéterminée ; et where / is a predetermined function; and
— un module d'envoi du couple (A, e) à l'entité. A module for sending the pair (A, e) to the entity.
14. Système (1) comportant : 14. System (1) comprising:
— une entité (2) possédant un identifiant public / selon la revendication 12 ; et An entity (2) having a public identifier / according to claim 12; and
— une autorité de certification (3) selon la revendication 13 ; A certification authority (3) according to claim 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. 15. System (1) according to claim 14 further comprising a verifier device (4), able to authenticate the entity (2) by applying a GPS authentication scheme or to check the validity of a signature of a message generated by the entity (2) by applying a GPS signature scheme.
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.
Computer program comprising instructions for carrying out the steps of the obtaining method according to claim 10 or the sending method according to claim 11 when said program is executed by a computer.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1351332 | 2013-02-15 | ||
FR1351332A FR3002350A1 (en) | 2013-02-15 | 2013-02-15 | CRYPTOGRAPHIC METHOD FOR GENERATING A USER KEY PAIR FOR AN ENTITY HAVING A PUBLIC IDENTIFIER I, AND A SYSTEM |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014125206A1 true WO2014125206A1 (en) | 2014-08-21 |
Family
ID=48901069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2014/050262 WO2014125206A1 (en) | 2013-02-15 | 2014-02-11 | Cryptographic method for generating a pair of user keys for an entity having a public identifier i, and system |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3002350A1 (en) |
WO (1) | WO2014125206A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069547A (en) * | 2020-07-29 | 2020-12-11 | 北京农业信息技术研究中心 | Supply chain responsibility main body identity authentication method and system |
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 (en) * | 2001-08-20 | 2003-02-27 | France Telecom | Method of producing a cryptographic unit for an asymmetric cryptographic system using a discrete logarithm function |
-
2013
- 2013-02-15 FR FR1351332A patent/FR3002350A1/en active Pending
-
2014
- 2014-02-11 WO PCT/FR2014/050262 patent/WO2014125206A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003017569A1 (en) * | 2001-08-20 | 2003-02-27 | France Telecom | Method of producing a cryptographic unit for an asymmetric cryptographic system using a discrete logarithm function |
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 (en) * | 2020-07-29 | 2020-12-11 | 北京农业信息技术研究中心 | Supply chain responsibility main body identity authentication method and system |
CN112069547B (en) * | 2020-07-29 | 2023-12-08 | 北京农业信息技术研究中心 | Identity authentication method and system for supply chain responsibility main body |
Also Published As
Publication number | Publication date |
---|---|
FR3002350A1 (en) | 2014-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2345202B1 (en) | Digital signature method in two steps | |
EP3010177B1 (en) | Method for authenticating a client device with a server using a secret element | |
EP2446579B1 (en) | Process for mutually authenticating a reader and a radio tag | |
EP3665609B1 (en) | Method and server for certifying an electronic document | |
EP3476097A1 (en) | Technique for downloading a network access profile | |
FR2759226A1 (en) | PROTOCOL FOR VERIFYING A DIGITAL SIGNATURE | |
CA2895189C (en) | Group signature using a pseudonym | |
EP2371083B1 (en) | Group signature with local revocation verification with capacity for lifting anonymity | |
CN110601855A (en) | Root certificate management method and device, electronic equipment and storage medium | |
Bellare et al. | Deterring certificate subversion: efficient double-authentication-preventing signatures | |
EP1747639A1 (en) | Method and system for generating a list signature | |
US20150023498A1 (en) | Byzantine fault tolerance and threshold coin tossing | |
WO2013093373A1 (en) | Authentication method between a reader and a radio tag | |
WO2014125206A1 (en) | Cryptographic method for generating a pair of user keys for an entity having a public identifier i, and system | |
WO2021074527A1 (en) | Method for managing a public key database, method for authenticating public keys, and server device and client device implementing these methods | |
EP3857810A1 (en) | Cryptographic method of secure comparison of two secret data x and y | |
FR3091107A1 (en) | Method and system for generating keys for an anonymous signature scheme | |
WO2019122679A1 (en) | Cryptographic method for group signature | |
WO2014199071A1 (en) | Method and system for delegating a calculation of a bilinear coupling value to a calculation server | |
WO2007042419A1 (en) | Cryptographic method using an identity-based encryption system | |
FR2898423A1 (en) | Certified electronic signature generating device e.g. chip card, configuring method for e.g. computer, involves updating certificate to user upon reception of denomination and number by certificate producer so as to be used with device | |
FR3140728A1 (en) | Cryptographic processing method, electronic device and associated computer program | |
WO2023041863A1 (en) | Methods and devices for authentication and verification of non-revocation | |
WO2021165625A1 (en) | Method for calculating a session key, and method for recovering such a session key | |
FR3111037A1 (en) | Method of deriving a partial signature with partial verification |
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 |