EP2104990A2 - Method or extracting a secret from biometric data - Google Patents

Method or extracting a secret from biometric data

Info

Publication number
EP2104990A2
EP2104990A2 EP07871912A EP07871912A EP2104990A2 EP 2104990 A2 EP2104990 A2 EP 2104990A2 EP 07871912 A EP07871912 A EP 07871912A EP 07871912 A EP07871912 A EP 07871912A EP 2104990 A2 EP2104990 A2 EP 2104990A2
Authority
EP
European Patent Office
Prior art keywords
representation
user
secret
biometric data
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP07871912A
Other languages
German (de)
French (fr)
Inventor
Valérie VIET TRIEM TONG
Hervé SIBERT
Marc Girault
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of EP2104990A2 publication Critical patent/EP2104990A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Definitions

  • the invention lies in the field of cryptography. It relates more specifically to a method for regenerating a secret using a user's biometric data, the secret having been previously selected by the user or by a system from which the user will authenticate in the to come up.
  • the invention finds a particularly interesting application in the authentication and identification of users. It can also be used to regenerate personal data of the user, for example to regenerate a private key of a private key / public key pair.
  • a biometric authentication system is a measurement system based on the recognition of characteristics specific to the individual, such as his fingerprint, the shape of his hand, the iris of his eye, his voice, the shape of his face.
  • the biometric authentication can be done by comparing a current biometric data item with a reference biometric data item, or by comparing a secret generated from the characteristics of the biometric data item.
  • the first authentication family has the disadvantage of having to store the biometric reference data: the centralized storage of such data is very controlled in some countries like France, and storage on a user medium is vulnerable to theft or loss. of support.
  • the protection of biometric data is crucial because biometric data is not revocable: one's fingerprint can not be replaced by another. In addition, this is personal data that should not circulate without the consent of their owner.
  • the second family overcomes the problem of storing biometric data because the authentication is done by comparing secrets generated from the biometric data, and not by comparison of the biometric data themselves.
  • Several authentication methods are known based on the generation of a key from the biometric data.
  • Fuzzy Commitment A Fuzzy Commitment Scheme, A.Juels, M.Wattenberg.In 6th ACM Conference on Computer and Communication Security, 1999. http://citeseer.ist.psu.edu/iuels99fuzzv.
  • htmn proposes to generate from a reference biometric data item E of the user, a code word c of an error correction code, to publish the difference between the biometric data item and the code word, as well as the image h (c) of c by a hash function, or hash function, h
  • the authentication of the user is successful if his current fingerprint E 'is sufficiently close to E that a word of code c 1 closest to ((E) + E ') is equal to C.
  • this method only partial information (cE) of the
  • this method is not well adapted to a representation of a fingerprint by a set of points, nor is it intended to account of biometric variations too important.
  • the patent application published under No. US2002 / 0120592 discloses a method of authenticating a user from data that may vary slightly, such as for example biometric data.
  • the method consists in generating a secret for the user, the secret being represented by a polynomial P, and in hiding the value of P so that only the legitimate user is able to recover the value of the secret represented by P.
  • the set R2 is intended to scramble the information from the set R1.
  • the invention relates to a method of representing a secret from a biometric data of a user, the secret being represented by a polynomial P of degree n, the method being characterized in that it comprises :
  • CM error correction code
  • F stable and ordered representation
  • the representation method according to the invention only provides partial information on the secret and the reference biometric data of the user, more specifically on the tolerated difference between the reference biometric data and a current biometric data in order to be able to assimilate the current biometric data to the reference biometric data. The calculation of this difference is based on the use of the error correction codes.
  • the data provided by the representation method according to the invention are published, they do not provide information to obtain the reference biometric data of the user.
  • no information is provided on the error correction code since it is the image of this code by a hash function that is published.
  • Such a function having as property that for all x whose image H (x) is known by the hash function, then it is very difficult to calculate y such that H (x) H (y).
  • the stable and orderly representation of the biometric data of the user is divided into k parts.
  • this cutting makes it possible to make the process less sensitive to the biological variations inherent in the biometric data. For example, an impression is sensitive to many factors: ambient temperature, finger position on the sensor, finger cut.
  • the representation method comprises a step of calculating the stable and ordered representation (F) of the reference biometric data of the user.
  • the k couples of values ((q - fi), H (q)) are published.
  • the publication of value pairs does not involve the publication of the biometric data of the user. It is crucial that such data is not published. Indeed, the biometric data is not revocable, its flight represents a huge risk for any secure access to systems or applications based on this biometric data.
  • the risk of stealing the biometric data of the user is zero.
  • the invention also relates to a method of regenerating a secret from at least one current biometric data of a user, the secret being represented by a polynomial (P) of degree n, the method being characterized in that He understands :
  • a correction step during which, for a stable and ordered representation (F ') of the current biometric data of the user divided into k parts (fo 1 ,..., fk-i'), it is sought k codewords (C 0 ', ..., CM') of an error correction code, such as a current comparison between the i- th code word sought (c, 1 ) and the i th part (f, 1 ) of the current representation (F 1 ) is closest to a reference comparison (c, - f,), the comparison of reference (c, - f,) being calculated consecutively to an enrollment step in which k points (p 0 , ..., p ⁇ -i) of the polynomial (P), k> n randomly selected are encoded in k code words (c 0 , ..., c k-1 ) of an error correction code and a stable and ordered representation (F) of a reference biometric data item of the user is divided into k parts (f 0
  • the secret that the user must find is the polynomial P, of degree n.
  • P the polynomial
  • a secret associated in a prior step to a user, is encoded in such a way that it can only be reconstructed using the biometric data of the legitimate user.
  • the method according to the invention allows to authenticate / identify a user through his biometric data by using a secret that is revocable and configurable.
  • a secret that is revocable and configurable.
  • the secret is also configurable since a different secret can be chosen for each application, system or network that implements the method according to the invention.
  • the regeneration method comprises a step of calculating the stable and ordered representation (F ') of the current biometric data of the user.
  • the degree n of the polynomial is equal to 8. It has been noted that by dividing the representations of the biometric data of the users used in the representation processes of a secret and regeneration of a secret according to the invention in 16 parts, an illegitimate user never found 8 points of the polynomial, while a legitimate user found more than 8 points of the polynomial in 60% of cases. Thus, by choosing to represent the secret by a polynomial of degree 8 and by choosing to split the representations of the biometric data of the users in 16 parts, one overcomes a problem of false positives: one does not identify / not authenticate a user by to a reference representation of a biometric data of another user.
  • the invention also relates to the use of the method of regeneration of a secret according to the invention for regenerating a private key of a private key / public key pair.
  • a private key / public key pair is associated with an user.
  • the user keeps his secret key in his possession, for example on a support that is personal, for example a USB key (the English "Universal Serial Bus"). It accesses its support for each cryptographic operation requiring its secret key, for example during an authentication or during a cryptographic signature.
  • a mobile user can regenerate his private key on demand, which avoids having to store it.
  • the invention also relates to a device for representing a secret from a biometric data of a user, the secret being represented by a polynomial (P) of degree n, the device being characterized in that it comprises:
  • enrollment means arranged to encode k points of the randomly selected polynomial in k code words of an error correction code, and to cut out a stable and ordered representation of a reference biometric data item of the user; k parts (fo, ..., fk-i), and
  • calculating means arranged for calculating k pairs of values ((q- fi), H (Ci)), such that the i-th pair comprises a reference comparison (ci-fi) between the i-th codeword (Q) and the i-th part (fi) of the reference representation (F), and an image of the i-th code word (Cj) by a hash function (H).
  • the invention also relates to a device for regenerating a secret from at least one current biometric data of a user, the secret being represented by a polynomial (P) of degree n, the device being characterized in that it comprises: correction means arranged to search, for a stable and ordered representation (F ') of the current biometric data of the user divided into k parts (f o ⁇ ..., W), k codewords (C 0 ', ..., Ck-1 1 ) of an error correction code, such as a current comparison between the searched code word i (Q 1 ) and the i-th part ( fi 1 ) of the current representation (F ') is the closest to a reference comparison (Cj - fj), the reference comparison (c, - fi) being calculated consecutively to an enrollment step during which k points (po, ..., PM) of the polynomial (P), k> n randomly chosen are encoded in k code words (Co C M ) of an error correction code and
  • the invention also relates to a device for collecting a biometric data of a user, characterized in that it comprises means for calculating a stable and ordered representation (F, F 1 ) of a biometric data item of a user, adapted to be:
  • k-parts ((f 0 , ..., fk-i), (fo-, .... fk-r)), where k is the number of points chosen randomly in a polynomial of degree n, k > n, said polynomial representing a secret of a user, the k points of the polynomial being encoded in k code word ((C 0 , ..., c k- i), (C 0 ', ..., c k- i ') an error correction code, and
  • the invention also relates to an authentication system comprising:
  • a device for regenerating a secret from at least one current biometric data of a user according to the invention.
  • the invention also relates to a computer program on a data carrier and loadable in the internal memory of a computer, the program comprising portions of code for performing the steps of the method of representation of a secret from biometric data according to the invention when the program is executed on said computer.
  • the invention also relates to a partially or completely removable data storage means comprising computer program code instructions for performing the steps of a representation method according to the invention.
  • the invention also relates to a computer program on a data carrier and loadable in the internal memory of a computer, the program comprising portions of code for the execution of the steps of the process of regeneration of a secret from at least one biometric data item according to the invention when the program is executed on said computer.
  • the invention also relates to a partially or completely removable data storage means comprising computer program code instructions for executing the steps of a secret regeneration method according to the invention.
  • FIG. 1 shows the steps of the method according to FIG. invention
  • FIG. 2 is a functional representation of an authentication system according to the invention comprising a device for representing a secret of a user from a reference biometric data item and a device for regenerating a secret. from at least one current biometric data of the user;
  • FIG. 3 is a functional representation of a sensor device of a biometric data of the user according to the invention.
  • minutiae characteristic points of a fingerprint
  • a minutia is a point which is on the change of continuity of papillary lines.
  • Authentication of a fingerprint is then done by comparing the position of the minutiae with respect to a reference template (the term commonly used is the English term "template”).
  • a second characterization of a fingerprint is done by texture analysis. analysis texture is described in detail in AKJain, S.Prabhakar, L. Hong and S.Pankanti; "FingerCode: A Filterbank for Fingerprint Representation and Matching", in Proc. IEEE Conf.
  • Texture analysis makes it possible to characterize a fingerprint by analyzing the image around the morphological center of the impression after application of Gabor filters.
  • the imprint is then characterized by a set of 8 vectors of 80 components each, the components being numbers between 0 and 7.
  • Each of the vectors corresponds to the transformation of the image after application of a Gabor filter.
  • the component is then the average of the differences in the gray average of the image in a paving sector.
  • the fingerprint is characterized by a vector of 640 components.
  • the vector thus obtained is called "fingercode”.
  • the authentication of a fingerprint is then done by comparing the vector representations of the fingerprints.
  • a user is authenticated if the distance between the current vector representation and the reference vector representation is less than a fixed threshold.
  • the distance used is the Euclidean distance. It is the texture analysis technique that is used in the invention.
  • Figure 1 shows the steps of the method of extracting a secret from biometric data.
  • the invention aims to associate a secret to a user so that only the legitimate user can find the secret from his biometric data.
  • the method comprises two large phases 1, 2.
  • a first phase 1 corresponds to the representation of a secret specific to a user from a biometric data of the user. This phase is to be performed for each secret that the user holds, especially in the case where different secrets are used to protect access to different systems or applications.
  • the second phase 2 corresponds to the regeneration of the secret from a current biometric data of the user. With the second phase 2, it is verified that the secret of the user is found thanks to his current biometric data.
  • the second phase corresponds to a phase of authentication of the user; it is performed at each access control of the user to a system or an application whose access is protected by the method according to the invention.
  • Phase 1 of the process according to the invention comprises the steps 10, 11 and
  • a secret s is chosen in the form of a sequence of digits.
  • the secret is represented in the form of a polynomial P of degree n.
  • a step 11 of enrolling the user, following the choice of the polynomial P carried out in step 10, comprises sub-steps 11-a, 11-b and 11-c.
  • sub-step 11-a it is randomly chosen k points p 0 , ..., p ⁇ -i on the polynomial P, with k> n.
  • the k points of the polynomial P are encoded in k code words C 0 , ... c k - i an error correction code.
  • C 0 encode (po)
  • ..., en encode (p k- i)
  • encode represents the error correction code used.
  • the Reed Solomon code is used.
  • the vector representation F, or fingercode F consecutive to the encoding by the error correction code of the k points of the polynomial P carried out in the preceding step, the vector representation F, or fingercode F, of a biometric reference data of the user.
  • the biometric data used is for example the fingerprint of the user.
  • the calculation of the fingercode corresponds to a characterization of the reference fingerprint of the user by the texture analysis technique.
  • the representation F thus obtained of the reference biometric data is stable and ordered.
  • the stable and orderly representation F of the reference biometric data of the user is divided into k parts f 0 , ..., fk-i.
  • the taking of the user's reference print necessary to perform substep 11-c is performed independently of step 10 and sub-steps 11 -a and 11-b, but prior to sub-step 11-c of calculating the fingercode.
  • a calculation step 12 following step 11, it is calculated k pairs of values such that the i-th pair, 0 ⁇ i ⁇ k-1, corresponds to ((f, - c,), H ( C)), where H is a hash function.
  • the i-th pair comprises as a first value, a comparison between the i-th code word c, and the ith part f, of the reference representation F of the biometric data, and as a second value the image by the hash function of the i-th code word C ,.
  • An example of a hash function is "SHA-1" (from the English "Secure Hash Algorithm-1").
  • the pairs of values obtained in step 12 are published.
  • the pairs of values are made available on a server accessible from a public network such as the Internet or Intranet type network.
  • the second phase 2 corresponds to the authentication phase of the user and comprises the steps 14, 15 and 16.
  • a step 14 it is proceeded to the capture of a current biometric data of the user.
  • the vector representation F ', or fingercode F', of the current biometric data of the user is calculated.
  • the representation F 'thus obtained of the current biometric data of the user is stable and ordered.
  • the stable and orderly representation F 'of the current biometric data of the user is divided into k parts fo', ..., fk-
  • step 15 subsequent to the computation and division of the stable and ordered representation of the user's current biometric data item carried out in step 14, it is searched for k code words c, ', 0 ⁇ i ⁇ k- 1, an error correction code such that the i-th code word c, 'is the closest to (c, - f,) + f,'.
  • Step 15 corresponds to a correction step: if f, ', coming from the current biometric data of the user is sufficiently close to f h coming from the reference biometric data of the user, then the code word c / is equal to the code word c ( .
  • a hash function has several known properties.
  • a hash function is hard to reverse.
  • knowing the image of x by H, H (x) it is difficult to find x.
  • s ⁇ ⁇ , .., s m from the same pairs of values (( ⁇ - ci), H (Q))
  • the set of secret si, S 2 , ..., s m used to regenerate a master secret s according to the steps of the method according to the invention.
  • the user chooses m secret sentences (the term commonly used is the English term "passphrase") mi, m 2 , ... m m and, after regenerating the master secret s, it is derived from the secret master s the secret secrets if, S 2 , ..., s m .
  • the safety of the method according to the invention is based on the choice of certain parameters.
  • the greater the length of the parameters fj, the more it will be difficult to exhaustively find fi 'which, starting from the published values (here, H (Cj)) will make it possible to find q such that H (decode (Ci - fj + fj ')) H (Ci).
  • those skilled in the art can easily increase or decrease the safety of the process by varying the lengths of the parameters fi and code words Cj, as well as the correcting power of the correction code.
  • FIG. 2 is a functional representation of an authentication system according to the invention.
  • the system 20 comprises a device 21 for representing a secret from a reference biometric data, and a device 22 for regenerating the secret from at least one current biometric data of the user.
  • the secret of the user is represented by a polynomial P of degree n.
  • the devices 20 and 21 are interconnected via a network 23, for example the Internet network or an intranet network.
  • the secret representation device 21 comprises enrollment means 210 arranged to encode k points of the randomly selected polynomial, k> n, into k code words of an error correction code, and to cut out a stable representation and ordinate of a biometric reference data of the user in k parts (fo, ..., f k- i).
  • the error correction code is the Reed Solomon code.
  • the stable and orderly representation of the reference biometric data of the user is obtained for example by a biometric sensor, connected to the device 21.
  • the biometric sensor is not shown in FIG. 2.
  • a functional representation of the biometric sensor is provided with the figure 3.
  • the secret representation device 21 also comprises calculation means 211 designed to calculate k pairs of values, ((Cj-fj), H (Cj)), such that the ith pair comprises a reference comparison (Cj-i). fj) between the i-th code word Ci and the i-th part fi of the reference representation F of the biometric data, and an image of the i-th code word Q by a hash function.
  • the device 22 for regenerating the secret from a current biometric data of the user comprises correction means 220 arranged to search, for a stable and ordered representation F 'of at least one current biometric data of the user cut out in k parts fo ', ..., fk-1 1 , k code words Co' CM 'of an error correction code, such as a current comparison between the i-th searched code word Q 1 and the i and the i th part fi 'of the current representation F' is the closest to a reference comparison Cj-fj . .
  • the reference comparison Cj-fj is calculated following an enrollment step during which k points po PM of the polynomial P which represents the secret of the user, chosen randomly, k> n, are encoded in k code words Co, ..., CM of an error correction code. During the enrollment step, it is also calculated a stable and ordered representation F of a user reference biometric data item that is divided into k parts fo, ... f k -i.
  • the reference comparison Cj-fj is made accessible to the correction means 220.
  • the secret regeneration device 22 also comprises authentication means 221 arranged to verify that the image H (Cj) of the code word ci 'of the current representation F' by a hash function H is equal to the image H (ci) of the code word ci of the reference representation F by the hash function H.
  • a hash function H is the function SHA-1.
  • Figure 3 is a functional representation of a biometric sensor according to the invention.
  • the biometric sensor 30 comprises means 301 for calculating a stable and ordered representation of a biometric data of a user.
  • the stable and ordered representation is obtained for example by texture analysis of the biometric data.
  • the stable and ordered representation of the biometric data of the user is adapted to be divided into k parts, k corresponding to a number of randomly selected points in a polynomial of degree n, k> n, the polynomial representing a specific secret to the the user and the k polynomial points being encoded in k codewords of an error correction code.
  • the error correction code chosen is the Reed Solomon code.
  • the stable and orderly representation of the biometric data of the user is further adapted to be compared with the code words of the error correction code.
  • the biometric sensor 30 further comprises connecting means 302 arranged for connecting the biometric sensor 30 to a device for representing a secret from a biometric data item according to the invention or to a device for regenerating a secret according to the invention.
  • the means 302 are for example a connection type "USB" (the English “Universal Serial Bus”).
  • the method according to the invention has been applied to a public key cryptographic system of the "RSA" type (named after the inventors Rivest, Shamir and Adleman) so that nomadic users can regenerate the private key of their private key / public key pair.
  • RSA assigned in advance, on demand, so as not to have to store the private key on a support.
  • k 16
  • degree of the polynomial representing the secret of the user n 8.
  • P X 8 + 2X 7 + 3X 6 + 4X 5 + 5X 4 + 6X 3 + 7X 2 + 8X + 9
  • the points p 0 are encoded into code words of an error correction code.
  • the error correction code chosen in this sample application is the Reed Solomon code.
  • the code obtained from the point pi is noted q, 0 ⁇ i ⁇ 15.
  • the user U repeatedly applies his finger to a biometric sensor to calculate a stable and ordered representation F, or fingercode, of the representative biometric data.
  • k 16 pairs of values are calculated:
  • the 16 pairs of values thus calculated are made public, for example being made available on a server accessible from a public network such as the intemet. Value pairs can also be stored on a smart card user support.
  • a first generation of the public key / private key pair RSA is performed for the user, in accordance with the RSA key pair generation algorithm.
  • the public key (n, e) is made available to all, for example on a key server, the rest is erased.
  • step 14 of the method it is carried out using a biometric sensor with one or more fingerprint captures of the user, and then calculated a stable and ordered representation F ', or fingercode, of the data. biometric.
  • the polynomial P is applied the inverse of the algorithm which made it possible to code the secret s into the polynomial P, and thus the secret is found.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Collating Specific Patterns (AREA)

Abstract

The invention relates a regeneration process of a secret from at least one current biometric data of a user, the secret being represented by a polynomial (P) of n power, the method being characterized in that it comprises: - a correction step (15) during which, for a stable and ordonate (F1) representation of the current biometric data of the user segmented in k parts (f<SUB>0</SUB>',..., f<SUB>k-1</SUB>'), k code words of an error correction code are looked for (C<SUB>o</SUB>',..., C<SUB>k-1</SUB>'), such as a current comparison between the i-th looked for code (C<SUB>i</SUB>') and the i-th part (f<SUB>i</SUB>') of the current representation (F') is the closest to a reference comparison (c<SUB>i</SUB> - f<SUB>i</SUB>), the reference comparison (C<SUB>i</SUB> - f<SUB>i</SUB>) being calculated following an enrollment step during which k points (P<SUB>01</SUB>..., P<SUB>k-1</SUB>) of the polynomial (P), k>n randomly chosen are coded in k coded words (co,..., C<SUB>k-1</SUB>) of an error correction code and a stable representation is segmented in k parts (fo,..., f<SUB>k-1</SUB>), and - an authentication step (16) during which a verification is made that the image H(ci') of the code word (ci') of the current representation (F') by a hashing function (H), is equal to the image H(ci) of the code word (ci) of the reference representation (F) by the hashing function (H) for n+1 values of i.

Description

Procédé d'extraction d'un secret à partir de données biométriques Method of extracting a secret from biometric data
L'invention se situe dans le domaine de la cryptographie. Elle concerne plus précisément une méthode pour régénérer un secret à l'aide de données biométriques d'un l'utilisateur, le secret ayant été choisi au préalable par l'utilisateur ou par un système auprès duquel l'utilisateur s'authentifiera dans l'avenir.The invention lies in the field of cryptography. It relates more specifically to a method for regenerating a secret using a user's biometric data, the secret having been previously selected by the user or by a system from which the user will authenticate in the to come up.
L'invention trouve une application particulièrement intéressante dans l'authentification et l'identification d'utilisateurs. Elle peut également être utilisée pour régénérer des données personnelles de l'utilisateur, par exemple pour régénérer une clé privée d'un couple clé privée/clé publique.The invention finds a particularly interesting application in the authentication and identification of users. It can also be used to regenerate personal data of the user, for example to regenerate a private key of a private key / public key pair.
Un système d'authentification biométrique est un système de mesure basé sur la reconnaissance de caractéristiques propres à l'individu, comme par exemple son empreinte digitale, la forme de sa main, l'iris de son œil, sa voix, la forme de son visage. L'authentification biométrique peut se faire par comparaison d'une donnée biométrique courante avec une donnée biométrique de référence, ou par comparaison d'un secret généré à partir des caractéristiques de la donnée biométrique. La première famille d'authentification présente l'inconvénient de devoir stocker les données biométriques de référence : le stockage centralisé de telles données est très contrôlé dans certains pays comme la France, et le stockage sur un support utilisateur est vulnérable au vol ou à la perte de support. La protection des données biométriques est cruciale puisque les données biométriques ne sont pas révocables : on ne peut pas remplacer son empreinte par une autre. En outre, ce sont des données personnelles qui ne doivent pas circuler sans le consentement de leur propriétaire.A biometric authentication system is a measurement system based on the recognition of characteristics specific to the individual, such as his fingerprint, the shape of his hand, the iris of his eye, his voice, the shape of his face. The biometric authentication can be done by comparing a current biometric data item with a reference biometric data item, or by comparing a secret generated from the characteristics of the biometric data item. The first authentication family has the disadvantage of having to store the biometric reference data: the centralized storage of such data is very controlled in some countries like France, and storage on a user medium is vulnerable to theft or loss. of support. The protection of biometric data is crucial because biometric data is not revocable: one's fingerprint can not be replaced by another. In addition, this is personal data that should not circulate without the consent of their owner.
La seconde famille pallie le problème du stockage de données biométriques car l'authentification se fait par comparaison de secrets générés à partir des données biométriques, et non par comparaison des données biométriques elles-mêmes. On connaît plusieurs méthodes d'authentification basées sur la génération d'une clé à partir des données biométriques.The second family overcomes the problem of storing biometric data because the authentication is done by comparing secrets generated from the biometric data, and not by comparison of the biometric data themselves. Several authentication methods are known based on the generation of a key from the biometric data.
Une première méthode appelée "Fuzzy Commitment" ("A Fuzzy commitment scheme", A.Juels, M.Wattenberg. In 6th ACM Conférence on Computer and Communication Security, 1999. http://citeseer.ist.psu.edu/iuels99fuzzv.htmn propose de générer à partir d'une donnée biométrique E de référence de l'utilisateur, un mot de code c d'un code de correction d'erreur, de publier la différence entre la donnée biométrique et le mot de code, ainsi que l'image h(c) de c par une fonction de hachage, ou fonction de hachage, h. Ainsi, l'authentification de l'utilisateur est réussie si son empreinte courante E' est suffisamment proche de E pour qu'un mot de code c1 le plus proche de ((c-E)+E') soit égal à c. Ce qui est vérifié en testant si h(c)=h(c'). Avec cette méthode seule une information partielle (c-E) de la donnée biométrique est publiée. Cependant, cette méthode est peu adaptée à une représentation d'empreinte par un ensemble de points. Elle n'est en outre pas prévue pour tenir compte de variations biométriques trop importantes.A first method called "Fuzzy Commitment" (A Fuzzy Commitment Scheme, A.Juels, M.Wattenberg.In 6th ACM Conference on Computer and Communication Security, 1999. http://citeseer.ist.psu.edu/iuels99fuzzv. htmn proposes to generate from a reference biometric data item E of the user, a code word c of an error correction code, to publish the difference between the biometric data item and the code word, as well as the image h (c) of c by a hash function, or hash function, h Thus, the authentication of the user is successful if his current fingerprint E 'is sufficiently close to E that a word of code c 1 closest to ((E) + E ') is equal to C. This is verified by testing whether h (c) = h (c') With this method only partial information (cE) of the However, this method is not well adapted to a representation of a fingerprint by a set of points, nor is it intended to account of biometric variations too important.
La demande de brevet publiée sous le n°US2002/0120592 divulgue une méthode d'authentification d'un utilisateur à partir de données qui peuvent légèrement varier, comme par exemple des données biométriques. La méthode consiste à générer un secret pour l'utilisateur, le secret étant représenté par un polynôme P, et à cacher la valeur de P de telle sorte que seul l'utilisateur légitime est capable de retrouver la valeur du secret représenté par P. Pour cela, des données biométriques de référence de l'utilisateur sont représentées par un ensemble secret A = { x,}, O≤i≤t. Un premier ensemble R1 = { (xh P(x,)) } pour i variant de 0 à t est calculé, un second ensemble R2 = { (a,, b,) } de faux points tels que a, ≠ x,, et b, ≠ P(x,) est généré et l'ensemble R, qui est la réunion des ensembles R1 et R2 est publié. L'ensemble R2 est destiné à brouiller l'information issue de l'ensemble R1. L'authentification d'un utilisateur est réussie si ses données biométriques courantes A' = { x,1 }, O≤ i ≤t permettent d'extraire suffisamment de vrais points de l'ensemble R pour reconstruire le polynôme P par interpolation de Lagrange. L'extraction se fait de la façon suivante : si (a, b) est un point de l'ensemble R et s'il existe x appartenant à A' tel que a et x soient à une distance inférieure à un seuil fixé au préalable, alors on extrait (a, b) de R. Ainsi, si le polynôme P est de degré k, il faut extraire k + 1 points de l'ensemble R pour que l'authentification de l'utilisateur soit réussie.The patent application published under No. US2002 / 0120592 discloses a method of authenticating a user from data that may vary slightly, such as for example biometric data. The method consists in generating a secret for the user, the secret being represented by a polynomial P, and in hiding the value of P so that only the legitimate user is able to recover the value of the secret represented by P. this, biometric reference data of the user are represented by a secret set A = {x,}, O≤i≤t. A first set R1 = {(x h P (x,))} for i varying from 0 to t is calculated, a second set R2 = {(a ,, b,)} of false points such that a, ≠ x, , and b, ≠ P (x,) is generated and the set R, which is the union of sets R1 and R2 is published. The set R2 is intended to scramble the information from the set R1. The authentication of a user is successful if his current biometric data A '= {x, 1 }, O≤i ≤t make it possible to extract enough real points from the set R to reconstruct the polynomial P by interpolation of Lagrange . The extraction is done as follows: if (a, b) is a point of the set R and if there exists x belonging to A ' as a and x are at a distance less than a previously fixed threshold, then we extract (a, b) from R. Thus, if the polynomial P is of degree k, we must extract k + 1 points from the set R for the authentication of the user to be successful.
Cette méthode donne de bons résultats en pratique, cependant elle présente l'inconvénient de publier des données biométriques réelles parmi de fausses données. Or, cacher de vraies données parmi des fausses n'est pas un problème facile. D'autre part, si on est amené à modifier régulièrement l'ensemble de points publiés, l'ensemble de vrais points se définit alors facilement comme l'ensemble des points appartenant à tous les ensembles publiés.This method gives good results in practice, however it has the disadvantage of publishing real biometric data among false data. But hiding real data among fake is not an easy problem. On the other hand, if one is led to regularly modify the set of published points, the set of real points is then easily defined as the set of points belonging to all the published sets.
La présente invention permet de pallier tout ou partie des inconvénients cités. A cette fin, l'invention concerne un procédé de représentation d'un secret à partir d'une donnée biométrique d'un utilisateur, le secret étant représenté par un polynôme P de degré n, le procédé étant caractérisé en ce qu'il comprend :The present invention overcomes all or part of the disadvantages mentioned. To this end, the invention relates to a method of representing a secret from a biometric data of a user, the secret being represented by a polynomial P of degree n, the method being characterized in that it comprises :
- une étape d'enrôlement au cours de laquelle k points (p0, ... , PM) du polynôme P, k > n, choisis aléatoirement sont encodés en k mots de codean enrollment step during which k points (p 0 ,..., P M ) of the polynomial P, k> n, chosen randomly are encoded in k code words
(co CM) d'un code de correction d'erreur, et une représentation (F) stable et ordonnée d'une donnée biométrique de référence de l'utilisateur est découpée en k parties (f0, ... , fk-i),(CM) of an error correction code, and a stable and ordered representation (F) of a reference biometric data of the user is divided into k parts (f 0 , ..., fk-i )
- une étape de calcul de k couples de valeurs ((q - fi), H(Q)), tels que le i-ème couple comprend une comparaison de référence (ci - fj) entre le i-ième mot de code (d) et la i-ième partie (fi) de la représentation (F) de référence, et une image du i-ième mot de code (Cj) par une fonction (H) de hachage. Le procédé de représentation selon l'invention ne fournit que des informations partielles sur le secret et sur la donnée biométrique de référence de l'utilisateur, plus précisément sur l'écart toléré entre la donnée biométrique de référence et une donnée biométrique courante afin de pouvoir assimiler la donnée biométrique courante à la donnée biométrique de référence. Le calcul de cet écart repose sur l'utilisation des codes de correction d'erreur. De façon avantageuse, si les données fournies par le procédé de représentation selon l'invention sont publiées, celles-ci ne fournissent pas d'information permettant d'obtenir la donnée biométrique de référence de l'utilisateur. En outre, il n'est fourni aucune information sur le code de correction d'erreur puisque c'est l'image de ce code par une fonction de hachage qui est publiée. Une telle fonction ayant comme propriété que pour tout x dont on connaît l'image H(x) par la fonction de hachage, alors il est très difficile de calculer y tel que H(x) = H(y).a step of calculating k couples of values (q - fi), H (Q)), such that the i-th pair comprises a reference comparison (ci-fj) between the i-th codeword (d ) and the i-th part (fi) of the reference representation (F), and an image of the i-th code word (Cj) by a hash function (H). The representation method according to the invention only provides partial information on the secret and the reference biometric data of the user, more specifically on the tolerated difference between the reference biometric data and a current biometric data in order to be able to assimilate the current biometric data to the reference biometric data. The calculation of this difference is based on the use of the error correction codes. Advantageously, if the data provided by the representation method according to the invention are published, they do not provide information to obtain the reference biometric data of the user. In addition, no information is provided on the error correction code since it is the image of this code by a hash function that is published. Such a function having as property that for all x whose image H (x) is known by the hash function, then it is very difficult to calculate y such that H (x) = H (y).
La représentation stable et ordonnée de la donnée biométrique de l'utilisateur est découpée en k parties. Avantageusement, cette découpe permet de rendre moins sensible le procédé aux variations biologiques inhérentes aux données biométriques. Par exemple, une prise d'empreinte est sensible à de nombreux facteurs : température ambiante, position du doigt sur le capteur, coupure au doigt.The stable and orderly representation of the biometric data of the user is divided into k parts. Advantageously, this cutting makes it possible to make the process less sensitive to the biological variations inherent in the biometric data. For example, an impression is sensitive to many factors: ambient temperature, finger position on the sensor, finger cut.
Dans un mode particulier de réalisation de l'invention, le procédé de représentation comprend une étape de calcul de la représentation stable et ordonnée (F) de la donnée biométrique de référence de l'utilisateur.In a particular embodiment of the invention, the representation method comprises a step of calculating the stable and ordered representation (F) of the reference biometric data of the user.
Dans un mode particulier de réalisation de l'invention, les k couples de valeurs ((q - fi), H(q)) sont publiés. De façon avantageuse, la publication des couples de valeurs n'entraîne aucunement la publication de la donnée biométrique de l'utilisateur. Il est crucial qu'une telle donnée ne soit pas publiée. En effet, la donnée biométrique n'étant pas révocable, son vol représente un risque énorme pour tout accès sécurisé à des systèmes ou applications basés sur cette donnée biométrique. Ici, le risque de vol des données biométriques de l'utilisateur est nul. L'invention concerne aussi un procédé de régénération d'un secret à partir d'au moins une donnée biométrique courante d'un utilisateur, le secret étant représenté par un polynôme (P) de degré n, le procédé étant caractérisé en ce qu'il comprend :In a particular embodiment of the invention, the k couples of values ((q - fi), H (q)) are published. Advantageously, the publication of value pairs does not involve the publication of the biometric data of the user. It is crucial that such data is not published. Indeed, the biometric data is not revocable, its flight represents a huge risk for any secure access to systems or applications based on this biometric data. Here, the risk of stealing the biometric data of the user is zero. The invention also relates to a method of regenerating a secret from at least one current biometric data of a user, the secret being represented by a polynomial (P) of degree n, the method being characterized in that He understands :
- une étape de correction au cours de laquelle, pour une représentation stable et ordonnée (F') de la donnée biométrique courante de l'utilisateur découpée en k parties (fo1, ... , fk-i'), il est cherché k mots de code (C0', ... , CM') d'un code de correction d'erreur, tel qu'une comparaison courante entre le i- ième mot de code cherché (c,1) et la i-ième partie (f,1) de la représentation (F1) courante est la plus proche d'une comparaison de référence (c, — f,), la comparaison de référence (c, - f,) étant calculée consécutivement à une étape d'enrôlement au cours de laquelle k points (p0, ... , pκ-i) du polynôme (P), k>n choisis aléatoirement sont encodés en k mots de code (c0, ... , ck-1) d'un code de correction d'erreur et une représentation stable et ordonnée (F) d'une donnée biométrique de référence de l'utilisateur est découpée en k parties (f0, ... , fk-i), eta correction step during which, for a stable and ordered representation (F ') of the current biometric data of the user divided into k parts (fo 1 ,..., fk-i'), it is sought k codewords (C 0 ', ..., CM') of an error correction code, such as a current comparison between the i- th code word sought (c, 1 ) and the i th part (f, 1 ) of the current representation (F 1 ) is closest to a reference comparison (c, - f,), the comparison of reference (c, - f,) being calculated consecutively to an enrollment step in which k points (p 0 , ..., pκ-i) of the polynomial (P), k> n randomly selected are encoded in k code words (c 0 , ..., c k-1 ) of an error correction code and a stable and ordered representation (F) of a reference biometric data item of the user is divided into k parts (f 0 , ..., f k -i), and
- une étape d'authentification au cours de laquelle il est vérifié que l'image H(C1') du mot de code (c,1) de la représentation courante (F') par une fonction (H) de hachage est égale à l'image H(c,) du mot de code (c,) de la représentation de référence (F) par la fonction (H) de hachage pour n+1 valeurs de i.an authentication step during which it is verified that the image H (C 1 ') of the code word (c, 1 ) of the current representation (F') by a hash function (H) is equal in the image H (c,) of the code word (c,) of the reference representation (F) by the hash function (H) for n + 1 values of i.
Le secret que l'utilisateur doit retrouver est le polynôme P, de degré n. Pour qu'un utilisateur soit capable de retrouver P, il faut et il suffit qu'il retrouve au moins n+1 points parmi k. Il sera alors capable de reconstruire le polynôme par interpolation de Lagrange.The secret that the user must find is the polynomial P, of degree n. For a user to be able to find P, it is necessary and it is enough that he finds at least n + 1 points among k. He will then be able to reconstruct the polynomial by Lagrange interpolation.
Avec ce procédé, un secret, associé dans une étape préalable à un utilisateur, est encodé de telle façon qu'il ne peut être reconstruit qu'à l'aide des données biométriques de l'utilisateur légitime.With this method, a secret, associated in a prior step to a user, is encoded in such a way that it can only be reconstructed using the biometric data of the legitimate user.
Pendant l'étape de correction, il s'agit de trouver un mot de code c,' tel que si la i-ième partie f,1 de la représentation F' de la donnée biométrique courante de l'utilisateur est suffisamment proche de la i-ième partie f, de la représentation F de la donnée biométrique de référence de l'utilisateur, alors le mot de code c' est égale à ci. En effet, si l'empreinte courante est suffisamment proche de l'empreinte de référence, alors, on peut utiliser c-f, pour aller de la représentation F' courante vers la représentation F de référence. Ne disposant pas du mot de code c,, la vérification de l'égalité de mots de code c,, c,' se fait par comparaison des images de ces mots de code par la fonction de hachage qui a été appliquée à C1.During the correction step, it is a question of finding a code word c, 'such that if the i-th part f, 1 of the representation F' of the current biometric data of the user is sufficiently close to the i-th part f, of the representation F of the reference biometric data of the user, then the code word c 'is equal to ci. Indeed, if the current fingerprint is sufficiently close to the reference fingerprint, then, we can use cf, to go from the current representation F 'to the reference representation F. Not having the code word c ,, the verification of the equality of code words c ,, c, 'is done by comparing the images of these code words by the hash function that has been applied to C 1 .
De façon avantageuse, le procédé selon l'invention permet d'authentifier/identifier un utilisateur grâce à ses données biométriques en utilisant un secret qui est révocable et paramétrable. Ainsi, si le secret est compromis : volé ou dévoilé, alors il est possible avec le procédé de représentation d'un secret selon l'invention de changer le secret sans avoir compromis les données biométriques de l'utilisateur, et d'authentifier/identifier l'utilisateur en appliquant le procédé de régénération du secret selon l'invention. Le secret est en outre paramétrable puisqu'un secret différent peut être choisi pour chaque application, système ou réseau qui met en œuvre le procédé selon l'invention. Dans une mode de réalisation particulier de l'invention le procédé de régénération comprend une étape de calcul de la représentation (F') stable et ordonnée de la donnée biométrique courante de l'utilisateur.Advantageously, the method according to the invention allows to authenticate / identify a user through his biometric data by using a secret that is revocable and configurable. Thus, if the secret is compromised: stolen or unveiled, then it is possible with the method of representing a secret according to the invention to change the secret without having compromised the user's biometric data, and to authenticate / identify the user by applying the secret regeneration method according to the invention. The secret is also configurable since a different secret can be chosen for each application, system or network that implements the method according to the invention. In a particular embodiment of the invention the regeneration method comprises a step of calculating the stable and ordered representation (F ') of the current biometric data of the user.
Dans une réalisation avantageuse de l'invention, pour une valeur de k égale à 16, le degré n du polynôme est égal à 8. II a été remarqué qu'en divisant les représentations des données biométriques des utilisateurs utilisées dans les procédés de représentation d'un secret et de régénération d'un secret selon l'invention en 16 parties, un utilisateur illégitime ne retrouvait jamais 8 points du polynôme, alors qu'un utilisateur légitime retrouvait plus de 8 points du polynôme dans 60% des cas. Ainsi, en choisissant de représenter le secret par un polynôme de degré 8 et en choisissant de découper les représentations des données biométriques des utilisateurs en 16 parties, on pallie un problème de faux positifs : on n'identifie/n'authentifie pas un utilisateur par rapport à une représentation de référence d'une donnée biométrique d'un autre utilisateur. L'invention concerne aussi l'utilisation du procédé de régénération d'un secret selon l'invention pour régénérer une clé privée d'un couple clé privée/clé publique.In an advantageous embodiment of the invention, for a value of k equal to 16, the degree n of the polynomial is equal to 8. It has been noted that by dividing the representations of the biometric data of the users used in the representation processes of a secret and regeneration of a secret according to the invention in 16 parts, an illegitimate user never found 8 points of the polynomial, while a legitimate user found more than 8 points of the polynomial in 60% of cases. Thus, by choosing to represent the secret by a polynomial of degree 8 and by choosing to split the representations of the biometric data of the users in 16 parts, one overcomes a problem of false positives: one does not identify / not authenticate a user by to a reference representation of a biometric data of another user. The invention also relates to the use of the method of regeneration of a secret according to the invention for regenerating a private key of a private key / public key pair.
Le procédé de représentation d'un secret et le procédé de régénération du secret selon l'invention ont été appliqués à un système cryptographique à clés publiques de type "RSA" (du nom des inventeurs Rivest, Shamir etThe method of representation of a secret and the method of regeneration of the secret according to the invention have been applied to a public key cryptographic system of the "RSA" type (named after the inventors Rivest, Shamir and
Adleman). Avec un tel système, un couple clé privée/clé publique est associé à un utilisateur. L'utilisateur garde sa clé secrète en sa possession, par exemple sur un support qui lui est personnel, par exemple une clé USB (de l'anglais "Universal Sériai Bus"). Il accède à son support pour chaque opération cryptographique nécessitant sa clé secrète, par exemple au cours d'une authentification ou lors d'une signature cryptographique. De façon avantageuse, en utilisant les procédés selon l'invention, un utilisateur nomade peut régénérer sa clé privée à la demande, ce qui évite d'avoir à la stocker.Adleman). With such a system, a private key / public key pair is associated with an user. The user keeps his secret key in his possession, for example on a support that is personal, for example a USB key (the English "Universal Serial Bus"). It accesses its support for each cryptographic operation requiring its secret key, for example during an authentication or during a cryptographic signature. Advantageously, using the methods according to the invention, a mobile user can regenerate his private key on demand, which avoids having to store it.
L'invention concerne également un dispositif de représentation d'un secret à partir d'une donnée biométrique d'un utilisateur, le secret étant représenté par un polynôme (P) de degré n, le dispositif étant caractérisé en ce qu'il comprend :The invention also relates to a device for representing a secret from a biometric data of a user, the secret being represented by a polynomial (P) of degree n, the device being characterized in that it comprises:
- des moyens d'enrôlement agencés pour encoder k points du polynôme choisis aléatoirement en k mots de code d'un code de correction d'erreur, et pour découper une représentation stable et ordonnée d'une donnée biométrique de référence de l'utilisateur en k parties (fo, ... , fk-i), etenrollment means arranged to encode k points of the randomly selected polynomial in k code words of an error correction code, and to cut out a stable and ordered representation of a reference biometric data item of the user; k parts (fo, ..., fk-i), and
- des moyens de calcul agencés pour calculer k couples de valeurs ((q- fi), H(Ci)), tels que le i-ème couple comprend une comparaison de référence (ci - fi) entre le i-ième mot de code (Q) et la i-ième partie (fi) de la représentation (F) de référence, et une image du i-ième mot de code (Cj) par une fonction (H) de hachage.calculating means arranged for calculating k pairs of values ((q- fi), H (Ci)), such that the i-th pair comprises a reference comparison (ci-fi) between the i-th codeword (Q) and the i-th part (fi) of the reference representation (F), and an image of the i-th code word (Cj) by a hash function (H).
L'invention concerne également un dispositif de régénération d'un secret à partir d'au moins une donnée biométrique courante d'un utilisateur, le secret étant représenté par un polynôme (P) de degré n, le dispositif étant caractérisé en ce qu'il comprend : - des moyens de correction agencés pour chercher, pour une représentation stable et ordonnée (F') de la donnée biométrique courante de l'utilisateur découpée en k parties (fo\ ... , W), k mots de code (C0', ... , Ck-11) d'un code de correction d'erreur, tel qu'une comparaison courante entre le i- ième mot de code cherché (Q1) et la i-ième partie (fi1) de la représentation (F') courante est la plus proche d'une comparaison de référence (Cj - fj), la comparaison de référence (c, - fi) étant calculée consécutivement à une étape d'enrôlement au cours de laquelle k points (po, ... , PM) du polynôme (P), k>n choisis aléatoirement sont encodés en k mots de code (Co CM) d'un code de correction d'erreur et une représentation stable et ordonnée (F) d'une donnée biométrique de référence de l'utilisateur est découpée en k parties (f0, ... , fk-i), et - des moyens d'authentification agencés pour vérifier que l'image H(Cr) du mot de code (ci1) de la représentation courante (F') par une fonction (H) de hachage est égale à l'image H(q) du mot de code (ci) de la représentation de référence (F) par la fonction (H) de hachage pour n+1 valeurs de i.The invention also relates to a device for regenerating a secret from at least one current biometric data of a user, the secret being represented by a polynomial (P) of degree n, the device being characterized in that it comprises: correction means arranged to search, for a stable and ordered representation (F ') of the current biometric data of the user divided into k parts (f o \ ..., W), k codewords (C 0 ', ..., Ck-1 1 ) of an error correction code, such as a current comparison between the searched code word i (Q 1 ) and the i-th part ( fi 1 ) of the current representation (F ') is the closest to a reference comparison (Cj - fj), the reference comparison (c, - fi) being calculated consecutively to an enrollment step during which k points (po, ..., PM) of the polynomial (P), k> n randomly chosen are encoded in k code words (Co C M ) of an error correction code and a stable and ordered representation (F) of a reference biometric data of the user is divided into k parts (f 0 , ..., f k -i), and - authentication means arranged to verify that the image H (Cr) of the code word (ci 1 ) of the current representation (F ') by a function ( H) is equal to the image H (q) of the codeword (ci) of the reference representation (F) by the hash function (H) for n + 1 values of i.
L'invention concerne aussi un dispositif capteur d'une donnée biométrique d'un utilisateur, caractérisé en ce qu'il comprend des moyens de calcul d'une représentation stable et ordonnée (F, F1) d'une donnée biométrique d'un utilisateur, adaptée à être :The invention also relates to a device for collecting a biometric data of a user, characterized in that it comprises means for calculating a stable and ordered representation (F, F 1 ) of a biometric data item of a user, adapted to be:
- découpée en k-parties ((f0, ... , fk-i), (fo-, .... fk-r)), k étant le nombre de points choisis aléatoirement dans un polynôme de degré n, k>n, ledit polynôme représentant un secret d'un utilisateur, les k points du polynôme étant encodés en k mot de code ((C0, ... , ck-i), (C0', ... , ck-i') d'un code de correction d'erreur, et- cut into k-parts ((f 0 , ..., fk-i), (fo-, .... fk-r)), where k is the number of points chosen randomly in a polynomial of degree n, k > n, said polynomial representing a secret of a user, the k points of the polynomial being encoded in k code word ((C 0 , ..., c k- i), (C 0 ', ..., c k- i ') an error correction code, and
- comparée auxdits mots de code.compared to said codewords.
L'invention concerne aussi un système d'authentification comprenant :The invention also relates to an authentication system comprising:
- un dispositif de représentation d'un secret à partir d'une donnée biométrique d'un utilisateur selon l'invention, eta device for representing a secret from a biometric data of a user according to the invention, and
- un dispositif de régénération d'un secret à partir d'au moins une donnée biométrique courante d'un utilisateur selon l'invention.a device for regenerating a secret from at least one current biometric data of a user according to the invention.
L'invention concerne également un programme d'ordinateur sur un support de données et chargeable dans la mémoire interne d'un ordinateur, le programme comprenant des portions de code pour l'exécution des étapes du procédé de représentation d'un secret à partir d'une donnée biométrique selon l'invention lorsque le programme est exécuté sur ledit ordinateur.The invention also relates to a computer program on a data carrier and loadable in the internal memory of a computer, the program comprising portions of code for performing the steps of the method of representation of a secret from biometric data according to the invention when the program is executed on said computer.
L'invention concerne aussi un moyen de stockage de données partiellement ou totalement amovible, comportant des instructions de code de programme informatique pour l'exécution des étapes d'un procédé de représentation selon l'invention. L'invention concerne également un programme d'ordinateur sur un support de données et chargeable dans la mémoire interne d'un ordinateur, le programme comprenant des portions de code pour l'exécution des étapes du procédé de régénération d'un secret à partir d'au moins une donnée biométrique selon l'invention lorsque le programme est exécuté sur ledit ordinateur.The invention also relates to a partially or completely removable data storage means comprising computer program code instructions for performing the steps of a representation method according to the invention. The invention also relates to a computer program on a data carrier and loadable in the internal memory of a computer, the program comprising portions of code for the execution of the steps of the process of regeneration of a secret from at least one biometric data item according to the invention when the program is executed on said computer.
L'invention concerne aussi un moyen de stockage de données partiellement ou totalement amovible, comportant des instructions de code de programme informatique pour l'exécution des étapes d'un procédé de régénération d'un secret selon l'invention.The invention also relates to a partially or completely removable data storage means comprising computer program code instructions for executing the steps of a secret regeneration method according to the invention.
De nombreux détails et avantages de l'invention seront mieux compris à la lecture de la description d'un mode particulier de réalisation en référence aux schémas annexés donnés à titre non limitatif et dans lesquels : - la figure 1 présente les étapes du procédé selon l'invention ;Numerous details and advantages of the invention will be better understood on reading the description of a particular embodiment with reference to the appended diagrams given in a non-limitative manner and in which: FIG. 1 shows the steps of the method according to FIG. invention;
- la figure 2 est une représentation fonctionnelle d'un système d'authentification selon l'invention comprenant un dispositif de représentation d'un secret d'un utilisateur à partir d'une donnée biométrique de référence et un dispositif de régénération d'un secret à partir d'au moins une donnée biométrique courante de l'utilisateur ;FIG. 2 is a functional representation of an authentication system according to the invention comprising a device for representing a secret of a user from a reference biometric data item and a device for regenerating a secret. from at least one current biometric data of the user;
- la figure 3 est une représentation fonctionnelle d'un dispositif capteur d'une donnée biométrique de l'utilisateur selon l'invention.- Figure 3 is a functional representation of a sensor device of a biometric data of the user according to the invention.
Parmi les caractéristiques biométriques utilisées, celle concernant les empreintes digitales est la plus étudiée.Among the biometric characteristics used, that concerning fingerprints is the most studied.
Différentes techniques permettent de caractériser des empreintes digitales. La première utilise des points caractéristiques d'une empreinte digitale appelés minuties. Une minutie est un point qui se situe sur le changement de continuité de lignes papillaires. L'authentification d'une empreinte se fait alors en comparant la position des minuties par rapport à un gabarit de référence (le terme couramment utilisé est le terme anglais "template"). Une deuxième caractérisation d'une empreinte digitale se fait par analyse de texture. L'analyse de texture est décrite en détail dans A.K.Jain, S.Prabhakar, L. Hong and S.Pankanti; "FingerCode : A Filterbank for Fingerprint Représentation and Matching", in Proc. IEEE Conf. Computer Vision and Pattern récognition, volume 2, pages 187-195, Fort Collin, CO, June 23-25 1999, et dans A.Jain, S.Prabhakar, L.Hong and S.Pankanti, "Filterbank-based Fingerprint Matching", 2000. L'analyse de texture permet de caractériser une empreinte digitale par analyse de l'image autour du centre morphologique de l'empreinte après application de filtres de Gabor. L'empreinte est ensuite caractérisée par un ensemble de 8 vecteurs de 80 composantes chacun, les composantes étant des nombres compris entre 0 et 7. Chacun des vecteurs correspond à la transformation de l'image après application d'un filtre de Gabor. La composante est alors la moyenne des écarts à la moyenne de gris de l'image dans un secteur de pavage. Ainsi, l'empreinte digitale est caractérisée par un vecteur de 640 composantes. Le vecteur ainsi obtenu est appelé "fingercode". L'authentification d'une empreinte digitale se fait alors par comparaison des représentations vectorielles des empreintes. Un utilisateur est authentifié si la distance entre la représentation vectorielle courante et la représentation vectorielle de référence est inférieure à un seuil fixé. La distance utilisée est la distance euclidienne. C'est la technique par analyse de texture qui est utilisée dans l'invention.Various techniques make it possible to characterize fingerprints. The first uses characteristic points of a fingerprint called minutiae. A minutia is a point which is on the change of continuity of papillary lines. Authentication of a fingerprint is then done by comparing the position of the minutiae with respect to a reference template (the term commonly used is the English term "template"). A second characterization of a fingerprint is done by texture analysis. analysis texture is described in detail in AKJain, S.Prabhakar, L. Hong and S.Pankanti; "FingerCode: A Filterbank for Fingerprint Representation and Matching", in Proc. IEEE Conf. Computer Vision and Pattern Recognition, Volume 2, pages 187-195, Fort Collin, CO, June 23-25, 1999, and in A.Jain, S.Prabhakar, L.Hong and S.Pankanti, "Filterbank-based Fingerprint Matching" , 2000. Texture analysis makes it possible to characterize a fingerprint by analyzing the image around the morphological center of the impression after application of Gabor filters. The imprint is then characterized by a set of 8 vectors of 80 components each, the components being numbers between 0 and 7. Each of the vectors corresponds to the transformation of the image after application of a Gabor filter. The component is then the average of the differences in the gray average of the image in a paving sector. Thus, the fingerprint is characterized by a vector of 640 components. The vector thus obtained is called "fingercode". The authentication of a fingerprint is then done by comparing the vector representations of the fingerprints. A user is authenticated if the distance between the current vector representation and the reference vector representation is less than a fixed threshold. The distance used is the Euclidean distance. It is the texture analysis technique that is used in the invention.
La figure 1 présente les étapes du procédé d'extraction d'un secret à partir de données biométriques. L'invention vise à associer un secret à un utilisateur de telle sorte que seul l'utilisateur légitime puisse retrouver le secret à partir de ses données biométriques.Figure 1 shows the steps of the method of extracting a secret from biometric data. The invention aims to associate a secret to a user so that only the legitimate user can find the secret from his biometric data.
Le procédé comprend deux grandes phases 1 , 2. Une première phase 1 correspond à la représentation d'un secret propre à un utilisateur à partir d'une donnée biométrique de l'utilisateur. Cette phase est à effectuer pour chaque secret que l'utilisateur détient, notamment dans le cas où différents secrets sont utilisés pour protéger l'accès à différents systèmes ou applications. La seconde phase 2 correspond à la régénération du secret à partir d'une donnée biométrique courante de l'utilisateur. Avec la seconde phase 2, il est vérifié que le secret de l'utilisateur est retrouvé grâce à sa donnée biométrique courante. La seconde phase correspond à une phase d'authentification de l'utilisateur ; elle est effectuée à chaque contrôle d'accès de l'utilisateur à un système ou une application dont l'accès est protégé par le procédé selon l'invention. La phase 1 du procédé selon l'invention comprend les étapes 10, 11 etThe method comprises two large phases 1, 2. A first phase 1 corresponds to the representation of a secret specific to a user from a biometric data of the user. This phase is to be performed for each secret that the user holds, especially in the case where different secrets are used to protect access to different systems or applications. The second phase 2 corresponds to the regeneration of the secret from a current biometric data of the user. With the second phase 2, it is verified that the secret of the user is found thanks to his current biometric data. The second phase corresponds to a phase of authentication of the user; it is performed at each access control of the user to a system or an application whose access is protected by the method according to the invention. Phase 1 of the process according to the invention comprises the steps 10, 11 and
12 et une étape optionnelle 13.12 and an optional step 13.
Dans une étape initiale 10, il est choisi un secret s sous la forme d'une suite de chiffres. Le secret s est représenté sous la forme d'un polynôme P de degré n. Une étape 11 d'enrôlement de l'utilisateur, consécutive au choix du polynôme P effectué à l'étape 10, comprend des sous-étapes 11-a, 11-b et 11- c. Dans la sous-étape 11-a, il est choisi aléatoirement k points p0, ... , pκ-i sur le polynôme P, avec k > n.In an initial step 10, a secret s is chosen in the form of a sequence of digits. The secret is represented in the form of a polynomial P of degree n. A step 11 of enrolling the user, following the choice of the polynomial P carried out in step 10, comprises sub-steps 11-a, 11-b and 11-c. In sub-step 11-a, it is randomly chosen k points p 0 , ..., pκ-i on the polynomial P, with k> n.
Dans la sous-étape 11-b, consécutive au choix des k points sur le polynôme P effectué à la sous-étape 11-a, les k points du polynôme P sont encodés en k mots de code C0, ... ck-i d'un code de correction d'erreur. Ainsi, C0 = encode(po), ... , en = encode(pk-i), où encode représente le code de correction d'erreur utilisé. Dans un exemple de réalisation de l'invention, le code de Reed Solomon est utilisé. Dans la sous-étape 11-c, consécutive à l'encodage par le code de correction d'erreur des k points du polynôme P effectué à l'étape précédente, il est calculé la représentation vectorielle F, ou fingercode F, d'une donnée biométrique de référence de l'utilisateur. La donnée biométrique utilisée est par exemple l'empreinte digitale de l'utilisateur. Le calcul du fingercode correspond à une caractérisation de l'empreinte de référence de l'utilisateur par la technique d'analyse de texture. La représentation F ainsi obtenue de la donnée biométrique de référence est stable et ordonnée. La représentation F stable et ordonnée de la donnée biométrique de référence de l'utilisateur est découpée en k parties f0, ... , fk-i. La prise de l'empreinte de référence de l'utilisateur nécessaire pour réaliser la sous-étape 11-c est effectuée indépendamment de l'étape 10 et des sous-étapes 11 -a et 11-b, mais préalablement à la sous-étape 11-c de calcul du fingercode.In the sub-step 11-b, following the choice of k points on the polynomial P carried out in the substep 11-a, the k points of the polynomial P are encoded in k code words C 0 , ... c k - i an error correction code. Thus, C 0 = encode (po), ..., en = encode (p k- i), where encode represents the error correction code used. In an exemplary embodiment of the invention, the Reed Solomon code is used. In sub-step 11-c, consecutive to the encoding by the error correction code of the k points of the polynomial P carried out in the preceding step, the vector representation F, or fingercode F, of a biometric reference data of the user. The biometric data used is for example the fingerprint of the user. The calculation of the fingercode corresponds to a characterization of the reference fingerprint of the user by the texture analysis technique. The representation F thus obtained of the reference biometric data is stable and ordered. The stable and orderly representation F of the reference biometric data of the user is divided into k parts f 0 , ..., fk-i. The taking of the user's reference print necessary to perform substep 11-c is performed independently of step 10 and sub-steps 11 -a and 11-b, but prior to sub-step 11-c of calculating the fingercode.
Dans une étape 12 de calcul, consécutive à l'étape 11 , il est calculé k couples de valeurs tels que le i-ième couple, 0 ≤ i ≤ k-1 , correspond à ((f, - c,), H(C)), où H est une fonction de hachage. Ainsi, le i-ième couple comprend comme première valeur, une comparaison entre le i-ième mot de code c, et la i- ième partie f, de la représentation de référence F de la donnée biométrique, et comme deuxième valeur l'image par la fonction de hachage du i-ième mot de code C,. Un exemple de fonction de hachage est "SHA-1" (de l'anglais "Secure Hash Algorithm-1").In a calculation step 12, following step 11, it is calculated k pairs of values such that the i-th pair, 0 ≤ i ≤ k-1, corresponds to ((f, - c,), H ( C)), where H is a hash function. Thus, the i-th pair comprises as a first value, a comparison between the i-th code word c, and the ith part f, of the reference representation F of the biometric data, and as a second value the image by the hash function of the i-th code word C ,. An example of a hash function is "SHA-1" (from the English "Secure Hash Algorithm-1").
Dans une étape optionnelle 13, représentée en pointillés, il est procédé à la publication des couples de valeurs obtenus à l'étape 12. Par exemple, les couples de valeurs sont mis à disposition sur un serveur accessible d'un réseau public comme l'Internet ou d'un réseau de type Intranet. La seconde phase 2 correspond à la phase d'authentification de l'utilisateur et comprend les étapes 14, 15 et 16.In an optional step 13, shown in dotted lines, the pairs of values obtained in step 12 are published. For example, the pairs of values are made available on a server accessible from a public network such as the Internet or Intranet type network. The second phase 2 corresponds to the authentication phase of the user and comprises the steps 14, 15 and 16.
Dans une étape 14, il est procédé à la capture d'une donnée biométrique courante de l'utilisateur. Il est procédé au calcul de la représentation vectorielle F', ou fingercode F', de la donnée biométrique courante de l'utilisateur. La représentation F' ainsi obtenue de la donnée biométrique courante de l'utilisateur est stable et ordonnée. La représentation F' stable et ordonnée de la donnée biométrique courante de l'utilisateur est découpée en k parties fo', ... , fk-In a step 14, it is proceeded to the capture of a current biometric data of the user. The vector representation F ', or fingercode F', of the current biometric data of the user is calculated. The representation F 'thus obtained of the current biometric data of the user is stable and ordered. The stable and orderly representation F 'of the current biometric data of the user is divided into k parts fo', ..., fk-
Dans une étape 15, consécutive au calcul et au découpage de la représentation stable et ordonnée de la donnée biométrique courante de l'utilisateur effectué à l'étape 14, il est cherché k mots de code c,', 0 ≤ i ≤ k-1 , d'un code de correction d'erreur tel que le i-ième mot de code c,' soit le plus proche de (c, - f,) + f,'. L'étape 15 correspond à une étape de correction : si f,', issu de la donnée biométrique courante de l'utilisateur est suffisamment proche de fh issu de la donnée biométrique de référence de l'utilisateur, alors le mot de code c/ est égale au mot de code c(. Dans une étape 16, consécutive à l'étape 15 de correction, s'il est vérifié que H(Cj') = H(Cj) pour au moins n+1 valeurs de i, alors on dispose d'au moins n+1 points pi du polynôme. Il est ainsi possible de reconstruire ledit polynôme par interpolation de Lagrange. En effet, une fonction de hachage possède de manière connue plusieurs propriétés. Une fonction de hachage est difficilement inversible. Ainsi, connaissant l'image de x par H, H(x), il est difficile de retrouver x. En outre, une fonction de hachage résiste aux collusions : connaissant l'image de x par H, H(x), il est très difficile de trouver par calcul au moins une valeur y telle que H(y) = H(x), car H(x) prend ses valeurs dans un ensemble très grand. Et pour trouver une valeur y on ne peut qu'essayer toutes les valeurs possibles. Ainsi, si l'on vérifie que H(q') = H(Cj), alors des c\ tels que Ci1 = Cj ont su être trouvés grâce aux calculs sur les empreintes.In a step 15, subsequent to the computation and division of the stable and ordered representation of the user's current biometric data item carried out in step 14, it is searched for k code words c, ', 0 ≤ i ≤ k- 1, an error correction code such that the i-th code word c, 'is the closest to (c, - f,) + f,'. Step 15 corresponds to a correction step: if f, ', coming from the current biometric data of the user is sufficiently close to f h coming from the reference biometric data of the user, then the code word c / is equal to the code word c ( . In a step 16, following the correction step 15, if it is verified that H (Cj ') = H (Cj) for at least n + 1 values of i, then we have at least n + 1 pi points of the polynomial. It is thus possible to reconstruct said polynomial by Lagrange interpolation. Indeed, a hash function has several known properties. A hash function is hard to reverse. Thus, knowing the image of x by H, H (x), it is difficult to find x. Moreover, a hash function resists collusion: knowing the image of x by H, H (x), it is very difficult to find by calculation at least one value y such that H (y) = H (x), because H (x) takes its values in a very large set. And to find a value there we can only try all the possible values. Thus, if one checks that H (q ') = H (Cj), then c \ such that Ci 1 = Cj have been able to be found thanks to the calculations on the prints.
Dans une variante de réalisation de l'invention, on peut souhaiter obtenir plusieurs secrets différents si, s, .., sm à partir des mêmes couples de valeurs ((ή - ci), H(Q)), le jeu de secrets si, S2, ... , sm servant à régénérer un secret maître s suivant les étapes du procédé selon l'invention. A cette fin, l'utilisateur choisit m phrases secrètes (le terme couramment utilisé est le terme anglais "passphrase") m-i, m2, ... mm et, après avoir régénéré le secret maître s, il est dérivé à partir du secret maître s les m secrets dérivés s-i, S2, ... , sm. Par exemple Sj = hash(s, ιτij), 1 ≤ j ≤ m. Ainsi, il est possible, à partir d'un secret maître, d'obtenir autant de secrets que nécessaires pour des accès à des applications ou systèmes sécurisés, en choisissant pour chacun des accès une phrase secrète. De cette façon, il suffit, lorsque l'on définit un nouvel accès, de choisir une nouvelle phrase secrète ; il n'est ainsi pas nécessaire d'effectuer l'étape 11 d'enrôlement du procédé selon l'invention.In an alternative embodiment of the invention, it may be desired to obtain several different secrets if, s Σ , .., s m from the same pairs of values ((ή - ci), H (Q)), the set of secret si, S 2 , ..., s m used to regenerate a master secret s according to the steps of the method according to the invention. To this end, the user chooses m secret sentences (the term commonly used is the English term "passphrase") mi, m 2 , ... m m and, after regenerating the master secret s, it is derived from the secret master s the secret secrets if, S 2 , ..., s m . For example S j = hash (s, ιτi j ), 1 ≤ j ≤ m. Thus, it is possible, from a master secret, to obtain as many secrets as necessary for access to secure applications or systems, by choosing for each access a passphrase. In this way, it is sufficient, when defining a new access, to choose a new secret sentence; it is thus not necessary to perform step 11 of enrolling the method according to the invention.
La sécurité du procédé selon l'invention repose sur le choix de certains paramètres. Ainsi, plus la longueur des paramètres fj sera grande, plus il sera difficile de trouver de manière exhaustive des fi' qui, à partir des valeurs publiées (ci - fi, H(Cj)) permettront de retrouver les q tels que H(decode(Ci - fj + fj')) = H(Ci). De même, plus le pouvoir correcteur du code correcteur sera faible, et plus la recherche exhaustive sera difficile. Ainsi, l'homme de l'art peut aisément augmenter ou diminuer la sécurité du procédé en faisant varier les longueurs des paramètres fi et des mots de code Cj, ainsi que le pouvoir correcteur du code correcteur.The safety of the method according to the invention is based on the choice of certain parameters. Thus, the greater the length of the parameters fj, the more it will be difficult to exhaustively find fi 'which, starting from the published values (here, H (Cj)) will make it possible to find q such that H (decode (Ci - fj + fj ')) = H (Ci). Likewise, the lower the corrective power of the correction code, the more difficult the exhaustive search will be. Thus, those skilled in the art can easily increase or decrease the safety of the process by varying the lengths of the parameters fi and code words Cj, as well as the correcting power of the correction code.
La figure 2 est une représentation fonctionnelle d'un système 20 d'authentification selon l'invention. Le système 20 comprend un dispositif 21 de représentation d'un secret à partir d'une donnée biométrique de référence, et un dispositif 22 de régénération du secret à partir d'au moins une donnée biométrique courante de l'utilisateur. Le secret de l'utilisateur est représenté par un polynôme P de degré n. Les dispositifs 20 et 21 sont reliés entre eux via un réseau 23, par exemple le réseau Internet ou un réseau Intranet.Figure 2 is a functional representation of an authentication system according to the invention. The system 20 comprises a device 21 for representing a secret from a reference biometric data, and a device 22 for regenerating the secret from at least one current biometric data of the user. The secret of the user is represented by a polynomial P of degree n. The devices 20 and 21 are interconnected via a network 23, for example the Internet network or an intranet network.
Le dispositif 21 de représentation du secret comprend des moyens 210 d'enrôlement agencés pour encoder k points du polynôme choisis aléatoirement, k > n, en k mots de code d'un code de correction d'erreur, et pour découper une représentation stable et ordonnée d'une donnée biométrique de référence de l'utilisateur en k parties (fo, ... , fk-i). Dans un exemple de réalisation, le code de correction d'erreur est le code de Reed Solomon.The secret representation device 21 comprises enrollment means 210 arranged to encode k points of the randomly selected polynomial, k> n, into k code words of an error correction code, and to cut out a stable representation and ordinate of a biometric reference data of the user in k parts (fo, ..., f k- i). In an exemplary embodiment, the error correction code is the Reed Solomon code.
La représentation stable et ordonnée de la donnée biométrique de référence de l'utilisateur est obtenue par exemple par un capteur biométrique, connecté au dispositif 21. Le capteur biométrique n'est pas représenté figure 2. Une représentation fonctionnelle du capteur biométrique est fournie avec la figure 3.The stable and orderly representation of the reference biometric data of the user is obtained for example by a biometric sensor, connected to the device 21. The biometric sensor is not shown in FIG. 2. A functional representation of the biometric sensor is provided with the figure 3.
Le dispositif 21 de représentation du secret comprend également des moyens 211 de calcul agencés pour calculer k couples de valeurs, ((Cj-fj), H(Cj)), tels que le i-ième couple comprend une comparaison de référence (Cj-fj) entre le i-ième mot de code Ci et la i-ième partie fi de la représentation de référence F de la donnée biométrique, et une image du i-ième mot de code Q par une fonction de hachage.The secret representation device 21 also comprises calculation means 211 designed to calculate k pairs of values, ((Cj-fj), H (Cj)), such that the ith pair comprises a reference comparison (Cj-i). fj) between the i-th code word Ci and the i-th part fi of the reference representation F of the biometric data, and an image of the i-th code word Q by a hash function.
Le dispositif 22 de régénération du secret à partir d'une donnée biométrique courante de l'utilisateur comprend des moyens 220 de correction agencés pour chercher, pour une représentation stable et ordonnée F' d'au moins une donnée biométrique courante de l'utilisateur découpée en k parties fo', ... , fk-11, k mots de code Co' CM' d'un code de correction d'erreur, tel qu'une comparaison courante entre le i-ième mot de code cherché Q1 et la i- ième et la i-ième partie fi' de la représentation F' courante est la plus proche d'une comparaison de référence Cj-fj.. La comparaison de référence Cj-fj est calculée consécutivement à une étape d'enrôlement au cours de laquelle k points po PM du polynôme P qui représente le secret de l'utilisateur, choisis aléatoirement, k>n, sont encodés en k mots de code Co, ... , CM d'un code de correction d'erreur. Au cours de l'étape d'enrôlement, il est également calculé une représentation stable et ordonnée F d'une donnée biométrique de référence de l'utilisateur qui est découpée en k parties fo, ... fk-i. La comparaison de référence Cj-fj est rendue accessible aux moyens 220 de correction.The device 22 for regenerating the secret from a current biometric data of the user comprises correction means 220 arranged to search, for a stable and ordered representation F 'of at least one current biometric data of the user cut out in k parts fo ', ..., fk-1 1 , k code words Co' CM 'of an error correction code, such as a current comparison between the i-th searched code word Q 1 and the i and the i th part fi 'of the current representation F' is the closest to a reference comparison Cj-fj . . The reference comparison Cj-fj is calculated following an enrollment step during which k points po PM of the polynomial P which represents the secret of the user, chosen randomly, k> n, are encoded in k code words Co, ..., CM of an error correction code. During the enrollment step, it is also calculated a stable and ordered representation F of a user reference biometric data item that is divided into k parts fo, ... f k -i. The reference comparison Cj-fj is made accessible to the correction means 220.
Le dispositif 22 de régénération du secret comprend également des moyens 221 d'authentification agencés pour vérifier que l'image H(Cj) du mot de code ci' de la représentation courante F' par une fonction de hachage H est égale à l'image H(ci) du mot de code ci de la représentation de référence F par la fonction de hachage H. Un exemple de fonction de hachage H est la fonction SHA-1.The secret regeneration device 22 also comprises authentication means 221 arranged to verify that the image H (Cj) of the code word ci 'of the current representation F' by a hash function H is equal to the image H (ci) of the code word ci of the reference representation F by the hash function H. An example of a hash function H is the function SHA-1.
La figure 3 est une représentation fonctionnelle d'un capteur 30 biométrique selon l'invention.Figure 3 is a functional representation of a biometric sensor according to the invention.
Le capteur biométrique 30 comprend des moyens 301 de calcul d'une représentation stable et ordonnée d'une donnée biométrique d'un utilisateur. La représentation stable et ordonnée est obtenue par exemple par analyse de texture de la donnée biométrique. La représentation stable et ordonnée de la donnée biométrique de l'utilisateur est adaptée à être découpée en k parties, k correspondant à un nombre de points choisis aléatoirement dans un polynôme de degré n, k>n, le polynôme représentant un secret propre à l'utilisateur et les k points du polynôme étant encodés en k mots de code d'un code de correction d'erreur. Dans une réalisation de l'invention, le code de correction d'erreur choisi est le code de Reed Solomon. La représentation stable et ordonnée de la donnée biométrique de l'utilisateur est en outre adaptée à être comparée aux mots de code du code de correction d'erreur.The biometric sensor 30 comprises means 301 for calculating a stable and ordered representation of a biometric data of a user. The stable and ordered representation is obtained for example by texture analysis of the biometric data. The stable and ordered representation of the biometric data of the user is adapted to be divided into k parts, k corresponding to a number of randomly selected points in a polynomial of degree n, k> n, the polynomial representing a specific secret to the the user and the k polynomial points being encoded in k codewords of an error correction code. In one embodiment of the invention, the error correction code chosen is the Reed Solomon code. The stable and orderly representation of the biometric data of the user is further adapted to be compared with the code words of the error correction code.
Le capteur biométrique 30 comprend en outre des moyens 302 de connexion agencés pour connecter le capteur biométrique 30 à un dispositif de représentation d'un secret à partir d'une donnée biométrique selon l'invention ou à un dispositif de régénération d'un secret selon l'invention. Les moyens 302 sont par exemple une liaison de type "USB" (de l'anglais "Universal Sériai Bus").The biometric sensor 30 further comprises connecting means 302 arranged for connecting the biometric sensor 30 to a device for representing a secret from a biometric data item according to the invention or to a device for regenerating a secret according to the invention. The means 302 are for example a connection type "USB" (the English "Universal Serial Bus").
Le procédé selon l'invention a été appliqué à un système cryptographique à clés publiques de type "RSA" (du nom des inventeurs Rivest, Shamir et Adleman) afin que des utilisateurs nomades puissent régénérer la clé privée de leur couple clé privée/clé publique RSA attribué au préalable, à la demande, afin de ne pas avoir à stocker la clé privée sur un support. Dans cet exemple d'application du procédé selon l'invention, on choisit k=16, et comme degré du polynôme représentant le secret de l'utilisateur n=8. Avec de telles valeurs il a été constaté qu'en divisant la représentation stable et ordonnée d'une donnée biométrique de l'utilisateur, ou fingercode, en 16 parties, un utilisateur illégitime ne retrouvait jamais 8 points du polynôme, alors que l'utilisateur légitime retrouvait plus de 8 points du polynôme dans 60% des cas.The method according to the invention has been applied to a public key cryptographic system of the "RSA" type (named after the inventors Rivest, Shamir and Adleman) so that nomadic users can regenerate the private key of their private key / public key pair. RSA assigned in advance, on demand, so as not to have to store the private key on a support. In this example of application of the method according to the invention, one chooses k = 16, and as degree of the polynomial representing the secret of the user n = 8. With such values it has been found that by dividing the stable and ordered representation of a user's biometric data, or fingercode, into 16 parts, an illegitimate user never found 8 points of the polynomial, whereas the user legitimate found more than 8 points of the polynomial in 60% of the cases.
Dans la première étape 10 du procédé selon l'invention, il est choisi un secret s pour un utilisateur U, par exemple s = 123456789. La contrainte sur le secret est que le secret doit être représentable sous la forme d'un polynôme de degré n = 8. Il est choisi de représenter le secret s par le polynôme P : P = X8 + 2X7 + 3X6 + 4X5 + 5X4 + 6X3 + 7X2 + 8X + 9 Dans la sous-étape 11-a du procédé, il est choisi k = 16 points p0, ... , P15 sur ce polynôme, par exemple, po = (0, 9), pi = (1 , 45), etc.In the first step 10 of the method according to the invention, a secret s is chosen for a user U, for example s = 123456789. The constraint on the secret is that the secret must be representable in the form of a degree polynomial n = 8. It is chosen to represent the secret s by the polynomial P: P = X 8 + 2X 7 + 3X 6 + 4X 5 + 5X 4 + 6X 3 + 7X 2 + 8X + 9 In sub-step 11- a of the method, it is chosen k = 16 points p 0 , ..., P15 on this polynomial, for example, po = (0, 9), pi = (1, 45), etc.
Dans la sous-étape 11-b du procédé, les points p0 pis sont encodés en mots de code d'un code de correction d'erreur. Le code de correction d'erreur choisi dans cet exemple d'application le code de Reed Solomon. Le code obtenu à partir du point pi est noté q, 0 ≤ i ≤ 15. Dans la sous-étape 11-c du procédé, l'utilisateur U applique plusieurs fois son doigt sur un capteur biométrique en vue de calculer une représentation stable et ordonnée F, ou fingercode, de la donnée biométrique représentative.In the sub-step 11-b of the method, the points p 0 are encoded into code words of an error correction code. The error correction code chosen in this sample application is the Reed Solomon code. The code obtained from the point pi is noted q, 0 ≤ i ≤ 15. In sub-step 11-c of the method, the user U repeatedly applies his finger to a biometric sensor to calculate a stable and ordered representation F, or fingercode, of the representative biometric data.
Le fingercode F obtenu est ensuite découpé en k = 16 parties fo fis. Dans l'étape 12 du procédé, il est calculé les k = 16 couples de valeurs :The fingercode F obtained is then cut into k = 16 parts ffis. In step 12 of the method, k = 16 pairs of values are calculated:
((C0 - fθ, H(C0) ((C15 - fis), H(C15))((C 0 - f 0 , H (C 0 ) ((C 15 - f 1 ), H (C 15 ))
Dans l'étape optionnelle 13 du procédé, les 16 couples de valeurs ainsi calculés sont rendus publics, en étant par exemple mis à disposition sur un serveur accessible d'un réseau public comme l'intemet. Les couples de valeurs peuvent également être stockés sur un support utilisateur de type carte à puce.In the optional step 13 of the method, the 16 pairs of values thus calculated are made public, for example being made available on a server accessible from a public network such as the intemet. Value pairs can also be stored on a smart card user support.
Au préalable à la seconde phase du procédé selon l'invention, il est procédé à une première génération du couple clé publique/clé privée RSA pour l'utilisateur, conformément à l'algorithme de génération de couples de clés RSA.Prior to the second phase of the method according to the invention, a first generation of the public key / private key pair RSA is performed for the user, in accordance with the RSA key pair generation algorithm.
A cette fin, le secret s de l'utilisateur U est utilisé comme graine d'un générateur aléatoire de nombres premiers pour choisir des entiers premiers p et q. Il est ensuite calculé n = p x q, et Φ(n) = (p - 1) x (q - 1), et il est choisi un exposant public, e, puis calculé un couple de clés publique/privée (n, e), (d, n). La clé publique (n, e) est mise à disposition de tous, par exemple sur un serveur de clés, le reste est effacé.For this purpose, the secret of the user U is used as the seed of a random generator of prime numbers to choose prime integers p and q. It is then computed n = pxq, and Φ (n) = (p - 1) x (q - 1), and it is chosen a public exponent, e, then computed a pair of public / private keys (n, e) , (d, n). The public key (n, e) is made available to all, for example on a key server, the rest is erased.
L'utilisateur souhaitant utiliser sa clé privée, par exemple pour accéder à une application protégée, il est procédé, conformément à la seconde phase du procédé selon l'invention à la régénération de la clé privée de l'utilisateur. Dans l'étape 14 du procédé, il est procédé à l'aide d'un capteur biométrique à une ou plusieurs captures d'empreinte digitale de l'utilisateur, puis calculé une représentation stable et ordonnée F', ou fingercode, de la donnée biométrique. La représentation F' ainsi obtenue est découpée en 16 parties f0', ... , fis'. Il est ensuite calculé, à partir des couples de valeurs récupérés sur le serveur accessible d'un réseau ou sur le support utilisateur de type carte à puce et calculés à l'étape 12 : C0' = (C0 - fθ) + fθ' : = : + :The user wishing to use his private key, for example to access a protected application, it is proceeded, in accordance with the second phase of the method according to the invention to the regeneration of the private key of the user. In step 14 of the method, it is carried out using a biometric sensor with one or more fingerprint captures of the user, and then calculated a stable and ordered representation F ', or fingercode, of the data. biometric. The representation F 'thus obtained is cut into 16 parts f 0 ', ..., fis'. It is then calculated from the value pairs retrieved on the accessible server of a network or on the smart card type user support and calculated in step 12: C 0 '= (C 0 - fθ) + fθ': =: +:
C15' = (C15 - fis) + fi5C15 '= (C15 - fis) + fi5
Comme les codes de correction d'erreur Cj ont été obtenus par encodage de Reed Solomon, un algorithme de correction des erreurs peut être appliqué sur les valeurs c\ calculées. Si la représentation stable et ordonnée de la donnée biométrique courante de l'utilisateur F' est assez proche de la représentation F de la donnée biométrique de référence, alors il est retrouvé au moins n = 9 mots de code ci parmi les k = 16. Pour savoir si la correction des erreurs d'un code q1 a réussi, il suffit de vérifier que H(cι') = H(C1). Si on obtient au moins 9 succès dans le décodage, alors on retrouve 9 points pi qui permettent de reconstruire le polynôme P par interpolation de Lagrange.As Cj error correction codes are obtained by Reed Solomon encoding, an error correction algorithm can be applied to the values c \ calculated. If the stable and ordered representation of the current biometric data of the user F 'is close enough to the representation F of the reference biometric data, then it is found at least n = 9 codewords ci among the k = 16. To know if the correction of the errors of a code q 1 succeeded, it is enough to check that H (cι ') = H (C 1 ). If one obtains at least 9 successes in the decoding, then one finds 9 points pi which make it possible to reconstruct the polynomial P by interpolation of Lagrange.
Une fois le polynôme P calculé, il est appliqué l'inverse de l'algorithme qui a permis de coder le secret s en le polynôme P, et il est ainsi retrouvé le secret s.Once the polynomial P has been calculated, it is applied the inverse of the algorithm which made it possible to code the secret s into the polynomial P, and thus the secret is found.
Ainsi, pour que l'utilisateur puisse retrouver sa clé privée à la demande, il suffit qu'il réutilise le secret s comme graine de son générateur aléatoire pour recalculer p et q et retrouver Φ(n) = (p - 1) x (q - 1). La clé privée (d, n) se calcule à partir de la clé publique (e, n) disponible sur le serveur ou sur la carte à puce de l'utilisateur en cherchant l'inverse e modulo Φ(n). L'utilisateur dispose alors de sa clé privée. Thus, in order for the user to retrieve his private key upon request, it is sufficient that he reuses the secret s as the seed of his random generator to recalculate p and q and find Φ (n) = (p - 1) x ( q - 1). The private key (d, n) is calculated from the public key (e, n) available on the server or on the user's smart card by searching for the inverse e modulo Φ (n). The user then has his private key.

Claims

REVENDICATIONS
1. Procédé de représentation d'un secret à partir d'une donnée biométrique d'un utilisateur, le secret étant représenté par un polynôme (P) de degré n, le procédé étant caractérisé en ce qu'il comprend :1. A method of representing a secret from a biometric data of a user, the secret being represented by a polynomial (P) of degree n, the method being characterized in that it comprises:
- une étape (11) d'enrôlement au cours de laquelle k points (p0, ... , PM) du polynôme (P), k > n, choisis aléatoirement sont encodés en k mots de code (C0, ..., ck-i) d'un code de correction d'erreur, et une représentation (F) stable et ordonnée d'une donnée biométrique de référence de l'utilisateur est découpée en k parties (f0 fk-i), etan enrollment step (11) in which k randomly selected points (p 0 , ..., PM) of the polynomial (P), k> n are encoded in k code words (C 0 , .. ., c k- i) an error correction code, and a stable and ordered representation (F) of a reference biometric data of the user is divided into k parts (f 0 fk-i), and
- une étape (12) de calcul de k couples de valeurs ((Q - fi), H(c)), tels que le i-ème couple comprend une comparaison de référence (Q - fj) entre le i-ième mot de code (Q) et la i-ième partie (fi) de la représentation (F) de référence, et une image du i-ième mot de code (Q) par une fonction (H) de hachage.a step (12) of calculating k pairs of values ((Q - fi), H (c)), such that the i-th pair comprises a reference comparison (Q - fj) between the i-th word of code (Q) and the i-th part (fi) of the reference representation (F), and an image of the i-th code word (Q) by a hash function (H).
2. Procédé de représentation selon la revendication 1 comprenant une étape (11 -c) de calcul de la représentation stable et ordonnée (F) de la donnée biométrique de référence de l'utilisateur.2. A method of representation according to claim 1 comprising a step (11 -c) of calculating the stable and ordered representation (F) of the reference biometric data of the user.
3. Procédé de représentation selon la revendication 1 ou la revendication3. Representation method according to claim 1 or claim
2, dans lequel les k couples de valeurs ((Q -fj), H(Q)) sont publiés (13).2, in which the k couples of values ((Q -fj), H (Q)) are published (13).
4. Procédé de régénération d'un secret à partir d'au moins une donnée biométrique courante d'un utilisateur, le secret étant représenté par un polynôme (P) de degré n, le procédé étant caractérisé en ce qu'il comprend :4. A method of regenerating a secret from at least one current biometric data of a user, the secret being represented by a polynomial (P) of degree n, the method being characterized in that it comprises:
- une étape (15) de correction au cours de laquelle, pour une représentation stable et ordonnée (F') de la donnée biométrique courante de l'utilisateur découpée en k parties (V, ..., f k-i ') , il est cherché k mots de code (C0' ck-i') d'un code de correction d'erreur, tel qu'une comparaison courante entre le i-ième mot de code cherché (Q') et la i-ième partie (fi1) de la représentation (F1) courante est la plus proche d'une comparaison de référence (Q - fi), la comparaison de référence (Q -fj) étant calculée consécutivement à une étape d'enrôlement au cours de laquelle k points (pOl ... , pk-i) du polynôme (P), k>n choisis aléatoirement sont encodés en k mots de code (C0, ... , ck-i) d'un code de correction d'erreur et une représentation stable et ordonnée (F) d'une donnée biométrique de référence de l'utilisateur est découpée en k parties (f0 fk-i), eta correction step (15) during which, for a stable and ordered representation (F ') of the user's current biometric data item divided into k parts (V, ..., f ki'), it is searched k code words (C 0 'c k- i') of an error correction code, such as a current comparison between the i th code word searched (Q ') and the i-th part (fi 1 ) of the current representation (F 1 ) is the closest to a reference comparison (Q-fi), the reference comparison (Q -fj) being calculated consecutively to an enrollment step during which k points (p Ol ..., pk-i) of the polynomial (P), k> n randomly selected are encoded in k codewords (C 0 , ..., c k - i) an error correction code and a stable and orderly representation (F) of a user's reference biometric data is divided into k parts (f 0 f k -i) and
- une étape (16) d'authentification au cours de laquelle il est vérifié que l'image H(cι') du mot de code (Cj') de la représentation courante (F') par une fonction (H) de hachage est égale à l'image H (Q) du mot de code (Q) de la représentation de référence (F) par la fonction (H) de hachage pour n+1 valeurs de i.an authentication step (16) in which it is verified that the image H (cι ') of the code word (Cj') of the current representation (F ') by a hash function (H) is equal to the image H (Q) of the code word (Q) of the reference representation (F) by the hash function (H) for n + 1 values of i.
5. Procédé de régénération selon la revendication 4, comprenant une étape (14) de calcul de la représentation (F1) stable et ordonnée de la donnée biométrique courante de l'utilisateur.5. Regeneration method according to claim 4, comprising a step (14) of calculating the representation (F 1 ) stable and ordered of the current biometric data of the user.
6. Procédé de régénération selon l'une des revendications 4 à 5, dans lequel pour une valeur de k égale à 16, le degré n du polynôme est égal à 8.6. Regeneration method according to one of claims 4 to 5, wherein for a value of k equal to 16, the degree n of the polynomial is equal to 8.
7. Utilisation du procédé de régénération d'un secret selon l'une des revendications 4 à 6 pour régénérer une clé privée d'un couple clé privée/clé publique.7. Use of the method of regeneration of a secret according to one of claims 4 to 6 to regenerate a private key of a private key / public key pair.
8. Dispositif (21 ) de représentation d'un secret à partir d'une donnée biométrique d'un utilisateur, le secret étant représenté par un polynôme (P) de degré n, le dispositif étant caractérisé en ce qu'il comprend :8. Device (21) for representing a secret from a biometric data of a user, the secret being represented by a polynomial (P) of degree n, the device being characterized in that it comprises:
- des moyens (210) d'enrôlement agencés pour encoder k points du polynôme choisis aléatoirement en k mots de code d'un code de correction d'erreur, et pour découper une représentation stable et ordonnée d'une donnée biométrique de référence de l'utilisateur en k parties (f0, ... , fκ-i), et - des moyens (21 1) de calcul agencés pour calculer k couples de valeursenrollment means (210) arranged to encode k points of the randomly selected polynomial in k code words of an error correction code, and to split a stable and ordered representation of a reference biometric data item of the user in k parts (f 0 , ..., fκ-i), and - calculation means (21 1) arranged to calculate k pairs of values
((Cj-fj), H(Cj)), tels que le i-ème couple comprend une comparaison de référence (Ci - fi) entre le i-ième mot de code (Q) et la i-ième partie (fi) de la représentation (F) de référence, et une image du i-ième mot de code (c) par une fonction (H) de hachage.((Cj-fj), H (Cj)), such that the i-th pair comprises a reference comparison (Ci-fi) between the i-th code word (Q) and the ith part (fi) representation (F) reference, and an image of the i-th code word (c) by a hash function (H).
9. Dispositif (22) de régénération d'un secret à partir d'au moins une donnée biométrique courante d'un utilisateur, le secret étant représenté par un polynôme (P) de degré n, le dispositif étant caractérisé en ce qu'il comprend :9. Device (22) for regenerating a secret from at least one current biometric data of a user, the secret being represented by a polynomial (P) of degree n, the device being characterized in that includes:
- des moyens (220) de correction agencés pour chercher, pour une représentation stable et ordonnée (F1) de la donnée biométrique courante de l'utilisateur découpée en k parties (f0', ..., fk-i'), k mots de code (Co1, ... , ck-i') d'un code de correction d'erreur, tel qu'une comparaison courante entre le i- ième mot de code cherché (Q1) et la i-ième partie (fi1) de la représentation (F1) courante est la plus proche d'une comparaison de référence (Q — fi), la comparaison de référence (c, - ή) étant calculée consécutivement à une étape d'enrôlement au cours de laquelle k points (po PM) du polynôme (P), k>n choisis aléatoirement sont encodés en k mots de code (C0, ... , CM) d'un code de correction d'erreur et une représentation stable et ordonnée (F) d'une donnée biométrique de référence de l'utilisateur est découpée en k parties (f0, ... , fk-i),correction means (220) arranged to search for a stable and ordered representation (F 1 ) of the user's current biometric data item divided into k parts (f 0 ', ..., fk-i'), k code words (Co 1 ,..., c k -i ') of an error correction code, such as a current comparison between the searched code word i (Q 1 ) and the i -th part (fi 1 ) of the current representation (F 1 ) is closest to a reference comparison (Q - fi), the reference comparison (c, - ή) being calculated consecutively to an enrollment step in which k points (po PM) of the polynomial (P), k> n randomly selected are encoded in k codewords (C 0 , ..., CM) of an error correction code and a representation stable and ordered (F) of a reference biometric data of the user is divided into k parts (f 0 , ..., f k -i),
- des moyens (221) d'authentification agencés pour vérifier que l'image H(Ci) du mot de code (ci1) de la représentation courante (F') par une fonction (H) de hachage est égale à l'image H (Q) du mot de code (Q) de la représentation de référence (F) par la fonction (H) de hachage pour n+1 valeurs de i.authentication means (221) arranged to verify that the image H (Ci) of the code word (ci 1 ) of the current representation (F ') by a hash function (H) is equal to the image H (Q) of the code word (Q) of the reference representation (F) by the hash function (H) for n + 1 values of i.
10. Dispositif (30) capteur d'une donnée biométrique d'un utilisateur, caractérisé en ce qu'il comprend des moyens (301) de calcul d'une représentation stable et ordonnée (F, F1) d'une donnée biométrique d'un utilisateur, adaptée à être :10. Device (30) for collecting a biometric data of a user, characterized in that it comprises means (301) for calculating a stable and ordered representation (F, F 1 ) of a biometric data item. a user, adapted to be:
- découpée en k-parties ((f0, ... , fk-i), (fσ, — , fk-r)), k étant le nombre de points choisis aléatoirement dans un polynôme de degré n, k>n, ledit polynôme représentant un secret d'un utilisateur, les k points du polynôme étant encodés en k mot de code ((Co, ... , Ck-i), (Co' Q<-i') d'un code de correction d'erreur,- cut into k-parts ((f 0 , ..., fk-i), (fσ, -, fk-r)), where k is the number of points chosen randomly in a polynomial of degree n, k> n, said polynomial representing a secret of a user, the k points of the polynomial being encoded in k code word ((Co, ..., Ck-i), (Co 'Q < -i') of a correction code Error,
- et comparée auxdits mots de code. and compared to said codewords.
11. Système (20) d'authentification comprenant :An authentication system (20) comprising:
- un dispositif de représentation d'un secret selon la revendication 8,a device for representing a secret according to claim 8,
- un dispositif de régénération d'un secret selon la revendication 9.a device for regenerating a secret according to claim 9.
12. Programme d'ordinateur sur un support de données et chargeable dans la mémoire interne d'un ordinateur, le programme comprenant des portions de code pour l'exécution des étapes du procédé de représentation d'un secret à partir d'une donnée biométrique selon l'une quelconque des revendications 1 à 3 lorsque le programme est exécuté sur ledit ordinateur.12. Computer program on a data carrier and loadable in the internal memory of a computer, the program comprising portions of code for performing the steps of the method of representing a secret from a biometric data according to any one of claims 1 to 3 when the program is executed on said computer.
13. Moyen de stockage de données partiellement ou totalement amovible, comportant des instructions de code de programme informatique pour l'exécution des étapes d'un procédé de représentation selon l'une quelconque des revendications 1 à 3.13. Partially or fully removable data storage means comprising computer program code instructions for performing the steps of a representation method according to any one of claims 1 to 3.
14. Programme d'ordinateur sur un support de données et chargeable dans la mémoire interne d'un ordinateur, le programme comprenant des portions de code pour l'exécution des étapes du procédé de régénération d'un secret à partir d'au moins une donnée biométrique selon l'une quelconque des revendications 4 à 6 lorsque le programme est exécuté sur ledit ordinateur.14. Computer program on a data medium and loadable in the internal memory of a computer, the program comprising portions of code for performing the steps of the process of regenerating a secret from at least one biometric data according to any one of claims 4 to 6 when the program is executed on said computer.
15. Moyen de stockage de données partiellement ou totalement amovible, comportant des instructions de code de programme informatique pour l'exécution des étapes d'un procédé de régénération d'un secret selon l'une quelconque des revendications 4 à 6. A partially or fully removable data storage medium, comprising computer program code instructions for performing the steps of a secret regeneration method according to any one of claims 4 to 6.
EP07871912A 2006-12-27 2007-12-11 Method or extracting a secret from biometric data Withdrawn EP2104990A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0655967A FR2911021A1 (en) 2006-12-27 2006-12-27 Secret representing method for e.g. user authentication, involves dividing representation of biometric data into parts, and calculating pairs of values so that one pair comprises reference comparison and image of code word by hash function
PCT/FR2007/052482 WO2008081136A2 (en) 2006-12-27 2007-12-11 Method or extracting a secret from biometric data

Publications (1)

Publication Number Publication Date
EP2104990A2 true EP2104990A2 (en) 2009-09-30

Family

ID=38362842

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07871912A Withdrawn EP2104990A2 (en) 2006-12-27 2007-12-11 Method or extracting a secret from biometric data

Country Status (3)

Country Link
EP (1) EP2104990A2 (en)
FR (1) FR2911021A1 (en)
WO (1) WO2008081136A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2975550B1 (en) * 2011-05-18 2013-07-12 Morpho ACCESS PROTECTED BY BIOMETRY TO ELECTRONIC DEVICES

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901145B1 (en) * 1999-04-08 2005-05-31 Lucent Technologies Inc. Generation of repeatable cryptographic key based on varying parameters
US7602904B2 (en) * 2000-11-27 2009-10-13 Rsa Security, Inc. Order invariant fuzzy commitment system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JOIN A K ET AL: "FingerCode: A Filterbank for Fingerprint Representation and Matching", PROCEEDINGS OF THE 1999 IEEE COMPUTER SOCIETY CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, JUNE 23-25, 1999; FORT COLLINS, COLORADO, IEEE, THE INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, INC, US, vol. 2, 23 June 1999 (1999-06-23), pages 187 - 193, XP010347607, ISBN: 978-0-7695-0149-9 *

Also Published As

Publication number Publication date
WO2008081136A3 (en) 2008-09-12
FR2911021A1 (en) 2008-07-04
WO2008081136A2 (en) 2008-07-10

Similar Documents

Publication Publication Date Title
EP2318980B1 (en) Method of determining a pseudo-identity on the basis of characteristics of minutiae and associated device
EP1811422B1 (en) Processes for determining an identifier, biometric verification and associated systems.
EP2282441A1 (en) Secure method for reconstructing a reference measurement for confidential data from a noisy measurement of this data, in particular for the generation of cryptographic keys
EP3200387B1 (en) Secure multi-party processing method protected against a malicious party
EP2953291B1 (en) Secured distributed storage by multiparty calculation
EP2909963B1 (en) Electronic signature method with ephemeral signature
EP3731117B1 (en) Method of enrolling data of an identification document of an individual and authenticating said identification document
EP3742699A1 (en) Method for strong authentication of an individual
WO2014140008A1 (en) Secure data processing method, and use in biometry
EP3731116B1 (en) Method of authenticating an identification document of an individual and authenticating said individual.
EP2887263B1 (en) Secondary elements in fuzzy vault encoding
WO2009083528A1 (en) Method and system for generating stable biometric data
EP2104990A2 (en) Method or extracting a secret from biometric data
CA2613884C (en) Method for providing a secured communication between a user and an entity
WO2009083527A1 (en) Method and system for authenticating individuals on the basis of biometric data
WO2012085215A1 (en) Method and system for multi-threshold multimodal authentication using secret sharing
FR2969878A1 (en) MULTIMODAL AUTHENTICATION METHOD AND CRYPTOGRAPHIC KEY GENERATION USING SECURE GENERAL SKETCHES
EP4099614A1 (en) Methods of data enrolment to verify the authenticity of security data or verification of the authenticity of security data
FR2957168A1 (en) Data base constructing method for performing biometric verification relative to one person, involves determining and storing complementary data from digital data in negative data base
WO2008132382A1 (en) Method for generating a variable from a biometric datum
WO2003063413A1 (en) Method for generating and verifying electronic signatures
WO2012085047A1 (en) Method of multimodal authentication with threshold and generation of unimodal key
FR2975249A1 (en) METHOD, SERVER AND BIOMETRIC AUTHENTICATION SYSTEM
WO2003023606A1 (en) Method of calculating the exponentiation in a group and the application thereof for user authentication
WO2010150194A2 (en) Personal identity verification method

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20090618

AK Designated contracting states

Kind code of ref document: A2

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

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

17Q First examination report despatched

Effective date: 20140515

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20150702