Un spectre hante le petit monde des économistes : les pseudonymes utilisés de 2013 à 2023 pour envoyer des messages sur le forum Economics Job Market Rumors (EJMR), dont le site prétendait qu’ils étaient totalement sûrs et garantissaient de pas de remonter aux auteurs et autrices des messages, permettent en réalité d’identifier de quelle adresse Internet ces messages ont été postés. Un récent article (Anonymity and identity online, par les chercheurs Florian Ederer, Paul Goldsmith-Pinkham et Kyle Jensen) donne le procédé suivi pour cela. Cet article met en lumière de graves erreurs d’utilisation de la cryptographie par le gestionnaire du site.
Pour comprendre ce qui s’est passé, considérons tout d’abord le chiffrement le plus simple, par substitution de lettres : on remplace chaque lettre de l’alphabet par une autre, ou par un symbole, et la clef secrète est la table de ces substitutions. Quiconque a lu Sherlock Holmes (Les Hommes Dansants) sait que l’on peut attaquer un tel chiffrement en repérant que le E est la lettre la plus fréquente, puis en faisant des inférences par rapport aux mots rencontrés.
De fait, si pour chiffrer un message on applique toujours exactement le même chiffrement, on a une vulnérabilité : si on utilise toujours le même message chiffré pour le texte en clair OUI et toujours le même message chiffré pour le texte en clair NON, une personne espionnant la conversation a vite fait d’identifier ces réponses. Aussi, quand on chiffre un message, on va habituellement le faire précéder de données tirées au hasard, de sorte que le message chiffré dépendra de ces données et qu’on obtiendra deux messages chiffrés différents en chiffrant OUI deux fois ; on jettera ces données au moment du déchiffrement.
Hachage cryptographique
Dans le procédé qui était utilisé par le site EJMR, l’adresse IP de l’utilisateur (une adresse formée de nombres qui lui est attribuée par son fournisseur d’accès Internet) était combinée avec le sujet de discussion dans lequel il intervenait, puis passée à une fonction de hachage cryptographique (pas un chiffrement, mais la différence entre les deux n’est pas importante pour la vulnérabilité du procédé), sans ajout de donnée supplémentaire. Cette combinaison se faisait tout simplement en les mettant bout à bout, ce que les auteurs de l’article ont vite trouvé. Ensuite, le pseudonyme de l’utilisateur dans le fil de discussion était formé de quatre chiffres extraits de la sortie de cette fonction de hachage.
Avec un tel procédé, il est facile de tester si un message a pu être posté depuis une certaine adresse : il suffit de prendre cette adresse, de la mettre bout à bout avec le sujet de discussion, de passer le tout au hachage cryptographique, d’extraire les quatre chiffres pertinents et de comparer le résultat avec le pseudonyme identifiant la personne dans ce fil. Les auteurs de l’article ont fait cela pour toutes les adresses possibles (il y en a environ 4 milliards) et tous les fils de discussion. Pour chaque message, pour chaque fil, ils ont ainsi identifié les possibles adresses d’où il aurait pu être posté. Ceci donne, pour chaque message, environ 65 000 adresses d’origine possibles.
On pourrait penser qu’avoir une liste de 65 000 adresses possibles, ce n’est pas pointer les auteurs. Mais, de même que pour l’énigme des hommes dansants, Sherlock Holmes pouvait exploiter le fait que la même convention de chiffrement était utilisée pour plusieurs lettres et que celles-ci devaient former des mots, ici on peut exploiter le fait que le même utilisateur, à la même adresse, risque de poster des messages sur plusieurs sujets. Or, seule une infime proportion des utilisateurs d’Internet poste sur EJMR. Si une même adresse apparaît parmi les adresses possibles pour des utilisateurs postant à des dates voisines sur plusieurs sujets de ce site, alors c’est probablement elle l’adresse de ces utilisateurs.
L’article se livre ensuite à diverses analyses : certaines adresses utilisées appartiennent aux réseaux de prestigieuses universités ou institutions étatsuniennes ; une proportion des messages postés avaient un caractère raciste et/ou sexiste ; etc. C’est ce dernier point qui, peut-être, fait réagir certains qui n’aimeraient pas que leurs propos orduriers soient rapportés à leur employeur ou soient publiquement associés à leur personne.
Procédé absurde
Du point de vue de l’informaticien et notamment du cryptographe, le procédé utilisé pour anonymiser, ou plutôt pseudonymiser, les utilisateurs de ce site, était absurde. Dès que l’article explique comment le site fonctionnait, la messe est dite : l’attaque est évidente. Comment se fait-il que ce mécanisme de pseudonymisation ait été choisi ?
Au vu de certains messages laissés par l’auteur du site, celui-ci avait une très grande confiance dans l’impossibilité de remonter aux adresses des auteurs des messages, probablement fondée sur le choix d’une fonction de hachage cryptographique. Ces fonctions, en effet, sont censées être à sens unique : on ne peut pas remonter aux données originales. Cependant, cela ne vaut que si on utilise convenablement ces fonctions, et ici il aurait fallu, par exemple, ajouter aux données une donnée secrète, connue uniquement du gestionnaire du site.
La morale de cette affaire est que si, de nos jours, des outils cryptographiques sont largement disponibles depuis des langages de programmation destinés à un large public, ces outils sont difficiles à utiliser. On dit souvent don’t roll your own security – « ne déployez pas des mécanismes de sécurité de votre propre conception », et ce notamment s’agissant d’individus ou d’entreprises dont la sécurité ou la cryptographie n’est pas le sujet d’expertise.
Dans certains cas, on peut se féliciter de l’incompétence des auteurs. Ainsi, une étude a relevé en 2016 que de nombreux logiciels malware, c’est-à-dire utilisés à des fins malveillantes, de piratage, d’exigence de rançons, etc. comportent des erreurs d’utilisation de la cryptographie. Les auteurs attribuent cela à ce que les auteurs de malware utilisent la cryptographie sur la base d’intuitions, de superstition, et sautent sur les occasions de réinventer la roue (proposer leur propre solution à des problèmes déjà bien connus et traités et pour lesquels il existe des solutions très convenables), mais aussi d’utiliser des éléments logiciels préexistants mais qui résolvent d’autres problèmes que celui posé. Par ailleurs, ils bluffent afin de décourager les victimes.
Le précédent OpenSSL
Hélas, les dysfonctionnements cryptographiques dus à de la rédaction ou modification hasardeuse de logiciels ne sont pas limités aux logiciels malveillants. Un exemple célèbre est la découverte en 2008 que, depuis 2006, le générateur de clefs cryptographiques de la bibliothèque OpenSSL distribuée dans le système d’exploitation Debian Linux (et d’autres basés sur lui, comme Ubuntu), au lieu de tirer les clefs au hasard dans un énorme espace, les tirait en fait de sorte qu’il suffisait de les essayer toutes pour pouvoir faire des choses normalement interdites (intercepter des communications avec des sites web sécurisés, etc.).
Ce fiasco était dû à des modifications du logiciel par des gens qui ne comprenaient pas son fonctionnement et à des problèmes de communication avec l’équipe chargée du développement du logiciel.
Pour en revenir au forum EJMR, cet épisode devrait nous inciter à avoir un regard critique sur les prétentions à la sécurité (« cryptographie de qualité militaire », « inviolable », etc.) de prestataires, de sites, de fournisseurs, qui ne reposent pas sur des études publiques et documentées.
David Monniaux, Chercheur en informatique, Centre national de la recherche scientifique (CNRS), Université Grenoble Alpes (UGA)
Cet article est republié à partir de The Conversation sous licence Creative Commons. Lire l’article original.