Sites Inria

English version

Sécurité

Stéphanie Dupont - 12/10/2015

Une menace sur la signature électronique des sites web

© Inria / Photo Kaksonen

Une équipe internationale de cryptanalystes - Pierre Karpman, de l'équipe Grace (Inria Saclay - Ile-de-France), en collaboration avec Marc Stevens (CWI, Pays-Bas) et Thomas Peyrin (NTU, Singapour) - presse aujourd'hui l'industrie de retirer le standard de sécurité Internet SHA-1 plus tôt que prévu. Les travaux de recherche de l’équipe viennent de mettre en évidence une collision « à initialisation libre » sur la fonction de hachage SHA-1.

Pour mieux comprendre les enjeux associés à ce résultat, nous avons rencontré Daniel Augot, responsable de l’équipe-projet Grace au centre Inria Saclay – Ile-de-France et encadrant de Pierre Karpman. Décryptage : 

Qu’est-ce que SHA-1 ?

SHA-1 est une fonction de hachage cryptographique standardisée par le NIST en 1995. Elle prend en entrée un document numérique de taille quelconque et produit une empreinte de 160 bits. Elle est entre autres beaucoup utilisée dans les certificats qui permettent d'authentifier les sites web. Ce standard industriel est utilisé par exemple pour les signatures électroniques qui sécurisent les transactions à base de carte bancaire, la banque dématérialisée et la distribution de logiciel.

Qu'est-ce qu'une fonction de hachage ?

Une fonction de hachage est un algorithme cryptographique qui transforme tout document électronique en une empreinte courte de taille fixe. Ces fonctions de hachage, véritables couteaux suisses de la cryptographie, ont de nombreux usages dont un des plus importants est la signature électronique. La signature électronique d'un document se construit en deux temps, avec deux algorithmes différents : application de la fonction hachage sur le document à signer pour obtenir une empreinte courte, et ensuite de l'algorithme de signature proprement dit qui s'applique à cette empreinte. La signature électronique est utilisée notamment pour certifier l'authenticité des sites web auxquels nous voulons nous connecter de manière sécurisée. Ce sont les certificats électroniques délivrés par des autorités de certification.

En quoi une collision est-elle une menace ?

Une collision sur une fonction de hachage donnée se constitue de deux documents qui produisent la même empreinte. Un de ces deux documents peut avoir été signé légitimement par son propriétaire. L'attaquant, qui dispose du deuxième document donnant la même empreinte, peut le substituer au premier document, et comme la signature ne porte en réalité que sur l'empreinte, la signature  sera aussi valide sur le deuxième document : on a ainsi produit un faux. Un algorithme de signature proprement dit, même sûr, combiné à une fonction de hachage  ainsi affaiblie mène à des signatures électroniques non-fiables.

Quel est le résultat de Stevens, Karpman, Peyrin ?

Une fonction de hachage comme SHA-1 fonctionne en utilisant en interne une fonction de compression, qui prend des messages de taille fixe, et produit des messages plus courts. C'est en itérant cette fonction de compression sur des blocs de messages de taille fixe qu'on obtient un algorithme global qui opère sur des messages de longueur quelconque. Stevens, Karpman, Peyrin ont trouvé  une collision sur la fonction de compression, et non sur la fonction de hachage SHA-1.

Quel est l’enjeu ?

En ciblant un site marchand, la production d'un faux certificat permet à l'attaquant de se substituer au vrai site, et d'engager ensuite une session sécurisée avec les utilisateurs du site. Ceux-ci croient être sur le vrai site, alors que leur connexion est entre les mains de l'attaquant. Pour produire de faux certificats, il faut être capable de calculer des collisions à préfixe choisi, ce qui n'est pas le résultat annoncé.

Encore deux étapes vers une collision dangereuse.

Une collision sur la fonction de compression ne se traduit pas automatiquement en collision sur la fonction de hachage réelle, et un réel travail de cryptanalyse reste encore à faire. De plus, une collision sur la fonction de hachage ne produit a priori que deux documents constitués de chaînes de caractères aléatoires, sans valeur sémantique. Un deuxième travail de cryptanalyse reste ensuite encore à faire pour produire deux documents intelligibles ayant la même signature. Cela s'appelle une collision à préfixe choisi.

Pourquoi s'alerter ?

À cause des leçons de l'Histoire. La fonction la plus utilisée avant SHA-1 était MD5. Des faiblesses sur la fonction de compression de MD5 ont été découvertes au milieu des années 1990, et les cryptologues ont très vite recommandé de l'abandonner, sans être suivis par les industriels du logiciel. Elle a ensuite été cassée en 2004, avec la présentation de la première collision : deux messages produisant la même empreinte par MD5. En 2007, une attaque à préfixe choisi a été produite (deux messages ayant un sens réel). Fin décembre 2008, un faux certificat a pu être construit, montrant les conséquences réelles des faiblesses de MD5. La démonstration de cette attaque réelle de portée très dangereuse a finalement conduit l'industrie logicielle à l'abandon tardif de MD5. De même, un des éléments clés du virus FLAME a été la construction de collisions du MD5, permettant l'utilisation d'un faux certificat Microsoft, et l'installation de logiciels félons.

L'expert en sécurité Bruce Schneier a prédit une collision sur SHA-1 en 2018, et Google a annoncé rendre progressivement obsolètes avant 2017 les certificats utilisant SHA-1. Les résultats de Karpman, Peyrin et Stevens, par extrapolation, permettent de dire que ces délais sont trop longs. En effet, pour trouver cette collision à départ libre, un calcul sur 10 jours a été conduit sur un cluster de 64 GPUs. Leur extrapolation donne une collision complète qui peut être obtenue en 78 jours avec 512 GPUs

Quelles sont les alternatives à SHA-1 ?

Pour l'instant, il est prévu de déclarer, au niveau des navigateurs Internet, les signatures à base de SHA-1 risquées en faveur de son successeur SHA-2 en janvier 2017. Marc Stevens, Pierre Karpman et Thomas Peyrin estiment maintenant que la création de signatures numériques frauduleuses sera vraisemblablement réalisable bien avant cette date.

L’équipe de cryptanalystes ayant obtenu ce résultat recommande de déclarer SHA-1 obsolète plus tôt que prévu et conseille aux sites web de migrer bientôt vers SHA-2.

Mots-clés : Sécurité - Équipe-projet Grace - SHA-1 - Fonction de hachage - Inria Saclay - Île-de-France

Haut de page

Suivez Inria tout au long de son 50e anniversaire et au-delà !