Protéger les métadonnées sensibles afin qu’elles ne puissent pas être utilisées à des fins de surveillance
Les chercheurs du MIT ont conçu un système évolutif qui sécurise les métadonnées – telles que qui correspond et quand – de millions d’utilisateurs des réseaux de communication, afin de contribuer à protéger les informations contre une éventuelle surveillance au niveau de l’État.
Les systèmes de cryptage des données qui protègent le contenu des communications en ligne sont très répandus aujourd’hui. Des applications comme WhatsApp, par exemple, utilisent le « chiffrement de bout en bout » (E2EE), un système qui garantit que les tiers qui écoutent aux portes ne peuvent pas lire les messages envoyés par les utilisateurs finaux.
Mais la plupart de ces systèmes négligent les métadonnées, qui contiennent des informations sur les personnes qui parlent, le moment où les messages sont envoyés, la taille du message et d’autres informations. Souvent, c’est tout ce qu’un gouvernement ou un autre hacker a besoin de savoir pour traquer un individu. Cela peut être particulièrement dangereux pour, par exemple, un dénonciateur du gouvernement ou des personnes vivant dans des régimes oppressifs qui discutent avec des journalistes.
Les systèmes qui protègent entièrement les métadonnées des utilisateurs par un système de confidentialité cryptographique sont complexes, et ils souffrent de problèmes d’extensibilité et de vitesse qui ont jusqu’à présent limité leur aspect pratique. Certaines méthodes peuvent fonctionner rapidement mais offrent une sécurité beaucoup plus faible. Dans un document présenté lors du symposium USENIX sur la conception et la mise en œuvre de systèmes en réseau, les chercheurs du MIT décrivent le « XRD » (pour Crossroads), un système de protection des métadonnées qui peut traiter les communications cryptographiques de millions d’utilisateurs en quelques minutes, alors que les méthodes traditionnelles avec le même niveau de sécurité prendraient des heures pour envoyer les messages de tout le monde.
« Il y a un énorme manque de protection pour les métadonnées, qui sont parfois très sensibles. Le fait que j’envoie un message à quelqu’un n’est pas du tout protégé par le cryptage », déclare le premier auteur Albert Kwon, PhD ’19, récemment diplômé du Laboratoire d’informatique et d’intelligence artificielle (CSAIL). « Le cryptage peut bien protéger le contenu. Mais comment pouvons-nous protéger pleinement les utilisateurs contre les fuites de métadonnées qu’un adversaire au niveau de l’État peut exploiter » ?
David Lu, diplômé du département de génie électrique et d’informatique, et Srinivas Devadas, professeur Edwin Sibley Webster de génie électrique et d’informatique au CSAIL, se joignent à Kwon sur ce papier.
Un nouvel élan pour les filets mixtes
À partir de 2013, la divulgation d’informations classifiées par Edward Snowden a révélé une surveillance mondiale généralisée de la part du gouvernement américain. Bien que la collecte massive de métadonnées par l’Agence de sécurité nationale ait été interrompue par la suite, en 2014, l’ancien directeur de la NSA et de l’Agence centrale de renseignement Michael Hayden a expliqué que le gouvernement peut souvent se fier uniquement aux métadonnées pour trouver les informations qu’il recherche. Il se trouve que c’est à peu près au moment où Kwon a commencé ses études de doctorat.
« C’était comme un coup de poing pour les communautés de la cryptographie et de la sécurité », dit Kwon. « Cela signifie que le cryptage ne faisait rien pour empêcher l’espionnage à cet égard. »
M. Kwon a consacré la majeure partie de son programme de doctorat à la confidentialité des métadonnées. Avec la XRD, Kwon dit qu’il a « donné une nouvelle tournure » à un système traditionnel de protection des métadonnées E2EE, appelé « mix nets », qui a été inventé il y a des décennies mais qui souffre de problèmes d’extensibilité.
Les réseaux mixtes utilisent des chaînes de serveurs, appelées mixes, et le cryptage à clé publique-privée. Le premier serveur reçoit les messages cryptés de nombreux utilisateurs et décrypte une seule couche de cryptage de chaque message. Ensuite, il mélange les messages dans un ordre aléatoire et les transmet au serveur suivant, qui fait la même chose, et ainsi de suite tout au long de la chaîne. Le dernier serveur décrypte la dernière couche de cryptage et envoie le message au destinataire cible.
Les serveurs ne connaissent que les identités de la source immédiate (le serveur précédent) et de la destination immédiate (le serveur suivant). Fondamentalement, le brassage et la limitation des informations d’identité brisent le lien entre les utilisateurs de la source et de la destination, ce qui rend très difficile l’obtention de ces informations par les écoutes. Tant qu’un serveur de la chaîne est « honnête » – c’est-à-dire qu’il suit le protocole – les métadonnées sont presque toujours sûres.
Cependant, des « attaques actives » peuvent se produire, dans lesquelles un serveur malveillant dans un réseau mixte falsifie les messages pour révéler les sources et les destinations des utilisateurs. En bref, le serveur malveillant peut supprimer des messages ou modifier les heures d’envoi pour créer des modèles de communication qui révèlent des liens directs entre les utilisateurs.
Certaines méthodes ajoutent des preuves cryptographiques entre les serveurs pour s’assurer qu’il n’y a pas eu d’altération. Celles-ci reposent sur la cryptographie à clé publique, qui est sûre, mais qui est également lente et limite la mise à l’échelle. Pour la XRD, les chercheurs ont inventé une version beaucoup plus efficace des preuves cryptographiques, appelée « shuffle hybride agrégé », qui garantit que les serveurs reçoivent et mélangent correctement les messages, afin de détecter toute activité malveillante des serveurs.
Chaque serveur dispose d’une clé privée secrète et de deux clés publiques partagées. Chaque serveur doit connaître toutes les clés pour décrypter et mélanger les messages. Les utilisateurs chiffrent les messages par couches, en utilisant la clé privée secrète de chaque serveur dans sa couche respective. Lorsqu’un serveur reçoit des messages, il les décrypte et les mélange en utilisant l’une des clés publiques combinée à sa propre clé privée. Ensuite, elle utilise la deuxième clé publique pour générer une preuve confirmant qu’elle a bien mélangé tous les messages sans en laisser tomber ni en manipuler aucun. Tous les autres serveurs de la chaîne utilisent leurs clés privées secrètes et les clés publiques des autres serveurs de manière à vérifier cette preuve. Si, à un moment quelconque de la chaîne, un serveur ne produit pas la preuve ou fournit une preuve incorrecte, il est immédiatement identifié comme malveillant.
Ce système repose sur une combinaison intelligente du populaire système de clé publique avec un système appelé « cryptage authentifié », qui n’utilise que des clés privées mais qui est très rapide pour générer et vérifier les preuves. De cette façon, la XRD atteint une sécurité stricte du chiffrement à clé publique tout en fonctionnant rapidement et efficacement.
Pour accroître encore l’efficacité, ils divisent les serveurs en plusieurs chaînes et répartissent leur utilisation entre les utilisateurs. (C’est une autre technique traditionnelle qu’ils ont améliorée.) En utilisant certaines techniques statistiques, ils estiment combien de serveurs dans chaque chaîne pourraient être malveillants, sur la base des adresses IP et d’autres informations. À partir de là, ils calculent combien de serveurs doivent se trouver dans chaque chaîne pour garantir qu’il y ait au moins un serveur honnête. Ensuite, ils divisent les utilisateurs en groupes qui envoient des messages en double à des chaînes multiples et aléatoires, ce qui protège davantage leur vie privée tout en accélérant les choses.
Accès au temps réel
Dans des simulations informatiques de l’activité de 2 millions d’utilisateurs envoyant des messages sur un réseau de 100 serveurs, la XRD a pu faire passer les messages de chacun en quatre minutes environ. Les systèmes traditionnels utilisant le même serveur et les mêmes numéros d’utilisateurs, et offrant la même sécurité cryptographique, prenaient une à deux heures.
« Cela semble lent en termes de vitesse absolue dans le monde de la communication d’aujourd’hui », déclare M. Kwon. « Mais il est important de garder à l’esprit que les systèmes les plus rapides actuellement (pour la protection des métadonnées) prennent des heures, alors que le nôtre ne prend que quelques minutes ».
Ensuite, les chercheurs espèrent rendre le réseau plus robuste pour un petit nombre d’utilisateurs et dans les cas où les serveurs se déconnectent en plein milieu des opérations, et accélérer les choses. « Quatre minutes sont acceptables pour les messages et les courriels sensibles où la vie de deux parties est en danger, mais ce n’est pas aussi naturel que l’internet d’aujourd’hui », déclare M. Kwon. « Nous voulons arriver au point où nous enverrons des messages protégés par des métadonnées en temps quasi réel. »