Suite à mon premier article sur « la biométrie des honnêtes gens », j’ai été questionné à plusieurs reprises sur la réalité des garanties que le gouvernement avançait pour justifier que les craintes des détracteurs du fichier TES étaient infondées. Le but de cet article, un peu plus technique que le précédent (mais, je l’espère, toujours abordable à un public non spécialiste), est de répondre à ces interrogations.
Finalités et liaisons
L’architecture d’un système conditionne les usages que l’on peut en faire. Ainsi, la finalité d’authentification nécessite de pouvoir extraire les données biométriques à partir d’une identité administrative (nom, prénoms, adresse, etc.). Lorsqu’une personne vient faire renouveler l’un de ses titres d’identité, elle fournit son identité administrative, à partir de laquelle on extrait les données biométriques associées, que l’on peut comparer aux empreintes de la personne. Il faut donc disposer d’une liaison fonctionnelle allant des données administratives aux données biométriques.
La finalité d’identification, pour sa part, nécessite une liaison inverse : lorsque l’on souhaite identifier une personne à partir d’une trace telle qu’une empreinte digitale, il faut en premier lieu comparer la trace en question avec toutes les empreintes du fichier puis, si une correspondance est trouvée, disposer d’une liaison entre l’empreinte correspondante et l’identité administrative associée.
Ainsi, les deux fonctionnalités d’authentification et d’identification nécessitent des liaisons en sens opposé l’une de l’autre.
Liaisons unidirectionnelles et fonctions de hachage
Au sein d’un environnement centralisé, il existe plusieurs façons de mettre en œuvre ces liaisons sur le plan technique, qui se traduisent par des structures de données différentes.
La première consiste à créer une table dont chaque ligne stocke l’identité administrative d’une personne et les données biométriques qui lui sont associées. Une telle structure de données permet nativement l’authentification autant que l’identification : le numéro de ligne dans la table constitue un identifiant technique unique permettant de retrouver tant l’identité administrative que chacune des empreintes biométriques et de les associer de façon univoque. Les liaisons entre tous ces éléments sont ici intrinsèquement bidirectionnelles.
Pour ne permettre que la seule authentification tout en empêchant l’identification, il est nécessaire de mettre en place une architecture telle qu’il n’existe de liaison que dans un seul sens, à savoir de l’identité administrative vers les empreintes, mais pas l’inverse. Ceci implique, d’une part, de scinder la table précédente, afin de conserver de façon séparée l’identité administrative et les empreintes et, d’autre part, de disposer d’une méthode non réversible de passer de l’une à l’autre.
Parmi les traitements non réversibles figurent les fonctions de hachage. Une fonction de hachage est une fonction mathématique qui calcule une valeur résultat (parfois appelée « condensat ») à partir d’une valeur donnée, et possédant plusieurs propriétés. Une première est que la même valeur d’entrée donne toujours le même condensat ; une deuxième est qu’il est en théorie impossible de retrouver la donnée d’entrée à partir de la valeur du condensat : il n’y a pas de « retour en arrière » possible.
On peut donc imaginer, grâce aux fonctions de hachage, mettre en œuvre une architecture « unidirectionnelle ». Pour cela, il faut en premier lieu stocker les identités administratives, ainsi que chacune des données biométriques, dans des tables séparées. On utilise alors une fonction de hachage, prenant comme valeur d’entrée l’identité administrative des personnes, pour calculer un condensat, qui servira d’identifiant technique des données biométriques dans les autres bases. Le système ainsi conçu semble apporter toutes les garanties attendues : on peut retrouver les données biométriques d’une personne à partir de son identité administrative en ayant recours à la fonction de hachage mais, si l’on souhaite savoir à qui correspond une empreinte stockée dans la table des empreintes, il n’est pas possible de remonter à l’identité administrative à partir du seul condensat utilisé comme identifiant technique associé à cette empreinte. C’est sur cet argument que s’appuie le gouvernement pour assurer que le système TES ne peut permettre l’identification d’une personne à partir de ses empreintes.
À la recherche de la liaison perdue
Cette argumentation n’a malheureusement que l’apparence de la vérité. En effet, s’il est mathématiquement impossible de « remonter » d’un condensat à une valeur d’origine inconnue, dans l’architecture évoquée, les valeurs d’entrées sont toutes connues : ce sont les identités administratives stockées dans le système !
Il est donc extrêmement facile de recréer le lien prétendument manquant. Il suffit pour cela d’utiliser la fonction de hachage afin de calculer le condensat associé à chacune des identités administratives, et de conserver cette correspondance dans une nouvelle table (appelée « rainbow table » dans le jargon des informaticiens). Cette opération n’est ni complexe, ni coûteuse à réaliser. Il est alors possible d’associer une trace à une empreinte grâce à la table des empreintes biométriques, puis de remonter du condensat de cette empreinte à l’identité administrative grâce à la « rainbow table » de correspondance.
Des garde-fous qui ont déjà failli
La facilité avec laquelle la « rainbow table » peut être créée est propice à toutes les dérives. Le gouvernement prétend qu’une telle finalité ne pourrait de toute façon être ajoutée au traitement TES qu’après un processus d’examen administratif (par la CNIL puis par le Conseil d’État), et que le Conseil Constitutionnel ne manquerait pas de censurer une telle disposition, comme il l’avait déjà fait par le passé [3]. Plusieurs faits s’opposent à ces arguments.
En premier lieu, par le passé, la finalité de fichiers biométriques a déjà pu être détournée sans que les organes de contrôle en aient été saisis. Cela a été le cas pour le Fichier national automatisé des empreintes génétiques (FNAEG) [4], censé n’enregistrer les empreintes génétiques qu’à fin d’identification des seules personnes présentes dans ce fichier. Pourtant, depuis 2000 et l’affaire « Élodie Kulik », ce fichier a été utilisé, sur réquisitions judiciaires, pour effectuer des recherches « en parentèle », c’est-à-dire trouver des personnes liées génétiquement aux personnes présentes dans le FNAEG. Cette extension abusive de la finalité du FNAEG ne fut légalisée qu’en juin 2016, sans réel débat. Or, le fichier TES est lui aussi susceptible de réquisitions judiciaires. Quel service de renseignement, ayant accès à ce fichier, pourrait résister à la tentation d’en faire une copie « technique », puis de calculer la « rainbow table » pour son propre usage ?
En second lieu, l’Histoire à montré qu’il suffisait d’à peine une dizaine d’années à un régime autoritaire pour faire sauter les verrous juridiques protégeant une société démocratique [5]. Ces verrous ne sont que des règles écrites par des gens civilisés pour des gens civilisés, qui n’empêcheront jamais un régime autoritaire d’alimenter un fichier d’identification de la population à partir des données contenues dans TES.
Lien fort contre lien faible
L’architecture décrite ci-dessus est faillible car à chaque empreinte est associé un identifiant univoque : le condensat issu du hachage des données de l’identité administrative. Il existe donc un « lien fort » entre la valeur du condensat et l’identité qui en est à l’origine.
Une solution pour affaiblir ce lien consiste à créer des « collisions » au sein de la fonction de hachage, en faisant en sorte qu’à un certain nombre d’identités administratives différentes corresponde la même valeur de condensat [6]. Cela revient à considérer qu’à une valeur de condensat donnée sont associés un ensemble d’identités et un ensemble d’empreintes.
Puisqu’un ensemble d’empreintes est associé à un même condensat, l’authentification doit être menée d’une façon légèrement différente. L’empreinte de la personne à authentifier doit être comparée à chacune des empreintes de l’ensemble associé à la valeur du condensat issu de son identité administrative, et il suffit que l’une de ces empreintes corresponde pour que l’authentification soit réputée positive. À l’inverse, cela rend l’identification plus difficile, puisque l’empreinte correspondant à une trace ne sera plus associée à une unique personne mais à l’ensemble des personnes possédant la même valeur de condensat que l’empreinte.
Le taux de collision est donc un paramètre essentiel du dispositif. S’il est faible, une même trace ne correspond qu’à très peu de personnes, et l’identification restera facile ; s’il est élevé, la fiabilité de l’authentification diminue, puisque de nombreuses personnes peuvent donner un résultat positif à l’authentification.
La technique des « liens faibles » n’est donc pas une solution aussi efficace qu’elle paraît. La principale raison en est qu’il est possible de corréler de nombreux fichiers afin d’éliminer très rapidement les membres d’un ensemble donné, jusqu’à trouver la bonne personne.
Supposons par exemple qu’un régime autoritaire hérite d’une base TES mettant en œuvre les « liens faibles ». À une empreinte relevée dans un lieu fréquenté par des opposants correspond donc un certain nombre de personnes. Il suffit alors d’obtenir les fichiers de géolocalisation des opérateurs téléphoniques de cet ensemble pour éliminer toutes celles ou tous ceux qui n’étaient pas dans les environs ; de même avec les fichiers de péage automobile, de réservation ferroviaire, de vidéo-surveillance (puisque les photos sont également stockées dans la base centrale), etc. L’opposant(e) aura été arrêté(e) parce que, en début de chaîne, la possession par l’administration d’une base centrale des empreintes biométriques aura permis de cibler un nombre trop restreint de personnes.
Quoi qu’il en soit, dans le cas du fichier TES, le gouvernement a refusé la mise en œuvre d’un système de « liens faibles », ce qui ne peut que contribuer à faire accroire que la finalité d’identification serait envisagée à terme.
Conclusion
Dans tous les cas évoqués ci-dessus, et sans même considérer la question d’un piratage comme d’autres pays en ont déjà connu, l’existence d’une base centralisée de données biométriques est un risque majeur qu’aucune société démocratique ne devrait prendre.
[Une pétition a été mise en ligne à ce sujet : http://tes-surveillance.wesign.it/fr ]
[Pour une vision à plus long terme, lire « La biométrie des honnêtes gens : penser le temps long »]
Références
[1] https://www.pellegrini.cc/2016/11/la-biometrie-des-honnetes-gens/
[4] https://fr.wikipedia.org/wiki/Fichier_national_automatisé_des_empreintes_génétiques
[5] http://pitou.blog.lemonde.fr/2005/06/05/2005_06_histoire_dun_al/
[6] http://ec.europa.eu/justice/news/consulting_public/0003/contributions/organisations/sagem_securite_fr.pdf (page 14)