FR 2870413 A1 20051118 FR 0405236 A 20040514 m = rJ gibi mod p i=1 PROCEDE DE CHIFFREMENT DE DONNEES NUMERIQUE, PROCEDE DE MASQUAGE D'UNE EMPREINTE BIOMETRIQUE, ET APPLICATION A LA SECURISATION D'UN DOCUMENT DE SECURITE L'invention a pour objet les systèmes d'identification et / ou d'authentification biométrique. Ces systèmes manipulent des données biométriques de tous types telles que par exemple des empreintes digitales, des empreintes numériques de l'oeil, de la peau, du visage, ou même de la voix. L'utilisation d'empreintes biométriques est de plus en plus envisagée pour compléter des mots de passe utilisateur ou une signature manuelle, notamment pour des applications nécessitant un haut niveau de sécurité. En effet, l'utilisation d'une empreinte biométrique est un bon complément à un mot de passe ou une signature manuelle, dans la mesure où une empreinte biométrique peut difficilement être dérobée à son propriétaire réel et ne peut pas non plus être imitée, copiée. En contrepartie de cette sécurité et dans la mesure où une empreinte biométrique ne peut pas être remplacée, il est indispensable d'empêcher l'accès direct à cette empreinte afin de garantir la sécurité des personnes et la fiabilité de l'empreinte. Pour cela, on peut par exemple envisager des procédés de masquage connus pour masquer l'empreinte biométrique à sécuriser. L'empreinte masquée peut être ensuite utilisée en lieu et place de l'empreinte claire, pour signer un message, authentifier l'identité d'une personne, etc. L'intérêt de tels procédés est l'utilisation de fonctions de hachage, qui sont des fonctions à sens unique, c'est-à-dire qu'elles ne peuvent pas être inversées. En d'autres termes, connaissant une empreinte masquée par une fonction de hachage à partir d'une empreinte claire, il n'est pas possible de retrouver l'empreinte claire, même en connaissant tous les paramètres de la fonction de hachage. Il est bien connu par ailleurs qu'il n'est pas possible de prendre deux empreintes biométriques strictement identiques d'un même individu à des instants différents. D'abord parce qu'il est très difficile de positionner, de manière strictement identique mais à des instants différents, un même instrument de mesure adapté pour relever la dite empreinte biométrique. Ensuite par ce que l'environnement (température, humidité, etc.) et l'état de santé général (stress, maladie de peau, etc.) de l'individu au moment où l'empreinte est relevée peut perturber le résultat du relevé. Or, avec les fonctions de chiffrement connues, partant de deux données initiales peu différentes, les données chiffrées correspondantes sont très différentes et décorrélées, il n'est donc pas possible, en les comparant, d'en déduire si les données initiales sont identiques à quelques erreurs près ou pas. Il n'est donc pas possible d'utiliser les fonctions de chiffrement connues pour chiffrer une empreinte biométrique. Un premier objet de l'invention est de proposer une nouvelle fonction de masquage, mieux adaptée pour chiffrer des empreintes biométriques que les fonctions de chiffrement connues. Un deuxième objet de l'invention est un procédé de masquage bien adapté pour sécuriser une empreinte biométrique. Enfin, un troisième objet de l'invention est une utilisation du procédé de masquage de l'invention pour sécuriser un document de sécurité tel que par exemple un chèque bancaire. Le premier objet de l'invention est atteint par un procédé de masquage d'une donnée claire b de n bits, caractérisé en ce qu'on produit une donnée masquée m en utilisant la fonction de masquage suivante n m = rj gibi mod p, où p est un nombre premier, bi est le i=1 bit de rang i de la donnée claire b, qi est le nombre premier de rang i d'un ensemble de nombres premiers (q1, qn). De préférence, p est un nombre premier de grande taille et les éléments de l'ensemble de nombres premiers sont de petite taille. Par rapport aux fonctions de hachage connues, la fonction n m = 11 gibi mod p a pour principal intérêt d' être tolérante i=1 aux erreurs, comme on le verra mieux par la suite, elle est de ce fait particulièrement bien adaptée pour 15 chiffrer des données biométriques. Le deuxième objet de l'invention concerne un procédé de masquage d'une empreinte biométrique au cours duquel on détermine un ensemble de s minuties réelles caractéristiques de la dite empreinte, caractérisé en ce qu'ensuite, on mélange et on range les minuties réelles avec t fausses minuties puis on forme une donnée biométrique mélangée b de n = s + t bits telle que, pour tout i. bi = 1 si le rang i correspond à une minutie réelle et bi = 0 si le rang i correspond à une fausse minutie. De préférence, après l'étape de mélange, on produit une donnée biométrique chiffrée en chiffrant la donnée biométrique mélangée par un procédé tel que décrit ci-dessus. 2870413 4 Le troisième objet de l'invention concerne quant à lui un procédé de sécurisation d'un document de sécurité, par exemple un chèque bancaire, au cours duquel, après avoir obtenu une donnée de référence par masquage d'une empreinte biométrique selon un procédé tel que décrit cidessus, É on mémorise la dite donnée chiffrée de référence sur ou dans le document de sécurité, ou É on associe à la dite donnée de référence un code - barre que l'on mémorise sur ou dans le document de sécurité, la donnée de référence et le code -barre étant également mémorisée dans une table. Des exemples préférés de mise en oeuvre de l'invention 15 sont décrits cidessous. On va tout d'abord détailler le procédé de masquage selon l'invention. Pour masquer une donnée claire b = (bn, ..., bi) de n bits, on utilise la fonction de masquage suivante m = rj gjbi mod p i=1 La fonction utilise comme paramètres un ensemble (qn, qi) de petits nombres premiers, par exemple des nombres entiers d'environ 60 bits. La fonction utilise également un paramètre p, qui est un entier de grande taille, par exemple d'environ 1024 bits. p est choisi de préférence tel que 2*qn^2t Contrairement aux fonctions de hachage connues, la fonction selon l'invention est peu sensible aux erreurs, 30 c'est-à-dire que, connaissant deux données m, g chiffrées par cette fonction, il est possible de dire si les données claires d'origine b, (3 correspondantes sont identiques, à au maximum t erreurs près. En effet, m, u sont obtenues par les relations: m = 11 gibi mod p et p. = jI giPi mod p, i=1 i=1 On définit de plus: X m a mod (p) = = modp u a avec a=flgimodp et a=flgi modp iEL1 ter, où Ai est l'ensemble des indices i compris entre 1 et n pour lesquels bi = 1 et Ri = 0, et où Fi est l'ensemble des indices i compris entre 1 et n pour lesquels bi = 0 et (3i = 1. La somme des tailles des ensembles Ai et Fi est au plus égale à t, t étant le nombre de bits de (3 différents des bits de b de même rang, correspondant au nombre maximum d'erreurs acceptées. a et a, qui sont des produits de petits nombres de nombres premiers qi, sont également des petits nombres, qui vérifient de plus la relation: a*î = a mod p. A partir de cette dernière égalité et du nombre X, il est alors possible de retrouver les nombres a et a. Une décomposition de a et a en nombres premiers permet finalement factoriser a et a. La décomposition est facilitée en tirant partie du fait que a et a se décomposent en principe en de petits nombres premiers. Si a et a se décomposent sur l'ensemble (qn, alors on en déduit que les données d'origine b et (3 sont identiques, à au plus t erreurs près. On va maintenant décrire un mode préféré de mise en oeuvre d'un procédé de masquage d'une empreinte biométrique utilisant la fonction de masquage décrite ci-dessus. Dans l'exemple ci-dessous, l'empreinte biométrique physique que l'on cherche à masquer est une empreinte digitale caractérisée par un nombre s prédéfini de minutiae réelles. Une minutie réelle est un détail d'une empreinte en un point donné de l'empreinte physique, comme par exemple une rupture d'une ligne, une fourche sur une ligne, etc. Numériquement, une minutie peut être traduite par une chaîne de caractères incluant des informations sur la position et la forme de la minutie. Selon l'invention, pour masquer l'empreinte physique, on ajoute à l'ensemble des minuties réelles un ensemble de t fausses minuties, également définies par une chaîne de caractères mais qui ne correspondent pas à une minutie réelle de l'empreinte physique. Dans un exemple, une fausse minutie est définie de manière totalement aléatoire, et on ajoute un ensemble de t = 80 fausses minuties à un ensemble de s = 20 minuties réelles. L'ordre des minuties mélangé, par exemple un nombre b = (bn, ..., 25 tout i: bi = 1 si le rang bi = 0 si le rang réelles et des fausses minutiae est de façon aléatoire, puis on définit b1) de n = s + t bits tel que, pour i correspond à une minutie réelle et i correspond à une fausse minutie. Le nombre b est ensuite masquage selon l'invention masquée m telle que: masqué par la fonction de pour produire une empreinte m= f?gibimodp i=1 L'empreinte masquée peut ensuite être mémorisée dans une base de données, sur une carde d'identité, dans une mémoire d'une carte à puce, etc. Pour vérifier l'identité d'une personne, il suffira ensuite: É de relever une empreinte biométrique physique sur la personne puis de calculer l'ensemble de s minuties réelles correspondant, É de faire correspondre les minutiae de cette nouvelle empreinte avec l'empreinte de référence, de déterminer le nombre associé, puis de chiffrer le nombre par la fonction ii = rj giPi mod p, i=1 É de déterminer s'il y a concordance entre la donnée m 15 masquée (l'empreinte masquée de référence) précédemment mémorisée et l'empreinte}. i masquée à partir de l'empreinte réelle qui vient d'être relevée. Pour déterminer s'il y a concordance entre m et p: É on calcule = m mod p = a mod p, puis a et a à partir u a de la relation a*2t, = a mod p, avec a et a petits devant l'entier p, par l'algorithme des fractions continues par exemple. É on décompose ensuite a et a en facteurs premiers, 25 puis - il y a concordance si a et a se décomposent sur au plus t éléments de l'ensemble des nombres premiers (gn, ..., ch), - il n'y a pas concordance sinon n 2870413 8 Une application envisagée de l'utilisation des procédés de masquage selon l'invention vise à sécuriser un document de sécurité tel que par exemple un chèque bancaire. Pour cela, selon l'invention: É une empreinte biométrique du propriétaire du document de sécurité est masquée par un procédé de masquage tel que décrit ci-dessus, É l'empreinte masquée est associée à un code - barre, 10 et le couple empreinte chiffrée / code - barre associé est mémorisé dans une base de donnée, É le code - barre est finalement mémorisé, par exemple par impression, sur le document de sécurité. Il suffit ensuite, lorsque le document de sécurité est transmis par exemple, de prendre simultanément avec le document de sécurité une empreinte biométrique de la personne qui transmet le dit document puis de vérifier que la personne qui transmet le document est bien la personne dont l'empreinte est mémorisée sur le document. La vérification pourra être faite par toute personne ayant accès à la base de données, et qui n'est pas nécessairement la personne qui reçoit le document. Le code - barre est réalisé selon des techniques connues, on pourra utiliser par exemple un code - barre à une dimension, constitué d'une série de barres verticales d'épaisseur et d'écartement variables. Le choix de la forme du code - barre est en pratique fonction de la taille de l'empreinte chiffrée à mémoriser. La base de données dans laquelle les couples empreinte masquée / code barre associé sont mémorisés est accessible pour vérification uniquement à un nombre restreint de personnes, selon le niveau de sécurité souhaité : l'accès peut par exemple être autorisé pour toute personne amenée à recevoir des documents de sécurité ou, de manière plus restreinte, uniquement à une autorité certificatrice. Dans un exemple pratique, le document de sécurité est un chèque bancaire et l'empreinte digitale de son propriétaire est mémorisée sur le chèque sous la forme d'un code - barre. Un commerçant dispose d'un dispositif de lecture et de comparaison d'une empreinte doté de moyens pour lire une empreinte, la masquer puis imprimer l'empreinte chiffrée. La banque émettrice du chèque a seul le droit d'accès à la base de données dans laquelle sont mémorisés l'empreinte initiale chiffrée et le code - barre associé ; cet accès lui permet de vérifier que l'empreinte laissée par la personne qui a présenté le chèque au commerçant, et que ce dernier a vérifiée et imprimée sur le chèque, correspond bien à celle du propriétaire du chèque. Fax reçu de: 0387362676 09/09/84 15:46 P9: 2 réf dossier 017176FR REVENDICATIONS 1. Procédé de masquage d'une empreinte biométrique au cours duquel on détermine un ensemble de s minuties réelles caractéristiques de la dite empreinte, caractérisé en ce qu'ensuite, on mélange et on range les. minuties réelles avec t fausses minuties puis on forme une donnée biométrique mélangée b de n s + t bits telle que, pour tout i: bi = i si le rang i correspond à une minutie réelle et bi = 0 si le rang i correspond à une fausse minutie. 2. Procédé selon la revendication 1, dans lequel les minuties réelles et les fausses minuties sont mélangées de façon aléatoire. 3. Procédé selon l'une des revendications 1 â 2, au cours duquel, après l'étape de mélange, on produit une donnée biométrique masquée en masquant la donnée biométrique mélangée en utilisant la fonction de n masquage suivante: tn = f gibi mod p, où p est un nombre a.=1. premier, bi est le bit de rang i de la donnée biométrique mélangée b, qi est le nombre premier de rang i d'un ensemble de nombres premiers (cil, qn) et m est la donnée biométrique masquée. 4. Procédé de masquage selon la revendication précédente, dans lequel p est un nombre premier de grande taille et les éléments de l'ensemble de nombres premiers sont de petite taille. Fax reçu de: 0387362676 09/09/04 15:46 Py: 3 11 réf. dossier 017176FR 5. Procédé de sécurisation d'un document de sécurité, par exemple un chèque bancaire, au cours duquel, après avoir obtenu une donnée masquée de référence par masquage d'une empreinte biométrique selon un procédé selon la revendication 1 à 4, É on mémorise la dite donnée masquée de référence sur ou dans le document de sécurité, ou É on associe à la dite donnée masquée de référence un code - barre que l'on mémorise sur ou dans le document de sécurité, la donnée chiffrée de référence et le code -barre étant également mémorisée dans une table, 6. Procédé de vérification d'un document de sécurité sécurisé par un procédé selon la revendication 5, procédé de vérification au cours duquel: É on numérise une empreinte biométrique physique d'une personne présentant le document de sécurité, É on masque l'empreinte numérisée par un procédé selon l'une des revendications 1 à 4, É on compare l'empreinte numérisée masquée avec la 20 donnée de référence mémorisée sur le document de sécurité, puis É on accepte le document de sécurité si l'empreinte numérisée et la donnée masquée de référence sont identiques à un taux d'erreur près prédéfini, ou on refuse le titre sinon 7. Procédé selon la revendication précédente, dans lequel, lors de l'étape de comparaison, si un code barre associé à la donnée chiffrée est mémorisé sur le document de sécurité, alors: É on lit le code - barre et on recherche dans une table une donnée masquée de référence associée, puis É on compare la donnée masquée de référence avec l'empreinte numérisée. Fax reçu de: 0387362676 09/09/04 15:46 Fg: 4 12 réf. dossier 017176FR 8. Procédé de masquage d'une donnée claire b de n bits, procédé susceptible d'être utilisé pour la mise en ouvre d'un procédé selon l'une des revendications 1 à 4, d'un procédé selon l'une des revendications 5 à 6 ou d'un procédé selon la revendication 7, le procédé étant caractérisé en ce qu'on produit une donnée chiffrée m en utilisant la fonction de masquage suivante m = fl gibi mod p, où p est un nombre premier, bi est le i=1 bit de rang i de la donnée claire b, qi est le nombre 10 premier de rang i d'un ensemble de nombres premiers (ql, qn). 9. Procédé de masquage selon la revendication précédente, dans lequel p est un nombre premier de grande taille et les éléments de l'ensemble de nombres premiers sont de petite taille.