FR 2925730 A1 20090626 FR 0709047 A 20071221 PROCEDE ET SYSTEME POUR AUTHENTIFIER DES INDIVIDUS A PARTIR DE DONNEES BIOMETRIQUES L'invention concerne un système et un procédé pour authentifier des utilisateurs à l'aide de données biométriques. L'invention peut également permettre la génération de clefs à partir de données biométriques. Les données biométriques, notamment les empreintes digitales, sont des données qui sont sujettes à évolution. Elles ne sont pas systématiquement identiques et reproductibles dans le temps. Par exemple, du fait de paramètres comme l'humidité qui peut intervenir lors de la prise de l'empreinte digitale, ou encore de la manière dont un individu positionne son doigt sur le capteur d'empreintes, l'image de l'empreinte digitale peut changer et être non reproductible. La cryptographie classique utilise des données exactes et reproductibles. Sa sécurité repose notamment sur le fait qu'une petite variation des variables et des paramètres d'entrée induit un résultat complètement différent sur la donnée de sortie. L'utilisation en cryptographie de données biométriques nécessite donc de tenir compte des variations possibles des données biométriques tout en s'assurant que le résultat final reste identique. Un autre problème est lié à la préconisation de la Commission Nationale de l'Informatique et des Libertés ou CNIL qui est d'interdire l'utilisation de bases de données permanentes contenant des données biométriques et permettant d'identifier les personnes. II y a deux façons de répondre à cette problématique. II faut, soit stocker les données biométriques localement sur un support individuel sécurisé, soit, dans le cas d'une base de données, protéger les données biométriques ou protéger l'association entre une identité et sa biométrie, idéalement les deux. De nombreux articles et brevets traitent du sujet de la biométrie. Les outils de l'art antérieur en général utilisent le stockage systématique des données biométriques sous forme brute, claire ou chiffrée et avec une clé colocalisée avec les données, ce qui est contraire à la préconisation de la CNIL. La demande de brevet US 2007/0239994 décrit un système et un procédé qui permettent de chiffrer une communication dans un système de reconnaissance utilisant les données biométriques associées à un individu. L'art antérieur connu du Demandeur présente notamment les inconvénients suivants : • Les techniques mises en oeuvre utilisent le stockage systématique des données biométriques sous forme brute, claires ou chiffrées, • Il n'offre pas de solution complète au problème de l'authentification biométrique, c'est-à-dire efficace (temps d'encodage et de décodage des données), sécurisée, robuste (tolérance aux erreurs d'une capture à une autre). L'invention repose notamment sur une différentiation de la fonction de stockage de la base de données et du serveur d'authentification permettant ainsi d'augmenter la sécurité d'un système d'identification d'un individu à partir de données biométriques. De plus, les données biométriques ne sont pas stockées, ni sous forme claire, ni sous forme chiffrée. Ne sont stockées que des données construites à partir des données biométriques et qui, sans une comparaison avec la donnée biométrique de l'utilisateur, ne permettent pas de reconstruire la donnée initiale. Dans la suite de la description, lorsqu'il est fait référence à un serveur, le Demandeur vise les systèmes permettant de rendre des services à un utilisateur. Un serveur peut être un ordinateur, un programme informatique qui rend service aux ordinateurs et logiciels qui s'y connectent à travers un réseau informatique. Ce service peut consister à stocker des fichiers, effectuer des calculs, etc. Le mot syndrome est utilisé dans la description pour désigner le résultat d'un 30 algorithme sur une donnée biométrique, cet algorithme étant un extracteur flou, par exemple. L'invention concerne un système pour authentifier un individu en utilisant des données biométriques caractérisé en ce qu'il comporte au moins les éléments suivants : • un capteur permettant de capter des données biométriques appartenant à un individu et communiquant avec un système composé d'un serveur d'authentification, d'une base de données, d'un comparateur de données, • ladite base de données contenant des éléments représentatifs des données biométriques, • ledit comparateur recevant des informations issues de la base de données et du serveur d'identification, • ledit serveur d'authentification, ladite base de données, et le comparateur étant distincts physiquement et communiquant entre eux, • ledit serveur d'authentification comprenant des algorithmes permettant d'extraire des informations stables et reproductibles à partir de données biométriques. Le système peut comporter des moyens permettant l'échange de données protégées en confidentialité et en intégrité. L'invention concerne aussi un procédé d'authentification d'un individu à partir 20 de données biométriques caractérisé en ce qu'il comporte au moins les étapes suivantes : • un utilisateur Idi envoie via un serveur relié à un capteur permettant de capter des données de biométries, son identité Idi et la capture de sa donnée biométrique w'i, 25 • le serveur détermine à partir de cette capture le syndrome correspondant noté s(w'i) et transmet à une étape d'authentification l'identité Idi et le syndrome s(w'i) associé, • un serveur d'authentification fait le lien entre l'identité de l'utilisateur Idi et l'adresse Addi de stockage des informations le concernant dans la 30 base de données, et transmet ensuite cette adresse Addi à la base de données, • la base de données déchiffre l'adresse reçue Addi et transmet les données qui se trouvent à cette adresse Addi à une étape de comparaison, • un comparateur déchiffre les données reçues, et obtient les données construites à partir de la capture de la donnée biométrique lors de la phase d'authentification s(w'i) et lors de la phase d'enrôlement s(wi) et c(wi), • appliquer des algorithmes de type extracteurs flous afin de retrouver les données initiales à partir des données biométrique lors de la phase d'authentification s(w'i) et lors de la phase d'enrôlement s(wi) et c(wi), • Si la donnée obtenue à partir de la capture biométrique et les données (s(w;), c(w;)) contenues à l'adresse Addi indiquée par la base de données sont cohérentes, alors, le comparateur renvoie au serveur d'authentification une notification d'accord, • s'il y a une incohérence, alors il transmet une notification de désaccord. Selon un mode de réalisation, les données échangées peuvent être protégées en confidentialité et en intégrité. D'autres caractéristiques et avantages apparaîtront à la lecture de la description détaillée donnée à titre d'exemple et non limitative qui suit faite en regard de dessins annexés qui représentent : • La figure 1, les étapes mises en oeuvre lors de l'enrôlement d'un individu sur un système d'authentification, et • La figure 2, les étapes mises en oeuvre lors de la vérification ou du contrôle. Afin de mieux faire comprendre le principe mis en oeuvre dans le procédé et le système selon l'invention, la description qui suit est donnée dans le cas d'une empreinte digitale utilisée pour caractériser un individu dans lequel les données échangées sont protégées en confidentialité et en intégrité. Cette protection n'est toutefois pas obligatoire et le procédé peut s'appliquer sans mettre en oeuvre la protection. Tout autre type de caractéristiques biométriques représentatives d'un individu peut être utilisé, par exemple la structure de l'iris. Il est aussi possible d'utiliser la signature d'un individu qui est reconnue dans ce domaine technique comme une donnée biométrique. Pour mémoire, une empreinte digitale peut être représentée par un ensemble de minuties, ou d'autres données caractéristiques. Une minutie, terme connu de l'Homme du métier correspond à un point caractéristique d'une empreinte dans l'image de l'empreinte. par exemple la fin d'une ligne, une bifurcation, etc. Le procédé selon l'invention utilise des extracteurs flous plus connus sous l'acronyme anglo-saxon � fuzzy extractors �. Ces objets permettent d'extraire des informations stables et reproductibles à partir de données biométriques. Ces informations ne permettent pas à elles- seules de reconstruire les données biométriques. En revanche, à partir de ces éléments, il est possible d'authentifier avec certitude une personne. Afin de mieux faire comprendre le principe du procédé selon l'invention, l'exemple donné à titre illustratif utilise un extracteur flou nommé � Pinsketch � conjointement utilisé avec un algorithme de camouflage des minuties nommé � Point Set Hidding �. Pour ce faire chaque minutie est caractérisée par un point. Ces deux algorithmes peuvent être utilisés lorsque l'application vise des empreintes digitales. Plus généralement, le schéma selon l'invention peut être utilisé avec un extracteur flou seul ou conjointement avec un ou plusieurs autres algorithmes. L'algorithme � Pintsketch � est décrit dans le document de Y. Dodis, R. Ostrovsky, L. Reyzin and A. Smith . Fuzzy extractors : How to generate strong keys from biometrics and other noisy data. Cryptology ePrint Archive , Report 2003/235,2003 disponible à partir de l'adresse Internet http://eprint. iacr.orq. L'algorithme "Point set Hidding" est par exemple exposé dans le document de E-C. Chang and Q. Li. Hiding secret points amidst chaff. In Eurocrypt 2006 LNCS 4404 pages 59-72, 2006. Les données construites à partir de l'extracteur flou et qui sont utilisées pour l'authentification sont appelées syndromes. Les données construites à partir de l'algorithme de camouflage � Point set Hidding � sont appelées constellations. Le principe du � Point Set Hiding � est de noyer la donnée biométrique dans de la surinformation : de fausses minuties sont ajoutées à l'empreinte originale jusqu'à ce qu'il soit difficile de retrouver les vraies minuties parmi les fausses. Différentes méthodes peuvent être utilisées pour le placement des minuties. Par exemple, il est possible de choisir des minuties de façon aléatoire puis de les ajouter à l'empreinte digitale. Une autre méthode est expliquée dans l'article de Chang et Li précédemment cité. Une base de données utilisée par le procédé selon l'invention est constituée d'éléments construits à partir des données biométriques en utilisant un extracteur flou puis éventuellement des données construites avec un ou plusieurs autres algorithmes connus de l'Homme du métier. Une propriété fondamentale des données stockées est que ces données seules ne permettent pas de reconstruire la donnée biométrique de départ. En revanche, à partir de ces éléments, il est possible d'authentifier avec certitude une personne. Dans l'exemple donné, la base de données stocke les syndromes Sx construits avec l'extracteur flou nommé � Pinsketch � et les constellations Cx construites avec l'agorithme � Point Set Hidding �. Il n'est pas possible de reconstruire des empreintes digitales à partir de ces syndromes et constellations seuls. En revanche, à partir de ces éléments, il est possible d'authentifier avec certitude une personne. A l'aide de ces deux algorithmes et d'une capture de sa donnée biométrique la personne peut être authentifiée. 7 L'architecture selon l'invention, détaillée en relation avec les figures 1 et 2 propose, en dissociant la fonction de stockage de la base de données et la partie algorithmique nécessaire à l'authentification du serveur d'authentification, d'augmenter la sécurité du système global. En effet le serveur d'authentification n'est pas en mesure d'effectuer seul les opérations nécessaires à l'authentification. La base de données ne stocke que des données qui, seules, ne sont pas exploitables. Le matcheur ne stocke aucune donnée biométrique ou donnée issue de données biométriques et ne connaît jamais l'identité des personnes dont il reconstitue des données biométriques. Rien n'empêche néanmoins que les fonctions soient partiellement ou totalement regroupées ou par exemple deux d'entre elles soient regroupées. Le système selon l'invention décrit en relation avec les figures 1 et 2 comporte au moins les éléments suivants : un serveur d'authentification 1 relié à une base de données 2 et à un comparateur 3 (figure 2), plus connu sous son acronyme anglo-saxon � matcheur �. La base de données 2 est elle-même reliée au � matcheur � 3. Le système comporte aussi un serveur 4 (figure 2) chargé de calculer un syndrome S(wx) et une constellation C (wx) correspondant à la donnée biométrique obtenue pour chaque utilisateur Ux lors de la phase d'enrôlement ou phase d'initialisation. Le système comporte aussi un serveur 5 chargé de calculer un syndrome correspondant à chaque utilisateur lors de la phase de reconnaissance d'un individu. Les serveurs 4 et 5 peuvent être regroupés en un serveur unique capable d'exécuter les différentes étapes correspondant à la phase d'enrôlement et à la phase de vérification ou phase d'authentification d'un individu. Pour un système utilisant deux serveurs 4 et 5 physiquement séparés, le serveur 4 destiné à l'enrôlement présente comme particularité (pour optimiser la sécurité) de ne plus être connecté au serveur d'authentification 1 et à la base de données 2, une fois la phase d'enrôlement ou phase d'initialisation 8 achevée. Cependant le système peut fonctionner si le serveur 4 reste connecté au serveur d'authentification 1 et à la base de données 2. Les liaisons entre les différents éléments, serveur, base de données, impliqués dans le système selon l'invention peuvent se faire par des liaisons filaires, des liaisons hertziennes ou tout autre type de liaison. Sur les deux figures 1 et 2, le sens des flèches indique le sens dans lequel les flux de données sont autorisés et les notations utilisées seront communes aux deux figures. Par exemple, EK(M) représente le chiffrement d'une donnée M avec un algorithme de chiffrement E et une clé k. Sur la figure 1 sont schématisées, les différentes étapes mises en oeuvre lors de la phase d'enrôlement d'un utilisateur Ui. Un utilisateur Ui qui veut être identifié dans un système interagit avec le serveur 4 relié à un capteur 6 permettant de capter une empreinte 7, d'enregistrer les données correspondantes à l'empreinte digitale représentée par (wi) par exemple dans une mémoire non rémanente non représentée sur la figure et de transmettre ces données au serveur 4. Le serveur 4 en mettant en oeuvre les algorithmes précités calcule un syndrome s(wi) et une constellation c(wi) pour l'individu Ui à identifier. Il envoie ensuite ces informations à la base de données 2, qui renvoie à l'utilisateur via le même serveur 4, l'adresse Addi où sont placées ces informations. Les adresses Addi retournées sont les adresses de la base de données où l'on peut trouver un couple s(wi), c(wi). L'association de l'identité Idi, et de l'adresse Addi des données qui lui 25 correspondent, est transmise par l'utilisateur Ui via le serveur 4 au serveur d'authentification 1. La figure 2 représente les étapes déroulées lors de la phase d'identification. Phase 1 : un utilisateur Ui qui veut être identifié par un système, pose le doigt sur un capteur d'empreinte par exemple le même capteur 6 et tape son 30 nom (code pin ou autre ...) pour permettre son identification Idi. Le serveur 5 permettant l'authentification d'un utilisateur lors de la phase d'authentification, détermine à partir de la capture d'empreinte digitale (w'i) de l'utilisateur Ui le syndrome correspondant noté s(w'i). Le serveur 5 transmet au serveur d'authentification 1 l'identité Idi et le syndrome s(w'i). Pour des raisons de confidentialités ces données peuvent être transmises protégées en confidentialité et en intégrité. Pour cela des procédés classiques et connus de l'Homme du métier sont mis en oeuvre. Un algorithme de chiffrement E' assurant l'intégrité des données peut alors être utilisé. La clef k' associé au chiffrement est connue du serveur 5 et du serveur d'authentification 1. Pour des raisons supplémentaires de sécurité le syndrome construit s(w'i) peut être protégé en intégrité et en confidentialité avec un algorithme E et une clef k, la clef n'étant connue que du serveur 5 et du matcheur 3. La notation E'k,(Idi,Ek(s(w'i))) désigne le chiffrement avec l'algorithme de chiffrement E' et la clef k' de la concaténation de l'identité Idi avec le syndrome construit à partir de la capture w'i de l'empreinte et chiffré par l'algorithme de chiffrement E et la clef k. II est possible de ne procéder qu'à un seul chiffrement voir aucun en fonction des objectifs et contraintes de l'application. Les algorithmes de chiffrement utilisés peuvent être asymétriques auquel cas, la clef utilisée est la clef publique du destinataire du message. Phase 2: le serveur d'authentification 1 reçoit un message contenant l'empreinte (w'i) capturée par le capteur d'empreintes (dans le présent contexte une donnée est considérée comme un message, de même des données constituent un message) et éventuellement, lorsqu'il y a eu chiffrement des données, il déchiffre ce message avec la clef k' ou sa clef publique. Il obtient ainsi l'identité Idi de l'utilisateur et le syndrome s(w'i) de la capture de l'empreinte. Cette capture de l'empreinte (w'i) a pu être protégée en confidentialité et intégrité à l'aide de l'algorithme de chiffrement E et de la clef k utilisé lors de la phase 1. 10 Phase 3: le serveur d'authentification 1 fait le lien entre l'identité Idi de l'utilisateur et l'adresse Addi de stockage des informations concernant l'identité dans la base de données 2. Il transmet alors cette adresse Addi protégée en intégrité et confidentialité avec un deuxième algorithme de chiffrement E"kä à la base de données 2 . La clef k" utilisée par ce deuxième algorithme de chiffrement est connue de la base de données 2. Parallèlement à cette opération, le serveur d'authentification 1 transmet au �matcheur � 3 le syndrome chiffré Ek(s(w'i)). Phase 4 : la base de données 2 déchiffre l'adresse reçue Addi. La base de données 2 transmet au �matcheur� 3 les données qui se trouvent à cette adresse Addi. Ces données sont transmises protégées en confidentialité et intégrité de la base de données 2 vers le � matcheur � 3 en utilisant un troisième algorithme de chiffrement E"' avec la clef k"' E"'k'.,(c(wi),s(wi)). Phase 5 : le � matcheur � 3 déchiffre les données reçues, il obtient ainsi le syndrome déterminé à partir de la capture d'empreinte s(w'i), le syndrome initial obtenu lors de la phase d'enrôlement pour ce même utilisateur s(wi) qui est stocké à l'adresse Addi et la constellation correspondante c(wi) stockée à l'adresse Addi. Les algorithmes publics � Pinsketch � et � Point Set Hidding � sont utilisés à 20 partir de ces données d'entrées. Si le syndrome obtenu s(w'i) à partir de la capture biométrique et les données (c(wi), s(w;)) contenues à l'adresse Addi indiquée par la base de données 2 sont cohérentes, alors, le comparateur 3 renvoie au serveur d'authentification 1 une notification d'accord. S'il y a une incohérence, alors il 25 transmet une notification de désaccord. La décision est prise grâce aux deux algorithmes publics précités ou tout autre algorithme présentant les mêmes fonctionalités. De manière générale, la protection en confidentialité et intégrité peut se faire 30 avec des algorithmes issus du chiffrement symétrique ou du chiffrement asymétrique. Des algorithmes tous différents peuvent être utilisés, ou certains peuvent être identiques, voir un seul algorithme peut être utilisé. Le procédé et le système selon l'invention présentent notamment les 5 avantages suivants : o Aucune donnée sensible n'est stockée, seules des données permettant la reconstitution des données sensibles sont mémorisées, o Le serveur d'authentification n'a jamais connaissance de la donnée biométrique correspondant à un individu. 10 o La base de données ne stocke que des données construites à partir de données biométriques et ne peut faire le lien avec une identité ; de plus ces données seules ne peuvent en aucun cas permettre de reconstruire la donnée biométrique. o Le matcheur compare les données reçues et extraites et n'a jamais 15 connaissance des identités associées. o Le schéma peut utiliser des algorithmes de type � extracteurs flous � connus de l'Homme du métier et qui utilisent des propriétés des codes correcteurs d'erreurs pour assurer à la fois la confidentialité des données et la tolérance aux variations entre deux captures d'une 20 même donnée biométrique. La complexité de l'algorithme assure des calculs rapides à l'enrôlement comme lors de la vérification. o L'utilisation d'un algorithme de type � fuzzy extractor � permet en outre de ne pas stocker de données brutes, mais seulement des données dites de correction qui ne permettent pas de retrouver 25 l'empreinte originale sans la connaissance d'une nouvelle capture. o L'utilisation d' un algorithme de type � fuzzy extractor � par le serveur d'authentification peut permettre la génération d'une donnée reproductible de type � clef cryptographique �. 30 REVENDICATIONS 1 - Système pour authentifier un individu en utilisant des données biométriques caractérisé en ce qu'il comporte au moins les éléments suivants : • un capteur (6) permettant de capter des données biométriques appartenant à un individu et communiquant avec un système composé d'un serveur d'authentification (1, 5), d'une base de données (2), d'un comparateur (3) de données, • ladite base de données (2) contenant des éléments représentatifs des données biométriques, • ledit comparateur (3) recevant des informations issues de la base de données (2) et du serveur d'identification (1), • ledit serveur d'authentification (1), ladite base de données (2), et le comparateur (3) étant distincts physiquement et communiquant entre eux, • ledit serveur d'authentification (1, 5) comprenant des algorithmes permettant d'extraire des informations stables et reproductibles à partir de données biométriques. 2 û Système selon la revendication 1 caractérisé en ce que le capteur (6) est un capteur d'empreintes, les données biométriques les empreintes digitales d'un individu et en ce que les éléments représentatifs des empreintes sont des syndromes et des constellations. 3 û Système selon la revendication 2 caractérisé en ce qu'il comporte un module utilisant l'algorithme � Pinsektch � pour générer les syndromes et un module utilisant l'algorithme � Point Set Hiding � pour générer les constellations.4- Système selon l'une des revendications 1 à 3 caractérisé en ce qu'il comporte un serveur d'authentification (1) lors de la phase d'enrôlement distinct du serveur d'authentification (5) lors de la phase d'authentification d'un individu. û Système selon l'une des revendications 1 à 4 caractérisé en ce qu'il comporte des moyens de chiffrement des données transmises entre les serveurs, et/ou entre un serveur et la base de données. 6 - Procédé d'authentification d'un individu à partir de données biométriques caractérisé en ce qu'il comporte au moins les étapes suivantes : • un utilisateur Idi envoie via un serveur (5) relié à un capteur (6) permettant de capter des données de biométries, son identité Idi et la capture de sa donnée biométrique w'i, • le serveur (5) détermine à partir de cette capture le syndrome correspondant noté s(w'i) et transmet à une étape d'authentification l'identité Idi et le syndrome s(w'i) associé, • un serveur d'authentification (1) fait le lien entre l'identité de l'utilisateur Idi et l'adresse Addi de stockage des informations le concernant dans la base de données (2), et transmet ensuite cette adresse Addi à la base de données (2), ladite base de données stockant une ou plusieurs données construites à partir de données biométriques, • la base de données (2) déchiffre l'adresse reçue Addi et transmet les données qui se trouvent à cette adresse Addi à une étape de comparaison, • un comparateur (3) déchiffre les données reçues, et obtient les données construites à partir de la capture de la donnée biométrique lors de la phase d'authentification s(w'i) et lors de la phase d'enrôlement s(wi) et c(wi),• appliquer un algorithme de type extracteur flou et un ou plusieurs autres algorithmes permettant de retrouver les données initiales à partir des données biométrique lors de la phase d'authentification s(w'i) et lors de la phase d'enrôlement s(wi) et c(wi), • si la donnée obtenue à partir de la donnée biométrique et les données stockées à l'adresse Addi indiquée par la base de données sont cohérentes, alors, le comparateur (3) renvoie au serveur d'authentification (1) une notification d'accord, • s'il y a une incohérence, alors il transmet une notification de désaccord. 7 ù Procédé selon la revendication 6 caractérisé en ce que l'identité Idi est protégée en intégrité et en confidentialité au moyen d'un algorithme de chiffrement E, la clé de chiffrement k étant connue du serveur (5) comprenant le capteur de capture de données et aussi du serveur d'authentification (1) utilisé lors de la phase d'enrôlement. 8 ù Procédé selon l'une des revendications 6 et 7 caractérisé en ce que les données biométriques utilisées sont des empreintes digitales et en ce que la base de données stocke les syndromes SX construits avec l'extracteur flou nommé � Pinsketch � et les constellations CX construites avec l'algorithme � Point Set Hidding �. 9 ù Procédé selon l'une des revendications 6 à 8 caractérisé en ce que les échanges de données ou message sont chiffrés.