Brevet FR3150607A1 — publié le 20250103

L’invention concerne un procédé d’identification (200) d’une personne physique, mis en œuvre par ordinateur et comprenant une étape de génération (207) d’une valeur de lien, une étape d’obtention (211) d’une valeur de vérification, associée à une valeur de lien correspondante dans une base de données d’identités , et une étape d’obtention (212), de la base de données d’identités, d’un identifiant personnel associé, dans la base de données d’identités, à la valeur de lien. Figure pour l’abrégé : figure 3 Procédé d’identification d’une personne physique L’invention concerne un procédé et un système d’identification d’une personne physique, en particulier l’identification biométrique d’une personne physique. Un procédé d’identification d’une personne physique comprend une étape de recueil d’une donnée d’identités, par exemple une empreinte biométrique fournie par capteur biométrique, et une étape de réponse par la fourniture d’un identifiant personnel, par exemple un nom, une adresse ou un chiffre, associé à cette donnée d’identités au sein d’une base de données d’identités. Un tel procédé d’identification permet ainsi à une personne physique d’être identifiée auprès de divers fournisseurs de services, tels que des marchands. Ainsi, un système d’identification comporte généralement une base de données de secrets comprenant une liste de secrets de personnes physiques respectives, par exemple des empreintes biométriques respectives, et une base de données d’identités distincte de la base de données de secret et comprenant la liste des identifiants respectifs de ces personnes physiques. La base de données de secrets est gérée par un serveur de secrets et la base de données d’identités est gérée par un serveur d’identités distinct du serveur de secrets. Dans un état de la technique, la base de données de secrets et la base de données d’identités listent les secrets et identifiants respectifs selon un index commun. Dès lors, lorsque le serveur de secret reçoit un secret, il le compare aux secrets de la base de données de secrets. Lorsqu’il identifie un secret correspondant, il transmet au serveur d’identités le numéro d’index de ce secret. Le serveur d’identités retourne alors l’identifiant ayant le même numéro d’index dans la base de données d’identités. Cette approche n’est pas sécurisée pour une utilisation en masse. En particulier, si deux personnes s’inscrivent en même temps, leurs numéros d’index respectifs risquent d’être inversés dans l’une des deux bases. Dans un autre état de la technique, une valeur numérique unique est générée lors de l’inscription de la personne physique. Elle est associée dans la base de données de secrets au secret de la personne physique et dans la base de données d’identités à l’identifiant de cette personne physique. C’est cette valeur numérique qui est envoyée par le serveur de secret au serveur d’identités. Le serveur d’identités retourne alors l’identifiant associé à la même valeur numérique dans la base de données d’identités. Cependant, cette approche est perméable aux attaques. Ainsi, un attaquant ayant accès en écriture à l’une des deux bases pourrait inverser des valeurs numériques, par exemple A et B, de deux personnes physiques. Dans un tel cas, si le serveur de secrets recueillait le secret de la personne A, le serveur d’identités retournerait l’identifiant de la personne B. Pour remédier à cela, une autre approche est proposée dans l’annexe A de la proposition de norme ISO 24745 visant la protection des données biométriques. La valeur numérique unique est remplacée, dans les bases de données de secrets et d’identités, par une valeur de lien, appelée « common identifier (CI) » dans la proposition de norme. Cette valeur de lien est calculée grâce à une fonction de hachage de type « message authentification code (MAC) », publique, prenant en entrée à la fois le secret de la personne physique et l’identifiant de cette personne physique, ainsi qu’une clef de paramétrage de la fonction. C’est cette valeur de lien qui est envoyée par le serveur de secret au serveur d’identités. Le serveur d’identités retourne alors l’identifiant associé à la même valeur de lien dans la base de données d’identités. Pour corrompre ce système, un attaquant aurait à générer cette valeur de lien. Il devrait donc avoir accès aux deux bases en écriture, ainsi qu’à la clef dédiée, ce qui rend cette attaque difficile à réaliser. Cette approche conserve cependant des inconvénients en cas d’adoption massive du système d’identification, en particulier si de nombreux fournisseurs de services souhaitent utiliser ce système et si les personnes physiques souhaitent pouvoir être identifiées auprès de plusieurs de ces fournisseurs de services. Une solution est de prévoir, pour chaque fournisseur de service, une base de données de secrets et une base de données d’identités dédiées pour les personnes physiques inscrites auprès de ce fournisseur de service. Cependant, la flotte de serveurs à implémenter et à gérer est alors coûteuse et difficile à entretenir pour le gestionnaire du système d’identification. En outre, cela impose à une personne physique de renouveler le procédé d’inscription et d’identification pour chaque fournisseur de service auprès duquel elle souhaite pouvoir être identifiée, ce qui est fastidieux. Une autre solution est de partager une seule base de données d’identités et une seule base de données de secrets des personnes physiques pour tous les fournisseurs de services, et d’y associer une table de règles de filtrage pour sélectionner les fournisseurs de services auprès desquels chaque personne physique est inscrite. Cependant, une même personne physique ne peut alors disposer de plusieurs profils distincts, elle dispose d’un seul et même profil pour tous les fournisseurs de services. De même, la révocation de l’identité auprès d’un seul fournisseur de service est impossible. En outre, si l’identité de la personne physique est compromise par un fournisseur de service, elle l’est alors pour tous les autres. De plus, la table de filtrage risque d’être exploitée commercialement, notamment pour obtenir des informations sur le comportement des personnes physiques, ce qui risque de contrevenir aux principes de respects de leurs données personnelles. Enfin, cette table de filtrage risque d’être manipulée par un attaquant malveillant. L'invention a notamment pour but de fournir un procédé et un système d’identification d’une personne physique qui, bien que mettant en œuvre des bases de données de secret et d’identités partagées par un grand nombre de fournisseurs de service, améliore la sécurité des données des personnes physiques, le respect de leurs données personnelles, permet la révocation d’identités auprès de fournisseurs de services choisis et permet la gestion de plusieurs profils pour une même personne physique. À cet effet, l’invention a pour objet un procédé d’identification d’une personne physique, mis en œuvre par ordinateur et comprenant les étapes suivantes : - obtention d’un code ; - obtention d’un secret de la personne physique ; - comparaison du secret de la personne physique à des secrets d’une base de données de secrets ; - lorsqu’un secret correspondant au secret de la personne physique dans la base de données de secrets est identifié, génération d’une valeur de lien à partir du secret et à partir du code, de préférence à partir d’une fonction de hachage associée à une clef dédiée ; - comparaison de la valeur de lien générée à des valeurs de lien d’une base de données d’identités distincte de la base de données de secrets ou à des valeurs de lien d’une base de données tampon distincte de la base de données de secrets et de la base de données d’identités ; - obtention d’une valeur de vérification associée à la valeur de lien dans la base de données d’identités, ou, la valeur de lien étant une première valeur de lien d’une chaîne de valeurs de lien dans laquelle chaque autre valeur de lien est obtenue à partir de la valeur de lien précédente, obtention d’une valeur de vérification associée à une valeur de lien de la chaîne dans la base de données d’identités ou dans une base de données tampon distincte de la base de données de secrets et de la base de données d’identités, - obtention, de la base de données d’identités, d’un identifiant personnel associé, dans la base de données d’identités, à la valeur de lien ou à une valeur de lien de la chaîne de valeurs de lien, - génération d’une valeur à vérifier à partir du secret reçu, du code reçu et de l’identifiant personnel obtenu, de préférence issue également à partir d’une fonction de hachage associée à une clef dédiée ; - comparaison de la valeur à vérifier générée à la valeur de vérification obtenue, - lorsque la valeur à vérifier générée est identique à la valeur de vérification obtenue, fourniture de l’identifiant personnel obtenu. Ce procédé améliore la sécurité de l’identification de la personne physique. En effet, ce procédé fonctionne grâce à deux valeurs, la valeur de lien et la valeur de vérification calculées et comparées à des valeurs de lien et de vérification respectives correspondantes stockées. Concernant la valeur de lien, la valeur de lien correspondante n’est pas stockée dans la base de données de secret, mais dans une base de données tampon ou dans la base de données d’identités. Une valeur de lien à comparer est générée à partir du secret obtenu et à partir d’un code, le code étant secret ou public. Ces valeurs de lien permettent de faire le lien entre le secret et le code d’une part, et la présence d’une identité enregistrée d’autre part. Elles permettent également de faire le lien avec d’éventuelles valeurs de lien suivantes d’une chaîne de valeurs de lien. Cependant ces valeurs de lien ne permettent pas de confirmer qu’un identifiant personnel de la personne physique correspond effectivement au secret obtenu. C’est pourquoi la valeur à vérifier est générée à partir du même secret, du même code, mais également à partir de l’identifiant personnel de la personne physique. Cette valeur de vérification est comparée à une valeur de vérification correspondante stockée dans la base de données d’identités ou dans une base de données tampon. Ces valeurs de vérification permettent ainsi, elles, de confirmer qu’un identifiant personnel de la personne physique correspond au secret transmis. Dès lors, l’identifiant personnel est fourni en tant que résultat du procédé. Pour corrompre le procédé et obtenir l’identifiant, un attaquant devrait donc générer à la fois la valeur de lien, voire les valeurs de lien suivantes, et la valeur à vérifier, ce qui est difficile. Ce procédé permet la gestion de différents profils d’un même utilisateur, grâce au code : pour un même secret, l’utilisateur peut associer un autre identifiant, par exemple une autre adresse, à un autre code. À l’inverse, pour un même identifiant, l’utilisateur peut associer un autre secret à un autre code. Une même personne physique peut donc disposer de plusieurs secrets pour un même identifiant et de plusieurs identifiants pour un même secret. Il découle de cette gestion de profils que ce procédé permet la révocation d’une identité auprès d’un seul fournisseur de service sans la révoquer auprès des autres. En effet, en associant chaque code à un fournisseur de service, il est possible de détruire un profil correspondant à ce code, tout en conservant, pour la même personne physique, les profils associés à d’autres codes. Il découle également de cette gestion de profil que ce procédé améliore le respect des données personnelles des utilisateurs. En effet, en utilisant des codes différents les uns des autres pour une même personne physique, il n’est plus nécessaire de disposer d’une table de filtrage pour associer une personne physique à des fournisseurs de services différents, il suffit de créer un profil pour chaque fournisseur de service en y associant un code propre. Suivent d’autres caractéristiques optionnelles de procédé, prises seules ou en combinaison. Avantageusement, le procédé étant un procédé d’identification biométrique, le secret est relatif à une empreinte biométrique de la personne physique, en particulier le secret est une valeur hachée d’une empreinte biométrique de la personne physique, la base de données de secrets est une base de données biométriques comprenant des empreintes biométriques de personnes physiques. De préférence, le code est : - relatif à un mot de passe fourni par la personne physique, en particulier le code comprend une valeur hachée d’un mot de passe fourni par la personne physique au serveur de secret ; et/ou - relatif à une entité, telle qu’un marchand auprès de laquelle la personne physique réalise son identification, en particulier le code comprend une valeur publique d’identification de l’entité connue par le serveur de secret. Ainsi, le code est soit fourni par la personne physique et connu de lui seul, soit publiquement connu, par exemple rattaché à un marchand. Le code du procédé peut donc être utilisé de plusieurs manières. Avantageusement, le procédé comprend les étapes suivantes, lorsque la valeur de lien est une première valeur de lien d’une chaîne de valeurs de lien dans laquelle chaque autre valeur de lien est obtenue à partir de la valeur de lien précédente : - au préalable, génération d’une première valeur d’historique, d’une chaîne de valeurs d’historique, à partir de la première valeur de lien, - lorsqu’une valeur de lien correspondante à la première valeur de lien générée est identifiée dans la base de données tampon, génération d’une valeur de lien suivante, optionnellement dernière valeur de lien, de la chaîne de valeurs de lien, à partir du secret, du code et de la première valeur d’historique, de préférence également à partir d’une fonction de hachage associée à une clef dédiée, et génération d’une valeur suivante d’historique à partir de la valeur de lien suivante et de la première valeur d’historique, de préférence également à partir d’une fonction à sens unique associée à une clef dédiée, - optionnellement, comparaison de la valeur de lien suivante à des valeurs de lien d’une base de données tampon suivante distincte de la base de données tampon, et génération d’une valeur de lien suivante et d’une valeur d’historique suivante, ces étapes de comparaison et de génération étant renouvelées jusqu’à la génération d’une dernière valeur de lien de la chaine de valeurs de lien, - pour obtenir l’identifiant personnel associé dans la base de données d’identités, comparaison de la dernière valeur de lien de la chaîne de valeurs de lien à des valeurs de lien de la base de données d’identités. Ainsi, les bases de données sont « chaînées » les unes aux autres, à travers une ou plusieurs bases de données tampon, grâce aux chaînes de valeurs de lien calculées chacune grâce à la valeur de lien précédente de la chaîne. Un attaquant devrait donc avoir accès à chacune des bases de données tampon pour corrompre le procédé. En outre, plutôt que de simplement déterminer une valeur de lien suivante sur la base de la valeur de lien précédente, on calcule la valeur d’historique, qui elle est basée sur la valeur de lien précédente, et on calcule la valeur de lien suivante sur la base de cette valeur d’historique. Les valeurs d’historique n’étant pas stockées dans les bases de données, il est impossible de retrouver la valeur de lien suivante sans recalculer chaque valeur successivement grâce aux précédentes. En d’autres termes, le fait de chaîner les valeurs de lien grâce à une valeur d’historique améliore donc encore plus la sécurité du procédé. On prévoit également selon l’invention un procédé d’inscription d’une personne physique à un système d’identification, mis en œuvre par ordinateur et comprenant les étapes suivantes : - obtention d’un code ; - obtention d’un secret de la personne physique ; - comparaison du secret de la personne physique à des secrets d’une base de données de secrets ; - lorsqu’aucun secret de la base de données ne correspond au secret de la personne physique, génération d’une valeur de lien propre à la personne physique, à partir du secret de la personne physique et du code, de préférence à partir d’une fonction de hachage associée à une clef dédiée ; - stockage, dans la base de données de secrets, du secret de la personne physique, sans stocker ni la valeur de lien ni le code ; - génération, suite à une réception de ce code et de ce secret, d’un identifiant personnel de la personne physique ; - génération d’une valeur de vérification à partir du secret reçu, du code reçu et de l’identifiant personnel généré, de préférence également à partir d’une fonction de hachage associée à une clef dédiée ; - stockage, dans une base de données d’identités, de l’identifiant personnel de la personne physique associé à la valeur de lien et à la valeur de vérification, ou, la valeur de lien étant une première valeur de lien d’une chaîne de valeurs de lien dans laquelle chaque valeur de lien est obtenue à partir de la précédente, stockage, dans la base de données d’identités de l’identifiant personnel associé à la dernière valeur de lien de la chaîne, et stockage de la valeur de vérification, dans la base de données d’identités et associée à l’identifiant personnel ou dans une base de données tampon, distincte de la base de données de secret et de la base de données d’identités, associée à une valeur de lien de la chaîne. On prévoit également selon l’invention un système d’identification d’une personne physique, comportant : - une base de données de secrets comprenant des secrets de personnes physiques, et - une base de données d’identités comprenant des identifiants personnels respectifs de ces personnes physiques, la base de données d’identités associant à chaque identifiant personnel d’une personne physique une valeur de lien, - des moyens automatisés configurés pour : * comparer un secret reçu d’une personne physique aux secrets de la base de données de secrets et, un secret correspondant de la personne physique étant identifié, pour générer une valeur de lien à partir du secret de la personne physique et à partir d’un code, de préférence à partir d’une fonction de hachage associée à une clef dédiée, * comparer la valeur de lien reçue à des valeurs de liens d’une base de données d’identités ou à des valeurs de lien d’une base de données tampon distincte de la base de données de secrets et de la base de données d’identités ; * obtenir une valeur de vérification associée à une valeur de lien dans la base de données d’identités ou, la valeur de lien étant une première valeur de lien d’une chaîne de valeurs de lien dans laquelle chaque autre valeur de lien est obtenue à partir de la valeur de lien précédente, obtenir une valeur de vérification associée à une valeur de lien de la chaîne dans la base de données d’identités ou dans une base de données tampon distincte de la base de données de secrets et de la base de données d’identités, * obtenir, de la base de données d’identités, un identifiant personnel associé, dans la base de données d’identités, à la valeur de lien ou à une valeur de lien de la chaîne de valeurs de lien, * obtenir une valeur à vérifier à partir du secret reçu, du code reçu et de l’identifiant personnel obtenu, de préférence issue également d’une fonction de hachage associée à une clef dédiée, * comparer la valeur à vérifier générée à la valeur de vérification obtenue, et lorsque la valeur à vérifier générée est identique à la valeur de vérification obtenue, indiquer que l’identifiant personnel obtenu correspond au secret reçu de la personne physique. Avantageusement, le système comprend : - au moins une base de données tampon, distincte de la base de secrets et de la base d’identités, comprenant des valeurs de liens, - des moyens automatisés configurés pour : *recevoir la valeur de lien, le code et le secret, *comparer la valeur de lien reçue aux valeurs de lien de la base de données tampon, et, lorsqu’il identifie une valeur de lien correspondante, pour générer une valeur de lien suivante de la chaîne de valeurs de lien à partir de la valeur de lien, * transmettre la valeur de lien suivante, le code et le secret. On prévoit également, selon l’invention, un système de traitement de données comprenant un processeur configuré pour mettre en œuvre les étapes du procédé d’identification décrit plus haut ou du procédé d’inscription décrit plus haut. On prévoit également, selon l’invention, un programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé d’identification décrit plus haut ou du procédé d’inscription décrit plus haut. On prévoit également, selon l’invention, un support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé d’identification décrit plus haut ou du procédé d’inscription décrit plus haut. L’invention a également pour objet un procédé d’identification d’une personne physique, mis en œuvre par ordinateur et comprenant les étapes suivantes : - obtention d’un code ; - obtention d’un secret de la personne physique ; - comparaison du secret de la personne physique à des secrets d’une base de données de secrets ; - lorsqu’un secret correspondant au secret de la personne physique dans la base de données de secrets est identifié, génération d’une valeur de lien à partir du secret et à partir du code, de préférence à partir d’une fonction de hachage associée à une clef dédiée ; - comparaison de la valeur de lien générée à des valeurs de liens d’une base de données d’identités distincte de la base de données de secrets ; - obtention d’une valeur de vérification associée à la valeur de lien dans la base de données d’identités ; - obtention, de la base de données d’identités, d’un identifiant personnel associé, dans la base de données d’identités, à la valeur de lien, - génération d’une valeur à vérifier à partir du secret reçu, du code reçu et de l’identifiant personnel obtenu, de préférence issue également d’une fonction de hachage associée à une clef dédiée ; - comparaison de la valeur à vérifier générée à la valeur de vérification obtenue, - lorsque la valeur à vérifier générée est identique à la valeur de vérification obtenue, fourniture de l’identifiant personnel obtenu. L’invention a également pour objet un procédé d’identification d’une personne physique, mis en œuvre par ordinateur et comprenant les étapes suivantes : - obtention d’un code ; - obtention d’un secret de la personne physique ; - comparaison du secret de la personne physique à des secrets d’une base de données de secrets ; - lorsqu’un secret correspondant au secret de la personne physique dans la base de données de secrets est identifié, génération d’une valeur de lien à partir du secret et à partir du code, de préférence également à partir d’une fonction de hachage associée à une clef dédiée ; - comparaison de la valeur de lien générée à des valeurs de liens d’une base de données tampon distincte de la base de données de secrets, - la valeur de lien étant une première valeur d’une chaîne de valeurs de liens dans laquelle chaque autre valeur de lien est obtenue à partir de la valeur de lien précédente, obtention d’une valeur de vérification associée à une valeur de lien de la chaîne dans une base de données d’identités distincte de la base de données de secret et de la base de données tampon, - obtention, de la base de données d’identités, d’un identifiant personnel associé, dans la base de données d’identités, à la valeur de lien de la chaîne, - génération d’une valeur à vérifier à partir du secret reçu, du code reçu et de l’identifiant personnel obtenu, de préférence issue également d’une fonction de hachage associée à une clef dédiée ; - comparaison de la valeur à vérifier générée à la valeur de vérification obtenue, - lorsque la valeur à vérifier générée est identique à la valeur de vérification obtenue, fourniture de l’identifiant personnel obtenu. L’invention a également pour objet un procédé d’identification d’une personne physique, mis en œuvre par ordinateur et comprenant les étapes suivantes : - obtention d’un code ; - obtention d’un secret de la personne physique ; - comparaison du secret de la personne physique à des secrets d’une base de données de secrets ; - lorsqu’un secret correspondant au secret de la personne physique dans la base de données de secrets est identifié, génération d’une valeur de lien à partir du secret et à partir du code, de préférence à partir d’une fonction de hachage associée à une clef dédiée ; - comparaison de la valeur de lien générée à des valeurs de lien à des valeurs de lien d’une base de données tampon distincte de la base de données de secrets ; - la valeur de lien étant une première valeur de lien d’une chaîne de valeurs de lien dans laquelle chaque autre valeur de lien est obtenue à partir de la valeur de lien précédente, obtention d’une valeur de vérification associée à une valeur de lien de la chaîne dans la base de données tampon ou dans une base de données tampon distincte, - obtention, de la base de données d’identités, d’un identifiant personnel associé, dans la base de données d’identités, à une valeur de lien de la chaîne de valeurs de lien, - génération d’une valeur à vérifier à partir du secret reçu, du code reçu et de l’identifiant personnel obtenu, de préférence issue également à partir d’une fonction de hachage associée à une clef dédiée ; - comparaison de la valeur à vérifier générée à la valeur de vérification obtenue, - lorsque la valeur à vérifier générée est identique à la valeur de vérification obtenue, fourniture de l’identifiant personnel obtenu. On prévoit également selon l’invention un système d’identification d’une personne physique, comportant : - une base de données de secrets comprenant des secrets de personnes physiques, - une base de données d’identités comprenant des identifiants personnels respectifs de ces personnes physiques, la base de données d’identités associant à chaque identifiant personnel d’une personne physique une valeur de lien, - un serveur de secret configuré pour comparer un secret reçu d’une personne physique aux secrets de la base de données de secrets et, lorsqu’il identifie un secret correspondant de la personne physique, pour générer une valeur de lien à partir du secret de la personne physique et à partir d’un code, de préférence à partir d’une fonction de hachage associée à une clef dédiée, le serveur de secret étant également configuré pour transmettre la valeur de lien, le code et le secret à un serveur d’identités ou à un serveur tampon, - un serveur d’identités configuré pour comparer la valeur de lien reçue à des valeurs de liens de la base de données d’identités, le serveur d’identités étant également configuré pour obtenir une valeur de vérification associée à une valeur de lien dans la base de données d’identités, ou pour obtenir une valeur de vérification transmise par le serveur tampon ou par un autre serveur tampon, le serveur d’identités étant également configuré pour obtenir, de la base de données d’identités, un identifiant personnel associé, dans la base de données d’identités, à la valeur de lien ou, la valeur de lien étant une première valeur de lien d’une chaine de valeurs de lien dans laquelle chaque valeur est obtenue à partir de la valeur de lien précédente, associé à une valeur de lien de la chaîne transmise par le serveur tampon ou par un serveur tampon suivant, le serveur d’identités étant également configuré pour obtenir une valeur à vérifier à partir du secret reçu, du code reçu et de l’identifiant personnel obtenu, de préférence issue également d’une fonction de hachage associée à une clef dédiée, le serveur d’identités étant également configuré pour comparer la valeur à vérifier générée à la valeur de vérification obtenue, et lorsque la valeur à vérifier générée est identique à la valeur de vérification obtenue, pour indiquer que l’identifiant personnel obtenu correspond au secret reçu de la personne physique. Brève description des figures L'invention sera mieux comprise à la lecture de la description qui va suivre donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels : est un schéma d’un système d’identification biométrique selon un premier mode de réalisation de l’invention ; est un logigramme d’un procédé d’inscription d’une personne physique au système d’identification de la ; est un logigramme d’un procédé d’identification biométrique d’une personne physique par le système d’identification de la , selon un premier mode de mise en œuvre ; est un schéma d’un système d’identification biométrique selon un deuxième mode de réalisation de l’invention ; est un logigramme d’un procédé d’inscription d’une personne physique au système d’identification de la ; est un logigramme d’un procédé d’identification biométrique d’une personne physique par le système d’identification de la ; est un schéma d’un système d’identification biométrique selon un troisième mode de réalisation de l’invention ; est un logigramme d’un procédé d’inscription d’une personne physique au système d’identification de la ; est un logigramme d’un procédé d’identification biométrique d’une personne physique par le système d’identification de la , est un schéma d’un système d’identification biométrique selon un quatrième mode de réalisation de l’invention ; est un logigramme d’un procédé d’inscription d’une personne physique au système d’identification de la ; est un logigramme d’un procédé d’identification biométrique d’une personne physique par le système d’identification de la . Description détaillée Par « base de données », on désignera toute collection organisée d’informations structurées, stockées électroniquement dans un système informatique de manière sécurisée. On désignera par « serveur » tout programme dédié à une série de tâches informatiques qui seront précisées, et qui ont accès à une base de données strictement identifiée. Dans l’invention décrite ci-dessous, à chaque serveur est associée une base de données. On parlera de paire « serveur-base ». Un serveur peut stocker des données dans sa base, accéder à ces données, effectuer des calculs sur la base de ces données. Un serveur peut également recevoir des données extérieures et ne pas les stocker, et effectuer des calculs à partir de ces données extérieures. Un serveur peut enfin transmettre des données ou des résultats de calcul. Deux serveurs décrits comme distincts l’un de l’autre ne peuvent pas opérer sur leurs bases de données mutuelles. Ils peuvent en revanche se transmettre des données. Chaque paire serveur-base est mise en œuvre sur un dispositif informatique propre. Ce dispositif est muni des composants informatiques conventionnels permettant de stocker la base de données et de faire fonctionner le serveur. Chaque dispositif est matériellement isolé des autres dispositifs informatiques. Alternativement, un même dispositif informatique peut présenter plusieurs serveurs. Il est cependant nécessaire de séparer sur le plan logiciel ces serveurs décrits comme distincts. On a représenté sur la un premier mode de réalisation d’un système d’identification biométrique 2 selon l’invention. Ce système comprend une base de données 4 appelée « base de données biométriques » comprenant des empreintes biométriques T de personnes physiques. Le système 2 comprend également une base de données 6 appelée « base de données d’identités » comprenant des identifiants personnels ID respectifs de ces personnes physiques, la base de données d’identités associant à chaque identifiant personnel d’une personne physique une valeur appelée « valeur de lien » LID base . En d’autres termes, dans une table illustrant la base de données d’identités, à chaque identifiant ID correspond une valeur alphanumérique qu’on appelle « valeur de lien » LID base et qui sera décrite plus bas. Elle sera comparée à des valeurs de lien LID calculées lors du procédé d’identification décrit plus bas. La base de données d’identités associe également à chacune de ces paires de valeur une « valeur de vérification » CI base qui sera décrite plus bas. En d’autres termes, la table de cette base de données comprend des triplets « identifiant personnel ID – valeur de lien LID base – valeur de vérification CI base ». Le système 2 comprend également un serveur 8, appelé « serveur biométrique », configuré pour exécuter certaines des étapes des procédés décrits plus bas. Ce serveur est associé à la base de données biométriques. Le système 2 comprend également un serveur 10, appelé « serveur d’identités », configuré pour exécuter certaines des étapes des procédés décrits plus bas. Ce serveur est associé à la base de données d’identités. Il est distinct du serveur biométrique. Les serveurs décrits mettent en œuvre les programmes d'ordinateur 12 et 15 comprenant des instructions qui, lorsque les programmes sont exécutés par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes des procédés décrits plus bas. Le système 2 contient un support 13 d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes des procédés décrits plus bas, en particulier par le serveur biométrique 8. Ce support contient ainsi le programme 15. Le système 2 contient également un support 14 d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes des procédés décrits plus bas, en particulier par le serveur d’identités 10. Ce support contient ainsi le programme 12. Le système 2 comprend également un appareil de fourniture d’une empreinte biométrique non illustré. Cet appareil est configuré pour obtenir une donnée biométrique d’une personne physique et pour fournir une empreinte biométrique. La donnée biométrique peut être la voix, l’iris, une empreinte digitale ou toute autre donnée quelconque biométrique permettant d’identifier de manière fiable la personne physique. L’appareil est configuré pour fournir en sortie une empreinte biométrique correspondante, en particulier sous la forme d’une valeur alphanumérique, qui peut être stockée. C’est avec cet appareil qu’interagit directement la personne physique. Le fonctionnement de cet appareil ne concerne pas l’objet de la demande et ne sera pas décrit en détails. Il s’agit d’un appareil conventionnel. On peut alternativement considérer que le système 2 n’inclut pas cet appareil, puisque tout appareil conventionnel capable de fournir une empreinte biométrique est compatible avec le système. Ce système 2, en particulier les bases de données 4 et 6, est partagé par plusieurs marchands. Parmi toutes les personnes physiques enregistrées dans le système 2, certaines sont inscrites auprès d’un seul marchand, d’autres auprès de plusieurs marchands. La base de données biométriques 4 et respectivement la base de données d’identités 6 incluent les empreintes biométriques T et respectivement les identifiants personnels ID associés aux valeurs de lien LID base de toutes ces personnes physiques, qu’elles soient inscrites auprès d’un ou de plusieurs marchands. Ce système 2 correspond à un système de traitement de données comprenant des processeurs pour mettre en œuvre les étapes des procédés décrits plus bas. On va maintenant en référence à la décrire un procédé 100 d’inscription d’une personne physique au système d’identification. La personne physique souhaite s’inscrire auprès d’un seul marchand et créer, pour le moment, un seul profil. À l’étape 101, la personne physique demande à réaliser une identification auprès de l’appareil de fourniture d’empreinte biométrique À l’étape 102, la personne physique présente son attribut – son œil, sa voix, ou ses doigts selon l’appareil où le choix de la personne physique – à l’appareil. À l’étape 103, l’appareil génère une empreinte biométrique E de la personne physique, réalisée à partir de son attribut. À l’étape 104, l’utilisateur sélectionne le marchand auprès duquel elle souhaite être inscrite, parmi les marchands partageant ce système. À l’étape 105, l’appareil obtient un code C. Dans une première variante, ce code C lui est fourni par la personne physique qui souhaite s’inscrire, lors de la définition du mot de passe de cette personne physique. Ce code C est alors une version hachée, générée via une fonction de hachage conventionnelle, de ce mot de passe. Ce code C est alors propre à la personne physique, voire, si elle souhaite inscrire différents profils de sa personne, à un profil de cette personne physique. Dans une deuxième variante, ce code est obtenu par l’appareil lors du choix du marchand parmi les marchands partageant ce système. Dans cette alternative, un code C est propre à un marchand est défini au préalable. Ce code C peut même dès lors être public. À l’étape 106, l’appareil envoie cette empreinte biométrique E et ce code C au serveur biométrique. À l’étape 107, le serveur biométrique reçoit cette empreinte biométrique E et ce code C. À l’étape 108, le serveur biométrique compare l’empreinte biométrique E de la personne physique à des empreintes biométriques de la base de données biométriques. Il est à noter que le serveur biométrique ne recherche pas une empreinte de la base correspondant nécessairement à 100% à l’empreinte E. En effet, pour un même attribut de la personne physique, l’appareil peut générer deux empreintes biométriques légèrement différentes (différences de pixels d’une image, de quelques bits d’une suite d’octet, etc.). Le serveur recherche donc l’empreinte correspondante, si elle est dans la base de données biométriques, selon une méthode qui ne fait pas partie de l’objet de l’invention. À l’étape 109, lorsqu’aucune empreinte biométrique de la base de données biométrique ne correspond à l’empreinte biométrique E de la personne physique, le serveur biométrique stocke dans la base de données biométrique une empreinte biométrique T correspondante à E. T et E sont identiques. En variante, T n’est pas identique mais est dérivée de E. Le serveur biométrique peut retrouver T à partir de E de manière conventionnelle, T est par exemple plus détaillé ou complété vis-à-vis de E. Dans une deuxième variante, c’est l’appareil de capture qui génère T sur la base de E et transmet T au serveur biométrique. On parlera dans la suite d’empreinte biométrique T quelle que soit sa forme vis-à-vis de l’empreinte originelle E. À l’étape 110, le serveur biométrique génère une valeur de lien LID base propre à la personne physique, sur la base de la formule suivante : LID base = MAC Kb (fb(T), C), où MAC Kb est une fonction MAC paramétrée par une clé Kb connue uniquement du serveur biométrique, Fb est une fonction de hachage conventionnelle appliquée ici à l’empreinte T, formant une version hachée de l’empreinte T. En d’autres termes, la valeur de lien LID base est générée à partir de l’empreinte biométrique de la personne physique et du code, également à partir de la fonction de hachage MAC Kb associée à une clef dédiée Kb. Les fonctions dites « MAC », pour « message authentication code », sont des fonctions utilisées pour authentifier l’origine d’un message et certifier la nature de ce message. Elles utilisent une clé privée, ici la clé Kb connue uniquement du serveur biométrique. À l’étape 111, le serveur biométrique stocke, dans la base de données biométriques, l’empreinte biométrique T de la personne physique, sans stocker ni la valeur de lien LID base ni le code C. À l’étape 112, le serveur biométrique transmet, au serveur d’identités, le code C, la valeur hachée de l’empreinte Fb(T) et la valeur de lien LID base , accompagné d’une requête d’inscription. À l’étape 113, le serveur d’identités reçoit ce code, cette valeur Fb(T) et la valeur de lien LID base . À l’étape 114, le serveur d’identités vérifie que la base de données d’identités ne contient pas une valeur de lien LID base déjà identique à celle reçue. À l’étape 115, si aucune valeur de lien LID base n’existe déjà dans la base de données d’identités, le serveur d’identités génère un identifiant personnel ID à la personne physique. Cet identifiant personnel ID est une valeur alphanumérique quelconque, qui doit être unique. Il est aléatoire et ne repose donc pas sur les valeurs reçues ou calculées précédemment. Cet identifiant correspond à l’identité de la personne physique. Cet identifiant ID est associé, dans une base de données non concernée par l’invention, à une ou plusieurs données personnelles de la personne physique, telles que son nom, son adresse, sa localisation, ou ses intérêts. Cet identifiant peut donc être exploité par le marchand à des fins, telles que la construction d’un historique du client, des propositions de réduction, qui ne concernent pas l’objet de cette invention. À l’étape 116, le serveur d’identités génère une valeur de vérification CI base à partir de la formule suivante : CI base = MAC Ki (Fb(T), C, ID), où MAC Ki est une fonction MAC paramétrée par une clé Ki dédiée et connue uniquement du serveur d’identités . En d’autres termes, la valeur CI base est déterminée à partir de la valeur hachée de l’empreinte Fb(T) reçue, c’est-à-dire indirectement à partir de l’empreinte biométrique E, du code reçu C et de l’identifiant personnel ID généré, également à partir de la fonction de hachage MAC Ki associée à une clef dédiée Ki. À l’étape 117, le serveur d’identités stocke, dans la base de données d’identités, l’identifiant personnel ID de la personne physique associé à la valeur de lien LID base et associé à la valeur de vérification CI base . La personne physique est désormais inscrite auprès du marchand dans le système d’identification. On va maintenant décrire en référence à la un procédé d’identification 200 de la personne physique, mis en œuvre au sein du système d’identification 2. La personne physique souhaite être identifiée par le marchand auprès duquel elle est inscrite. À l’étape 201, la personne physique présente son attribut (celui avec lequel elle a été inscrite précédemment) auprès de l’appareil de fourniture d’une empreinte biométrique. À l’étape 202, l’appareil génère une empreinte biométrique E à partir de cet attribut. À l’étape 203, l’appareil obtient un code C. Il s’agit d’une valeur hachée d’un mot de passe fourni par l’utilisateur. En variante, le code correspond au marchand auprès duquel l’utilisateur souhaite s’identifier et qu’il sélectionne parmi les marchands disponibles, sur un écran de l’appareil. À l’étape 204 l’appareil transmet le code C et l’empreinte E au serveur biométrique 8. À l’étape 205, le serveur biométrique 8 obtient l’empreinte biométrique E de la personne physique et le code C. À l’étape 206, le serveur biométrique 8 compare l’empreinte biométrique E de la personne physique à des empreintes biométriques T de la base de données biométriques 4. L’objectif est d’identifier l’empreinte T la plus proche parmi toutes les empreintes T de la base de données 4. Comme évoqué plus haut en référence au procédé d’inscription, l’empreinte T qui correspond à l’empreinte E n’est pas nécessairement totalement identique à cette dernière. , et la manière dont le résultat est obtenu n’est pas l’objet de cette invention. Il peut aussi résulter de cette vérification l’absence d’une empreinte T correspondant à l’empreinte E reçue. À l’étape 207, lorsque le serveur biométrique 8 identifie une empreinte biométrique T correspondant à l’empreinte biométrique E de la personne physique dans la base de données biométrique 4, le serveur biométrique 8 génère une valeur de lien LID selon la formule LID = MAC Kb (fb(T), C), c’est-à-dire à partir de la valeur hachée de l’empreinte biométrique T et à partir du code C, également à partir de la fonction de hachage MAC Kb associée à la clef dédiée Kb. Le fait d’utiliser Fb(T) et non Fb(E) permet de s’assurer du bon fonctionnement du procédé, puisque comme, évoqué plus haut, une empreinte générée E peut être légèrement de l’empreinte correspondante T bien qu’elles portent sur le même attribut physique. À l’étape 208, le serveur biométrique 8 transmet au serveur d’identités 10 la valeur de lien LID, le code C et la valeur hachée Fb(T) de l’empreinte biométrique T. À l’étape 209, le serveur d’identités 10 reçoit la valeur de lien LID, le code C et la valeur hachée Fb(T). À l’étape 210, le serveur d’identités 10 compare la valeur de lien LID reçue aux valeurs de liens LID base de la base de données d’identités 6. À l’étape 211, s’il trouve une valeur de lien LID base dans la base de données 6 correspondante à la valeur de lien LID reçue, le serveur d’identités 10 obtient la valeur de vérification CI base associée à la valeur de lien LID base dans la base de données d’identités 6. À l’inverse, s’il ne trouve aucune valeur LID base correspondante dans la base de données, le procédé s’arrête : la personne physique n’est pas identifiée. En cas de succès, à l’étape 212 le serveur d’identités 10 obtient, de la base de données d’identités 6, l’identifiant personnel ID associé, dans la base de données d’identités, à la valeur de lien LID base ainsi qu’à la valeur de vérification CI base . À l’étape 213, le serveur d’identités 10 génère une valeur à vérifier CI à partir de la formule suivante : CI = MAC Ki (fb(T), C, ID), c’est-à-dire à partir de la valeur hachée de l’empreinte biométrique T, du code reçu C et de l’identifiant personnel obtenu ID, également à partir de de la fonction de hachage MAC Ki associée à la clef dédiée Ki. À l’étape 214, le serveur d’identités 10 compare la valeur à vérifier CI générée à la valeur de vérification CI base obtenue. À l’étape 215, lorsque la valeur à vérifier générée CI est identique à la valeur de vérification obtenue CI base , cela signifie que l’identifiant personnel ID obtenu correspond à l’empreinte biométrique T et donc à l’empreinte biométrique E de la personne physique. Pour rappel, cette valeur de vérification CI base a été obtenue, à l’étape 212, de la base de données d’identités où elle est stockée et associée à la valeur de lien LID base . Dès lors, le serveur d’identités fournit au marchand l’identifiant personnel obtenu. La personne physique est donc identifiée auprès de son marchand. Grace au code C propre à chaque identité, pour une même empreinte biométrique E, une même personne peut inscrire plusieurs de ses profils, en associant à chacun de ces profils son code C respectif. Disposer de plusieurs profils permet de dispos Ceer de plusieurs identifiants personnels et donc de choisir quelles données personnelles fournir. À titre d’exemple, pour un profil principal correspondant à un premier code C et pour lequel l’identifiant personnel est associé, auprès de marchands, à un âge, une adresse, un nom, la personne peut aussi disposer d’un profil secondaire, correspondant à un second code C, pour lequel un second identifiant personnel est associé seulement à l’âge, ou à une adresse postale différente auprès d’autres marchands. Cela permet à l’utilisateur de mettre à disposition des marchands qu’il choisit les données personnelles qu’il souhaite. La gestion de profils d’un même utilisateur devient donc possible. Plutôt que de reprendre le procédé d’inscription à zéro, pour créer un second profil l’utilisateur peut dériver son profil secondaire d’un profil principal, en présentant son attribut biométrique à l’appareil pour s’identifier et en indiquant, après validation de l’identification, qu’il souhaite créer un second profil correspondant à la même empreinte. À l’inverse, pour un même identifiant personnel, l’utilisateur peut associer une autre empreinte biométrique à un autre code. Une même personne physique peut donc disposer de plusieurs empreintes biométriques pour un même identifiant et de plusieurs identifiants pour une même empreinte biométrique. Il découle de cette gestion de profils que ce procédé permet la révocation d’une identité auprès d’un seul marchand sans la révoquer auprès des autres. En effet, il est possible de détruire un profil correspondant à un code, tout en conservant, pour la même personne physique, les profils associés à d’autres codes. Il découle également de cette gestion de profil que ce procédé améliore le respect des données personnelles des utilisateurs. En effet, en utilisant des codes différents les uns des autres pour une même personne physique, il n’est pas nécessaire de disposer d’une table de filtrage pour associer une personne physique à des fournisseurs de services différents, il suffit de créer un profil pour chaque marchand en y associant un code propre. Chaque marchand n’a accès qu’aux données personnelles associées à des identifiants personnels, et à rien d’autre. Alternativement, le code pourrait être connu publiquement, et associé à un marchand particulier. Il permet alors de différencier les marchands partageant le système. Il résulte des procédés 100 et 200, réalisées pour plusieurs personnes physiques et ce auprès de plusieurs marchands, que le système 2 d’identification comporte alors : - une base de données biométriques 4 comprenant des empreintes biométriques T de personnes physiques, - une base de données d’identités 6 comprenant des identifiants personnels ID respectifs de ces personnes physiques, la base de données d’identités associant à chaque identifiant personnel ID d’une personne physique une valeur de lien LID base , - un serveur biométrique 8 configuré pour comparer une empreinte biométrique reçue E d’une personne physique aux empreintes T de la base de données biométriques et, lorsqu’il identifie une empreinte biométrique T correspondant de la personne physique, pour générer une valeur de lien LID à partir de l’empreinte biométrique T de la personne physique et à partir d’un code C, à partir d’une fonction de hachage MAC associée à une clef dédiée Kb, le serveur biométrique 8 étant également configuré pour transmettre la valeur de lien LID, le code C et l’empreinte, en l’espèce une valeur haché de l’empreinte Fb(T), à un serveur d’identités, - un serveur d’identités 10 configuré pour comparer la valeur de lien LID reçue à des valeurs de liens LID base de la base de données d’identités, le serveur d’identités 10 étant également configuré pour obtenir une valeur de vérification CI base associée à une valeur de lien LID base dans la base de données d’identités 6, le serveur d’identités 10 étant également configuré pour obtenir, de la base de données d’identités 6, un identifiant personnel ID associé, dans la base de données d’identités, à la valeur de lien LID base , le serveur d’identités 10 étant également configuré pour obtenir une valeur à vérifier CI à partir de l’empreinte Fb(T) reçue, du code C reçu et de l’identifiant personnel ID obtenu, issue également d’une fonction de hachage MAC associée à une clef dédiée Ki, le serveur d’identités 10 étant également configuré pour comparer la valeur à vérifier générée CI à la valeur de vérification CI base obtenue, et lorsque la valeur à vérifier générée est identique à la valeur de vérification obtenue, pour indiquer que l’identifiant personnel ID obtenu correspond au secret reçu de la personne physique. En référence à la , le système d’identification 16 illustré diffère du système d’identification de la par la présence d’une base de données tampon 18, distincte de la base de données biométrique 20 et de la base de données d’identités 22. Cette base est gérée par un serveur tampon 24 distinct du serveur biométrique 26 et du serveur d’identités 28. Le serveur tampon met donc en œuvre un programme d’ordinateur qui lui est propre, lui-même enregistré sur un support d’enregistrement. Par « base de données tampon », on désigne la fonction d’une base de données permettant, par les données qu’elle stocke, de faire le lien entre des valeurs stockées d’une part dans la base de données biométriques et d’autre part dans la base de données d’identités. Il n’est ainsi pas possible de retrouver l’identifiant personnel de la personne physique, situé dans la base de données d’identités, à partir de l’empreinte biométrique de cette personne, située dans la base de données biométrique, sans passer par une donnée correspondante située dans la base de donnée tampon. Dans ce système, la valeur de lien LID ba se n’est pas unique, elle est une première valeur de lien, appelée LID1 base . Elle est stockée dans la base de données tampon 18. La base de données d’identités 22 ne stocke pas cette première valeur de lien mais une deuxième valeur de lien LID2 b ase , obtenue à partir de la première valeur de lien. Le procédé d’inscription 300 illustré en et mis en œuvre sur ce système 16 diffère du procédé d’inscription 200 en ce que valeur de lien, ici première valeur de lien LID1 base , est stockée dans la base de données tampon 18 uniquement, et en ce qu’une deuxième valeur de lien LID2 base est générée et stockée dans la base de données d’identités 22 uniquement, de manière associée à la valeur de vérification CI base et à l’identifiant personnel ID. Cette valeur LID2 base est obtenue conformément aux calculs décrits suivants : une valeur dite « première valeur d’historique » Hist1 est générée conformément à la formule suivante : Hist 1 = U 1 (LID 1 , Hist 0 ) où U 1 est une fonction à sens unique paramétrée par une clef propre au serveur tampon 24, et où Hist0 est une valeur par défaut quelconque connue du serveur biométrique 26. Ces valeurs ne sont stockées par aucune des bases de données. Puis la valeur LID2 base est générée conformément à la formule suivante : LID2 base = MAC Kt (fb(T), C, Hist1) où Kt est une clef propre au serveur tampon. Elle est stockée dans la base de données d’identités 22. On va maintenant, en référence à la , décrire le procédé d’identification 400 d’une personne physique mis en œuvre au sein de ce système d’identification 16. Les étapes 401 à 407 sont identiques aux étapes 201 à 207 du procédé 200. À l’étape 408, le serveur biométrique 26 transmet la valeur de lien LID, appelée ici LID1, le code C et la valeur hachée Fb(T) de l’empreinte biométrique T, non pas au serveur d’identités comme dans le procédé 200, mais au serveur tampon 24. En outre, il génère et transmet au serveur tampon ne valeur dite « première valeur d’historique » Hist1, qu’il détermine conformément à la formule suivante : Hist1 = U 1 (LID 1 , Hist 0 ). À l’étape 409, c’est donc le serveur tampon 24 qui reçoit la valeur de lien LID1, le code C et la valeur hachée Fb(T), mais aussi la première valeur d’historique Hist1. À l’étape 410, le serveur tampon 24 compare la valeur de lien LID1 reçue aux valeurs de liens LID1 base de la base de données tampon 18. À l’étape 411, s’il trouve une valeur de lien LID1 base correspondante à la valeur de lien LID1 reçue dans la base de données tampon 18, le serveur tampon 24 génère une valeur de lien suivante LID2 conformément à la formule suivante : LID2 = MAC Kt (fb(T), C, Hist1), où Kt est une clef propre au serveur tampon 24, ainsi qu’une valeur d’historique Hist2 conformément à la formule Hist 2 = U 2 (LID 2 , Hist 1 ). La valeur LID2 correspond donc à une valeur de lien d’une chaine de valeur de lien et elle est obtenue à partir de la valeur précédente de la chaîne, LID1, tandis que de la même manière, la valeur Hist2 correspond à une valeur d’historique d’une chaîne de valeurs d’historique et elle est obtenue à partir de la valeur précédente de cette chaîne, Hist1.Il est nécessaire de disposer des valeurs d’historique pour déterminer les valeurs de lien successives. En revanche, les valeurs d’historique ne sont pas stockées. Il est donc nécessaire de passer par le serveur tampon pour disposer de la valeur LID2. Cela améliore donc la sécurité du système 16. À l’étape 412, le serveur tampon 24 transmet au serveur d’identités 28 la valeur LID2, le code C et la valeur hachée Fb(T), ainsi que la valeur d’historique Hist2. À l’étape 413, le serveur d’identités 28 obtient la valeur de vérification CI base associée à la valeur de lien LID2 base dans la base de données d’identités. À l’inverse, s’il ne trouve aucune valeur de lien LID2 base correspondante dans la base de données, le procédé s’arrête : la personne physique n’est pas identifiée. En cas de succès, à l’étape 414 le serveur d’identités 28 obtient, de la base de données d’identités 22, l’identifiant personnel ID associé, dans la base de données d’identités, à la valeur de lien LID2 base ainsi qu’à la valeur de vérification CI base . Les étapes suivantes sont les étapes 213 et 215 du procédé 200. La personne physique est donc identifiée auprès de son marchand. Le système d’identification 30 illustré en est une généralisation du système d’identification de la . Ainsi, il ne comprend pas une seule mais n bases de données tampon, n allant de 1, ce qui correspond au système de la , à n’importe quel nombre, par exemple 5, 10 ou 15 bases de données tampon. Chacune de ces n bases tampon est associée à son serveur tampon 32 ou 34 respectif. Dans cette généralisation, la base de données d’identités 36 stocke, à la place de la valeur de LID2 base , la dernière valeur LIDn+1 base d’une chaîne de valeurs de lien démarrant par la valeur LID1 base . Dans cette chaîne de valeurs de lien, chaque valeur de lien est obtenue à partir notamment de la valeur de lien précédente, conformément aux calculs décrit plus bas. Dans le procédé d’inscription 500 de la et mis en œuvre au sein de ce système 30, en plus des éléments déjà évoqués, les valeurs LIDk base sont générées pour chaque base de données tampon conformément à la formule LIDk+1 base = MAC Kt (fb(T), C, Histk) où Kt est une clef propre au serveur tampon considéré, et où les valeurs d’historique Histk sont calculées conformément à la formule Histk+1 = U k+1 (LIDk+1, Histk).Ces valeurs LIDk base sont stockées dans les bases de données tampon 38, 40, respectives. La valeur LIDn+1 est stockée dans la base de données d’identités 36. Aucune valeur d’historique n’est stockée. Dans le procédé d’identification 600 de la et mis en œuvre au sein du système 30, le serveur tampon 32, correspondant au k ième serveur, k allant de 1 à n, compare la valeur de lien LIDk reçue aux valeurs de liens LIDk base de la base de données tampon 38 qu’il gère. S’il trouve dans la base de données tampon une valeur LIDk base correspondante 38 à la valeur de lien LID k reçue, le serveur tampon 32 génère une valeur de lien suivante LID k+1 conformément à la formule LID k+1 = MAC Kt (fb(T), C, Hist k ) où Kt est une clef propre au serveur tampon 32, ainsi qu’une valeur d’historique Histk+1 conformément à la formule Hist k+1 = U k+1 (LID k+1 , Hist k ), la fonction Uk+1 étant paramétrée avec une clef propre au serveur tampon 32. Le serveur tampon 32 envoie ensuite au serveur tampon 34 les valeurs LIdk+1, Histk+1, le code C et la valeur hachée Fb(T). Le serveur 34 réitère les opérations de comparaison, de détermination des valeurs de lien et des valeurs d’historique, et de transmission des valeurs, jusqu’à ce qu’un dernier serveur tampon n transmette les valeurs C, Fb(T), LIDn+1 et Histn+1 au serveur d’identités 42. Le serveur d’identités 42 obtient la valeur de vérification CI base associée à la valeur de lien LIDn+1 base dans la base de données d’identités. Le serveur d’identités 42 obtient, de la base de données d’identités 36, l’identifiant personnel ID associé, dans la base de données d’identités, à la valeur de lien LIDn+1 base ainsi qu’à la valeur de vérification CI base . À l’inverse, s’il ne trouve aucune valeur LIDn+1 base correspondant dans la base de données, le procédé s’arrête : la personne physique n’est pas identifiée. Ce procédé tire donc parti d’une chaîne de n+1 valeurs de lien LID1 base à LIDn+1 base , chaîne dans laquelle chaque valeur de lien est obtenue à partir de la précédente. Pour éviter qu’un attaquant ne se contente que de trouver la dernière valeur de lien de la chaîne, chacune de ces valeurs est calculée également à partir d’une valeur d’historique et la chaîne de valeurs d’historique permet de forcer le passage par chacune des bases de données tampon. Cette chaîne de valeurs d’historique permet également de retrouver le serveur où une erreur a éventuellement eu lieu. En référence à la , le système d’identification 44 diffère du système d’identification 30 de la par le fait que les valeurs CI base ne sont pas stockées dans la base de données d’identités, mais dans l’une des bases de données tampon 46. La base de données d’identités ne stocke plus que la dernière valeur de lien LIDn+1 base de la chaîne et l’identifiant personnel ID associé. Le procédé d’inscription 700 de la mis en œuvre sur ce système 44 est adapté en ce sens, l’une des bases de données tampon étant choisie pour stocker ces valeurs CI base . Concernant le procédé d’identification 800 de la mis en œuvre sur ce système 44, il diffère du procédé décrit précédemment en ce que le serveur tampon 46 incluant les valeurs CI base transmet toutes les valeurs de vérification CI base correspondante à la valeur de lien LID k reçue au serveur tampon suivant, ces valeurs étant ensuite transmises de bases de données tampon en base de données tampon jusqu’à ce que le serveur d’identités 48 reçoive ces valeurs. Le serveur d’identités 48 compare chaque CI base reçue à la valeur à vérifier qu’il génère, et en déduit le bon identifiant personnel associé ID à indiquer. Le système et les procédés décrits en relation avec les empreintes biométriques peuvent être mis en œuvre avec d’autres types de données, en particulier avec n’importe quelle donnée jugée secrète permettant d’identifier une personne. Ainsi, en généralisant la description des procédés décrits à tout secret, il est donc fourni un procédé d’identification d’une personne physique, mis en œuvre par ordinateur et comprenant les étapes suivantes : - obtention d’un code ; - obtention d’un secret de la personne physique ; - comparaison du secret de la personne physique à des secrets d’une base de données de secrets ; - lorsqu’un secret correspondant au secret de la personne physique dans la base de données de secrets est identifié, génération d’une valeur de lien à partir du secret et à partir du code, de préférence à partir d’une fonction de hachage associée à une clef dédiée ; - comparaison de la valeur de lien générée à des valeurs de lien d’une base de données d’identités distincte de la base de données de secrets ou à des valeurs de lien d’une base de données tampon distincte de la base de données de secrets et de la base de données d’identités ; - obtention d’une valeur de vérification associée à la valeur de lien dans la base de données d’identités, ou, la valeur de lien étant une première valeur de lien d’une chaîne de valeurs de lien dans laquelle chaque autre valeur de lien est obtenue à partir de la valeur de lien précédente, obtention d’une valeur de vérification associée à une valeur de lien de la chaîne dans la base de données d’identités ou dans une base de données tampon distincte de la base de données de secrets et de la base de données d’identités, - obtention, de la base de données d’identités, d’un identifiant personnel associé, dans la base de données d’identités, à la valeur de lien ou à une valeur de lien de la chaîne de valeurs de lien, - génération d’une valeur à vérifier à partir du secret reçu, du code reçu et de l’identifiant personnel obtenu, de préférence issue également à partir d’une fonction de hachage associée à une clef dédiée ; - comparaison de la valeur à vérifier générée à la valeur de vérification obtenue, - lorsque la valeur à vérifier générée est identique à la valeur de vérification obtenue, fourniture de l’identifiant personnel obtenu. Liste de références 2 : système d’identification selon un premier mode de réalisation 4, 20 : base de données biométrique 6, 22, 36 : base de données d’identités 8, 26 : serveur biométrique 10, 28, 42, 48 : serveur d’identités 12 : programme d’ordinateur 14 : support d’enregistrement 16 : système d’identification selon un deuxième mode de réalisation 18, 38, 40 : base de données tampon 24, 32, 34, 46 : serveur tampon 30 : système d’identification selon un troisième mode de réalisation 44 : système d’identification selon un quatrième mode de réalisation 100 : procédé d’inscription au système 2 200 : procédé d’identification mis en œuvre au sein du système 2 300 : procédé d’inscription au système 16 400 : procédé d’identification mis en œuvre au sein du système 16 500 : procédé d’inscription au système 30 600 : procédé d’identification mis en œuvre au sein du système 30 700 : procédé d’inscription au système 44 800 : procédé d’identification mis en œuvre au sein du système 44 Procédé d’identification (200, 400, 600, 800) d’une personne physique, mis en œuvre par ordinateur et comprenant les étapes suivantes : - obtention (203) d’un code (C) ; - obtention (205) d’un secret (T) de la personne physique ; - comparaison (206 ; 410)) du secret (T) de la personne physique à des secrets (E) d’une base de données (4 ; 20) de secrets ; - lorsqu’un secret (E) correspondant au secret (T) de la personne physique dans la base de données (4 ; 20) de secrets est identifié, génération (207) d’une valeur de lien (LID ; LID1) à partir du secret (T) et à partir du code (C), de préférence à partir d’une fonction de hachage (MAC) associée à une clef dédiée (Kb) ; - comparaison (210 ; 410) de la valeur de lien (LID) générée à des valeurs de lien (LIDbase ; LID2 base ; LIDn+1 base ) d’une base de données d’identités (6 ; 22 ; 36) distincte de la base de données de secrets (4 ; 20) ou à des valeurs de lien (LIDk base ; LID1 base ) d’une base de données tampon (18 ; 38 ; 40) distincte de la base de données de secrets (4 ; 20) et de la base de données d’identités (6 ; 22 ; 36) ; - obtention (211 ; 413) d’une valeur de vérification (CI base ) associée à la valeur de lien (LID base ) dans la base de données d’identités (6 ; 22 ; 36), ou, la valeur de lien étant une première valeur de lien (LID1 base ) d’une chaîne de valeurs de lien dans laquelle chaque autre valeur de lien est obtenue à partir de la valeur de lien précédente, obtention d’une valeur de vérification (CI base ) associée à une valeur de lien (LID2 base ; LIDn+1 base ) de la chaîne dans la base de données d’identités ou dans une base de données tampon distincte de la base de données de secrets et de la base de données d’identités, - obtention (212 ; 414), de la base de données d’identités (6 ; 22 ; 36), d’un identifiant personnel (ID) associé, dans la base de données d’identités, à la valeur de lien (LID base ) ou à une valeur de lien (LID2 base ; LIDn+1 base ) de la chaîne de valeurs de lien, - génération (213) d’une valeur à vérifier (CI) à partir du secret (T) reçu, du code (C) reçu et de l’identifiant personnel (ID) obtenu, de préférence issue également à partir d’une fonction de hachage (MAC) associée à une clef dédiée (Ki) ; - comparaison (214) de la valeur à vérifier (CI) générée à la valeur de vérification (CI base ) obtenue, - lorsque la valeur à vérifier générée (CI) est identique à la valeur de vérification obtenue (CI base ), fourniture (215) de l’identifiant personnel obtenu. Procédé (200 ; 400 ; 600 ; 800) selon la revendication précédente, dans lequel, le procédé étant un procédé d’identification biométrique, le secret (T) est relatif à une empreinte biométrique de la personne physique, en particulier le secret est une valeur hachée (Fb(T)) d’une empreinte biométrique de la personne physique, la base de données de secrets (4 ; 20) est une base de données biométriques comprenant des empreintes biométriques de personnes physiques. Procédé (200 ; 400 ; 600 ; 800) selon l’une quelconque des revendications précédentes, dans lequel le code (C) est : - relatif à un mot de passe fourni par la personne physique, en particulier le code (C) comprend une valeur hachée d’un mot de passe fourni par la personne physique au serveur de secret ; et/ou - relatif à une entité, telle qu’un marchand auprès de laquelle la personne physique réalise son identification, en particulier le code (C) comprend une valeur publique d’identification de l’entité connue par le serveur de secret. Procédé (400 ; 600 ; 800) selon l’une quelconque des revendications précédentes, comprenant les étapes suivantes, lorsque la valeur de lien (LID1) est une première valeur de lien d’une chaîne de valeurs de lien dans laquelle chaque autre valeur de lien est obtenue à partir de la valeur de lien précédente : - au préalable, génération (408) d’une première valeur d’historique (Hist1), d’une chaîne de valeurs d’historique, à partir de la première valeur de lien (LID1), - lorsqu’une valeur de lien (LID1 base ) correspondante à la première valeur de lien générée (LID1) est identifiée dans la base de données tampon (18 ; 38 ; 40), génération (411) d’une valeur de lien suivante (LID2), optionnellement dernière valeur de lien, de la chaîne de valeurs de lien, à partir du secret (T), du code (C) et de la première valeur d’historique (Hist1), de préférence à partir d’une fonction de hachage (MAC) associée à une clef dédiée, et génération d’une valeur suivante d’historique (Hist2) à partir de la valeur de lien suivante (LID2) et de la première valeur d’historique, de préférence également à partir d’une fonction à sens unique associée à une clef dédiée, - optionnellement, comparaison de la valeur de lien suivante (LIDk) à des valeurs de lien (LIDk base ) d’une base de données tampon suivante distincte de la base de données tampon, et génération d’une valeur de lien suivante (LIDk+1) et d’une valeur d’historique suivante (Histk+1), ces étapes de comparaison et de génération étant renouvelées jusqu’à la génération d’une dernière valeur de lien de la chaine de valeurs de lien, - pour obtenir l’identifiant personnel (ID) associé dans la base de données d’identités, comparaison de la dernière valeur de lien de la chaîne de valeurs de lien à des valeurs de lien de la base (LIDn+1 base ) de données d’identités. Procédé d’inscription (100 ; 300 ; 500 ; 700) d’une personne physique à un système d’identification, mis en œuvre par ordinateur et comprenant les étapes suivantes : - obtention (105) code (C) ; - obtention (107) d’un secret (E) de la personne physique ; - comparaison (109) du secret (E) de la personne physique à des secrets (T) d’une base de données de secrets ; - lorsqu’aucun secret de la base de données ne correspond au secret de la personne physique, génération (110) d’une valeur de lien propre à la personne physique, à partir du secret de la personne physique et du code (C), de préférence à partir d’une fonction de hachage associée à une clef dédiée ; - stockage (110), dans la base de données de secrets, du secret de la personne physique, sans stocker ni la valeur de lien ni le code ; - génération (116), suite à une réception de ce code et de ce secret, d’un identifiant personnel de la personne physique ; - génération (111) d’une valeur de vérification à partir du secret reçu, du code reçu et de l’identifiant personnel généré, de préférence également à partir d’une fonction de hachage associée à une clef dédiée ; - stockage (118), dans une base de données d’identités, de l’identifiant personnel de la personne physique associé à la valeur de lien et à la valeur de vérification, ou, la valeur de lien étant une première valeur de lien d’une chaîne de valeurs de lien dans laquelle chaque autre valeur de lien est obtenue à partir de la précédente, stockage, dans la base de données d’identités, de l’identifiant personnel associé à la dernière valeur de lien de la chaîne, et stockage de la valeur de vérification, dans la base de données d’identités et associée à l’identifiant personnel ou dans une base de données tampon, distincte de la base de données de secret et de la base de données d’identités, associée à une valeur de lien de la chaîne. Système (2; 16 ; 30 ; 44) d’identification d’une personne physique, comportant : - une base de données (4 ; 20) de secrets comprenant des secrets (T) de personnes physiques, et - une base de données d’identités (6 ; 22 ; 36) comprenant des identifiants personnels (ID) respectifs de ces personnes physiques, la base de données d’identités associant à chaque identifiant personnel d’une personne physique une valeur de lien, - des moyens automatisés configurés pour : * comparer un secret reçu d’une personne physique aux secrets de la base de données de secrets et, un secret correspondant de la personne physique étant identifié, pour générer une valeur de lien à partir du secret de la personne physique et à partir d’un code, de préférence à partir d’une fonction de hachage associée à une clef dédiée, * comparer la valeur de lien reçue à des valeurs de liens d’une base de données d’identités ou à des valeurs de lien d’une base de données tampon distincte de la base de données de secrets et de la base de données d’identités ; * obtenir une valeur de vérification associée à une valeur de lien dans la base de données d’identités ou, la valeur de lien étant une première valeur de lien d’une chaîne de valeurs de lien dans laquelle chaque autre valeur de lien est obtenue à partir de la valeur de lien précédente, obtenir une valeur de vérification associée à une valeur de lien de la chaîne dans la base de données d’identités ou dans une base de données tampon distincte de la base de données de secrets et de la base de données d’identités, *obtenir, de la base de données d’identités, un identifiant personnel associé, dans la base de données d’identités, à la valeur de lien ou à une valeur de lien de la chaîne de valeurs de lien, *obtenir une valeur à vérifier à partir du secret reçu, du code reçu et de l’identifiant personnel obtenu, de préférence issue également d’une fonction de hachage associée à une clef dédiée, *comparer la valeur à vérifier générée à la valeur de vérification obtenue, et lorsque la valeur à vérifier générée est identique à la valeur de vérification obtenue, indiquer que l’identifiant personnel obtenu correspond au secret reçu de la personne physique. Système d’identification (6 ; 30 ; 44) selon la revendication précédente, comportant également : - au moins une base de données tampon (18 ; 38 ; 40), distincte de la base de secrets et de la base d’identités, comprenant des valeurs de liens, - des moyens automatisés configurés pour : *recevoir la valeur de lien, le code et le secret, *comparer la valeur de lien reçue aux valeurs de lien de la base de données tampon, et, lorsqu’il identifie une valeur de lien correspondante, pour générer une valeur de lien suivante de la chaîne de valeurs de lien à partir de la valeur de lien, * transmettre la valeur de lien suivante, le code et le secret. Système de traitement de données (2 ; 16 ; 30 ; 44) comprenant un processeur configuré pour mettre en œuvre les étapes du procédé d’identification (200 ; 400 ; 600 ; 800) selon l’une quelconque des revendications 1 à 4 ou du procédé d’inscription (100 ; 300 ; 500 ; 700) selon la revendication 5. Programme d'ordinateur (12) comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé d’identification selon l’une quelconque des revendications 1 à 4 ou du procédé d’inscription selon la revendication 5. Support d'enregistrement (14) lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé d’identification 200 ; 400 ; 600 ; 800) selon l’une quelconque des revendications 1 à 4 ou du procédé d’inscription (100 ; 300 ; 500 ; 700) selon la revendication 5.