Brevet FR3050853A1 (20171103)
REVENDICATIONS1. Procédé de traitement de données biométriques, comprenant la vérification (200) du résultat d'un calcul de distance entre une donnée biométrique candidate (a) et au moins une donnée biométrique de référence (b) comprenant chacune un nombre n de composantes indexées (a,, b,), ledit calcul de distance comprenant celui d'un polynôme en les composantes des données biométriques, le procédé étant mis en oeuvre par une entité de preuve (P) et une entité de vérification (V), chaque entité étant une unité de traitement comprenant des moyens de traitement (11,\n<CLM>\1\tet de communication (12,\n<CLM>\1\tavec l'autre entité, le procédé comprenant des étapes au cours desquelles : l'entité de preuve (P) communique (220) à l'entité de vérification (V) le résultat du calcul de la distance entre les données biométriques candidate et de référence, ainsi que lesdites données, - l'entité de preuve (P) génère (211) à partir de chaque donnée une fonction d'un nombre d de variables fa(i1,-,id), fb(ii,...,id) où d=log2n, définie pour chaque variable sur l'ensemble {0,1}, par reformulation de l'indice i de chaque composante (a,, b,) en format binaire, - l'entité de preuve (P) génère (212) à partir de chaque fonction un polynôme de d variables â(x-1,...xd),ti(xl,...xd) défini sur IFd où IF est un corps fini, tel que chaque polynôme â, b coïncide avec la fonction correspondante fa,fb sur l'ensemble {0,1}d, et génère (213) à partir des polynômes â, b un polynôme p(xi, ...,xd) de d variables de même expression que celui de la distance entre les données, et - l'entité de preuve (P) et l'entité de vérification (V) s'engagent dans un protocole Sumcheck (230) appliqué au polynôme p pour vérifier le résultat du calcul de la distance entre les données.\n<CLM>\1\tProcédé selon la revendication 1, dans lequel le calcul de distance comprend celui d'un produit scalaire, et le polynôme p comprend au moins un terme g égal à un produit scalaire entre les polynômes à et b : ...,xd) = xd). 3050853 29\n<CLM>\1\tProcédé selon la revendication 2, dans lequel la distance calculée est le carré de la distance euclidienne, et le polynôme p s'écrit : p(xi, xd) = xd). xd) + (x1, , xd). 15(xl, ... , xd) - 2g (xi, xd).\n<CLM>\1\tProcédé selon la revendication 2, dans lequel la distance calculée est la distance 5 de Hamming, et/le polynôme p s'écrit : = Et(x1,...,xd) + 15(x1, xd) - 2g(x1, ...,xd).\n<CLM>\1\tProcédé selon l'une des revendications précédentes, dans lequel la donnée biométrique candidate et la ou les données biométriques de référence sont initialement détenues par l'entité de preuve (P), et le procédé comprend une étape 10 préliminaire de masquage (105), par l'entité de preuve (P), des données biométriques, ledit masquage comprenant la génération aléatoire d'une permutation circulaire et d'un vecteur de n composantes, et la mise en oeuvre d'une somme ou de l'opération « ou exclusif » entre chaque donnée permutée par la permutation circulaire et le vecteur généré aléatoirement. 15\n<CLM>\1\tProcédé selon l'une des revendications précédentes, dans lequel chaque polynôme â(xl,...xd) et b(xi,...xd) est de degré un en chaque variable.\n<CLM>\1\tProcédé selon la revendication 6, dans lequel le polynôme â(xl,...xd) est défini 20 par : avec : vx E Fd,à(x) = a(i)xi (x) d xv , xd) = xvk (X1c) k=1 et où la fonction x,k(xk) est définie, pour xke{0,1}, par : fx,,k(xk) = 1 - xk si vk = jl Xvk (xk) = Xk Si Vk =\n<CLM>\1\t8. Procédé selon la revendication 7, dans lequel, la mise en oeuvre du protocole 25 Sumcheck comprend une série d'itérations pour j compris entre 2 et d-1 au cours 3050853 30 desquelles l'entité de vérification (V) génère aléatoirement et communique à l'entité de preuve une valeur ro, et l'entité de preuve (P) génère un polynôme : Pi (Xi) = p(ri, , Xi, xj+1, ...,xd) xj+1E(o,i)...xdE{0,1} et, à chaque itération, l'entité de preuve (P) dispose pour chaque polynôme â, b d'un tableau A(I), 5 B0 comprenant respectivement toutes les valeurs possibles des fonctions ri-2, xd)et b(ri, ri-2, xd) pour (xj_1, ...xd) E {0,11d-j+1 où chaque valeur rk (k=1,...,j-2) a été générée aléatoirement par l'entité de vérification et transmise à l'entité de preuve lors des itérations précédentes, - l'évaluation d'un polynôme pi en une valeur t est mise en oeuvre par l'entité 10 de preuve (P) à partir des valeurs t, ro et des valeurs des tableaux A°), 13°), et - l'entité de preuve (P) incrémente les tableaux M+1), el) pour l'itération j+1 en remplaçant leurs valeurs par toutes les valeurs possibles 11(r1, ri_i, xd) et Rri, ri_i, ...xd) pour (xi__ xd) E 15 les tableaux étant initialisés pour le polynôme p2 en comprenant toutes les valeurs possibles des polynômes â, b sur l'ensemble f0,11d.\n<CLM>\1\tProcédé selon l'une des revendications 2 à 8, comprenant la vérification du résultat du calcul d'un produit scalaire entre une donnée biométrique candidate et 20 chacune d'un nombre m de données biométriques de référence, dans lequel les données biométriques de référence sont réunies en une matrice M de taille (n,m) de sorte que les produits scalaires sont obtenus par le produit du vecteur candidat et de la matrice, et, le protocole Sumcheck est mis en oeuvre sur un polynôme P(ri,...,rd) --- jd) tel que : P(ri,...,rd) --- 'id) = ---,:h1)-11-4 (J1, --- ri, - -- rd) 25 où (ri., ...,rd) est un vecteur dont les composantes sont générées aléatoirement par l'entité de vérification (V). 3050853 31\n<CLM>\1\tProcédé d'authentification ou d'identification biométrique d'un individu, comprenant : - la comparaison, par une entité de preuve (P), d'une donnée biométrique acquise sur un trait biométrique d'un individu à au moins une donnée 5 biométrique de référence par calcul entre lesdites données d'une distance (100), et la mise en oeuvre du procédé selon l'une des revendications qui précèdent pour la vérification du résultat de la comparaison. 10\n<CLM>\1\tProcédé d'authentification selon la revendication précédente, dans lequel l'entité de preuve (P) est un dispositif électronique (10) personnel à l'individu de type téléphone, ordinateur personnel ou tablette numérique comprenant un calculateur (11), un capteur d'images (14), et un module (16) d'acquisition d'une donnée biométrique de référence contenue dans un document d'identité. 15\n<CLM>\1\tProduit programme d'ordinateur, comprenant des instructions de code pour l'exécution d'un procédé comprenant des étapes de : - acquisition d'une image et conversion de ladite image en une donnée biornétrique comprenant n composantes, 20 acquisition d'une donnée biométrique de référence enregistrée dans un document d'identité, la donnée comprenant n composantes, - comparaison des deux données par calcul d'une distance entre les deux données comprenant le calcul d'un polynôme en les composantes des données, - communication du résultat et desdites données à une entité de vérification, 25 - génération à partir de chaque composante a,, 13, de chaque donnée d'une fonction d'un nombre d de variables a(11,...,id), b(il,...,id) où d=log2n, définie pour chaque variable sur l'ensemble {0,1}, par reformulation de l'indice i de la composante a' b, en format binaire, - génération, à partir de chaque fonction, d'un polynôme de d variables â(xi,..-xd) 30 b(x1,...xd) défini sur un corps fini, tel que chaque polynôme â, 13 coïncide avec la fonction correspondante a,b sur l'ensemble {0,1}d, et génération, à partir des polynômes â et b d'un polynôme p(x1, xd) de d variables de même expression que celui de la distance entre les données, 3050853 32 - engagement, avec l'entité de vérification, dans un protocole de vérification Sumcheck appliqué au polynôme p, lorsque ledit programme est exécuté sur un ordinateur. 5\n<CLM>\1\tApplication du protocole Sumcheck à un calcul de distance entre une donnée biométrique candidate (a) et au moins une donnée biométrique de référence (b) comprenant chacune n composantes, le calcul de distance comprenant celui d'un polynôme en les composantes des données, dans lequel chaque donnée biométrique- est convertie en un polynôme multivarié 10 défini sur un corps fini par : - reformulation de l'indice i de chaque composante de chaque donnée biométrique en format binaire, pour obtenir une fonction (fa, fb) de d variable ou log2n, - extension de chaque fonction (fa, fb) en un polynôme â, S, de d variables 15 défini sur un corps fini, et - génération d'un polynôme p à partir des polynômes â et b de même formule que le polynôme de la distance appliquée aux données biométriques.