Brevet FR3052286A1 — publié le 20171208

DOMAINE DE L'INVENTION L'invention concerne un procédé de vérification d'un droit d'accès d'un individu à une zone délimitée par un point de contrôle géré par une autorité de contrôle. L'invention s'applique notamment à la vérification du droit d'un individu de franchir une frontière et/ou d'embarquer à bord d'un moyen de transport. ETAT DE LA TECHNIQUE Lors de l'embarquement d'un individu à bord d'un moyen de transport, typiquement un avion, il est connu que l'individu s'enregistre pour le vol qu'il va emprunter, puis franchisse au moins un point de contrôle au cours duquel son identité est vérifiée par une autorité de contrôle telle que la compagnie aérienne en charge du vol pour vérifier son droit à embarquer. L'identité peut également être vérifiée par une autorité douanière dans le cas où le déplacement de l'individu implique un franchissement de frontière. Cette vérification peut être effectuée en cherchant une correspondance entre une donnée biométrique générée à partir d'un trait biométrique de l'individu, et une pluralité de données biométriques de référence, correspondant typiquement aux individus enregistrés pour le vol. Au terme de cette recherche de correspondance, l'individu peut être formellement identifié, c'est-à-dire que son identité est déterminée - on parle alors d'identification biométrique. En variante, il peut suffire d'obtenir une information selon laquelle l'individu correspond à au moins l'une des personnes desquelles proviennent les données biométriques de référence, sans que l'identité exacte de l'individu n'ait été déterminée, pour que l'individu soit considéré comme ayant le droit de franchir le point de contrôle. La comparaison de données biométriques d'individu lors d'un contrôle d'accès, bien qu'avantageuse du point de vue de la sécurité, peut s'avérer chronophage. Par exemple, des techniques parmi les plus récentes et les plus efficaces comprennent l'utilisation de réseaux de neurones pour générer à partir d'une image de visage d'un individu une donnée biométrique, sous la forme d'un vecteur. Le vecteur est ensuite comparé à une autre donnée biométrique par un calcul d'un produit scalaire entre les vecteurs correspondants aux deux données biométriques, et la comparaison du résultat par rapport à un seuil prédéterminé. 3052286 2 Ceci doit être répété pour la comparaison d'une donnée d'un individu à l'ensemble des données biométriques de références auxquelles elle doit être comparée. Or, la prévision d'un trafic aérien en constante augmentation dans les 5 prochaines années suscite des interrogations sur la capacité des aéroports à gérer ce trafic. Malgré cette augmentation, il est en effet souhaité de réduire les files d'attente et les délais d'attentes aux points de contrôles pour les passagers, tout en conservant une bonne sécurité des données. Le développement de plus en plus répandu de dispositifs électroniques 10 personnels aux passagers de type téléphones mobiles ou tablettes inciterait à déporter l'étape chronophage de comparaison biométrique en amont du franchissement du point de contrôle par un individu, en mettant en oeuvre cette étape au moyen de son dispositif électronique personnel. Néanmoins, la puissance de calcul d'un tel dispositif peut s'avérer 15 insuffisante pour que celui-ci puisse, dans un temps acceptable par l'utilisateur, mettre en oeuvre l'opération de comparaison biométrique. De plus, se pose alors la question de la confidentialité des données qui sont manipulées lors de la comparaison. Il est également nécessaire de fournir à l'autorité de contrôle des garanties suffisantes sur la fiabilité et l'exactitude du calcul 20 ainsi effectué lors du franchissement du point de contrôle. Il existe donc un besoin pour un procédé de contrôle d'accès comprenant une comparaison de données biométriques, permettant de réduire le temps de franchissement d'un point de contrôle par un individu tout en étant acceptable par l'individu et en fournissant suffisamment de garanties sur la sécurité de la 25 comparaison à l'autorité de contrôle. PRESENTATION DE L'INVENTION L'invention a pour but de remédier au problème exposé ci-dessus. 30 A cet égard, l'invention a pour objet un procédé de vérification d'un droit d'accès d'un individu à une zone délimitée par au moins un point de contrôle géré par une autorité de contrôle, caractérisé en ce qu'il comprend la mise en oeuvre, avant que l'individu ne se présente au point de contrôle, des étapes suivantes: 3052286 3 - acquisition, par un dispositif client, d'une donnée biométrique sur l'individu, et transmission de ladite donnée à un serveur de calcul distant, - mise en oeuvre, par le serveur de calcul distant, d'un protocole de calcul qui d'une part est vérifiable publiquement et qui d'autre part est à divulgation 5 nulle de connaissance, le protocole de calcul comprenant : o le calcul d'une fonction comprenant un calcul de distance entre la donnée biométrique acquise sur l'individu et chacune d'une pluralité de données biométriques de référence, la comparaison de chaque distance à un seuil prédéterminé, et la génération d'un résultat 10 indiquant si au moins l'une des distances calculées est inférieure audit seuil, et o la génération, à partir de ladite fonction, d'une preuve d'exactitude du calcul de la fonction, - transmission, par le serveur de calcul distant, du résultat du calcul de la 15 fonction et de la preuve d'exactitude du calcul au dispositif client, et le procédé comprend la mise en oeuvre des étapes suivantes, lorsque l'individu se présente au point de contrôle: - transmission, par le dispositif client, de la donnée biométrique acquise sur l'individu, du résultat du calcul de la fonction et de la preuve d'exactitude du 20 calcul à une unité de traitement de l'autorité de contrôle, et - vérification, par l'unité de traitement de l'autorité de contrôle, de l'exactitude du résultat, à partir dudit résultat, de la donnée biométrique et de la preuve. Avantageusement, mais facultativement, le procédé selon l'invention peut en outre 25 comprendre au moins l'une des caractéristiques suivantes : - l'autorité de contrôle peut autoriser le franchissement du point de contrôle par l'individu si le résultat du calcul de la fonction est exact. - le protocole de calcul vérifiable à divulgation nulle de connaissance peut être le protocole dit Pinocchio ou le protocole dit Gepetto. 30 - Le procédé peut en outre comprendre une étape préliminaire d'enrôlement au cours de laquelle le dispositif client transmet au serveur de calcul distant au moins une donnée d'identité de l'individu et une donnée biométrique de l'individu certifiée par l'autorité de contrôle, et le serveur de calcul enregistre 3052286 4 la donnée biométrique de l'individu comme donnée biométrique de référence. - Le procédé peut en outre comprendre la mise en oeuvre d'au moins une vérification de sécurité à partir de la donnée d'identité de l'individu et/ou de 5 la donnée biométrique de l'individu obtenue à partir du document d'identité. - l'étape de transmission de la donnée biométrique acquise sur l'individu au serveur de calcul distant peut être mise en oeuvre de manière sécurisée. - l'autorité de contrôle peut être une autorité douanière ou une entreprise de transport. 10 - Le procédé peut en outre comprendre, lorsque l'individu se présente au point de contrôle de l'autorité de contrôle, une étape au cours de laquelle l'unité de traitement de l'autorité de contrôle acquiert une donnée biométrique sur l'individu et compare ladite donnée à la donnée transmise par le dispositif client, l'étape de vérification du résultat du calcul de la fonction n'étant mise 15 en oeuvre qu'en cas de correspondance desdites données. L'invention a également pour objet un système de vérification d'un droit d'accès d'un individu, comprenant : - un serveur de calcul, comprenant un calculateur et une interface de 20 communication à distance, le calculateur étant adapté pour calculer une fonction comprenant un calcul de distance entre au moins deux données biométriques, et la comparaison de chaque distance à un seuil prédéterminé, et pour générer une preuve d'exactitude du calcul de la fonction, 25 - une unité de traitement adaptée pour effectuer une vérification du calcul de la fonction à partir de la preuve d'exactitude et du résultat du calcul, et - un dispositif client, adapté pour acquérir une donnée biométrique sur un individu et pour communiquer avec le serveur de calcul et l'unité de traitement, 30 ledit système étant adapté pour la mise en oeuvre du procédé selon la description qui précède. 3052286 5 Selon un autre objet, l'invention concerne également un produit programme d'ordinateur, comprenant des instructions de code pour la mise en oeuvre d'un procédé comprenant des étapes de : - acquisition d'une image d'un trait biométrique et génération à partir de ladite 5 image d'une donnée biométrique, - transmission à un serveur distant de ladite donnée biométrique, - réception d'un résultat de calcul d'une fonction par le serveur distant et d'une preuve d'exactitude du résultat, et - transmission de la donnée biométrique, du résultat de calcul et de la preuve 10 à une unité de traitement, quand il est mis en oeuvre par un calculateur. L'invention proposée permet de réduire le temps de franchissement d'un point de contrôle par un individu, en déportant une étape de comparaison d'une 15 donnée biométrique de l'individu à des données de référence en amont du franchissement de ce point de contrôle. En mettant en oeuvre le calcul au moyen d'un protocole vérifiable publiquement et à divulgation nulle de connaissance, il est possible de garantir que cette comparaison est mise en oeuvre de manière fiable et sécurisée, et de permettre à l'autorité de contrôle de vérifier le résultat du calcul. 20 De plus, la mise en oeuvre du calcul et de la preuve d'exactitude du calcul par un serveur distant permet de recourir à une puissance de calcul plus importante que celle d'un dispositif électronique personnel à l'individu franchissant le point de contrôle. Cela permet également de ne pas mobiliser ce dispositif électronique pendant la durée du calcul, et donc de ne pas gêner l'individu. 25 PRESENTATION DES FIGURES D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre d'un mode de réalisation préférentiel. Cette description sera donnée en référence aux dessins annexés dans lesquels : 30 - La figure 1 représente schématiquement un système de contrôle d'accès d'un individu dans un contexte de mise en oeuvre d'un procédé de contrôle d'accès, - La figure 2 représente schématiquement les principales étapes d'un procédé de contrôle d'accès d'un individu. 3052286 6 DESCRIPTION DETAILLEE D'AU MOINS UN MODE DE MISE EN OEUVRE DE L'INVENTION En référence à la figure 1, on a représenté schématiquement un système de contrôle d'accès 1 d'un individu, comprenant un dispositif client 2, un serveur de 5 calcul distant 3, et une unité de traitement 4 d'une autorité de contrôle. L'autorité de contrôle peut par exemple être une autorité douanière ou une entreprise de transport. Typiquement, dans une situation où un individu cherche à embarquer à bord d'un avion, il peut s'agir d'une compagnie aérienne. L'invention s'applique de manière analogue à l'utilisation de tout type de 10 moyen de transport. Le contrôle d'accès de l'individu permet de vérifier le droit de l'individu à pénétrer dans une zone qui est délimitée par un point de contrôle généré par l'autorité de contrôle. Cette zone peut être un pays, ou une porte d'embarquement dans un aéroport, etc. Le dispositif client 2, le serveur de calcul 3 et l'unité de traitement 4 sont 15 susceptibles d'être reliés entre eux par un réseau de communication 5, par exemple internet. Le dispositif client 2 est avantageusement un dispositif électronique personnel à un individu, par exemple du type téléphone mobile, tablette numérique, 20 etc. Ce dispositif client 2 est avantageusement portable. Le dispositif client 2 comprend un calculateur 20, tel que par exemple un processeur, un microprocesseur, un contrôleur, etc. Le calculateur 20 est adapté pour exécuter des instructions de code, de préférence sous la forme d'une application logicielle téléchargeable depuis un serveur, pour la mise en oeuvre du 25 procédé décrit ci-après. L'application logicielle est de préférence certifiée par l'autorité de contrôle. Il comporte également un module 21 d'acquisition d'une donnée biométrique sur un trait biométrique d'un individu. Le trait biométrique peut être la forme du visage ou un ou plusieurs iris de l'individu. 30 Le module 21 d'acquisition de donnée biométrique comprend un capteur d'image 22, et un module de traitement d'image 23 qui est adapté pour extraire une donnée biométrique à partir d'une image d'un trait biométrique. Ce module 23 est avantageusement une série d'instructions exécutables par le calculateur 20, par exemple un module logiciel. 3052286 7 L'extraction de la donnée biométrique est mise en oeuvre par un traitement de l'image du trait biométrique qui dépend de la nature du trait biométrique. Des traitements d'images variés pour extraire des données biométriques sont connus de l'Homme du Métier. A titre d'exemple non limitatif, dans le cas où le 5 trait biométrique est l'image du visage de l'individu, l'extraction de la donnée biométrique peut être mise en oeuvre par application à l'image d'un réseau de neurones convolutif (connu sous l'acronyme anglais CNN pour convolution neural network), préalablement entrainé sur une base de données. Enfin le dispositif client 2 comprend une interface de communication à 10 distance 24 avec le serveur de calcul distant 3 et le cas échéant avec l'unité de contrôle 4. Cette interface est avantageusement adaptée pour permettre une communication sans fil avec le serveur distant 3, par exemple par Wifi ou Bluetooth ou via un réseau de téléphonie mobile (GPRS, 3G, 4G ou autre). Eventuellement le dispositif client 2 peut également communiquer avec 15 l'unité de contrôle 4 au moyen d'une interface d'affichage d'informations 25 telle qu'un écran, affichant des informations à transmettre à l'unité de contrôle 4. La communication pourrait également être mise en oeuvre au moyen d'une interface physique, telle que par exemple une liaison Ethernet ou un port USB, mais ce type de communication étant plus lente à cause de la nécessité de réaliser des 20 branchements, elle est moins préférée. Avantageusement, mais facultativement, le dispositif client 2 peut enfin comprendre une interface de saisie d'informations 26 telle qu'un clavier, un écran tactile, etc. Enfin le dispositif client 2 comprend avantageusement un lecteur 27 de puce 25 d'un document d'identité, typiquement un lecteur utilisant la technologie de communication en champ proche ou NFC (acronyme anglais de Near Field Communication). Le dispositif client 2 comprend également une mémoire (non représentée). 30 Le serveur de calcul distant 3 comporte un calculateur 30 adapté pour mettre en oeuvre les calculs décrits ci-après, et pouvant être par exemple un processeur, un microprocesseur, un contrôleur, etc. Le serveur de calcul distant 3 comporte également une interface de communication à distance 31 avec le dispositif client 2, adaptée pour mettre en oeuvre le même protocole de communication que l'interface 3052286 8 24 du dispositif client, c'est-à-dire par exemple pour communiquer par Wifi, Bluetooth, ou via un réseau de téléphonie mobile (GPRS, 3G, 4G etc.). Le serveur de calcul distant 3 comprend également, ou peut accéder à, une mémoire 32 comprenant un ensemble de données biométriques de référence. 5 L'unité de traitement 4 comporte un calculateur 40, par exemple de type processeur, microprocesseur, contrôleur, etc. Elle peut comprendre une interface de communication 41 avec le dispositif client qui peut être une interface de communication à distance, par exemple par Wifi, Bluetooth ou via un réseau de 10 télécommunication, ou une interface physique telle qu'une liaison Ethernet ou un port USB. L'interface de communication 41 peut également être formée par un module d'acquisition et de traitement d'informations affichées sur un écran du dispositif client. Avantageusement, l'unité de traitement 4 permet de contrôler un point de 15 contrôle d'un individu, qui peut être matérialisé par une barrière, un portique, un indicateur lumineux etc. Le point de contrôle constitue un obstacle à l'accès à la zone qui n'est franchi qu'en cas de succès du contrôle de l'individu. Par exemple, le point de contrôle peut être un poste de contrôle douanier disposé à la frontière d'un état ou dans un aéroport. 20 Le point de contrôle peut également être un point de contrôle d'une entreprise de transport telle qu'une compagnie aérienne, localisé dans un terminal d'embarquement et autorisant l'accès de l'individu au moyen de transport, par exemple à l'avion, dans lequel il doit embarquer. L'unité de traitement peut alors comporter une interface de contrôle 42 du 25 point de contrôle permettant d'autoriser ou d'interdire le franchissement du point de contrôle par l'individu par ouverture/fermeture d'une barrière ou d'un portique ou affichage d'informations. Dans le cas où l'interface de communication 41 avec le dispositif client est une interface physique ou un module d'acquisition d'informations affichées sur un 30 écran du dispositif client 2, cette interface est disposée au niveau du point de contrôle. Le calculateur 40 peut en revanche être localisé à distance de cette interface. L'unité de traitement 4 peut également comprendre un module 43 d'acquisition d'une donnée biométrique, comprenant un capteur d'image 44, et un 3052286 9 module 45 de traitement d'une image d'un trait biométrique pour en extraire une donnée biométrique. Ce module est avantageusement une série d'instructions exécutables par le calculateur 40, par exemple un module logiciel. 5 En référence à la figure 2, on va maintenant décrire un procédé de contrôle d'accès pouvant être mis en oeuvre par le système décrit ci-avant. Le procédé comporte une vérification du droit d'accès de l'individu comprenant la comparaison d'une donnée biométrique acquise sur l'individu à un ensemble de données biométriques de référence dans le but de détecter une 10 correspondance entre deux données pour déterminer que l'individu correspond à l'un des individus à partir desquels les données de référence ont été acquises. Le résultat de cette vérification biométrique est fourni à l'autorité de contrôle, et en cas de succès, celle-ci autorise le franchissement du point de contrôle par l'individu. 15 Comme on va le voir, les calculs pour réaliser la vérification par la comparaison de la donnée biométrique de l'individu aux données de référence sont déportés au serveur de calcul 3. Pour ce faire, le procédé comporte une première série d'étapes 100 mise en 20 oeuvre avant que l'individu ne se présente auprès du point de contrôle. Par exemple, ces étapes peuvent être mises en oeuvre avant ou lors de l'arrivée d'un individu dans un terminal d'embarquement ou un poste de contrôle de la frontière. Une première étape 110 de cette série comprend l'acquisition d'une donnée biométrique sur un trait biométrique de l'individu. Cette étape est mise en oeuvre par 25 le dispositif client 2. De préférence, dans le cas où le dispositif client est un dispositif personnel à l'individu, l'individu met en oeuvre cette étape lui-même en prenant une photographie de son trait biométrique, c'est-à-dire par exemple de son visage ou de son iris. Le module 23 de traitement d'image du dispositif client 2 traite ensuite l'image pour obtenir une donnée biométrique b sous la forme d'un vecteur 30 comprenant un ensemble de composantes. Une deuxième étape 120 de la série 100 comprend la transmission, par le dispositif client 2 au serveur de calcul 3, de la donnée biométrique acquise b. Cette étape est avantageusement mise en oeuvre de manière sécurisée pour garantir la confidentialité de la donnée b. Par exemple la sécurisation de la communication 3052286 10 peut être obtenue en appliquant le protocole TLS (acronyme anglais de Transport Layer Security). Le serveur de calcul 3 peut ensuite mettre en oeuvre une vérification 130 du droit d'accès de l'individu, par comparaison de la donnée biométrique reçue b à un 5 ensemble de données biométriques de référence bref. Les données biométriques de référence bref ont été obtenues sur des traits biométriques de même nature que la donnée biométrique b. Elles sont aussi des vecteurs comprenant un nombre de composantes identiques au nombre de composantes de la donnée b. La comparaison est mise en oeuvre de manière classique en soi en 10 calculant, entre la donnée biométrique b et chaque donnée biométrique de référence bref, une distance, par exemple par le calcul d'un produit scalaire entre les données biométriques, et en comparant chaque distance à un seuil prédéterminé. Dans le cas où une distance est inférieure au seuil, une correspondance est détectée entre la donnée biométrique de l'individu et l'une des données de 15 référence. Cette information peut suffire pour déterminer que l'individu a ou non le droit de franchir le point de contrôle, sans qu'il soit nécessaire de déterminer l'identité de l'individu. Par conséquent il suffit que la distance entre la donnée biométrique de l'individu et l'une des données biométriques de référence soit inférieure au seuil pour considérer que l'individu a le droit d'accéder à la zone et de 20 franchir le point de contrôle. De préférence, pour que la vérification soit réalisée avec succès, la série d'étapes 100 a été précédée d'un enrôlement 50 de l'individu auprès du serveur de calcul 3, qui peut correspondre à une étape d'enregistrement dans le cas où l'individu s'apprête à emprunter un moyen de transport tel qu'un avion. Cette étape 25 peut avoir été réalisée le jour même ou un jour précédent dans un lieu quelconque, par exemple au domicile de l'individu. Cet enrôlement comprend l'envoi par le dispositif client 2 au serveur de calcul 3 d'une donnée biométrique certifiée par l'autorité de contrôle, qui est typiquement une donnée biométrique enregistrée dans la puce d'un document 30 d'identité tel qu'un passeport. Cette donnée est acquise au moyen du module 27 du dispositif client 2. Cette donnée biométrique qui constitue une donnée biométrique de référence pour l'individu, est enregistrée dans la mémoire du serveur de calcul 3, et permet donc ensuite de confirmer le droit d'accès de l'individu car elle est 3052286 11 normalement suffisamment proche de la donnée biométrique b acquise sur l'individu pour que la distance avec cette donnée soit inférieure au seuil pour la vérification. Avantageusement, l'enrôlement 50 comprend également l'envoi au serveur de calcul 3 d'informations complémentaires telles que par exemple le nom de 5 l'individu, un numéro de document d'identité, la nationalité, éventuellement une information sur le moyen de transport utilisé ou la référence du voyage (numéro de vol, etc.). Ces différentes informations permettent d'effectuer des vérifications de sécurité concernant l'individu, comme par exemple la vérification que l'individu a le droit de voyager, de franchir la frontière d'un pays, etc. 10 De retour à l'étape de vérification biométrique 130 du droit d'accès de l'individu, le serveur de calcul 3 met en oeuvre cette étape par l'exécution d'un protocole de calcul publiquement vérifiable et à divulgation nulle de connaissance. Le caractère publiquement vérifiable du protocole permet de produire une preuve que le calcul réalisé entre la donnée biométrique b et les données 15 biométriques de référence bref est exact, et permet à n'importe qui ayant accès à la clé de vérification publique de vérifier l'exactitude du résultat du calcul. Par ailleurs, dans un protocole de calcul publiquement vérifiable, l'entité réalisant la preuve doit fournir à l'entité réalisant la vérification les données d'entrée de son calcul pour que l'entité de vérification puisse étudier la validité de la preuve. 20 Comme décrit plus en détails ci-après, cela correspondrait ici à fournir entre autres la base des données biométriques de référence. Or la divulgation nulle de connaissance permet de conserver la confidentialité de cette base en prouvant que l'entité réalisant la preuve a effectivement eu accès la base pour réaliser le protocole de calcul, tout en ne donnant aucune information sur les données de 25 référence contenues dans cette base. Avantageusement, un mode de réalisation de ce protocole est le protocole Pinocchio présenté dans la publication « Bryan Parno, Craig Gentry, Jon Howell, and Mariana Raykova, Pinocchio: Nearly Practical Verifiable Computation, in 30 Proceedings of the IEEE Symposium on Security and Privacy, IEEE, 21 May 2013 », et à laquelle on pourra se référer pour une description complète du protocole. En résumé, le protocole Pinocchio comprend la mise en oeuvre des étapes suivantes. 3052286 12 La fonction F à calculer (en l'occurrence le calcul de chaque distance et la comparaison de chaque distance au seuil prédéterminé) est représentée sous forme d'un circuit arithmétique ne comprenant que des opérateurs d'addition et de multiplication définis sur un corps fini F. . 5 Puis un programme arithmétique quadratique (ou QAP pour « Quadratic Arithmetic Program ») est construit à partir du circuit arithmétique. Pour ce faire, chaque opérateur de multiplication du circuit arithmétique est décrit au moyen de trois polynômes codant respectivement les deux entrées de l'opérateur et la sortie de l'opérateur (les opérateurs d'addition étant pris en compte dans la définition des 10 polynômes). On note v, w/y trois ensembles de polynômes encodant respectivement les deux entrées et les sorties des opérateurs. Un quatrième polynôme dit polynôme cible T est construit comme suit : T(x) =(x _ rG) G Où rG E est une racine arbitraire d'un opérateur G du circuit arithmétique. Le protocole Pinocchio est à divulgation nulle de connaissance en ajoutant à 15 chaque polynôme des ensembles v, y un multiple aléatoire du polynôme cible T. Les ensembles de polynômes v, y ainsi que le polynôme cible T forment le QAP. On pourra se référer à la section 2.2.1. de la publication citée ci-avant pour plus de détails à cet égard. De préférence, ces étapes de construction sont mises en oeuvre par le 20 serveur de calcul 3 pour être mises en commun pour plusieurs dispositifs client différents. Comme décrit plus en détails dans la publication citée ci-avant, chaque polynôme Vk(x) E Fp [X] du QAP est lié à un élément gyk(s)d'un groupe bilinéaire où g est un générateur du groupe et s est un secret choisi aléatoirement. 25 Une clé publique d'évaluation EKF et une clé publique de vérification VKF sont construites à partir de ces éléments, par exemple par le serveur de calcul 3. Le serveur de calcul utilise ensuite la clé publique d'évaluation pour évaluer le circuit arithmétique pour la fonction F, et obtient un résultat booléen y dont la valeur indique si la donnée biométrique de l'individu correspond à au moins une 30 donnée biométrique de référence, c'est-à-dire si la distance entre la donnée de l'individu et au moins l'une des données biométriques de référence est inférieure au seuil prédéterminé. 3052286 13 Le serveur de calcul génère également une preuve u du résultat du calcul à partir du QAP, et donc à partir de la définition de la fonction F. Par sa construction (voir encore la section 2.3 de la publication citée ci-avant), la preuve permet de vérifier que le résultat y a été obtenu à partir de la donnée b. 5 L'entité devant vérifier le calcul - ci-après, l'autorité de contrôle - met en oeuvre une vérification de l'exactitude du calcul à partir de la clé publique de vérification VKF, de la donnée biométrique b, de la preuve u, et du résultat booléen y (on pourra se référer à la section 2.3 de la publication citée ci-avant pour plus de détails). 10 En variante, un autre protocole publiquement vérifiable et à divulgation nulle de connaissance également utilisable dans le cadre de l'invention est le protocole Gepetto, qui est une variante du protocole Pinocchio, et qui a été présenté dans la publication « Craig Costello, Cedric Fournet, Jon Howell, Markulf Kohlweiss, 15 Benjamin Kreuter, Michael Naehrig, Bryan Parno, and Samee Zahur, Geppetto: Versatile Verifiable Computation, in Proceedings of the IEEE Symposium on Security and Privacy, IEEE, 18 May 2015 ». On pourra se référer à cette publication pour une description détaillée de l'implémentation de ce protocole. 20 Un autre protocole publiquement vérifiable et à divulgation nulle de connaissance également utilisable dans le cadre de l'invention est celui décrit dans la demande de brevet FR1560942 déposée le 16 novembre 2015, dans le cas où les données biométriques utilisées pour le contrôle d'accès sont des données biométriques générées à partir d'images d'iris d'individus. 25 Dans tous les cas, à l'issue de la mise en oeuvre du protocole, le serveur de calcul 3 dispose du résultat y du calcul de la fonction F qui est un booléen indiquant si une correspondance a été réalisée entre l'individu et au moins un individu enrôlé dans la base de données biométriques de référence, et une preuve u de 30 l'exactitude du résultat du calcul. Le procédé comprend ensuite une étape 140 de transmission, par le serveur de calcul 3 au dispositif client 2 du résultat y et de la preuve u de l'exactitude du résultat du calcul. Cette transmission être mise en oeuvre de manière sécurisée via le même canal de communication sécurisé qu'utilisé dans l'étape 120, toutefois cela 3052286 14 n'est pas nécessaire dans la mesure où la preuve u ne comprend aucune référence explicite aux données biométriques de référence et que le résultat y ne comprend que l'information selon laquelle l'individu a été ou non reconnu comme l'un des individus de la base de données biométriques de référence. 5 Bien que la mise en oeuvre du protocole, pour réaliser la comparaison biométrique et calculer la preuve, nécessite un temps de calcul de l'ordre de plusieurs minutes, le fait que ce protocole soit implémenté par un serveur de calcul distant, et avant que l'individu ne se présente au point de contrôle, permet de ne pas gêner l'individu. La mise en oeuvre du protocole peut en effet avoir lieu pendant 10 que l'individu progresse en direction du point de contrôle, et l'individu peut recevoir les éléments transmis par le serveur de calcul 3 avant de parvenir au point de contrôle. Le procédé comprend ensuite une deuxième série d'étapes 200 qui est mise 15 en oeuvre lorsque l'individu se présente au niveau du point de contrôle de l'autorité de contrôle. Cette deuxième série d'étapes est une vérification par l'autorité de contrôle que l'étape de vérification biométrique 130 a été correctement mise en oeuvre, et elle est mise en oeuvre comme suit. Le dispositif client 2 transmet à l'unité de traitement 4 de l'autorité de 20 contrôle, au cours d'une étape 210, le résultat y du calcul de la vérification, la donnée biométrique b ayant permis de réaliser cette vérification, ainsi que la preuve u de l'exactitude du résultat du calcul. Ces éléments peuvent être communiqués à l'unité de traitement par un réseau sans fil type Wifi ou réseau de télécommunication. En variante ils peuvent 25 être affichés sur un écran du dispositif personnel, par exemple sous forme de code, typiquement un code-barres bidimensionnel. Ce code peut être acquis par l'interface 41 de l'unité de traitement. Ils peuvent alternativement être communiqués via des interfaces physiques de l'unité de traitement et du dispositif de contrôle. Avantageusement, mais facultativement, pour conférer au procédé une 30 sécurité supplémentaire, une donnée biométrique fraiche b' est acquise sur l'individu par l'unité de traitement 4 de l'autorité de contrôle lors de la même étape. Dans ce cas, le procédé comprend également une étape 220 d'authentification biométrique de l'individu, mise en oeuvre par l'unité de traitement 4, par comparaison de la donnée biométrique b avec la donnée fraiche b'. Cette 3052286 15 comparaison permet de s'assurer que le dispositif client 2 qui stocke les données b, y et u communiquées à l'unité de traitement 4 n'a pas été volé à l'individu qui a été identifié. Si l'authentification est satisfaite, ou en l'absence d'authentification, le 5 procédé comprend ensuite une étape 230 de vérification de l'exactitude du résultat de l'identification par l'unité de traitement 4. Dans le cas du protocole Pinocchio, cette étape est mise en oeuvre grâce à la clé publique de vérification VKF, la preuve u, la donnée biométrique b, et le résultat booléen y (cf section 2.3 de la publication citée ci-avant). 10 Cette étape de vérification est mise en oeuvre en un temps beaucoup plus court que le temps nécessaire à la vérification que l'individu appartient à la liste des individus autorisés, typiquement inférieur à 0,1 seconde voire à 0,05 seconde, tandis qu'une étape de vérification ou d'identification biométrique classique comprenant l'acquisition d'une donnée biométrique fraîche prend un temps de 15 l'ordre de 20 secondes pour un utilisateur expérimenté, la partie la plus consommatrice de temps étant la lecture des données stockées dans passeport biométrique.. Par conséquent le temps d'arrêt de chaque individu au point de contrôle est réduit et la longueur de la file d'attente au point de contrôle est réduite également. 20 Si l'unité de traitement 4 détermine que la vérification 130 du droit d'accès de l'individu a été exactement réalisée et que l'individu dispose d'un droit d'accès (en ayant une donnée dans la liste des données biométriques de référence), elle autorise 240 le franchissement du point de contrôle à l'individu. Par exemple, elle peut commander l'ouverture d'une barrière ou d'un portique, ou activer l'émission 25 d'un signal sonore ou visuel. Dans le cas où la vérification n'a pas été correctement réalisée ou que l'individu ne dispose pas du droit d'accès, le franchissement du point de contrôle est interdit 240 et l'individu peut être redirigé pour un contrôle supplémentaire. 30 REVENDICATIONS1. Procédé de vérification d'un droit d'accès d'un individu à une zone délimitée par au moins un point de contrôle géré par une autorité de contrôle, caractérisé en ce qu'il comprend la mise en oeuvre, avant que l'individu ne se présente au point de contrôle, des étapes suivantes: - acquisition (110), par un dispositif client (2), d'une donnée biométrique (b) sur l'individu, et transmission (120) de ladite donnée à un serveur de calcul distant (3), - mise en oeuvre (130), par le serveur de calcul distant (3), d'un protocole de calcul qui d'une part est vérifiable publiquement et qui d'autre part est à divulgation nulle de connaissance, le protocole de calcul comprenant : o le calcul d'une fonction comprenant un calcul de distance entre la donnée biométrique acquise sur l'individu et chacune d'une pluralité de données biométriques de référence, la comparaison de chaque distance à un seuil prédéterminé, et la génération d'un résultat (y) indiquant si au moins l'une des distances calculées est inférieure audit seuil, et o la génération, à partir de ladite fonction, d'une preuve (u) d'exactitude du calcul de la fonction, - transmission (140), par le serveur de calcul distant (3), du résultat (y) du calcul de la fonction et de la preuve (u) d'exactitude du calcul au dispositif client (2), et le procédé comprend la mise en oeuvre des étapes suivantes, lorsque l'individu se présente au point de contrôle: - transmission (210), par le dispositif client (2), de la donnée biométrique (b) acquise sur l'individu, du résultat (y) du calcul de la fonction et de la preuve (u) d'exactitude du calcul à une unité de traitement (4) de l'autorité de contrôle, et - vérification (230), par l'unité de traitement (4) de l'autorité de contrôle, de l'exactitude du résultat (y), à partir dudit résultat (y), de la donnée biométrique (b) et de la preuve (u). 3052286 17 2. Procédé de vérification d'un droit d'accès selon la revendication 1, dans lequel l'autorité de contrôle autorise (240) le franchissement du point de contrôle par l'individu si le résultat du calcul de la fonction est exact. 5 3. Procédé de vérification d'un droit d'accès selon l'une des revendications 1 ou 2, dans lequel le protocole de calcul vérifiable à divulgation nulle de connaissance est le protocole dit Pinocchio ou le protocole dit Gepetto. 4. Procédé de vérification d'un droit d'accès selon l'une des revendications 1 à 3, 10 comprenant en outre une étape préliminaire (50) d'enrôlement au cours de laquelle le dispositif client (2) transmet au serveur de calcul distant (3) au moins une donnée d'identité de l'individu et une donnée biométrique de l'individu certifiée par l'autorité de contrôle, et le serveur de calcul (3) enregistre la donnée biométrique de l'individu comme donnée biométrique de référence. 15 5. Procédé de vérification d'un droit d'accès selon la revendication 4, comprenant en outre la mise en oeuvre d'au moins une vérification de sécurité à partir de la donnée d'identité de l'individu et/ou de la donnée biométrique de l'individu obtenue à partir du document d'identité. 20 6. Procédé de vérification d'un droit d'accès selon l'une des revendications précédentes, dans lequel l'étape de transmission (120) de la donnée biométrique (b) acquise sur l'individu au serveur de calcul distant (3) est mise en oeuvre de manière sécurisée. 25 7. Procédé de vérification d'un droit d'accès selon l'une des revendications précédentes, dans lequel l'autorité de contrôle est une autorité douanière ou une entreprise de transport. 30 8. Procédé de vérification d'un droit d'accès selon l'une des revendications précédentes, comprenant en outre, lorsque l'individu se présente au point de contrôle de l'autorité de contrôle, une étape (220) au cours de laquelle l'unité de traitement (4) de l'autorité de contrôle acquiert une donnée biométrique (b') sur l'individu et compare ladite donnée à la donnée transmise par le dispositif client, 3052286 18 l'étape de vérification (230) du résultat du calcul de la fonction n'étant mise en oeuvre qu'en cas de correspondance desdites données. 9. Système (1) de vérification d'un droit d'accès d'un individu, comprenant : 5 - un serveur de calcul (3), comprenant un calculateur (30) et une interface de communication à distance (31), le calculateur étant adapté pour calculer une fonction comprenant un calcul de distance entre au moins deux données biométriques, et la comparaison de chaque distance à un seuil prédéterminé, et pour générer une preuve (u) d'exactitude du calcul de la 10 fonction , - une unité de traitement (4) adaptée pour effectuer une vérification du calcul de la fonction à partir de la preuve d'exactitude (u) et du résultat (y) du calcul, et - un dispositif client (2), adapté pour acquérir une donnée biométrique sur un 15 individu et pour communiquer avec le serveur de calcul et l'unité de traitement, ledit système étant adapté pour la mise en oeuvre du procédé selon l'une des revendications qui précèdent. 20 10. Produit programme d'ordinateur, comprenant des instructions de code pour la mise en oeuvre d'un procédé comprenant des étapes de : - acquisition (110) d'une image d'un trait biométrique et génération à partir de ladite image d'une donnée biométrique (b), - transmission (120) à un serveur distant (3) de ladite donnée biométrique (b), 25 - réception d'un résultat de calcul (y) d'une fonction par le serveur distant et d'une preuve d'exactitude (u) du résultat, et - transmission (210) de la donnée biométrique (b), du résultat de calcul (y) et de la preuve (u) à une unité de traitement, quand il est mis en oeuvre par un calculateur (20).