Inria fait avancer la sécurité informatique

Date:
Mis à jour le 02/03/2020
Des chercheurs d’Inria de Paris et de la Nanyang Technological University de Singapour ont démontré que les faiblesses de fonctions de cryptographie, utilisées dans logiciels de sécurité informatique, peuvent être exploitées. Leur attaque, présentée début janvier 2020 à la communauté scientifique, a nécessité trois années de travail et mobilisé des moyens informatiques importants. Décryptage avec Gaëtan Leurent, de l’équipe-projet Cosmiq, l’un des auteurs de ces recherches.
Illustration serveurs
© Inria / Photo C. Morel

Garantir la confidentialité d’une opération bancaire, réaliser la mise à jour en ligne d’un logiciel, naviguer sur Internet en toute sécurité : ces opérations nécessitent de sécuriser de multiples protocoles informatiques. De nombreux chercheurs en cryptographie, dont différentes équipes d’Inria, s’attellent à cette tâche. Cette discipline scientifique, couvre deux grands domaines : le chiffrement, qui permet de coder un message afin de protéger la confidentialité des échanges entre deux parties, et l’authentification, qui permet de s’assurer de l’identité de chacune d’elles, afin d’éviter la modification du message par un tiers.

Éprouver la fiabilité des méthodes de cryptographie

L’un des enjeux majeurs de nos recherches en cryptographie, comme de celles de la communauté scientifique internationale de ce domaine, est de démontrer la robustesse des algorithmes de chiffrement et d’authentification.

explique Gaëtan Leurent, membre des équipes-projet Secret puis Cosmiq* depuis 2013 et titulaire d’un doctorat en cryptographie obtenu en 2010.

Afin d’éprouver la fiabilité des systèmes de cryptographie, les chercheurs se placent du côté de l’attaquant potentiel d’un système informatique, imaginant des moyens de casser une clé de chiffrement ou de leurrer un algorithme d’authentification. 

 
Gaëtan Leurent
© Inria / Photo G. Scagnelli
« La cybersécurité repose à la fois sur la définition du niveau de sécurité à atteindre par les algorithmes et sur l’identification de leurs faiblesses potentielles, afin d’y remédier ou de trouver des solutions plus satisfaisantes », précise Gaëtan Leurent.  Au sein de l’équipe Cosmiq, nous étudions une large gamme de systèmes cryptographiques. En lien avec la communauté scientifique internationale, nous contribuons ainsi au développement des standards de sécurité, imaginons des algorithmes d’attaque et évaluons les performances des systèmes dans leur capacité à y résister. »

Habituellement, les attaques sont conçues de façon théorique, dans un contexte favorable pour l’attaquant : par exemple, en supposant connus à la fois les messages originels et protégés (alors que dans la réalité, seul le message chiffré est évidemment accessible !) ou en considérant disponibles des ressources informatiques plus ou moins efficaces. « Mes recherches visent à concevoir des attaques plus “réalistes’’, prenant en compte par exemple la complexité réelle des processus d’authentification ou les vraies performances des moyens informatiques à disposition », détaille Gaëtan Leurent.

Attaquer un algorithme de signature

Le chercheur s’intéresse en particulier à l’un des éléments-clés de la signature électronique servant à authentifier le message : la fonction de « hachage ». Celle-ci réalise une opération mathématique permettant par exemple de produire l’empreinte d’un message afin de calculer une signature. Un résultat comparable à l’empreinte digitale, propre à chaque individu, qui atteste son identité sans connaître d’autres informations à son sujet.

Un message est authentifié par la vérification de son empreinte, transmise en même temps que le message ; la sûreté de l’authentification repose en partie sur le fait que la fonction de hachage produit une empreinte différente par message. Si un attaquant pouvait générer deux messages avec la même empreinte, une signature sur le premier message resterait valide sur le second. L’attaquant pourrait alors forger une signature en la copiant simplement d’un message à l’autre !

Mobiliser des moyens de calcul conséquents

Une fonction de hachage produit, à partir d’un message donné, une empreinte codée sous la forme d’une série de 0 ou de 1, de longueur fixée. Plus l’empreinte est longue, plus il devient difficile d’attaquer la fonction de hachage. Les algorithmes d’attaque demandent un nombre conséquent de calculs et leur efficacité est mesurée au regard de la complexité du problème (voir encadré).

Complexité d’un algorithme d’attaque

La difficulté à attaquer une fonction de hachage est évaluée à l’aide du nombre d’opérations théoriquement nécessaires pour obtenir deux messages avec la même empreinte. Ce nombre évolue de façon exponentielle avec la longueur de l’empreinte. L’enjeu des recherches en cryptographie est de proposer des algorithmes efficaces, dont les performances sont comparées à ce nombre théorique d’opérations. L’algorithme proposé par Gaëtan Leurent et Thomas Peyrin pour attaquer SHA-1 nécessite près de 100 000 fois moins d’opérations que le nombre théorique, ce qui permet de le rendre utilisable en pratique.

Il a fallu près de trois ans de travail à Gaëtan Leurent et son collègue Thomas Peyrin pour concevoir leur attaque de la fonction de hachage SHA-1, conçue dans les années 1990 par la NSA**. Cette fonction de hachage avait déjà été attaquée de façon théorique en 2005, puis de façon pratique en 2017 ; mais l’attaque proposée par les deux chercheurs va plus loin que les travaux précédents. Elle donne plus de liberté à l’attaquant et lui permet notamment d’usurper l’identité d’un utilisateur dans le système appelé PGP servant en particulier à échanger des courriels chiffrés.

Obtenir ce résultat, présenté à la communauté internationale début janvier à New-York à l’occasion de la conférence Real World Crypto qui rassemble chaque année la communauté internationale du domaine, a nécessité des moyens informatiques impressionnants. Un supercalculateur de 900 cartes graphiques a été sollicité en continu pendant près de deux mois afin de réaliser l’opération !

Ces moyens, accessibles à une équipe de chercheurs, sont a fortiori à la portée d’États aux intentions malveillantes : SHA-1, avec son empreinte de 160 bits, n’offre aux yeux de la communauté scientifique plus aucune garantie de sécurité informatique, alors qu’elle est par exemple encore utilisée dans des protocoles internet répandus, comme https ! Ses remplaçantes, SHA-2 et SHA-3 produisent une empreinte à 256 bits ou plus : les attaquer demande des ressources à ce jour impossibles à mobiliser.

D’autres moyens informatiques émergent, comme l’ordinateur quantique, offrant des capacités de calculs sans cesse accrues. Donc l’invulnérabilité des algorithmes de cryptographie n’est, elle, pas garantie à terme ! « Les chercheurs s’intéressent aux conséquences des ruptures technologiques sur les méthodes de cryptographie : il s’agit d’un thème nouveau, investigué depuis quelques années au sein de l’équipe Cosmiq. »

 

 


* Cosmiq : équipe Inria de Paris, dirigée par Jean-Pierre Tillich. L'acronyme reprend les trois domaines de la cryptographie sur lesquels travaillent les chercheurs de l’équipe : la cryptographie à base de COdes, la cryptographie SyMetrIque, et les aspects Quantiques.

** NSA (National Security Agency) : agence responsable du renseignement et de la sécurité des systèmes d'information du gouvernement américain