Brevet FR3150008A1 — publié le 20241220

Procédé de traitement de données personnelles, chaque donnée personnelle étant un vecteur de composantes, chiffrées de manière homomorphe sous la forme de cryptogrammes de composantes dans un groupe muni d’une addition et d’une multiplication, ledit procédé étant caractérisé en ce que : - un cryptogramme de référence est l’image de la concaténation des composantes de même indice de données personnelles de référence, - un cryptogramme candidat est l’image de la concaténation de composantes ayant la valeur d’une même composante d’une donnée personnelle candidate, Et en ce que le procédé comprend: a) l’obtention de cryptogrammes intermédiaires par application d’un produit de Hadamard entre un cryptogramme de référence et un cryptogramme candidat différents, b) l’obtention d’un cryptogramme final par addition vectorielle des cryptogrammes intermédiaires, le cryptogramme final étant l’image de la distance entre la donnée personnelle candidate et données personnelles de référence. Procédé de traitement de données personnelles, système et programme d’ordinateur associés L’invention concerne un procédé de traitement de données personnelles. L’invention concerne également un système et un programme d’ordinateur associé. On connaît déjà des schémas d’identification dans lesquels un utilisateur présente à une unité de traitement digne de confiance, par exemple à une unité appartenant à une douane, un aéroport, etc., une donnée biométrique fraîchement acquise sur l’utilisateur (dite donnée biométrique candidate) que l’unité confronte à une ou plusieurs donnée(s) biométrique(s) de référence enregistrée(s) dans une base de données à laquelle elle a accès. Cette base de données regroupe les données biométriques de référence des individus autorisés (tels que les passagers d’un vol avant l’embarquement). Une telle solution apporte satisfaction, mais pose le problème de la confidentialité de la base de données biométriques de référence pour garantir la vie privée des usagers. Pour éviter toute manipulation en clair des données biométriques, on peut utiliser un chiffrement d’un schéma cryptographique homomorphe et réaliser les traitements sur les données biométriques (typiquement calculs de distance) dans le domaine chiffré. Un schéma cryptographique homomorphe permet en effet d’effectuer certaines opérations mathématiques sur des données préalablement chiffrées au lieu des données en clair. Ainsi, pour un calcul donné, il devient possible de chiffrer les données, faire certains calculs associés audit calcul donné sur les données chiffrées, et les déchiffrer, en obtenant le même résultat que si l’on avait fait ledit calcul donné directement sur les données en clair. Pour limiter les calculs dans le domaine chiffré tout en bénéficiant d’une architecture d’ordinateur dotée de capacité de parallélisme, par exemple d’une architecture SIMD (abréviation de « Single Instruction Multiple Data » en terminologie Anglo-Saxonne), qui permet à une même opération d’être réalisée sur données, on connait un procédé de traitement de données personnelles mis en œuvre par un système stockant une base de données personnelles de référence chiffrées de manière homomorphe sous la forme de cryptogrammes de référence dans un groupe muni d’une première opération qui est une addition , et d’une deuxième opération qui est une multiplication, le procédé comprenant la détermination dans le domaine chiffré, pour chaque donnée personnelle de référence de la base, d’une distance entre une même donnée personnelle candidate et ladite donnée personnelle de référence, ladite distance étant un produit scalaire de la donnée personnelle candidate et de ladite donnée personne de référence. La donnée personnelle candidate et chaque donnée personnelle de référence sont des vecteurs de composantes, et chaque cryptogramme de référence est un vecteur de composantes, avec , et des entiers naturels strictement supérieurs à 1, et un multiple de . Pour ce procédé connu, chaque cryptogramme de référence est l’image, par une fonction de chiffrement d’un schéma cryptographique homomorphe, de la concaténation de toutes les composantes de données personnelles de référence. Ce procédé détermine dans le domaine chiffré des distances entre la donnée personnelle candidate et données personnelles de référence avec les étapes suivantes: a) obtention d’un cryptogramme intermédiaire sous la forme d’un vecteur de pluralités de composantes, en appliquant un produit de Hadamard entre un cryptogramme candidat et le cryptogramme de référence associé aux données personnelles de référence, le cryptogramme candidat étant l’image par la fonction de chiffrement, de la concaténation de itérations de la donnée personnelle candidate (c’est-à-dire de itérations de toutes les composantes de la donnée personnelle candidate), b) obtention d’un cryptogramme final sous la forme d’un vecteur de pluralités de composantes, chaque composante d’une pluralité de composantes du cryptogramme final, résultant de l’application de la première opération entre toutes les composantes d’une même pluralité de composantes du cryptogramme intermédiaire. Cependant, cette solution reste couteuse en temps de calcul et espace mémoire. Cette restriction limite la vitesse d’identification et le nombre d’identifications réalisables en un temps donné. Pour remédier à ces inconvénients, la présente invention propose selon un premier aspect, un procédé de traitement de données personnelles mis en œuvre par un système stockant une base de données personnelles de référence chiffrées de manière homomorphe sous la forme de cryptogrammes de référence dans un groupe muni d’une première opération et d’une deuxième opération, - ledit procédé comprenant la détermination dans le domaine chiffré, pour chaque donnée personnelle de référence de la base, d’une distance entre une même donnée personnelle candidate et ladite donnée personnelle de référence, et - où la première opération est une addition et la deuxième opération est une multiplication, - pour tout allant de 1 à , la donnée personnelle de référence de rang est un vecteur de composantes ayant des indices respectifs allant de 1 à , - pour tout allant de 1 à , le cryptogramme de référence de rang est un vecteur de composantes ayant des indices respectifs allant de 1 à , et - la donnée personnelle candidate est un vecteur de composantes ayant des indices respectifs allant de 1 à , - avec , et des entiers naturels strictement supérieurs à 1, ledit procédé étant caractérisé en ce que : - pour tout allant de 1 à et pour tout allant de 1 à , le cryptogramme de référence de rang , est l’image, par une fonction de chiffrement d’un schéma cryptographique homomorphe, de la concaténation des composantes d’indice de chaque donnée personnelle de référence ayant un rang compris entre et , - pour tout allant de 1 à , la détermination dans le domaine chiffré des distances entre la donnée personnelle candidate et chaque donnée personnelle de référence ayant un rang compris entre et , comprend: a) pour tout allant de 1 à , l’obtention d’un cryptogramme intermédiaire de rang sous la forme d’un vecteur de composantes, en appliquant un produit de Hadamard entre le cryptogramme de référence de rang et un cryptogramme candidat de rang , le cryptogramme candidat de rang étant l’image par la fonction de chiffrement, de la concaténation de composantes ayant chacune la valeur de la composante d’indice de la donnée personnelle candidate, b) l’obtention d’un cryptogramme final de rang sous la forme d’un vecteur de composantes, en appliquant une addition vectorielle entre les cryptogrammes intermédiaires obtenus, - la distance entre la donnée personnelle candidate et une donnée personnelle de référence de rang étant l’antécédent par la fonction de chiffrement de la composante d’indice , du cryptogramme final de rang . Selon des caractéristiques avantageuses et non-limitatives : - le procédé comprend en outre une étape d’obtention des cryptogrammes de référence, pendant laquelle pour tout allant de 1 à et pour tout allant de 1 à , le cryptogramme de référence de rang est obtenu par application de la fonction de chiffrement, à la concaténation des composantes d’indice j de chaque donnée personnelle de référence ayant un rang compris entre et ; - le module de stockage de données stocke les cryptogrammes de référence ; - les cryptogrammes de référence constituent la représentation chiffrée de manière homomorphe des K données personnelles de référence ; - le procédé comprend en outre une étape d’obtention des cryptogrammes candidats, pendant laquelle pour tout allant de 1 à , le cryptogramme candidat de rang est obtenu par application de la fonction de chiffrement à la concaténation de composantes ayant chacune la valeur de la composante d’indice de la donnée personnelle candidate ; - la donnée personnelle candidate est acquise à l’aide d’une interface d’acquisition ; - le procédé comprend en outre une étape de déchiffrement des cryptogrammes finaux ; - le déchiffrement de chaque cryptogramme final est par application d’une fonction de déchiffrement du schéma cryptographique homomorphe, au cryptogramme final concerné ou aux composantes dudit cryptogramme final ; - les données personnelles sont des données biométriques, en particulier des données représentatives de visages ; - est un multiple de ; - le schéma cryptographique homomorphe est le schéma Brakerski-Fan-Vercauteren ou le schéma Cheon-Kim-Kim-Song ; - quand le système est doté de capacité de parallélisme, par exemple selon une architecture SIMD, permettant à une même opération d’être réalisée sur données, a de préférence pour valeur si le schéma cryptographique homomorphe est le schéma Brakerski-Fan-Vercauteren, si le schéma cryptographique homomorphe est le schéma Cheon-Kim-Kim-Song. Selon un deuxième aspect, l’invention propose un programme d’ordinateur comprenant des instructions exécutables par un processeur et adaptées à mettre en œuvre un procédé de traitement de données personnelles tel que défini précédemment, lorsque ces instructions sont exécutées par le processeur. Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable. Selon un troisième aspect, l’invention propose un support non transitoire lisible par un ordinateur et stockant des instructions exécutables par un processeur pour l’exécution d’un procédé de traitement de données personnelles tel que défini précédemment. Un support tangible ou non transitoire peut comprendre un support de stockage tel qu’un lecteur de disque dur, un dispositif de bande magnétique ou un dispositif de mémoire à semi-conducteurs et analogues. Au moins une partie des procédés selon l’invention peut être mise en œuvre par ordinateur. En conséquence, la présente invention peut prendre la forme d’un mode de réalisation entièrement matériel, d’un mode de réalisation entièrement logiciel (comportant les microprogrammes, les logiciels résidents, les microcodes, etc.) ou d’un mode de réalisation combinant des aspects logiciels et matériels qui peuvent tous être globalement appelés ici "module". Selon un quatrième aspect, l’invention propose un système de traitement de données personnelles comprenant : - un module de stockage de données stockant une base de données personnelles de référence chiffrées de manière homomorphe sous la forme de cryptogrammes de référence dans un groupe muni d’une première opération et d’une deuxième opération, et - un module de traitement de données configuré pour déterminer dans le domaine chiffré, pour chaque donnée personnelle de référence de la base, une distance entre une même donnée personnelle candidate et ladite donnée personnelle de référence, où : - la première opération est une addition et la deuxième opération est une multiplication, - pour tout allant de 1 à , la donnée personnelle de référence de rang est un vecteur de composantes ayant des indices respectifs allant de 1 à , - pour tout allant de 1 à , le cryptogramme de référence de rang est un vecteur de composantes ayant des indices respectifs allant de 1 à , et - la donnée personnelle candidate est un vecteur de composantes ayant des indices respectifs allant de 1 à , - avec , et des entiers naturels strictement supérieurs à 1, le système étant caractérisé en ce que : - pour tout allant de 1 à et pour tout allant de 1 à , le cryptogramme de référence de rang , est l’image, par une fonction de chiffrement d’un schéma cryptographique homomorphe, de la concaténation des composantes d’indice de chaque donnée personnelle de référence ayant un rang compris entre et , - pour tout allant de 1 à , la détermination dans le domaine chiffré, par le module de traitement de données, des distances entre la donnée personnelle candidate et chaque donnée personnelle de référence ayant un rang compris entre et , comprend: a) pour tout allant de 1 à , l’obtention d’un cryptogramme intermédiaire de rang sous la forme d’un vecteur de composantes, en appliquant un produit de Hadamard entre le cryptogramme de référence de rang et un cryptogramme candidat de rang , le cryptogramme candidat de rang étant l’image par la fonction de chiffrement, de la concaténation de composantes ayant chacune la valeur de la composante d’indice de la donnée personnelle candidate, b) l’obtention d’un cryptogramme final de rang sous la forme d’un vecteur de composantes, en appliquant une addition vectorielle entre les cryptogrammes intermédiaires obtenus, - la distance entre la donnée personnelle candidate et une donnée personnelle de référence de rang étant l’antécédent par la fonction de chiffrement de la composante d’indice , du cryptogramme final de rang . Ce système de traitement de données personnelles peut comprendre en outre une interface d’acquisition configurée pour acquérir la donnée personnelle candidate. Selon un mode d’implémentation, les données personnelles sont des données biométriques et le système comprend un moyen d’acquisition biométrique pour l’obtention de la donnée personnelle candidate. De préférence, le module de traitement de données est dotée de capacité de parallélisme, par exemple le module de traitement de données est selon une architecture SIMD, permettant à une même opération d’être réalisée sur données. Selon un mode d’implémentation, quand le schéma cryptographique homomorphe est le schéma Brakerski-Fan-Vercauteren, et ont de préférence la même valeur, quand le schéma cryptographique homomorphe est le schéma Cheon-Kim-Kim-Song, a de préférence pour valeur . Ce système peut être configuré pour la mise en œuvre de chacune des possibilités de réalisation envisagées pour le procédé de traitement de données personnelles tel que défini précédemment. Bien entendu, les différentes caractéristiques, variantes et formes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres. D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux figures annexées qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures: représente schématiquement un mode de réalisation préféré d’un système pour la mise en œuvre d’un procédé selon l’invention ; illustre les étapes d’un mode de réalisation d’un procédé de traitement de données personnelles, selon l’invention. En référence à la , on a représenté schématiquement un système de traitement de données personnelles pour l’identification d’individus. Le système 1 met typiquement en œuvre une identification d’un individu candidat, c’est-à-dire compare une donnée personnelle candidate (fraichement acquise sur l’individu candidat), à toutes les données personnelles de référence d’une base, afin de déterminer l’identité de l’individu candidat. Par donnée personnelle candidate, on entend ici une donnée personnelle destinée à être acquise de manière contrôlée et volontaire par une interface d’acquisition, par exemple à l’aide d’un moyen d’acquisition biométrique, d’une interface utilisateur ou par lecture optique. La donnée personnelle candidate est un vecteur de composantes ayant des indices respectifs allant de 1 à , avec un entier naturel strictement supérieur à 1. La base contient données personnelles de référence, avec un entier naturel strictement supérieur à 1, et pour tout allant de 1 à , la donnée personnelle de référence de rang dans la base, est un vecteur de composantes ayant des indices respectifs allant de 1 à . Par donnée personnelle, on entend en particulier une donnée biométrique (et on prendra cet exemple dans la suite de la présente description), mais on comprendra qu’il peut s’agir de toute donnée propre à un individu sur la base de laquelle on peut identifier un utilisateur, comme une donnée alphanumérique, une signature, etc. Ce système 1 est un équipement détenu et contrôlé par une entité auprès de qui l’identification doit être effectuée, par exemple une entité gouvernementale, douanière, une société, etc. Dans la suite de la présente description on prendra l’exemple d’un aéroport, le système 1 visant typiquement à contrôler l’accès des passagers d’un vol avant leur embarquement. Le système 1 comporte un module de traitement de données 11, c’est à dire un calculateur tel que par exemple un processeur, un microprocesseur, un contrôleur, un microcontrôleur, un FPGA etc. Ce calculateur est configuré pour exécuter des instructions de code pour mettre en œuvre certaines étapes du procédé de traitement de données personnelles qui sera présenté ci-après. De préférence, le module de traitement de données 11 est dotée de capacité de parallélisme, par exemple le module de traitement de données 11 est selon une architecture SIMD, permettant à une même opération d’être réalisée sur données, étant un entier naturel strictement supérieur à 1. Le système 1 comprend également un module de stockage de données 12 (une mémoire, par exemple un disque dur ou une mémoire flash) et le cas échéant, une interface utilisateur 13 (typiquement un écran et/ou un clavier) et/ou des moyens d’acquisition biométrique 14 (voir plus loin). Dans le mode de réalisation préféré biométrique, le système 1 est capable de générer une donnée biométrique dite candidate à partir d’un trait biométrique d’un individu. Le trait biométrique peut par exemple être la forme du visage, une ou plusieurs empreintes digitales, ou un ou plusieurs iris de l’individu. L’extraction de la donnée biométrique est mise en œuvre 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, l’extraction de la donnée biométrique peut comprendre une extraction (en particulier par un réseau de neurones) d’un vecteur représentatif de points particuliers, ou d’une forme du visage dans le cas où l’image est une image du visage de l’individu. Les moyens d’acquisition biométrique 14 consistent à ce titre typiquement en un capteur d’image, par exemple un appareil photographique numérique ou une caméra numérique, adapté pour acquérir au moins une image d’un trait biométrique d’un individu, voir plus loin. De manière générale, on aura toujours une donnée personnelle candidate et au moins une donnée personnelle de référence à comparer, si on utilise des données personnelles alphanumériques, la donnée candidate peut-être tout simplement saisie sur l’interface utilisateur 13 ou par exemple être obtenue par lecture optique à partir d’une image. Le module de stockage de données 12 stocke une base de données personnelles de référence, c’est-à-dire au moins une donnée personnelle « attendue » d’un individu autorisé, par exemple les passagers enregistrés pour le vol. Chaque donnée personnelle de référence est avantageusement une donnée enregistrée dans un document d’identité de l’individu. Par exemple, la donnée personnelle peut être la donnée biométrique obtenue à partir d’une image du visage figurant sur un document d’identité (par exemple un passeport), ou encore d’une image du visage, d’au moins une empreinte digitale, ou d’au moins un iris de l’individu enregistré dans une puce radiofréquence contenue dans le document. Chaque donnée personnelle de référence est stockée chiffrée de manière homomorphe, c’est-à-dire selon un schéma cryptographique homomorphe. On pourra utiliser n’importe quel schéma cryptographique homomorphe présentant les propriétés demandées, par exemple le schéma Brakerski-Fan-Vercauteren (BFV) ou le schéma Cheon-Kim-Kim-Song (CKKS). On suppose que la base de données personnelles de référence est constituée en avance. Par exemple, les passagers peuvent avoir présenté en amont leur document d’identité. Le cas échéant, le système 1 peut également comprendre un module d’enrôlement 20, une autre interface utilisateur 23 (typiquement un écran et/ou un clavier), et/ou d’autres moyens d’acquisition biométrique 24 et/ou un lecteur de document 26 pour constituer la base de données personnelles de référence. Le module d’enrôlement 20 est un autre calculateur, configuré pour exécuter des instructions de code pour mettre en œuvre certaines étapes du procédé de traitement de données personnelles qui sera présenté ci-après. Les informations fournies à propos des moyens d’acquisition biométrique 14, s’appliquent aux autres moyens d’acquisition biométrique 24. Lesdits autres moyens d’acquisition biométrique 24 permettent l’obtention d’au moins une donnée biométrique de référence. Généralement, une donnée biométrique de référence est générée par le module d’enrôlement 20 à partir d’un trait biométrique fourni par un des autres moyens d’acquisition biométrique 24, mais les autres moyens d’acquisition biométrique 24 peuvent comprendre leurs propres moyens de traitement pour extraire la donnée biométrique de référence. Un tel autre moyen d’acquisition biométrique peut le cas échéant chiffrer à la volée la donnée biométrique de référence par application d’une fonction de chiffrement du schéma cryptographique homomorphe sous la forme d’un cryptogramme de référence (voir le procédé décrit ci-après). Selon une autre possibilité, le module d’enrôlement 20 peut chiffrer la donnée biométrique de référence par application d’une fonction de chiffrement du schéma cryptographique homomorphe sous la forme d’un cryptogramme de référence. Le lecteur de document 26 est typiquement un capteur d’image, tel que par exemple un appareil photographique numérique ou une caméra numérique, adapté pour acquérir une image d’un document d’identité (par exemple un passeport), et/ou un moyen de communication de type contact ou de type sans contact (par exemple NFC, UHF, etc…) adapté pour lire le contenu d’une puce d’un document d’identité. Le lecteur de document 26 permet l’obtention d’une donnée personnelle de référence depuis un document d’identité d’un individu. Si on utilise des données personnelles alphanumériques, la donnée personnelle de référence peut-être tout simplement saisie sur l’autre interface utilisateur 23 ou par exemple être obtenue par lecture optique à partir d’une image. Le système 1 peut être disposé localement (par exemple dans l’aéroport), mais peut être séparé en un voire plusieurs serveurs distants de type « cloud » hébergeant le module de traitement de données 11, le module de stockage de données 12 et le module d’enrôlement 20, le module de traitement de données 11 étant connecté aux moyens d’acquisition biométrique 14 qui eux doivent nécessairement rester sur site (typiquement au niveau de la porte d’embarquement pour du contrôle à l’embarquement). Dans l’exemple de la , le module d’enrôlement 20 et le module de stockage de données 12 sont distants. Quand plusieurs serveurs distants de type « cloud » hébergent le module de traitement de données 11, le module de stockage de données 12 et le module d’enrôlement 20, la communication entre les serveurs peut être filaire ou sans fil, et utilise un protocole de communication quelconque (Wi-Fi, Bluetooth, etc.). L’interface utilisateur 13 et les moyens d’acquisition biométrique 14 sont connectés au module de traitement de données 11 par des moyens de connections de types quelconques, filaire ou non (Wi-Fi, Bluetooth, Ethernet, USB, etc.). L’autre interface utilisateur 23, les autres moyens d’acquisition biométrique 24 et le lecteur de document 26 sont connectés au module d’enrôlement 20 par des moyens de connections de types quelconques, filaire ou non (Wi-Fi, Bluetooth, Ethernet, USB, etc.). Le système 1 met en œuvre une identification de l’individu, c’est-à-dire compare la donnée personnelle dite candidate (fraichement acquise sur l’individu dans le cas d’une donnée biométrique, ou sinon simplement demandée à l’individu si c’est une donnée alphanumérique par exemple), à toutes les données personnelles de référence de ladite base, afin de déterminer l’identité de l’individu. Le système 1 peut enfin comprendre des moyens de contrôle d’accès (par exemple une porte automatique P dans la ) commandés en fonction du résultat de l’identification : si un utilisateur autorisé est reconnu, l’accès est autorisé. Lesdits moyens d’acquisition biométrique 14 peuvent être directement montés sur lesdits moyens de contrôle d’accès. Les moyens d’acquisition biométrique 14 permettent l’obtention d’une donnée biométrique candidate. Généralement, la donnée biométrique candidate est générée par le module de traitement de données 11 à partir d’un trait biométrique fourni par les moyens d’acquisition biométrique 14, mais les moyens d’acquisition biométrique 14 peuvent comprendre leurs propres moyens de traitement et par exemple prendre la forme d’un dispositif automatique fourni par les autorités de contrôle (dans l’aéroport) pour extraire la donnée biométrique candidate. Un tel moyen d’acquisition biométrique peut le cas échéant chiffrer à la volée la donnée biométrique candidate par application d’une fonction de chiffrement du schéma cryptographique homomorphe sous la forme de cryptogrammes candidats (voir le procédé décrit ci-après). Ainsi, les données biométriques candidates sont elles aussi complètement protégées. Selon une autre possibilité, le module de traitement de données 11 peut chiffrer la donnée biométrique candidate par application d’une fonction de chiffrement du schéma cryptographique homomorphe sous la forme de cryptogrammes candidats. De façon préférée les moyens d’acquisition biométrique 14 sont capables de détecter le vivant, de sorte à s’assurer que la donnée biométrique candidate est issue d’un trait « réel ». Dans le cas où les moyens d’acquisition biométrique 14 et le reste du système sont distants, la communication entre les deux peut être elle-même chiffrée. La mise en œuvre de la comparaison comprend le calcul d’une distance entre les données. La distance entre les données comprend avantageusement le calcul d’un produit scalaire. Ce type de comparaison et ce type de distance sont connus de l’Homme du Métier et ne seront pas décrits plus en détails. L’individu est identifié si la comparaison révèle un taux de similarité entre la donnée personnelle candidate et une donnée personnelle de référence excédant un certain seuil, dont la définition dépend du type de données personnelles. La illustre les étapes d’un mode de réalisation d’un procédé de traitement de données personnelles, selon l’invention. Ce procédé est ici mis en œuvre par le système 1 et détermine dans le domaine chiffré, pour chaque donnée personnelle de référence d’une base, une distance entre une même donnée personnelle candidate et ladite donnée personnelle de référence. La distance entre une donnée personnelle candidate et une donnée personnelle de référence est ici le produit scalaire de la donnée personnelle candidate par ladite donnée personnelle de référence. La donnée personnelle candidate est un vecteur de composantes ayant des indices respectifs allant de 1 à , avec un entier naturel strictement supérieur à 1. Comme expliqué, la base de données personnelles de référence peut avoir été constituée en avance. Le système 1 stocke une base de données personnelles de référence chiffrées de manière homomorphe sous la forme de cryptogrammes de référence dans un groupe muni d’une première opération et d’une deuxième opération, la première opération étant une addition et la deuxième opération étant une multiplication, avec et des entiers naturels strictement supérieurs à 1. Chaque donnée personnelle de référence, des données personnelles de référence, est donc stockée chiffrée de manière homomorphe, typiquement par le module stockage de données 12. Pour tout allant de 1 à , la donnée personnelle de référence de rang est un vecteur de composantes ayant des indices respectifs allant de 1 à . Pour tout allant de 1 à , le cryptogramme de référence de rang est un vecteur de composantes ayant des indices respectifs allant de 1 à . Comme l’on verra, l’invention se distingue en ce que pour tout allant de 1 à , c’est-à-dire pour tout allant de 1 à la partie entière supérieure de , et pour tout allant de 1 à , le cryptogramme de référence de rang , est l’image par une fonction de chiffrement d’un schéma cryptographique homomorphe, de la concaténation des composantes d’indice de chaque donnée personnelle de référence ayant un rang compris entre et , c’est-à-dire les rangs et inclus. Selon une autre possibilité, la base de données personnelles de référence peut ne pas avoir été constituée en avance. A ce titre, en référence à la figure 2, le procédé peut commencer par une étape (étape E102) d’obtention des cryptogrammes de référence , pendant laquelle pour tout allant de 1 à et pour tout allant de 1 à , le cryptogramme de référence de rang est obtenu par application de la fonction de chiffrement, à la concaténation des composantes d’indice j de chaque donnée personnelle de référence ayant un rang compris entre et . Typiquement, le cryptogramme de référence de rang est calculé comme suit : avec ENC la fonction de chiffrement du schéma cryptographique homomorphe. Pour tout allant de 1 à , on a : . Quand pour une valeur de , il n’y a pas données personnelles de référence ayant un rang compris entre et , le cryptogramme de référence de rang est obtenu par application de la fonction de chiffrement, à la concaténation : - des composantes d’indice de chaque donnée personnelle de référence ayant un rang compris entre et , et - d’une donnée quelconque ayant le même format qu’une composante de donnée personnelle pour chacun des autres rangs compris entre et . Par exemple, s’il y a des données personnelles de référence pour tous les rangs compris entre et , mais pas de données personnelles de référence pour les rangs et , le cryptogramme de référence de rang est calculé comme suit : avec ENC la fonction de chiffrement du schéma cryptographique homomorphe, une première donnée quelconque ayant le même format qu’une composante de donnée personnelle et une deuxième donnée quelconque ayant le même format qu’une composante de donnée personnelle. Cette étape est typiquement mise en œuvre par le module d’enrôlement 20. Ainsi cette étape peut comprendre en outre, la transmission au module de stockage de données 12 depuis le module d’enrôlement 20, des cryptogrammes de référence obtenus. Le module de stockage de données 12 stocke les cryptogrammes de référence . Les cryptogrammes de référence constituent la représentation chiffrée de manière homomorphe des données personnelles de référence L’étape (étape E102) d’obtention des cryptogrammes de référence peut également comprendre l’obtention des données personnelles de référence. Dans ce cas, selon un premier exemple avantageux, chaque donnée personnelle de référence peut être obtenue à partir d’une donnée enregistrée dans un document d’identité d’un individu de référence, typiquement par le lecteur de document 26, à partir d’une image du visage figurant sur un document d’identité (par exemple un passeport), ou encore d’une image du visage ou d’au moins un iris ou d’au moins une empreinte digitale de l’individu enregistré dans une puce radiofréquence contenue dans le document d’identité. Selon un deuxième exemple, chaque donnée personnelle de référence peut être obtenue par un autre moyen d’acquisition biométrique 24, directement à partir d’un trait biométrique d’un individu de référence. Selon un troisième exemple, si on utilise des données personnelles alphanumériques, chaque donnée personnelle de référence peut-être tout simplement saisie sur l’autre interface utilisateur 23 ou par exemple obtenue par lecture optique à partir d’une image. Le procédé en lui-même commence par une étape (étape E104) d’obtention de cryptogrammes candidats , pendant laquelle pour tout allant de 1 à , un cryptogramme candidat de rang est obtenu par application de la fonction de chiffrement à la concaténation de composantes ayant chacune la valeur de la composante d’indice de la donnée personnelle candidate . Ainsi, le cryptogramme candidat de rang est l’image par la fonction de chiffrement, de la concaténation de composantes ayant chacune la valeur de la composante d’indice de la donnée personnelle candidate : . Typiquement, le cryptogramme candidat de rang est calculé comme suit : avec ENC la fonction de chiffrement du schéma cryptographique homomorphe. Pour tout p allant de 1 à , on a : . Cette étape permet l’obtention de cryptogrammes candidats. Elle est typiquement mise en œuvre par le module de traitement de données 11. Cette étape (étape E104) d’obtention de cryptogrammes candidats peut comprendre en outre l’obtention de la donnée personnelle candidate. Dans ce cas, selon un premier exemple avantageux, la donnée personnelle candidate peut être obtenue par un moyen d’acquisition biométrique 14, directement à partir d’un trait biométrique d’un individu candidat. Selon un deuxième exemple, si on utilise des données personnelles alphanumériques, la donnée personnelle candidate peut-être tout simplement saisie sur l’interface utilisateur 13 ou par exemple obtenue par lecture optique à partir d’une image. Le procédé se poursuit avec une étape (étape E106) de détermination dans le domaine chiffré des distances entre la donnée personnelle candidate et chaque donnée personnelle de référence de la base. Cette étape est typiquement mise en œuvre par le module de traitement de données 11. Pendant cette étape, pour tout allant de 1 à le système 1 met en œuvre un traitement d’indice i (traitement T106_i) pendant lequel le système 1 détermine dans le domaine chiffré les distances entre la donnée personnelle candidate et chaque donnée personnelle de référence ayant un rang compris entre et . Ledit traitement d’indice (traitement T106_i), comprend : a) pour tout allant de 1 à , l’obtention d’un cryptogramme intermédiaire de rang sous la forme d’un vecteur de composantes, en appliquant un produit de Hadamard entre le cryptogramme de référence de rang et un cryptogramme candidat de rang ; b) l’obtention d’un cryptogramme final de rang sous la forme d’un vecteur de composantes, en appliquant une addition vectorielle entre les cryptogrammes intermédiaires obtenus. Autrement dit, pendant le traitement pour un donné (traitement T106_i) - pour tout allant de 1 à et pour tout allant de 1 à : ; - pour tout allant de 1 à : . Le calcul d’une composante d’un cryptogramme intermédiaire résulte de l’application de la deuxième opération entre une composante d’un cryptogramme de référence et une composante d’un cryptogramme candidat. Le calcul d’une composante d’un cryptogramme final résulte de l’application de la première opération entre des composantes de cryptogrammes intermédiaires. L’étape (étape E106) de détermination dans le domaine chiffré des distances entre la donnée personnelle candidate et chaque donnée personnelle de référence de la base, permet donc d’obtenir cryptogrammes finaux. La distance entre la donnée personnelle candidate et une donnée personnelle de référence de rang est l’antécédent par la fonction de chiffrement de la composante d’indice , du cryptogramme final de rang : . Autrement dit : avec la distance entre la donnée personnelle candidate et la donnée personnelle de référence , c’est-à-dire ici le produit scalaire de la donnée personnelle candidate par ladite donnée personnelle de référence . Les traitements d’indice (traitement T106_i), allant de 1 à déterminent ainsi dans le domaine chiffré les distances entre la donnée personnelle candidate et chaque donnée personnelle de référence de la base. Le procédé permet de limiter les temps de calcul et l’espace mémoire consommé du système 1. Le procédé ne nécessite que application de l’addition vectorielle entre deux cryptogrammes intermédiaires, c’est-à-dire que l’application de première opération entre des composantes de vecteurs différents, et ne nécessite aucune application d’une rotation aux composantes d’un vecteur. Le procédé ne nécessite pas non plus l’application de la première opération entre des composantes d’un même vecteur. Enfin, la distance entre la donnée personnelle candidate et une donnée personnelle de référence d’un rang donné correspond à une seule et unique composante de cryptogramme final. On notera que selon une possibilité d’implémentation, tous les traitements d’indice (traitement T106_i), allant de 1 à peuvent être exécutés de façon séquentielle par le système 1. Selon une autre possibilité d’implémentation, plusieurs des traitements d’indice (traitement T106_i), allant de 1 à , peuvent être exécutés en parallèle par le système 1, par exemple au moyen d’un processeur comprenant plusieurs cœurs, chaque cœur étant configuré pour exécuter au moins un traitement de la pluralité, et/ou au moyen de plusieurs processeurs, chaque processeur étant configuré pour exécuter au moins un traitement de la pluralité. Le procédé peut comprendre en outre une étape (étape E108) de déchiffrement des cryptogrammes finaux. Le déchiffrement de chaque cryptogramme final est par application d’une fonction de déchiffrement du schéma cryptographique homomorphe, au cryptogramme final concerné ou aux composantes dudit cryptogramme final concerné. Le procédé permet ainsi d’obtenir pour chaque donnée personnelle de référence de la base, une distance en clair entre la donnée personnelle candidate et ladite donnée personnelle de référence, tout en limitant les temps de calcul et l’espace mémoire consommé. La distance entre la donnée personnelle candidate et une donnée personnelle de référence ne correspond qu’à une seule et unique composante de cryptogramme final. Le procédé ne déchiffre donc pas de composantes redondantes et/ou ne nécessite pas une sélection des composantes de cryptogrammes finaux à déchiffrer. Le procédé peut en outre se poursuivre avec une étape (étape E110) de détermination d’un résultat de contrôle, pendant laquelle le système 1 détermine si une distance entre la donnée personnelle candidate et une donnée personnelle de référence de la base ne dépasse pas un seuil prédéterminé. Dans ces conditions, le système 1, typiquement le module de traitement de données 11, peut commander dans une étape de contrôle d’accès (étape E112), une ouverture du portique P, afin de permettre à l’individu candidat d’accéder à une zone sécurisée. Cette étape (étape E110) de détermination d’un résultat de contrôle est typiquement mise en œuvre par le module de traitement de données 11. En pratique, le résultat de contrôle peut être un booléen. Le système 1 peut déterminer le résultat de contrôle à partir de distances en clairs obtenues pendant l’étape (étape E108) de déchiffrement des cryptogrammes finaux. Selon une autre possibilité, le système 1 peut déterminer le résultat de contrôle directement à partir de composantes de cryptogrammes finaux, en opérant dans le groupe du schéma cryptographique homomorphe, c’est-à-dire dans le domaine chiffré. Dans ce cas, l’étape (étape E108) de déchiffrement des cryptogrammes finaux peut être omise. Comme déjà indiqué, on pourra utiliser n’importe quel schéma cryptographique homomorphe présentant les propriétés demandées, par exemple le schéma Brakerski-Fan-Vercauteren (BFV) ou le schéma Cheon-Kim-Kim-Song (CKKS). Quand le système est doté de capacité de parallélisme, par exemple selon une architecture SIMD, permettant à une même opération d’être réalisée sur données, a de préférence pour valeur : - si le schéma cryptographique homomorphe est le schéma Brakerski-Fan-Vercauteren ; - si le schéma cryptographique homomorphe est le schéma Cheon-Kim-Kim-Song, c’est-à-dire la partie entière inférieure de . Le procédé est ainsi optimisé pour la capacité de parallélisme du système. En outre, est de préférence un multiple de . Dans ce cas, il existe un entier non nul tel que K soit égal au produit de cet entier non nul par . Les performances temporelles du procédé sont ainsi optimales, chaque composante de chaque cryptogramme de référence étant l’image par la fonction de chiffrement d’une composante d’une donnée personnelle de référence. Avantageusement, les données personnelles sont des données biométriques, en particulier des données représentatives de visages. Dans ce qui précède, il a été discuté une application particulière du procédé, dans laquelle le résultat du contrôle conditionne un accès à une zone sécurisée. Il est toutefois entendu que le procédé décrit peut être utilisé pour d’autres applications. Procédé de traitement de données personnelles mis en œuvre par un système (1) stockant une base de données personnelles de référence chiffrées de manière homomorphe sous la forme de cryptogrammes de référence dans un groupe muni d’une première opération et d’une deuxième opération, - ledit procédé comprenant la détermination (E106) dans le domaine chiffré, pour chaque donnée personnelle de référence de la base, d’une distance entre une même donnée personnelle candidate et ladite donnée personnelle de référence, et - où la première opération est une addition et la deuxième opération est une multiplication, - pour tout allant de 1 à , la donnée personnelle de référence de rang est un vecteur de composantes ayant des indices respectifs allant de 1 à , - pour tout allant de 1 à , le cryptogramme de référence de rang est un vecteur de composantes ayant des indices respectifs allant de 1 à , et - la donnée personnelle candidate est un vecteur de composantes ayant des indices respectifs allant de 1 à , - avec , et des entiers naturels strictement supérieurs à 1, ledit procédé étant caractérisé en ce que : - pour tout allant de 1 à et pour tout allant de 1 à , le cryptogramme de référence de rang , est l’image, par une fonction de chiffrement d’un schéma cryptographique homomorphe, de la concaténation des composantes d’indice de chaque donnée personnelle de référence ayant un rang compris entre et , - pour tout allant de 1 à , la détermination dans le domaine chiffré des distances entre la donnée personnelle candidate et chaque donnée personnelle de référence ayant un rang compris entre et , comprend: a) pour tout allant de 1 à , l’obtention d’un cryptogramme intermédiaire de rang sous la forme d’un vecteur de composantes, en appliquant un produit de Hadamard entre le cryptogramme de référence de rang et un cryptogramme candidat de rang , le cryptogramme candidat de rang étant l’image par la fonction de chiffrement, de la concaténation de composantes ayant chacune la valeur de la composante d’indice de la donnée personnelle candidate, b) l’obtention d’un cryptogramme final de rang sous la forme d’un vecteur de composantes, en appliquant une addition vectorielle entre les cryptogrammes intermédiaires obtenus, - la distance entre la donnée personnelle candidate et une donnée personnelle de référence de rang étant l’antécédent par la fonction de chiffrement de la composante d’indice , du cryptogramme final de rang . Procédé de traitement de données personnelles selon la revendication précédente, le procédé comprenant en outre une étape (E102) d’obtention des cryptogrammes de référence, pendant laquelle pour tout allant de 1 à et pour tout allant de 1 à , le cryptogramme de référence de rang est obtenu par application de la fonction de chiffrement, à la concaténation des composantes d’indice j de chaque donnée personnelle de référence ayant un rang compris entre et . Procédé de traitement de données personnelles selon l’une quelconque des revendications précédentes, le procédé comprenant en outre une étape (E104) d’obtention des cryptogrammes candidats, pendant laquelle pour tout allant de 1 à , le cryptogramme candidat de rang est obtenu par application de la fonction de chiffrement à la concaténation de composantes ayant chacune la valeur de la composante d’indice de la donnée personnelle candidate. Procédé de traitement de données personnelles selon l’une quelconque des revendications précédentes, dans lequel la donnée personnelle candidate est acquise à l’aide d’une interface d’acquisition (13,14). Procédé de traitement de données personnelles selon l’une quelconque des revendications précédentes, le procédé comprenant en outre une étape (E108) de déchiffrement des cryptogrammes finaux. Procédé de traitement de données personnelles selon l’une quelconque des revendications précédentes dans lequel les données personnelles sont des données biométriques, en particulier des données représentatives de visages. Procédé de traitement de données personnelles selon l’une quelconque des revendications précédentes dans lequel est un multiple de . Procédé de traitement de données personnelles selon l’une quelconque des revendications précédentes dans lequel le schéma cryptographique homomorphe est le schéma Brakerski-Fan-Vercauteren ou le schéma Cheon-Kim-Kim-Song. Programme d’ordinateur comprenant des instructions exécutables par un processeur et adaptées à mettre en œuvre un procédé de traitement de données personnelles selon l’une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par le processeur. Support non transitoire lisible par un ordinateur et stockant des instructions exécutables par un processeur pour l’exécution d’un procédé de traitement de données personnelles selon l’une quelconque des revendications 7 à 8. Système (1) de traitement de données personnelles comprenant : - un module de stockage de données (12) stockant une base de données personnelles de référence chiffrées de manière homomorphe sous la forme de cryptogrammes de référence dans un groupe muni d’une première opération et d’une deuxième opération, et - un module de traitement de données (11) configuré pour déterminer dans le domaine chiffré, pour chaque donnée personnelle de référence de la base, une distance entre une même donnée personnelle candidate et ladite donnée personnelle de référence, où : - la première opération est une addition et la deuxième opération est une multiplication, - pour tout allant de 1 à , la donnée personnelle de référence de rang est un vecteur de composantes ayant des indices respectifs allant de 1 à , - pour tout allant de 1 à , le cryptogramme de référence de rang est un vecteur de composantes ayant des indices respectifs allant de 1 à , et - la donnée personnelle candidate est un vecteur de composantes ayant des indices respectifs allant de 1 à , - avec , et des entiers naturels strictement supérieurs à 1, le système étant caractérisé en ce que : - pour tout allant de 1 à et pour tout allant de 1 à , le cryptogramme de référence de rang , est l’image, par une fonction de chiffrement d’un schéma cryptographique homomorphe, de la concaténation des composantes d’indice de chaque donnée personnelle de référence ayant un rang compris entre et , - pour tout allant de 1 à , la détermination dans le domaine chiffré, par le module de traitement de données (11), des distances entre la donnée personnelle candidate et chaque donnée personnelle de référence ayant un rang compris entre et , comprend: a) pour tout allant de 1 à , l’obtention d’un cryptogramme intermédiaire de rang sous la forme d’un vecteur de composantes, en appliquant un produit de Hadamard entre le cryptogramme de référence de rang et un cryptogramme candidat de rang , le cryptogramme candidat de rang étant l’image par la fonction de chiffrement, de la concaténation de composantes ayant chacune la valeur de la composante d’indice de la donnée personnelle candidate, b) l’obtention d’un cryptogramme final de rang sous la forme d’un vecteur de composantes, en appliquant une addition vectorielle entre les cryptogrammes intermédiaires obtenus, - la distance entre la donnée personnelle candidate et une donnée personnelle de référence de rang étant l’antécédent par la fonction de chiffrement de la composante d’indice , du cryptogramme final de rang . Système (1) de traitement de données personnelles selon la revendication précédente comprenant en outre une interface d’acquisition (13,14) configurée pour acquérir la donnée personnelle candidate.