FR2957168A1 - 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 - Google Patents

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 Download PDF

Info

Publication number
FR2957168A1
FR2957168A1 FR1051666A FR1051666A FR2957168A1 FR 2957168 A1 FR2957168 A1 FR 2957168A1 FR 1051666 A FR1051666 A FR 1051666A FR 1051666 A FR1051666 A FR 1051666A FR 2957168 A1 FR2957168 A1 FR 2957168A1
Authority
FR
France
Prior art keywords
data
digital
projections
database
vector
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.)
Granted
Application number
FR1051666A
Other languages
French (fr)
Other versions
FR2957168B1 (en
Inventor
Julien Bringer
Herve Chabanne
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.)
Idemia Identity and Security France SAS
Original Assignee
Sagem Securite 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 Sagem Securite SA filed Critical Sagem Securite SA
Priority to FR1051666A priority Critical patent/FR2957168B1/en
Publication of FR2957168A1 publication Critical patent/FR2957168A1/en
Application granted granted Critical
Publication of FR2957168B1 publication Critical patent/FR2957168B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Collating Specific Patterns (AREA)

Abstract

The method involves obtaining digital vectors derived from biometric data e.g. digital print of fingers, relative to persons. A number of projection functions identified by digital identifiers is applied to each vector to obtain projections of same size as the vector. The digital data relative to the combination of certain number of projections among the obtained projections and the digital identifiers identifying the certain number of projections are calculated. The complementary data from the digital data is determined and stored in a negative data base (10). Independent claims are also included for the following: (1) a device for constructing a data base relative to persons enrolled to biometric verification (2) a method for performing biometric verification relative to the person (3) a device for performing biometric verification relative to the person.

Description

PROCEDES, SYSTEMES ET DISPOSITIFS DE VERIFICATION BIOMETRIQUE La présente invention concerne la vérification biométrique. La vérification biométrique s'entend généralement de l'authentification ou de l'identification d'individus, humains ou animaux, à partir de données biométriques, c'est-à-dire de caractéristiques biologiques de ces individus, telles que des empreintes digitales, une forme générale de doigts de la main, des caractéristiques de la voix, des caractéristiques de l'iris de l'ceil, etc. Une telle vérification biométrique utilise conventionnellement une base de données stockant des données biométriques - ou des données dérivées de données biométriques - relatives à des individus préalablement enrôlés, c'est-à-dire déclarés selon une procédure spécifique pour se voir délivrer, lors d'une vérification biométrique, un droit quelconque (délivrance d'un permis de conduire, d'un titre de transport, d'une indemnisation, autorisation d'accès à un local, etc.). Un exemple très simple de vérification biométrique est illustré sur la figure 1, où l'on distingue une base de données 1 stockant un ensemble de données biométriques b1, b2,..., bN relatives à des individus enrôlés. Ces données biométriques b1, b2,..., bN sont par exemple des images représentant telle ou telle caractéristique biologique d'individus respectifs, des points remarquables d'une caractéristique biologique (par exemple des minuties dans le cas d'empreintes digitales), ou autre. Avantageusement, une représentation numérique des données biométriques peut être utilisée, de façon à en simplifier la manipulation et à 25 rendre ces données intégrables dans un algorithme cryptographique. A titre d'exemple non limitatif, les données b1, b2,..., bN stockées dans la base de données 1 peuvent consister chacune en un vecteur numérique, par exemple binaire, correspondant à une donnée biométrique d'un individu respectif. De nombreuses façons d'obtenir un vecteur numérique à partir d'une 30 donnée biométrique sont connues. Dans l'exemple de la figure 1, la vérification biométrique se passe de la 2957168 -2- manière suivante relativement à un individu donné. On obtient une donnée biométrique, ou sa représentation sous forme de vecteur numérique, b' de l'individu considéré. Cette donnée b' est comparée à tout ou partie des données b1, b2,..., bN stockées dans la base de données 1 (référence 2). 5 En cas de concordance ou de proximité suffisante, on peut en déduire que l'individu considéré correspond à un individu enrôlé (cas d'une identification) ou à l'individu enrôlé qu'il prétend être (cas d'une authentification). Ce résultat est noté R sur la figure 1. Un problème de cette technique de vérification biométrique est que les ~o données biométriques, ou leur représentation numérique, b1, b2,..., bN sont stockées en clair dans la base de données 1. Une personne indélicate qui parviendrait à accéder au contenu de la base de données 1, disposerait ainsi d'informations pertinentes sur les individus enrôlés. Ceci va à l'encontre de la protection de liberté individuelle et de la vie privée. 15 Pour pallier cet inconvénient majeur, il est connu de protéger les données b1, b2,..., bN à l'aide d'un algorithme cryptographique. A titre d'exemple, seule une version chiffrée des données b1, b2,..., bN pourrait être stockée dans la base de données 1. Toutefois, cette solution requiert d'utiliser un module supplémentaire S 20 3, avantageusement sécurisé, pour stocker par exemple une clé de chiffrement et/ou de déchiffrement appropriée. En plus de complexifier la vérification biométrique, cette solution n'assure pas une protection efficace des données b1, b2,..., bN vis-à-vis d'une personne qui aurait accès à la clé de chiffrement et/ou de déchiffrement via le module S 3 ou par tout autre moyen. The present invention relates to biometric verification. Biometric verification generally refers to the authentication or identification of individuals, human or animal, from biometric data, that is to say biological characteristics of these individuals, such as fingerprints, a general shape of the fingers of the hand, characteristics of the voice, characteristics of the iris of the eye, etc. Such a biometric verification conventionally uses a database storing biometric data - or data derived from biometric data - relating to previously enlisted individuals, that is to say, declared according to a specific procedure to be delivered, when a biometric verification, any right (issuing a driver's license, a ticket, compensation, authorization to access a room, etc.). A very simple example of biometric verification is illustrated in FIG. 1, which distinguishes a database 1 storing a set of biometric data b1, b2,..., BN relating to enlisted individuals. These biometric data b1, b2,..., BN are, for example, images representing one or another biological characteristic of respective individuals, remarkable points of a biological characteristic (for example, minutiae in the case of fingerprints), Or other. Advantageously, a digital representation of the biometric data can be used, so as to simplify the manipulation thereof and make these data integrable into a cryptographic algorithm. By way of nonlimiting example, the data b1, b2,..., BN stored in the database 1 may each consist of a digital vector, for example a binary vector, corresponding to a biometric datum of a respective individual. Many ways to obtain a digital vector from a biometric data are known. In the example of FIG. 1, the biometric verification proceeds in the following manner with respect to a given individual. We obtain a biometric data, or its representation in the form of a digital vector, b 'of the individual considered. This data item b 'is compared with all or part of the data b1, b2,..., BN stored in the database 1 (reference 2). 5 In case of concordance or sufficient proximity, it can be deduced that the individual considered corresponds to an enlisted individual (case of an identification) or to the enlisted individual that he claims to be (case of authentication). This result is noted R in Figure 1. A problem with this biometric verification technique is that the biometric data ~ o, or their digital representation, b1, b2, ..., bN are stored in clear in the database 1 An unscrupulous person who manages to access the contents of the database 1, would thus have relevant information on the individuals enlisted. This goes against the protection of individual liberty and privacy. To overcome this major drawback, it is known to protect the data b1, b2,..., BN using a cryptographic algorithm. By way of example, only an encrypted version of the data b1, b2,..., BN could be stored in the database 1. However, this solution requires the use of an additional module S 20 3, advantageously secured, for for example, store an appropriate encryption and / or decryption key. In addition to complicating the biometric verification, this solution does not provide effective protection of the data b1, b2, ..., bN vis-à-vis a person who would have access to the encryption key and / or decryption via module S 3 or by any other means.

Un autre inconvénient de la technique décrite en référence à la figure 1 est que les captures de données biométriques sont par nature non reproductibles. La comparaison 2 entre b' et une des données b1i b2,..., bN stockées dans la base de données 1 peut donc révéler une absence de concordance, alors que les données comparées se rapportent en réalité à un même individu. Une technique d'identification biométrique plus évoluée a été développée et décrite par Hao, Daugman et Zielinski dans l'article de juin 2008, 2957168 -3- intitulé "A fast search algorithm for a large fuzzy database," IEEE Transactions on Information Forensics and Security. Cette technique est basée sur l'utilisation de l'iris de l'oeil. La figure 2 en montre schématiquement les grands principes. 5 Soient b1, b2,..., bN, des vecteurs binaires de taille n dérivés respectivement des iris d'individus enrôlés, n étant un entier très supérieur à 128. Plutôt que de stocker b1, b2,..., bN, comme dans l'exemple précédent, la base de données 4 ne stocke que 128 projections de ces vecteurs en utilisant des fonctions de projection h1, h2,..., h128i la projection d'un vecteur étant ~o définie comme une réduction de dimension de ce vecteur (la longueur de ce vecteur dans ce cas). A titre d'exemple, la projection d'un vecteur peut consister en une restriction de ce vecteur à un nombre m de ses n coordonnées, m étant très inférieur à n. Un ordre de grandeur typique est par exemple n=2048 et m=10. 15 La base de données 4 stocke ainsi h1(b1), h2(b1),.••, h128(b1) ; h1(b2), h2(b2),..., h128(b2), et ainsi de suite jusqu'à hl(bN), h2(bN),..., h128(bN). Lors de la capture de l'iris d'un individu se présentant pour une vérification biométrique, on calcule les 128 projections du vecteur binaire b' correspondant, c'est-à-dire h1(b'), h2(b'),..., h128(b'). 20 Une comparaison 5 est alors effectuée entre les projections h1(b'), h2(b'),..., h128(b') et les projections stockées dans la base de données 4 correspondant à tout ou partie des individus enrôlés. On retient comme candidats, les vecteurs binaires, parmi b1i b2,..., bN, dont un nombre déterminé de projections égalent les projections 25 correspondantes de b'. Dans l'exemple illustré sur la figure 2, ce nombre a été fixé à 3, de telle sorte que s'il existe trois collisions quelconques entre hi(ba), h2(ba),..., h128(ba) d'une part et h1(b'), h2(b'),..., h128(b') d'autre part, avec 0<a<129, ba est retenu dans la liste des candidats (notée R1). A titre d'illustration, c'est par exemple le cas si h2(ba)= h2(b'), h37(ba)= h37(b') et 30 h69(ba)= hss(b'). Pour les candidats, tels que ba, ainsi déterminés, une vérification plus 2957168 -4- complète peut être réalisée, par exemple par comparaison avec b', comme dans le cas de la figure 1. En cas de concordance ou de proximité suffisante entre b' et au moins un des candidats, on peut en déduire que l'individu considéré correspond à un individu enrôlé (cas d'une identification) ou à 5 l'individu enrôlé qu'il prétend être (cas d'une authentification). La technique de Hao, Daugman et Zielinski améliore donc significativement la situation par rapport à la technique décrite plus haut, vis-à-vis de la non-reproductibilité des captures biométriques. En effet, puisqu'un nombre restreint de valeurs binaires est pris en compte grâce à l'utilisation des 10 fonctions de projection h1i h2,..., h128, et puisqu'un nombre limité de collisions est considéré, la vérification biométrique est capable de détecter une concordance à partir d'iris présentant des différences mais se rapportant à un même individu. Autrement dit, la technique de Hao, Daugman et Zielinski tolère des erreurs. 15 En revanche, elle ne résout pas vraiment le problème de la protection des données stockées dans la base de données 4. Même si ces données sont plus partielles que les données b1, b2,..., bN stockées dans la base de données 1, elles contiennent néanmoins de l'information directement pertinente sur les individus enrôlés. 20 L'usage d'un algorithme cryptographique pour protéger les données stockées reste donc nécessaire. Ceci impose encore d'utiliser un module supplémentaire S 6, avantageusement sécurisé, pour stocker par exemple une clé de chiffrement et/ou de déchiffrement appropriée. Les inconvénients, mentionnés plus haut, qui en découlent restent donc présents. 25 Un but de la présente invention est de limiter ces inconvénients. Plus particulièrement, un but de la présente invention est de permettre une vérification biométrique qui tolère une certaine quantité d'erreurs liées à la non-reproductibilité des captures biométriques, sans imposer une protection des données stockées par un algorithme cryptographique. 30 L'invention propose ainsi un procédé de construction d'une base de données relative à des individus enrôlés à des fins de vérification biométrique, comprenant les étapes suivantes : 2957168 -5- - obtenir des vecteurs numériques dérivés de données biométriques relatives auxdits individus respectivement ; - appliquer à chacun des vecteurs numériques un nombre p de fonctions de projection identifiées chacune par un identifiant numérique respectif, 5 de façon à obtenir, pour chacun des vecteurs numériques, p projections de plus petite dimension que ledit vecteur numérique ; - calculer, pour chacun des vecteurs numériques, des données numériques relatives respectivement à toutes les combinaisons d'un nombre c de projections parmi les p projections calculées pour ledit ~o vecteur numérique et aux identifiants numériques identifiant les c fonctions de projection correspondantes, c étant inférieur à p ; - déterminer l'ensemble des données complémentaires de l'ensemble desdites données numériques ; - stocker l'ensemble des données complémentaires dans une base de 15 données. La forme des données stockées dans ladite base de données ainsi constituée permet une vérification biométrique tolérante à une certaine quantité d'erreurs liées à la non-reproductibilité des captures biométriques. Ceci est du notamment à l'usage de fonctions de projection et de données numériques 20 portant sur une sous-partie des projections calculées. La forme des données stockées dans ladite base de données peut permettre en outre un certain niveau de protection des données, sans avoir recours à un algorithme cryptographique. Ceci est du notamment à la représentation négative des données numériques dans une base de données 25 négative ainsi qu'à la nature des données numériques elles-mêmes, qui font usage de fonctions de projection et de données numériques portant sur une sous-partie des projections calculées. Avantageusement, pour chacun des vecteurs numériques, les données numériques calculées correspondantes comprennent chacune une 30 concaténation de c projections dudit vecteur numérique et des identifiants 2957168 -6- numériques identifiant les c fonctions de projection correspondantes. Une telle concaténation est une fonction particulièrement simple. Avantageusement, l'ensemble des données complémentaires est stocké dans la base de données sous une forme condensée et/ou randomisée, 5 afin de limiter la capacité de stockage nécessaire et/ou d'améliorer encore la protection des données stockées. Une forme condensée des données peut être obtenue par application d'un algorithme de type préfixe. L'invention propose aussi un système ou dispositif pour la construction d'une base de données relative à des individus enrôlés à des fins de 10 vérification biométrique selon le procédé susmentionné. Le système ou dispositif comprend : - une unité d'obtention de vecteurs numériques dérivés de données biométriques relatives auxdits individus respectivement ; - une unité pour appliquer à chacun des vecteurs numériques un nombre 15 p de fonctions de projection identifiées chacune par un identifiant numérique respectif, de façon à obtenir, pour chacun des vecteurs numériques, p projections de plus petite dimension que ledit vecteur numérique ; - une unité de calcul, pour chacun des vecteurs numériques, de données 20 numériques relatives respectivement à toutes les combinaisons d'un nombre c de projections parmi les p projections calculées pour ledit vecteur numérique et aux identifiants numériques identifiant les c fonctions de projection correspondantes, c étant inférieur à p ; - une unité de détermination de l'ensemble des données 25 complémentaires de l'ensemble desdites données numériques ; - une unité de transmission de l'ensemble des données complémentaires dans une base de données. L'invention propose aussi un procédé de vérification biométrique relativement à un individu, utilisant une base de données construite selon le 30 procédé susmentionné. Le procédé de vérification biométrique comprend les étapes suivantes : 2957168 -7- - obtenir un vecteur numérique dérivé d'une donnée biométrique relative audit individu ; - appliquer audit vecteur numérique un nombre p' desdites fonctions de projection, de façon à obtenir p' projections de plus petite dimension que 5 ledit vecteur numérique ; - calculer des données numériques relatives respectivement à au moins une combinaison d'un nombre c de projections parmi les p' projections calculées pour ledit vecteur numérique et aux identifiants numériques identifiant les c fonctions de projection correspondantes, c étant inférieur ~o àp'; - vérifier si certaines au moins des données numériques calculées appartiennent ou non à l'ensemble des données complémentaires stocké dans la base de données. L'invention propose aussi un système ou dispositif pour la mise en -15 oeuvre d'une vérification biométrique relativement à un individu. Ce système ou dispositif comprend : - une unité d'obtention d'un vecteur numérique dérivé d'une donnée biométrique relative audit individu ; une unité pour appliquer audit vecteur numérique un nombre p' 20 desdites fonctions de projection, de façon à obtenir p' projections de plus petite dimension que ledit vecteur numérique ; - une unité de calcul de données numériques relatives respectivement à au moins une combinaison d'un nombre c de projections parmi les p' projections calculées pour ledit vecteur numérique et aux identifiants 25 numériques identifiant les c fonctions de projection correspondantes, c étant inférieur à p' ; - une unité de vérification pour vérifier si certaines au moins des données numériques calculées appartiennent ou non à l'ensemble des données complémentaires stocké dans la base de données. 30 D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non 2957168 -8- limitatifs, en référence aux dessins annexés, dans lesquels : la figure 1, déjà commentée, est un schéma illustrant un exemple simple de vérification biométrique selon l'art antérieur ; - la figure 2, déjà commentée, est un schéma illustrant un exemple plus 5 évolué de vérification biométrique selon une technique de l'art antérieur ; - la figure 3 est un schéma illustrant une construction de base de données et une vérification biométrique selon un exemple non-limitatif de réalisation de l'invention ; la figure 4 est un schéma illustrant la notion de base de données 1 o négative. Selon un premier aspect de l'invention, on construit une base de données relative à des individus enrôlés à des fins de vérification biométrique. Cette construction peut être faite une fois pour toute, après enrôlement de tous les individus concernés, ou bien au fur et à mesure que de nouveaux individus 15 font l'objet d'un enrôlement. A cet effet, on obtient des vecteurs numériques b1, b2,..., bN dérivés de données biométriques relatives à N individus respectivement. Les données biométriques sont par exemple acquises à l'aide d'un capteur biométrique approprié. 20 Les vecteurs numériques b1, b2,..., bN sont supposés ici de taille n, avec n entier, et peuvent être des vecteurs binaires ou autres (c'est-à-dire z-aires, avec z>2). Leur obtention à partir des données biométriques peut mettre en oeuvre toute méthode connue. De façon similaire à la technique de Hao, Daugman et Zielinski 25 mentionnée plus haut, on applique à chacun de ces vecteurs numériques un nombre p de fonctions de projection h1, h2,..., hp, de façon à obtenir, pour chacun des vecteurs numériques, p projections. On rappelle que la projection d'un vecteur est définie comme une application réduisant l'espace de départ de ce vecteur à un espace de dimension plus petite. Chacune des p projections 30 d'un vecteur numérique est donc de plus petite dimension que ledit vecteur numérique. Un exemple non-limitatif de projection d'un vecteur, qui sera plus particulièrement considéré par la suite, consiste en une restriction de ce 2957168 -9- vecteur à un nombre m de ses n coordonnées, m étant inférieur à n. En remplacement ou en complément d'une restriction, la projection d'un vecteur pourrait comprendre une projection suivant une base de vecteurs orthogonaux. Les fonctions de projection h1, h2,..., hp peuvent être identifiées chacune par un 5 identifiant numérique respectif, comme l'illustrent les indices 1 à p. Selon un exemple de réalisation, les projections d'un vecteur numérique sont obtenues à l'aide d'un ensemble de vecteurs v1, ..., vp de taille n chacun et éventuellement orthogonaux deux à deux. Ces projections sont construites chacune comme le produit scalaire entre le vecteur numérique 10 considéré et un des vecteurs v1i ..., vp. Ainsi, h1(bi) pourrait correspondre au produit scalaire entre b1 et un v1, h2(b1) pourrait correspondre au produit scalaire entre b1 et un v2,..., et hp(b1) pourrait correspondre au produit scalaire entre b1 et un vp. L'ensemble des projections h1(b1), h2(b1),..., hp (b1) forme ainsi un vecteur de m bits, consistant par exemple en des signes binaires 15 (+=>O, -=>1). Selon un exemple de réalisation plus particulier, chaque projection d'un vecteur numérique correspond à un ensemble de coordonnées données au sein de ce vecteur numérique. Ainsi, h1(b1) pourrait correspondre aux coordonnées de b1 de positions m1, m2, ..., mm, h2(b1) pourrait correspondre 20 aux coordonnées de b1 de positions m'1, m'2, ..., m'm, etc., m1, m2, ..., mm, m'1, m'2, ..., m'm étant des entiers quelconques compris entre 1 et n. C'est cet exemple de réalisation qui est retenu pour la suite de la description, sans que ceci constitue une quelconque limitation de la portée de l'invention, laquelle peut mettre en oeuvre n'importe quel type de projection envisageable. 25 Dans cet exemple, le nombre p peut par exemple être égal à 128 comme dans l'exemple décrit en introduction, mais toute autre valeur peut être envisagée. Avantageusement, p est très inférieur à n, par exemple d'un facteur de l'ordre de la dizaine ou de la centaine. Par ailleurs, m est avantageusement très inférieur à n, par exemple 30 d'un facteur de l'ordre de la centaine ou du millier. Un ordre de grandeur typique est par exemple n=2048 et m=10, bien que toute autre valeur puisse être envisagée. 2957168 -10- A l'issue de cette étape, on dispose donc des projections suivantes : h1(b1), h2(bi),..., hp (b1) ; h1(b2), h2(b2),..., hp(b2), et ainsi de suite jusqu'à hi(bN), h2(bN),..., hp(bN). On calcule ensuite, pour chacun des vecteurs numériques, des 5 données numériques relatives respectivement à toutes les combinaisons d'un nombre c de projections parmi les p projections calculées pour ledit vecteur numérique et aux identifiants numériques identifiant les c fonctions de projection correspondantes, c étant un entier inférieur à p. Supposons par exemple que c soit égal à 3, étant entendu que toute 10 autre valeur de c est envisageable, les données numériques mentionnées ci-dessus tiennent donc compte chacune d'un triplet de projections d'un vecteur numérique, ainsi que des identifiants numériques identifiant les trois fonctions de projection correspondantes. Soient i, j et k trois entiers quelconques compris entre 1 et p, tels que 15 i<j<k. Ces entiers peuvent permettre d'identifier trois fonctions de projection, à savoir hi, hj et hk. On comprendra cependant que d'autres types d'identifiants peuvent être utilisés. Une des données numériques calculées relativement au vecteur numérique b1 peut ainsi consister en une fonction des trois projections h;(b1), 20 hj(bi), hk(bl), et des trois identifiants i, j et k. Cette fonction peut prendre toute forme envisageable. Dans une réalisation particulièrement simple, la fonction peut consister en une simple concaténation des paramètres listés ci-dessus, dans un ordre quelconque. Par exemple, la donnée numérique en question pourrait s'écrire 25 i I I j II k I I h;(b1) Il hi(bi) hk(b1), où le symbole Il désigne une concaténation (c'est-à-dire une mise bout à bout des champs qu'il sépare). Les identifiants i, j, k et les projections h;(b1), hj(b1), hk(bl) utilisant avantageusement la même représentation numérique, par exemple une représentation binaire, la donnée numérique mentionnée ci-dessus peut ainsi 30 constituer une chaîne numérique homogène. Comme indiqué plus haut, les données numériques sont calculées 2957168 -11- pour toutes les combinaisons de c projections parmi les p projections calculées pour un vecteur numérique donné, et pour tous les vecteurs numériques b1, b2,..., bN. Ceci peut s'exprimer de la façon suivante : on calcule les données 5 numériques i j II k II h;(bt) Il hj(bt) Il hk(bt) (ou toute autre fonction de i, j, k, h;(bt), hj(bt), hk(bt)), pour tous les entiers i, j, k tels que 0<i<j<k<p+1 et pour tout entier t tel que 0<t<N+1. Ces données numériques sont également représentées à gauche de la figure 3. 10 Si on prend par exemple p=128 et m=10, les entiers i, j, k peuvent être codés sur 7 bits chacun et les projections sur 10 bits chacune. Dans ce cas, les données numériques i Il j II k II hi(bt) Il hi(bt) Il hk(bt) utilisent 51 bits chacune, ce qui est relativement compact. Ces données numériques vont être indirectement utilisées pour 15 effectuer une vérification biométrique, comme cela sera décrit plus bas. Plutôt que de stocker directement l'ensemble des données numériques i Il j II k Il hi(bt) Il hi(bt) Il hk(bt) dans une base de données, la présente invention prévoit d'utiliser une base de données négative. Cela signifie qu'on détermine l'ensemble des données 20 complémentaires de cet ensemble des données numériques, et c'est cet ensemble de données complémentaires qu'on stocke dans une base de données dite négative. La notion de base de données négative et des méthodes de construction d'une telle base de données sont connues, bien que dans des 25 domaines techniques sans rapport avec la vérification biométrique. On peut par exemple citer l'article de Fernando Esponda, Elena S. Ackley, Stephanie Forrest et Paul Helman de Septembre 2004, "On-line Negative Databases". Third International Conference on Artificial Immune Systems (ICARIS 2004) Proceedings, pp.175-188, ou encore l'article de Fernando Esponda intitulé 30 "Everything That's Not Important", IEEE Computational Intelligence 3:2 (mai 2008). 2957168 -12- La figure 4 illustre schématiquement la notion de base de données négative relativement à des vecteurs binaires de longueur 4. Ces vecteurs binaires sont représentés en haut de la figure 4 sous la forme d'un arbre 9 dont les branches supérieures correspondent aux bits de poids le plus fort et les 5 branches inférieures correspondent aux bits de poids le plus faible. Parmi l'ensemble des vecteurs binaires possibles, on considère le sous-ensemble consistant dans les cinq vecteurs binaires suivants : 0001, 0010, 0110, 1100 et 1101. Les feuilles de l'arbre 9 correspondant à ces cinq vecteurs binaires sont marquées par des croix. 10 Une représentation positive des cinq vecteurs binaires dudit sous-ensemble pourrait être stockée dans une base de données positive, telle que la base DB 7 qui apparaît en bas à gauche de la figure 4. Une base de données négative NDB correspondante peut être construite en désignant les vecteurs binaires complémentaires dudit sous- 15 ensemble, lesquels correspondent aux feuilles de l'arbre 9 non marquées d'une croix sur la figure 4. La base de données négative NDB peut lister les vecteurs binaires complémentaires dudit sous-ensemble un à un, dans une représentation similaire à celle de la DB (i.e. 0000, 0011, 0100, 0101, 0111, 1000, 1001, 1010, 20 1011, 1110 et 1111). En variante, la représentation des vecteurs binaires utilisée dans NDB peut avantageusement être une représentation condensée, ce qui limite l'espace de stockage nécessaire. Dans la NDB 8 illustrée en bas à droite de la figure 4, la représentation 25 adoptée a été obtenue à l'aide d'un algorithme de type préfixe. Cela signifie que les données stockées dans la NDB 8 ne font apparaître que les préfixes (c'est-à-dire les bits de poids les plus forts) des vecteurs binaires qui ne font pas partie dudit sous-ensemble, les bits de poids les plus faibles étant absents ou bien remplacés par un caractère, comme une étoile (*), qui indique que ces 30 bits peuvent prendre la valeur 0 ou 1. Un tel mode de représentation condensé est simple et peut être obtenu -13-facilement par un parcours visuel de l'arbre 9. Une méthode de construction d'une base de données négative à l'aide d'un algorithme préfixe a été formalisée par Esponda, Stephanie Forrest et Paul Helman dans l'article "Enhancing Privacy through Negative Representations of Data", UNM Computer Science Technical Report TR-CS-2004-18, de mars 2004. Selon cette méthode, on désigne par I la longueur des vecteurs binaires du sous-ensemble considéré (c'est-à-dire les vecteurs binaires de longueur I qui seraient stockées dans une base de données positive), par w_i un préfixe de longueur i et par W_i un ensemble de vecteurs de longueur i (une partie des préfixes w_i). Les étapes mises en oeuvre par cette méthode sont les suivantes : 1.i:=0 2. W_i := {} (l'ensemble vide) 3. W_(i+1) := ensemble des vecteurs de longueur i+1 avec un préfixe de longueur i dans W_i et qui n'est pas un préfixe d'un vecteur du sous-ensemble considéré 4. pour tout x dans W_{i+1} 5. créer un vecteur y avec préfixe x et des étoiles (*) pour compléter en 20 un vecteur de longueur I (une étoile représente une position qui peut prendre la valeur 0 ou la valeur 1) 6. ajouter le champ à la base de données négative 7.i.=i+1 8. W_i := l'ensemble des préfixes de longueur i du sous-ensemble 25 considéré 9. Retour à l'étape 3 tant que i<I. Une telle méthode conduit à une base de données négative de taille de l'ordre de (2*N*l A2) où N est le nombre de vecteurs binaires du sous-ensemble considéré (c'est-à-dire le nombre d'entrées d'une base de données positive -14-correspondante). On peut en outre avantageusement rendre aléatoire ("randomiser") la représentation pour augmenter la sécurité, en particulier à partir d'une version non déterministe de l'algorithme précédent. A cet effet, on peut par exemple utiliser une permutation aléatoire pour faire apparaître des étoiles au début ou au milieu des vecteurs, remplacer aléatoirement certaines étoiles par les valeurs associées 0,1, ou autre. Un exemple d'algorithme permettant de randomiser la représentation de la base de données négative est exposé dans l'article "Enhancing Privacy io through Negative Representations of Data", UNM Computer Science Technical Report TR-CS-2004-18, mars 2004, de Fernando Esponda, Stephanie Forrest, et Paul Helman. D'autres algorithmes de randomisation créant une base de données négative qui correspond à une représentation approximative du 15 complémentaire d'une base de données positive peuvent bien sûr être utilisés, comme cela apparaîtra à l'homme du métier. Par ailleurs, dans le cadre de la présente invention, toute autre méthode de construction d'une base de données négative peut être utilisée, en remplacement ou en complément d'un algorithme de type préfixe, comme cela 20 apparaîtra à l'homme du métier. On peut par exemple citer la méthode de construction d'une base de données négative basée sur l'utilisation de fonction de hachage cryptographique, telle que proposée dans l'article de George Danezis, Claudia Diaz, Sebastian Faust, Emilia Kâsper, Carmela Troncoso et Bart Preneel, 25 "Efficient Negative Databases from Cryptographic Hash Functions", in Proceedings of the 10th Information Security Conference (ISC 2007), LNCS, J. A. Garay (ed.), Springer-Verlag, 12 pages, 2007. On peut encore citer l'article de Fernando Esponda, Elena S. Ackley, Paul Helman, Haixia Jia et Stephanie Forrest, "Protecting Data Privacy through Hard-to-Reverse Negative 30 Databases", International Journal of Information Security (IJIS), Volume 6, Number 6, pp.403-415, Octobre 2007. L'usage d'une base de données négative présente plusieurs - 15 - avantages, par rapport à celui d'une base de données positive classique. Tout d'abord, retrouver les données positives à partir des données complémentaires stockées dans une base de données négative n'est pas une opération simple, surtout si la représentation des données complémentaires est elle-même rendue complexe par une condensation, une randomisation, ou autre. Les données positives sont ainsi un peu mieux protégées que si elles étaient stockées directement dans une base de données positive. De plus, le parcours d'une base de données négative peut être facilité et rendu plus naturel par rapport à celui d'une base de données positive. En io effet, rechercher la présence d'une donnée dans une base de données positive nécessite de comparer cette donnée à chacune des données stockées, une à une. En revanche, détecter l'absence de cette même donnée dans une base de données négative peut nécessiter un nombre d'opérations plus faible pour obtenir le même résultat. Par exemple, lorsque la base de données négative a 15 été construite avec un algorithme de type préfixe, il suffira de vérifier que la donnée en question ne possède pas un des préfixes apparaissant dans la base de données négative. La présente invention tire profit de ces avantages des bases de données négatives et les combine avec ceux qui résultent de la construction 20 particulière des données numériques telle que décrite plus haut, pour permettre une vérification biométrique particulièrement pertinente. Ainsi, une base de données négative NDB 10 telle qu'illustrée à droite de la figure 3 est construite en y stockant l'ensemble de données complémentaires de l'ensemble des données numériques décrites plus haut, 25 par exemple i II j II k Il h;(bt) Il hj(bt) Il hk(bt) (ou toute autre fonction de i, j, k, h;(bt), h;(bt), hk(bt)), pour tous les entiers i, j, k tels que 0<i<j<k<p+1 et pour tout entier t tel que 0<t<N+1. La forme prise par l'ensemble des données complémentaires peut être quelconque. Avantageusement, une forme condensée telle que décrite plus 30 haut pourra être utilisée. Cette forme condensée peut être obtenue par application d'un algorithme de type préfixe ou tout autre algorithme envisageable. 2957168 -16- Une randomisation de la représentation des données complémentaires telle que mentionnée plus haut pourra éventuellement être mise en oeuvre. Etant donnée la nature des données numériques et leur mode de représentation au sein d'une base de données négative, on comprendra qu'une 5 personne indélicate ayant accès au contenu de la base de données négative ne pourra pas en déduire beaucoup d'information pertinente sur les individus enrôlés. En effet, un premier obstacle à franchir pour ce faire serait de reconstruire une base de données positive pour retrouver les données 10 numériques, ce qui n'est pas nécessairement simple comme rappelé plus haut. Ensuite, même si elle constatait l'absence dans la base de données négative NDB 10 (ou sa présence dans une base de données positive correspondante) d'une donnée numérique par exemple de type Il j II k Il hi(bt) Il hi(bt) Il hk(bt), pour des valeurs données de i, j, k et t, la 15 personne indélicate ne pourrait tout au plus en déduire que trois projections de bt, c'est-à-dire un nombre très faible de valeurs numériques de bt. Cette quantité d'informations est notamment bien plus faible que celle obtenue lors d'un accès à la base de données positive construite selon la technique de Hao, Daugman et Zielinski, où l'intégralité des 128 projections h1(bt), h2(bt),..., 20 h128(bt) relatives à bt sont stockées en association. Dans ces conditions, une reconstruction de bt paraît peu réalisable à partir de la base de données négative NDB 10. De ce fait, les données numériques, par exemple de type i II j Il k II h,(bt) Il hi(bt) Il hk(bt), semblent bien protégées, sans qu'il soit 25 nécessaire d'utiliser un algorithme cryptographique. On évite ainsi d'avoir à prévoir un module supplémentaire, éventuellement sécurisé, pour stocker par exemple une clé de chiffrement et/ou de déchiffrement appropriée. On résout ainsi un inconvénient de la technique de Hao, Daugman et Zielinski, mentionné en introduction. Pour autant, les avantages de cette 30 technique antérieure sont quand même obtenus avec la présente invention. En particulier, l'invention est tolérante aux erreurs liées à la non-reproductibilité des captures biométriques. 2957168 -17- L'invention bénéficie en outre des avantages de l'utilisation d'une base de données négative, tels que listés plus haut. Avec les hypothèses illustratives prises plus haut, à savoir p=128, m=10 et c=3, on estime qu'une base de données négative ayant une taille de 5 l'ordre de 20 Go peut être utilisée pour une centaine d'individus enrôlés. La construction d'une base de données négative telle qu'elle vient d'être décrite peut être réalisée à l'aide d'un système ou d'un dispositif comprenant des unités appropriées à cet effet. Ce système ou dispositif peut par exemple consister en un terminal de capture biométrique associé à un 1 o module de traitement de données. Tout ou partie des opérations mentionnées plus haut peuvent être mises en oeuvre à l'aide d'un programme d'ordinateur comprenant des instructions appropriées, lorsqu'il est chargé et exécuté sur des moyens informatiques. 15 Un deuxième aspect de l'invention concerne la vérification biométrique d'un individu, en utilisant une base de données négative construite comme décrit plus haut. La vérification biométrique comprend l'obtention d'un vecteur numérique dérivé d'une donnée biométrique relative audit individu. Le vecteur 20 numérique b' ainsi obtenu est avantageusement de même nature et/ou de même format que les vecteurs numériques b1, b2,..., bN. Il peut éventuellement faire suite à une acquisition d'une donnée biométrique relative à l'individu considéré à l'aide d'un capteur biométrique approprié. On applique ensuite au vecteur numérique b' un nombre p' des 25 fonctions de projection h1, h2,..., hp définies plus haut. Le nombre p' peut être égal à p, ou bien lui être inférieur. Dans ce dernier cas, on applique donc au vecteur numérique b' une sélection des p fonctions de projection. Pour simplifier le propos, on considère par la suite p'=p. Cette étape permet d'obtenir les p (ou plus généralement p') 30 projections suivantes : h1(b'), h2(b'),..., hp(b'). Chacune de ces projections est de plus petite dimension que le vecteur numérique b' et correspond par 2957168 -18- exemple à un produit scalaire entre le vecteur numérique b' et un des vecteurs v1, ..., vp mentionnés plus haut, à un ensemble de coordonnées données au sein dudit vecteur numérique b', ou autre. De façon similaire à ce qui a été décrit dans le cadre de la construction 5 de la base de données, on calcule des données numériques relatives respectivement à au moins une combinaison d'un nombre c de projections parmi les p (ou plus généralement p') projections h1(b'), h2(b'),..., hp(b') calculées pour ledit vecteur numérique b' et aux identifiants numériques identifiant les c fonctions de projection correspondantes, c étant inférieur à p ~o (ou plus généralement p'). Soient i, j et k trois entiers quelconques compris entre 1 et p (ou plus généralement p'), tels que i<j<k. Ces entiers peuvent permettre d'identifier trois fonctions de projection, à savoir h;, hj et hk. On comprendra cependant que d'autres types d'identifiants peuvent être utilisés. 15 Une des données numériques calculées relativement au vecteur numérique b' peut ainsi consister en une fonction des trois projections h;(b'), hj(b'), hk(b'), et des trois identifiants i, j et k. C'est ce qui est montré à droite de la figure 3. Dans une réalisation avantageuse mentionnée plus haut, la fonction en 20 question peut consister en une simple concaténation des paramètres listés ci-dessus, dans un ordre quelconque. Par exemple, la donnée numérique calculée relativement audit individu pourrait s'écrire i Il j I) k h;(b') Il hj(b') Il hk(b'), où le symbole Il désigne une concaténation (c'est-à-dire une mise bout à bout des champs qu'il sépare). 25 Les identifiants i, j, k et les projections h;(b'), hj(b'), hk(b') utilisant avantageusement la même représentation numérique, par exemple une représentation binaire, la donnée numérique mentionnée ci-dessus peut ainsi constituer une chaîne numérique homogène. Cette dernière est avantageusement de même nature et/ou format que les données numériques 30 calculées lors de l'enrôlement. On vérifie alors si la donnée numérique i Il j Il k Il h;(b') Il hj(b') hk(b') (ou toute autre donnée numérique équivalente calculée relativement audit 2957168 -19- individu) appartient ou non à l'ensemble des données complémentaires stocké dans la base de données négative NDB 10 (étape 11). La façon d'effectuer cette vérification dépend de la manière dont la base de données négative NDB 10 a été construite. A titre d'exemple, si la 5 base de données négative NDB 10 a été construite à l'aide d'un algorithme de type préfixe, on pourra simplement vérifier si un des préfixes représentés dans la base de données négative NDB 10 correspond à un préfixe de la donnée numérique i II j II k II hi(b') Il hi(b') Il hk(b')• Cette vérification 11 peut être répétée pour tout ou partie des données numériques i II j lI k Il h;(b') ll hi(b') ll hk(b') calculées relativement audit individu, pour des entiers i, j, k tels que 0<i<j<k<p+1. Si une donnée numérique i II j II k II hi(b') ll hi(b') Il hk(b') calculée relativement audit individu ne se retrouve pas dans la base de données négative NDB 10, cela signifie qu'elle fait partie des données numériques, listées à gauche de la figure 3, relatives aux individus enrôlés. Autrement dit, il existe trois collisions entre des projections correspondantes de b' et d'un des vecteurs numériques bi, b2,..., bN des individus enrôlés. Ceci correspond sensiblement au critère utilisé dans l'exemple de la figure 2, mais la façon de détecter les trois collisions est largement simplifiée par rapport à cet exemple. Another disadvantage of the technique described with reference to FIG. 1 is that the captures of biometric data are inherently non-reproducible. The comparison 2 between b 'and one of the data b1i b2, ..., bN stored in the database 1 can therefore reveal a lack of agreement, whereas the compared data actually relate to the same individual. A more advanced biometric identification technique has been developed and described by Hao, Daugman, and Zielinski in the June 2008 article, 2957168 -3- entitled "A fast search algorithm for a large fuzzy database," which states that IEEE Transactions on Information Forensics Security. This technique is based on the use of the iris of the eye. Figure 2 shows schematically the main principles. Let b1, b2,..., BN be binary vectors of size n derived respectively from the irises of enlisted individuals, n being an integer much greater than 128. Rather than storing b1, b2, ..., bN, as in the previous example, the database 4 stores only 128 projections of these vectors using projection functions h1, h2, ..., h128i the projection of a vector being ~ o defined as a dimension reduction of this vector (the length of this vector in this case). By way of example, the projection of a vector may consist of a restriction of this vector to a number m of its n coordinates, m being much smaller than n. A typical order of magnitude is, for example, n = 2048 and m = 10. The database 4 thus stores h1 (b1), h2 (b1), • ••, h128 (b1); h1 (b2), h2 (b2), ..., h128 (b2), and so on until h1 (bN), h2 (bN), ..., h128 (bN). During the capture of the iris of an individual presenting for a biometric verification, the 128 projections of the corresponding binary vector b ', i.e. h1 (b'), h2 (b '), are calculated. ..., h128 (b '). A comparison 5 is then made between the projections h1 (b '), h2 (b'), ..., h128 (b ') and the projections stored in the database 4 corresponding to all or some of the enlisted individuals. Candidates are the binary vectors, among b1i b2,..., BN, of which a fixed number of projections equal the corresponding projections of b '. In the example shown in Figure 2, this number has been set to 3, so that if there are any three collisions between hi (ba), h2 (ba), ..., h128 (ba) of one part and h1 (b '), h2 (b'), ..., h128 (b ') on the other hand, with 0 <a <129, ba is retained in the list of candidates (noted R1). By way of illustration, this is for example the case if h2 (ba) = h2 (b '), h37 (ba) = h37 (b') and 30 h69 (ba) = hss (b '). For candidates, such as ba, thus determined, a fuller check can be made, for example by comparison with b ', as in the case of Figure 1. In case of concordance or sufficient proximity between b and at least one of the candidates, it can be deduced that the individual considered corresponds to an enlisted individual (case of an identification) or to the enlisted individual whom he claims to be (case of an authentication). The technique of Hao, Daugman and Zielinski thus significantly improves the situation compared to the technique described above, with respect to the non-reproducibility of the biometric captures. Indeed, since a small number of binary values are taken into account by using the projection functions h1i h2,..., H128, and since a limited number of collisions are considered, the biometric verification is capable of to detect a concordance from irises with differences but relating to the same individual. In other words, the technique of Hao, Daugman and Zielinski tolerates errors. On the other hand, it does not really solve the problem of the protection of the data stored in the database 4. Even if these data are more partial than the data b1, b2,..., BN stored in the database 1 however, they do contain directly relevant information about enlisted individuals. The use of a cryptographic algorithm to protect the stored data therefore remains necessary. This further requires the use of an additional module S 6, advantageously secured, for storing, for example, an appropriate encryption and / or decryption key. The disadvantages, mentioned above, which result from it remain therefore present. An object of the present invention is to limit these disadvantages. More particularly, an object of the present invention is to enable a biometric verification that tolerates a certain amount of errors related to the non-reproducibility of the biometric captures, without imposing a protection of the data stored by a cryptographic algorithm. The invention thus proposes a method of constructing a database relating to individuals enrolled for biometric verification purposes, comprising the following steps: obtaining digital vectors derived from biometric data relating to said individuals, respectively ; applying to each of the digital vectors a number p of projection functions each identified by a respective numerical identifier, so as to obtain, for each of the digital vectors, p projections of smaller size than said digital vector; calculating, for each of the digital vectors, numerical data respectively relating to all the combinations of a number c of the projections calculated for said digital vector and to the numerical identifiers identifying the corresponding projection functions, c being less than p; - determining the set of complementary data of all of said digital data; store all the additional data in a database. The form of the data stored in said database thus constituted allows a biometric verification tolerant to a certain amount of errors related to the non-reproducibility of the biometric captures. This is particularly due to the use of projection functions and digital data relating to a sub-part of the calculated projections. The form of the data stored in said database may furthermore allow a certain level of data protection, without resorting to a cryptographic algorithm. This is due in particular to the negative representation of the digital data in a negative database as well as to the nature of the digital data themselves, which make use of projection functions and digital data relating to a sub-part of the projections. calculated. Advantageously, for each of the digital vectors, the corresponding computed numerical data each comprise a concatenation of c projections of said digital vector and numerical identifiers identifying the corresponding c projection functions. Such concatenation is a particularly simple function. Advantageously, the set of complementary data is stored in the database in a condensed and / or randomized form, in order to limit the necessary storage capacity and / or to further improve the protection of the stored data. A condensed form of the data can be obtained by applying a prefix type algorithm. The invention also proposes a system or device for constructing a database relating to individuals enrolled for biometric verification purposes according to the aforementioned method. The system or device comprises: a unit for obtaining digital vectors derived from biometric data relating to said individuals respectively; a unit for applying to each of the digital vectors a number 15 of projection functions each identified by a respective numerical identifier, so as to obtain, for each of the digital vectors, p projections of smaller size than said digital vector; a calculation unit, for each of the digital vectors, of digital data relating respectively to all the combinations of a number c of the projections calculated for said digital vector and to the numerical identifiers identifying the corresponding projection functions, c being less than p; a unit for determining the set of data complementary to all of said digital data; a unit for transmitting all the complementary data in a database. The invention also provides a biometric verification method relating to an individual, using a database constructed according to the aforementioned method. The biometric verification method comprises the following steps: obtaining a digital vector derived from a biometric data item relating to said individual; applying to said digital vector a number p 'of said projection functions, so as to obtain p' projections of smaller size than said digital vector; calculating numerical data relating respectively to at least one combination of a number c of the projections calculated for said digital vector and to the numerical identifiers identifying the corresponding c projection functions, c being less than 0 to p; - Check if at least some of the calculated numerical data does or does not belong to the set of complementary data stored in the database. The invention also proposes a system or device for implementing a biometric verification with respect to an individual. This system or device comprises: a unit for obtaining a digital vector derived from a biometric datum relating to said individual; a unit for applying to said digital vector a number p 'of said projection functions, so as to obtain p' projections of smaller size than said digital vector; a digital data calculation unit respectively relating to at least one combination of a number c of projections among the projections calculated for said digital vector and to the numerical identifiers identifying the corresponding c projection functions, c being less than '; a verification unit for verifying whether at least some of the computed numerical data belong to the set of complementary data stored in the database. Other features and advantages of the present invention will become apparent from the following description of non-limiting exemplary embodiments, with reference to the accompanying drawings, in which: FIG. 1, already commented on, is a diagram illustrating a simple example of biometric verification according to the prior art; - Figure 2, already commented, is a diagram illustrating a more evolved example of biometric verification according to a technique of the prior art; FIG. 3 is a diagram illustrating a database construction and a biometric verification according to a non-limiting embodiment of the invention; Figure 4 is a diagram illustrating the concept of database 1 o negative. According to a first aspect of the invention, a database is created for individuals enrolled for biometric verification purposes. This construction can be done once and for all, after enrollment of all the individuals concerned, or as new individuals are enrolled. For this purpose, we obtain digital vectors b1, b2,..., BN derived from biometric data relating to N individuals respectively. The biometric data is for example acquired using a suitable biometric sensor. The digital vectors b1, b2, ..., bN are here assumed to be of size n, with n being integer, and may be binary or other vectors (ie z-areas, with z> 2). Obtaining them from the biometric data can implement any known method. In a manner similar to the Hao, Daugman and Zielinski technique mentioned above, a number p of projection functions h1, h2, ..., hp are applied to each of these digital vectors, so as to obtain, for each of the digital vectors, p projections. It is recalled that the projection of a vector is defined as an application reducing the starting space of this vector to a space of smaller dimension. Each of the projections 30 of a digital vector is therefore smaller in size than said digital vector. A non-limiting example of projection of a vector, which will be more particularly considered later, consists in a restriction of this vector to a number m of its n coordinates, m being less than n. Instead of or in addition to a restriction, the projection of a vector could include a projection based on orthogonal vectors. The projection functions h1, h2,..., Hp can each be identified by a respective numerical identifier, as illustrated by indices 1 to p. According to an exemplary embodiment, the projections of a digital vector are obtained using a set of vectors v1, ..., vp of size n each and optionally orthogonal two by two. These projections are each constructed as the dot product between the digital vector 10 considered and one of vectors v1i ..., vp. Thus, h1 (bi) could correspond to the scalar product between b1 and a v1, h2 (b1) could correspond to the scalar product between b1 and a v2, ..., and hp (b1) could correspond to the dot product between b1 and a vp. The set of projections h1 (b1), h2 (b1), ..., hp (b1) thus forms a vector of m bits, consisting, for example, of binary signs (+ => O, - => 1). . According to a more particular embodiment, each projection of a digital vector corresponds to a set of coordinates given within this digital vector. Thus, h1 (b1) could correspond to the coordinates of b1 of positions m1, m2, ..., mm, h2 (b1) could correspond to the coordinates of b1 of positions m'1, m'2, ..., m m, etc., m1, m2, ..., mm, m'1, m'2, ..., m'm being any integers between 1 and n. It is this exemplary embodiment which is retained for the remainder of the description, without this constituting any limitation of the scope of the invention, which can implement any type of projection that can be envisaged. In this example, the number p may for example be equal to 128 as in the example described in the introduction, but any other value may be considered. Advantageously, p is much lower than n, for example by a factor of about ten or one hundred. Moreover, m is advantageously much less than n, for example by a factor of the order of one hundred or one thousand. A typical order of magnitude is for example n = 2048 and m = 10, although any other value can be considered. At the end of this step, we therefore have the following projections: h1 (b1), h2 (bi), ..., hp (b1); h1 (b2), h2 (b2), ..., hp (b2), and so on until hi (bN), h2 (bN), ..., hp (bN). Then, for each of the digital vectors, numerical data relating respectively to all the combinations of a number c of the projections calculated for said digital vector and to the numerical identifiers identifying the corresponding c projection functions are computed, c being an integer less than p. Assume, for example, that c is equal to 3, it being understood that any other value of c is conceivable, the numerical data mentioned above therefore each take into account a triplet of projections of a digital vector, as well as numerical identifiers. identifying the three corresponding projection functions. Let i, j and k be any three integers between 1 and p, such that 15 i <j <K. These integers can identify three projection functions, namely hi, hj and hk. It will be understood, however, that other types of identifiers may be used. One of the numerical data calculated with respect to the digital vector b1 can thus consist of a function of the three projections h; (b1), hj (bi), hk (bl), and the three identifiers i, j and k. This function can take any conceivable form. In a particularly simple embodiment, the function can consist of a simple concatenation of the parameters listed above, in any order. For example, the numerical datum in question could be written in the form of a concatenation (i.e. put end to end of the fields which it separates). The identifiers i, j, k and the projections h; (b1), hj (b1), hk (b1) advantageously using the same digital representation, for example a binary representation, the above-mentioned numerical data can thus constitute a homogeneous digital chain. As indicated above, the numerical data are calculated for all combinations of c projections among the p projections calculated for a given numerical vector, and for all the digital vectors b1, b2, ..., bN. This can be expressed as follows: the numerical data ij II k II h; (bt) Il hj (bt) II hk (bt) (or any other function of i, j, k, h; bt), hj (bt), hk (bt)), for all the integers i, j, k such that 0 <i <j <k <p + 1 and for any integer t such that 0 <t <N + 1. These digital data are also shown on the left of FIG. 3. If, for example, p = 128 and m = 10, the integers i, j, k can be coded on 7 bits each and the projections on 10 bits each. In this case, the numerical data i Il j II k II hi (bt) Il hi (bt) Il hk (bt) use 51 bits each, which is relatively compact. These digital data will be indirectly used for biometric verification, as will be described below. Rather than directly storing all of the digital data in a database, the present invention provides for the use of a negative database. This means that the set of complementary data of this set of digital data is determined, and it is this set of complementary data that is stored in a so-called negative database. The concept of negative database and methods of constructing such a database are known, although in technical fields unrelated to biometric verification. For example, the article by Fernando Esponda, Elena S. Ackley, Stephanie Forrest and Paul Helman from September 2004, "On-line Negative Databases". Third International Conference on Artificial Immune Systems (ICARIS 2004) Proceedings, pp.175-188, or Fernando Esponda's article entitled "Everything That's Not Important", IEEE Computational Intelligence 3: 2 (May 2008). FIG. 4 schematically illustrates the notion of negative database with respect to bit vectors of length 4. These binary vectors are represented at the top of FIG. 4 in the form of a tree 9 whose upper branches correspond to the bits of highest weight and 5 lower branches correspond to the least significant bits. Among the set of possible binary vectors, we consider the subset consisting of the following five bit vectors: 0001, 0010, 0110, 1100 and 1101. The leaves of the tree 9 corresponding to these five binary vectors are marked by cross. A positive representation of the five binary vectors of said subset could be stored in a positive database, such as the DB 7 database which appears at the bottom left of FIG. 4. A corresponding negative NDB database can be constructed in designating complementary bit vectors of said subassembly, which correspond to leaves of the shaft 9 not marked with a cross in FIG. 4. The negative database NDB can list the complementary bit vectors of said subset one by one in a representation similar to that of the DB (ie 0000, 0011, 0100, 0101, 0111, 1000, 1001, 1010, 1011, 1110 and 1111). As a variant, the representation of the bit vectors used in NDB may advantageously be a condensed representation, which limits the necessary storage space. In the NDB 8 shown at the bottom right of FIG. 4, the adopted representation was obtained using a prefix type algorithm. This means that the data stored in the NDB 8 only show the prefixes (i.e., the most significant bits) of the bit vectors that are not part of said subset, the most significant bits of the subset. weaker being absent or replaced by a character, such as a star (*), which indicates that these 30 bits can take the value 0 or 1. Such a condensed representation mode is simple and can be obtained easily by a visual path of the tree 9. A method of constructing a negative database using a prefix algorithm has been formalized by Esponda, Stephanie Forrest and Paul Helman in the article "Enhancing Privacy through Negative Representations of Data ", UNM Computer Science Technical Report TR-CS-2004-18, of March 2004. According to this method, I denotes by I the length of the binary vectors of the subset considered (i.e. the binary vectors of length I that would be stored in a b ase of positive data), by w_i a prefix of length i and by W_i a set of vectors of length i (a part of the prefixes w_i). The steps implemented by this method are as follows: 1.i: = 0 2. W_i: = {} (the empty set) 3. W_ (i + 1): = set of vectors of length i + 1 with a prefix of length i in W_i and which is not a prefix of a vector of the subset considered 4. for all x in W_ {i + 1} 5. create a vector y with prefix x and stars (* ) to complete a vector of length I (a star represents a position which can take the value 0 or the value 1) 6. add the field to the negative database 7.i. = i + 1 8. W_i: = the set of prefixes of length i of the subset 25 considered 9. Return to step 3 as long as i <I. Such a method leads to a negative size database of the order of (2 * N * 1 A2) where N is the number of binary vectors of the considered subset (i.e. the number of entries from a corresponding -14-positive database). In addition, the representation can be advantageously randomized to increase security, in particular from a non-deterministic version of the preceding algorithm. For this purpose, it is possible, for example, to use a random permutation to make stars appear at the beginning or in the middle of the vectors, to randomly replace certain stars with the associated values 0.1, or other. An example of an algorithm for randomizing the representation of the negative database is described in the article "Enhancing Privacy io through Negative Representations of Data", UNM Computer Science Technical Report TR-CS-2004-18, March 2004, by Fernando Esponda, Stephanie Forrest, and Paul Helman. Other randomization algorithms creating a negative database that corresponds to an approximate representation of the complement of a positive database can of course be used, as will be apparent to those skilled in the art. Furthermore, in the context of the present invention, any other method of constructing a negative database can be used, as a replacement for or in addition to a prefix type algorithm, as will be apparent to those skilled in the art. . For example, the method of constructing a negative database based on the use of cryptographic hash function, as proposed in the article by George Danezis, Claudia Diaz, Sebastian Faust, Emilia Kaspper, Carmela Troncoso and Bart Preneel, 25 "Efficient Negative Databases from Cryptographic Hash Functions", in Proceedings of the 10th Information Security Conference (ISC 2007), LNCS, JA Garay (ed.), Springer-Verlag, 12 pages, 2007. We can also mention the article by Fernando Esponda, Elena S. Ackley, Paul Helman, Haixia Jia and Stephanie Forrest, "Protecting Data Privacy through Hard-to-Reverse Negative Databases", International Journal of Information Security (IJIS), Volume 6, Number 6, pp.403-415, October 2007. The use of a negative database has several advantages over that of a conventional positive database. First of all, finding the positive data from the additional data stored in a negative database is not a simple operation, especially if the representation of the complementary data is itself made complex by condensation, randomization, or other. Positive data are thus a little better protected than if they were stored directly in a positive database. In addition, the course of a negative database can be facilitated and made more natural compared to that of a positive database. Indeed, searching for the presence of data in a positive database requires comparing this data to each of the stored data, one by one. On the other hand, detecting the absence of this same datum in a negative database may require a smaller number of operations to obtain the same result. For example, when the negative database has been constructed with a prefix type algorithm, it will be sufficient to verify that the data in question does not have one of the prefixes appearing in the negative database. The present invention takes advantage of these advantages of the negative databases and combines them with those resulting from the particular construction of the digital data as described above, to enable particularly relevant biometric verification. Thus, a negative database NDB 10 as illustrated to the right of FIG. 3 is constructed by storing therein the set of complementary data of the set of digital data described above, for example i II j II k II h; (bt) He hj (bt) He hk (bt) (or any other function of i, j, k, h; (bt), h; (bt), hk (bt)), for all integers i , j, k such that 0 <i <j <k <p + 1 and for any integer t such that 0 <t <N + 1. The form taken by the set of complementary data may be arbitrary. Advantageously, a condensed form as described above may be used. This condensed form can be obtained by applying a prefix type algorithm or any other conceivable algorithm. A randomization of the representation of complementary data as mentioned above may possibly be implemented. Given the nature of the digital data and how it is represented in a negative database, it will be understood that an indelicate person having access to the content of the negative database will not be able to deduce a lot of relevant information. on enlisted individuals. Indeed, a first obstacle to overcome for this purpose would be to rebuild a positive database to find the digital data, which is not necessarily simple as recalled above. Then, even if it noted the absence in the negative database NDB 10 (or its presence in a corresponding positive database) of a numerical data, for example of the type Il j II k Il hi (bt) Il hi ( (bt) He hk (bt), for given values of i, j, k and t, the indelicate person could at most deduce only three projections of bt, that is to say a very small number of numerical values of bt. This amount of information is notably much smaller than that obtained when accessing the positive database constructed using the technique of Hao, Daugman and Zielinski, where all 128 projections h1 (bt), h2 (bt ), ..., h128 (bt) relating to bt are stored in association. Under these conditions, a reconstruction of bt seems unrealizable from the negative database NDB 10. As a result, the numerical data, for example of type II II II II II, II II It hk (bt), seem well protected, without the need to use a cryptographic algorithm. This avoids having to provide an additional module, possibly secure, for example to store an encryption key and / or decryption appropriate. This solves a disadvantage of the technique of Hao, Daugman and Zielinski, mentioned in the introduction. However, the advantages of this prior art are still achieved with the present invention. In particular, the invention is tolerant of errors related to the non-reproducibility of biometric captures. The invention also benefits from the advantages of using a negative database, as listed above. With the illustrative assumptions made above, namely p = 128, m = 10 and c = 3, it is estimated that a negative database having a size of the order of 20 GB can be used for a hundred or so. enlisted individuals. The construction of a negative database as just described can be carried out using a system or device comprising appropriate units for this purpose. This system or device may for example consist of a biometric capture terminal associated with a 1 o data processing module. All or some of the operations mentioned above can be implemented using a computer program including appropriate instructions, when loaded and executed on computer means. A second aspect of the invention relates to the biometric verification of an individual, using a negative database constructed as described above. The biometric verification comprises obtaining a digital vector derived from a biometric data item relating to said individual. The digital vector b 'thus obtained is advantageously of the same nature and / or the same format as the digital vectors b1, b2,..., BN. It may possibly follow an acquisition of a biometric data item for the individual concerned using a suitable biometric sensor. A number p 'of the projection functions h1, h2,..., Hp defined above is then applied to the digital vector b'. The number p 'can be equal to p, or it can be lower. In the latter case, we therefore apply to the digital vector b 'a selection of p projection functions. To simplify the subject, we next consider p '= p. This step makes it possible to obtain the following p (or more generally p ') 30 projections: h1 (b'), h2 (b '), ..., hp (b'). Each of these projections is smaller in size than the digital vector b 'and corresponds for example to a scalar product between the digital vector b' and one of the vectors v1, ..., vp mentioned above, to a set of coordinates given within said digital vector b ', or other. In a manner similar to that described in connection with the construction of the database, numerical data relating to at least one combination of a number c of projections among the p (or more generally ) projections h1 (b '), h2 (b'), ..., hp (b ') calculated for said digital vector b' and the numerical identifiers identifying the c corresponding projection functions, c being less than p ~ o ( or more generally p '). Let i, j and k be any three integers between 1 and p (or more generally p '), such that i <j <K. These integers can be used to identify three projection functions, namely h ;, hj and hk. It will be understood, however, that other types of identifiers may be used. One of the numerical data calculated with respect to the digital vector b 'may thus consist of a function of the three projections h; (b'), hj (b '), hk (b'), and the three identifiers i, j and k. This is shown to the right of Figure 3. In an advantageous embodiment mentioned above, the function in question may consist of a simple concatenation of the parameters listed above, in any order. For example, the numerical data computed with respect to said individual could be written as (h) (h) (b ') h (b') hk (b '), where the symbol denotes a concatenation (ie ie an end-to-end placement of the fields it separates). The identifiers i, j, k and the projections h; (b '), hj (b'), hk (b ') advantageously using the same digital representation, for example a binary representation, the numerical data mentioned above can thus to constitute a homogeneous digital chain. The latter is advantageously of the same nature and / or format as the numerical data 30 calculated during the enrollment. It is then verified whether the numerical data item i Il j Il k Il h; (b ') Il hj (b') hk (b ') (or any other equivalent numerical data item calculated relative to said individual 2957168 -19- individual) does or does not belong to the set of complementary data stored in the negative database NDB 10 (step 11). The way to perform this verification depends on how the NDB Negative Database 10 was constructed. For example, if the NDB negative database 10 was constructed using a prefix type algorithm, one could simply check if one of the prefixes represented in the negative database NDB 10 corresponds to a prefix of the numerical data i II j II k II hi (b ') Il hi (b') Il hk (b ') • This check 11 may be repeated for all or part of the numerical data i II j lI k Il h; (b ') ll hi (b') ll hk (b ') calculated relative to said individual, for integers i, j, k such that 0 <i <j <k <P + 1. If a numeric datum i II j II k II hi (b ') ll hi (b') Il hk (b ') calculated relative to the individual is not found in the negative database NDB 10, this means that it is part of the numerical data, listed on the left of Figure 3, relating to enlisted individuals. In other words, there are three collisions between corresponding projections of b 'and one of the digital vectors bi, b2,..., BN of the enlisted individuals. This corresponds substantially to the criterion used in the example of FIG. 2, but the manner of detecting the three collisions is greatly simplified with respect to this example.

On peut alors apporter une conclusion à la vérification biométrique de l'individu considéré (résultat R2) Dans le cas d'une identification, on peut par exemple conclure que l'individu considéré correspond à un individu enrôlé. Des étapes supplémentaires peuvent éventuellement être mises en oeuvre, dans le cas d'une authentification, pour vérifier que cet individu correspond bien à celui qu'il prétend être. On notera que d'autres critères que celui qui vient d'être exposé peuvent être utilisés pour apporter une conclusion à la vérification biométrique, comme cela apparaîtra à l'homme du métier. A titre d'exemple non limitatif, on 3o pourrait requérir que plusieurs données numériques i II j II k II h;(b') Il h1(b') Il hk(b') ne se retrouvent pas dans la base de données négative NDB 10 pour considérer que l'individu considéré correspond à un - 20 - individu enrôlé. La vérification biométrique telle qu'elle vient d'être décrite peut être réalisée à l'aide d'un système ou d'un dispositif comprenant des unités appropriées à cet effet. Ce système ou dispositif peut par exemple consister en un terminal de capture biométrique associé à un module de traitement de données. Tout ou partie des opérations de vérification biométrique mentionnées plus haut peuvent être mises en oeuvre à l'aide d'un programme d'ordinateur comprenant des instructions appropriées, lorsqu'il est chargé et exécuté sur ~o des moyens informatiques. One can then make a conclusion to the biometric verification of the individual considered (result R2). In the case of an identification, it can be concluded for example that the individual considered corresponds to an enlisted individual. Additional steps may optionally be implemented, in the case of authentication, to verify that this individual corresponds to the one he claims to be. It should be noted that other criteria than the one just described can be used to bring a conclusion to biometric verification, as will be apparent to those skilled in the art. By way of non-limiting example, it may be necessary to require that several numerical data i II j II k II h; (b ') II h1 (b') II hk (b ') are not found in the negative database NDB 10 to consider that the individual considered corresponds to an enlisted individual. The biometric verification as just described can be performed using a system or device comprising appropriate units for this purpose. This system or device may for example consist of a biometric capture terminal associated with a data processing module. All or part of the biometric verification operations mentioned above can be implemented using a computer program including appropriate instructions, when it is loaded and executed on ~ o computer means.

Claims (8)

REVENDICATIONS1. Procédé de construction d'une base de données (10) relative à des individus enrôlés à des fins de vérification biométrique, comprenant les étapes suivantes : - obtenir des vecteurs numériques (b,, b2,..., bN) dérivés de données biométriques relatives auxdits individus respectivement ; - appliquer à chacun des vecteurs numériques un nombre p de fonctions de projection (h,, h2,..., hp) identifiées chacune par un identifiant numérique respectif, de façon à obtenir, pour chacun des vecteurs ~o numériques, p projections de plus petite dimension que ledit vecteur numérique ; - calculer, pour chacun des vecteurs numériques, des données numériques (i II j II k II h;(bt) Il hi(bt) (I hk(bt)) relatives respectivement à toutes les combinaisons d'un nombre c de projections parmi les p 15 projections calculées pour ledit vecteur numérique et aux identifiants numériques identifiant les c fonctions de projection correspondantes, c étant inférieur à p ; - déterminer l'ensemble des données complémentaires de l'ensemble desdites données numériques ; 20 - stocker l'ensemble des données complémentaires dans une base de données (10). REVENDICATIONS1. A method of constructing a database (10) relating to individuals enlisted for biometric verification purposes, comprising the steps of: - obtaining digital vectors (b ,, b2, ..., bN) derived from biometric data relating to said individuals respectively; applying to each of the digital vectors a number p of projection functions (h 1, h 2,..., hp) each identified by a respective numerical identifier, so as to obtain, for each of the digital vectors o, p projections of smaller dimension than said digital vector; calculating, for each of the digital vectors, numerical data (i II j II k II h; (bt) II hi (bt) (I hk (bt)) relating respectively to all the combinations of a number c of projections the p 15 projections calculated for said digital vector and the numerical identifiers identifying the c corresponding projection functions, c being less than p; - determining the set of complementary data of all of said digital data; additional data in a database (10). 2. Procédé selon la revendication 1, dans lequel, pour chacun des vecteurs numériques (b,, b2,..., bN), les données numériques (i II j II k Il h;(bt) Il hi(bt) Il hk(bt)) calculées correspondantes comprennent 25 chacune une concaténation de c projections dudit vecteur numérique et des identifiants numériques identifiant les c fonctions de projection correspondantes. 2957168 - 22 - 2. Method according to claim 1, wherein, for each of the digital vectors (b ,, b2, ..., bN), the digital data (i II j II k Il h; (bt) Il hi (bt) Il hk (bt)) each corresponding to a concatenation of c projections of said digital vector and numerical identifiers identifying the corresponding c projection functions. 2957168 - 22 - 3. Procédé selon la revendication 1 ou 2, dans lequel ledit ensemble des données complémentaires est stocké dans la base de données (10) sous une forme condensée. The method of claim 1 or 2, wherein said set of complementary data is stored in the database (10) in a condensed form. 4. Procédé selon la revendication 2, dans lequel la forme condensée 5 dudit ensemble des données complémentaires est obtenue par application d'un algorithme de type préfixe. 4. The method of claim 2, wherein the condensed form of said set of complementary data is obtained by applying a prefix type algorithm. 5. Procédé selon l'une quelconque des revendications précédentes, dans lequel ledit ensemble des données complémentaires est stocké dans la base de données (10) sous une forme randomisée. The method of any one of the preceding claims, wherein said set of complementary data is stored in the database (10) in a randomized form. 6. Système ou dispositif pour la construction d'une base de données (10) relative à des individus enrôlés à des fins de vérification biométrique selon l'une quelconque des revendications précédentes, le système ou dispositif comprenant : - une unité d'obtention de vecteurs numériques (b1, b2,..., bN) dérivés de 15 données biométriques relatives auxdits individus respectivement ; - une unité pour appliquer à chacun des vecteurs numériques un nombre p de fonctions de projection (h1, h2,..., hp) identifiées chacune par un identifiant numérique respectif, de façon à obtenir, pour chacun des vecteurs numériques, p projections de plus petite dimension que ledit 20 vecteur numérique ; - une unité de calcul, pour chacun des vecteurs numériques, de données numériques (i Ii j Il k 11 h;(bt) 11 hi(bt) Il hk(bt)) relatives respectivement à toutes les combinaisons d'un nombre c de projections parmi les p projections calculées pour ledit vecteur numérique et aux identifiants 25 numériques identifiant les c fonctions de projection correspondantes, c étant inférieur à p ; - une unité de détermination de l'ensemble des données complémentaires de l'ensemble desdites données numériques ; une unité de transmission de l'ensemble des données 30 complémentaires dans une base de données (10). 2957168 - 23 - A system or device for constructing a database (10) relating to individuals enrolled for biometric verification purposes as claimed in any one of the preceding claims, the system or device comprising: - a unit for obtaining digital vectors (b1, b2, ..., bN) derived from biometric data relating to said individuals respectively; a unit for applying to each of the digital vectors a number p of projection functions (h1, h2, ..., hp) each identified by a respective numerical identifier, so as to obtain, for each of the digital vectors, p projections of smaller dimension than said digital vector; a unit for calculating, for each of the digital vectors, numerical data (i, j, k, h, h, (bt), hi, (bt), and hk (bt)) relating respectively to all the combinations of a number c of projections among the p projections calculated for said digital vector and the numerical identifiers identifying the corresponding c projection functions, c being less than p; a unit for determining the set of complementary data of all of said digital data; a unit for transmitting the set of complementary data in a database (10). 2957168 - 23 - 7. Procédé de vérification biométrique relativement à un individu, utilisant une base de données (10) construite selon l'une quelconque des revendications 1 à 5, le procédé de vérification biométrique comprenant les étapes suivantes : 5 - obtenir un vecteur numérique (b') dérivé d'une donnée biométrique relative audit individu ; - appliquer audit vecteur numérique un nombre p' desdites fonctions de projection (h,, h2,..., hp), de façon à obtenir p' projections de plus petite dimension que ledit vecteur numérique ; io - calculer des données numériques (i II j II k II h1(b') Il hi(b') Il hk(b')) relatives respectivement à au moins une combinaison d'un nombre c de projections parmi les p' projections calculées pour ledit vecteur numérique et aux identifiants numériques identifiant les c fonctions de projection correspondantes, c étant inférieur à p' ; - vérifier (11) si certaines au moins des données numériques calculées appartiennent ou non à l'ensemble des données complémentaires stocké dans la base de données (10). A biometric verification method relating to an individual, using a database (10) constructed according to any one of claims 1 to 5, the biometric verification method comprising the steps of: obtaining a digital vector (b ') ) derived from a biometric datum relating to said individual; applying to said digital vector a number p 'of said projection functions (h ,, h2, ..., hp), so as to obtain p' projections of smaller size than said digital vector; io - compute numerical data (i II j II k II h1 (b ') Il hi (b') Il hk (b ')) relating respectively to at least one combination of a number c of projections among the p' projections calculated for said digital vector and the numerical identifiers identifying the c corresponding projection functions, c being less than p '; - Check (11) whether at least some of the computed numerical data does or does not belong to the set of complementary data stored in the database (10). 8. Système ou dispositif pour la mise en oeuvre d'une vérification biométrique relativement à un individu selon la revendication 7, le système ou dispositif comprenant : - une unité d'obtention d'un vecteur numérique (b') dérivé d'une donnée biométrique relative audit individu ; - une unité pour appliquer audit vecteur numérique un nombre p' desdites fonctions de projection (h,, h2,..., hp), de façon à obtenir p' projections de plus petite dimension que ledit vecteur numérique ; - une unité de calcul de données numériques (i II j II k ll h;(b') Il hi(b') ll hk(b')) relatives respectivement à au moins une combinaison d'un nombre c de projections parmi les p' projections calculées pour ledit vecteur numérique et aux identifiants numériques identifiant les c fonctions de projection correspondantes, c étant inférieur àp'; 2957168 - 24 - - une unité de vérification (11) pour vérifier si certaines au moins des données numériques calculées appartiennent ou non à l'ensemble des données complémentaires stocké dans la base de données. 8. System or device for carrying out a biometric check with respect to an individual according to claim 7, the system or device comprising: a unit for obtaining a digital vector (b ') derived from a data item biometric relative to said individual; a unit for applying to said digital vector a number p 'of said projection functions (h ,, h2, ..., hp), so as to obtain p' projections of smaller size than said digital vector; a numerical data calculation unit (b) H (b ') ll h (b')) relating respectively to at least one combination of a number c of projections among the p 'calculated projections for said digital vector and numerical identifiers identifying c corresponding projection functions, c being less than p'; 2957168 - 24 - - a verification unit (11) to check whether at least some of the computed numerical data belong to the set of complementary data stored in the database or not.
FR1051666A 2010-03-08 2010-03-08 METHODS, SYSTEMS AND DEVICES FOR BIOMETRIC VERIFICATION. Expired - Fee Related FR2957168B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1051666A FR2957168B1 (en) 2010-03-08 2010-03-08 METHODS, SYSTEMS AND DEVICES FOR BIOMETRIC VERIFICATION.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1051666A FR2957168B1 (en) 2010-03-08 2010-03-08 METHODS, SYSTEMS AND DEVICES FOR BIOMETRIC VERIFICATION.

Publications (2)

Publication Number Publication Date
FR2957168A1 true FR2957168A1 (en) 2011-09-09
FR2957168B1 FR2957168B1 (en) 2012-12-28

Family

ID=42799742

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1051666A Expired - Fee Related FR2957168B1 (en) 2010-03-08 2010-03-08 METHODS, SYSTEMS AND DEVICES FOR BIOMETRIC VERIFICATION.

Country Status (1)

Country Link
FR (1) FR2957168B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2984559A1 (en) * 2011-12-20 2013-06-21 Morpho IDENTIFICATION OF INDIVIDUALS BY SECURE CALCULATION

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Bitmap Index", 2009, XP002605058, Retrieved from the Internet <URL:http://en.wikipedia.org/wiki/Bitmap_index> [retrieved on 2010] *
BRINGER, JULIEN AND CHABANNE, HERVÉ: "Negative databases for biometric data", PROCEEDINGS OF THE 12TH ACM WORKSHOP ON MULTIMEDIA AND SECURITY, 8 September 2010 (2010-09-08), pages 55 - 61, XP002605059, Retrieved from the Internet <URL:http://portal.acm.org/citation.cfm?id=1854229.1854242> *
FENG HAO ET AL: "A Fast Search Algorithm for a Large Fuzzy Database", IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, IEEE, PISCATAWAY, NJ, US, vol. 3, no. 2, 1 June 2008 (2008-06-01), pages 203 - 212, XP011207109, ISSN: 1556-6013 *
FERNANDO ESPONDA ET AL: "Protecting data privacy through hard-to-reverse negative databases", INTERNATIONAL JOURNAL OF INFORMATION SECURITY, SPRINGER, BERLIN, DE LNKD- DOI:10.1007/S10207-007-0030-1, vol. 6, no. 6, 24 July 2007 (2007-07-24), pages 403 - 415, XP019546320, ISSN: 1615-5270 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2984559A1 (en) * 2011-12-20 2013-06-21 Morpho IDENTIFICATION OF INDIVIDUALS BY SECURE CALCULATION
WO2013092916A1 (en) * 2011-12-20 2013-06-27 Morpho Biometric identification using filters and by secure multipart calculation
US9729548B2 (en) 2011-12-20 2017-08-08 Morpho Biometric identification using filters and by secure multipart calculation

Also Published As

Publication number Publication date
FR2957168B1 (en) 2012-12-28

Similar Documents

Publication Publication Date Title
CA2735405C (en) Method of determining a pseudo-identity on the basis of characteristics of minutiae and associated device
EP2924609B1 (en) Method for enrolment of data in a database for the protection of said data
EP2795831B1 (en) Biometric identification using filtering and secure multi party computation
CA2743954C (en) Identification or authorisation method, and associated system and secure module
EP2973210B1 (en) Secure data processing method, and use in biometry
FR3059801A1 (en) METHOD FOR RECORDING MULTIMEDIA CONTENT, METHOD FOR DETECTING BRAND WITHIN MULTIMEDIA CONTENT, DEVICES AND PROGRAM FOR COMPUTERS THEREOF
EP2705503B1 (en) Methods for biometric registration and verification, and related systems and devices
EP3316549B1 (en) Method for verifying the identity of a user by means of a public database
EP1086547B1 (en) Method for making secure one or several electronic installations using a cryptographic secret key algorithm, and electronic installation
EP1721246B1 (en) Method and device for performing a cryptographic operation
EP2826200B1 (en) Method for encrypting a plurality of data in a secure set
FR3062499A1 (en) METHOD FOR REDUCING THE SIZE OF A BLOCKED CHAIN TYPE DATABASE, DEVICE AND PROGRAM THEREOF
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
FR2901037A1 (en) Reference structural pattern generating method for computer, involves determining reference structural pattern per group of determined primary structural patterns, where reference pattern represents patterns of group
FR2925729A1 (en) METHOD AND SYSTEM FOR GENERATING STABLE BIOMETRIC DATA
FR3007552A1 (en) SECURE METHOD OF COMPARING TWO OPERANDS AND CORRESPONDING DEVICE
FR3059446B1 (en) METHOD OF INSERTING DATA TO THE STREAM IN A TATUE DATA BASE AND ASSOCIATED DEVICE.
WO2009083527A1 (en) Method and system for authenticating individuals on the basis of biometric data
FR2855889A1 (en) BIOMETRIC IDENTIFICATION METHOD AND DEVICE SUITABLE FOR CHECKING ON CHIP CARDS
FR3055720A1 (en) SECURE STORAGE METHOD OF DIGITAL SOURCE FILE.
WO2012007668A1 (en) Methods, systems and devices for biometric verification
EP4099614A1 (en) Methods of data enrolment to verify the authenticity of security data or verification of the authenticity of security data
FR3020888A1 (en) ENCRYPTION OF A SECRET PROTECTION KEY PROTECTING AT LEAST ONE SENSITIVE ELEMENT OF AN APPLICATION
FR2911021A1 (en) 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
FR3101182A3 (en) Encrypted transmission method

Legal Events

Date Code Title Description
CD Change of name or company name

Owner name: MORPHO, FR

Effective date: 20111027

CA Change of address

Effective date: 20130917

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

ST Notification of lapse

Effective date: 20221105