En 1995, SHA-1 (Secure Hash Algorithm), l’algorithme de hachage cryptographique conçu par la NSA, a été publié par le gouvernement des États-Unis comme standard fédéral de traitement de l'information. SHA-1 venait remplacer SHA-0 qui a été rapidement mis de côté par le NIST (Institut national des normes et de la technologie, une agence du département du Commerce des États-Unis) pour des raisons de sécurité insuffisante.
Néanmoins, avec les années, SHA-1 n’a plus été considéré comme sûr face à des adversaires disposant de moyens importants, c’est ce qu’ont suggéré des cryptanalystes qui se sont penchés sur des attaques théoriques. Aussi, l’institut américain des standards avait déclaré SHA-1 obsolète en 2011. Il n’en a pas fallu beaucoup plus aux principaux navigateurs pour se décider à déprécier cet algorithme : Microsoft, Google et Mozilla ont annoncé la fin du support de SHA-1 sur leurs produits respectifs.
De la théorie à la pratique
En 2012, des cryptographes ont estimé qu'une attaque pratique contre SHA-1 pourrait coûter 700 000 dollars en utilisant les services de cloud computing en 2015 et 173 000 dollars en 2018. Cependant, en 2015, un groupe de chercheurs de Centrum Wiskunde et Informatica (CWI) aux Pays-Bas, Nanyang Technological University (NTU) à Singapour et INRIA en France ont conçu une nouvelle façon de briser le SHA-1 qui, selon eux, réduirait considérablement le coût des attaques.
Depuis lors, les chercheurs de l'ICA ont travaillé avec Google, en utilisant l'infrastructure cloud de l'entreprise ainsi que son expertise technique pour réaliser une collision pratique.
« Aujourd'hui, plus de 20 ans après que SHA-1 a été présenté pour la première fois, nous annonçons la première technique pratique pour générer une collision. Cela représente le point culminant de deux années de recherche issues d'une collaboration entre le CWI Institute d'Amsterdam et Google », a annoncé Google sur un billet.
L’objectif de cette démarche était de souligner à quel point il est impérieux d’abandonner cet algorithme, dans un contexte où les machines sont de plus en plus puissantes, et de passer à des algorithmes plus sécurisés comme SHA-256 et SHA-3. Aussi, les chercheurs ont réalisé la toute première collision cryptographique de hachage sur SHA-1.
La collision cryptographique de hachage, qu’est-ce que c’est ?
L’une des propriétés des fonctions cryptographiques est le fait qu’elles sont unidirectionnelles ; en clair, il n’est pas possible de retrouver la chaîne originelle à partir du hash. Une seconde est que, théoriquement, deux chaînes de caractères différentes donneront systématiquement deux hash différents. C’est cette théorie que les chercheurs sont parvenus à démentir.
Google explique qu’une collision se produit lorsque deux morceaux de données distinctes (un document, un binaire ou un certificat de site Web) figurent dans la même signature (voir le schéma ci-dessous). Comme expliqué plus haut, les collisions ne devraient jamais se produire pour des fonctions de hachage sécurisées. Cependant, si l'algorithme de hachage a quelques défauts, comme SHA-1, un attaquant bien équipé peut créer une collision. L'attaquant pourrait alors utiliser cette collision pour tromper les systèmes qui s'appuient sur les hachages et leur faire accepter un fichier malveillant à la place de son équivalent bénin. Par exemple, deux contrats d'assurance avec des termes radicalement différents. Les attaquants pourraient également créer une mise à jour logicielle frauduleuse, qui serait acceptée et exécutée par un mécanisme de mise à jour qui valide les mises à jour en vérifiant les signatures numériques.
Pour leur attaque, les chercheurs ont produit deux fichiers PDF différents avec la même signature SHA-1.« En 2013, Marc Stevens a publié un article qui décrit une approche théorique pour créer une collision SHA-1. Nous avons commencé par créer un préfixe PDF spécifiquement conçu pour nous permettre de générer deux documents avec des contenus visuels distincts arbitraires, mais qui aurait un même hachage SHA-1 », ont expliqué les chercheurs.
Cependant, ils ont dû faire face à un défi de taille : la puissance de calcul. Google s’est appuyé sur son expertise technique et son infrastructure cloud pour lancer une collision « qui est l’un des plus gros calculs jamais faits ». Voici quelques chiffres que Google a partagés : au total, neuf quintillions (9 223 372 036 854 775 808) de calculs SHA-1, 6 500 ans de calcul CPU pour compléter la première phase de l'attaque et 110 ans de calcul GPU pour compléter la deuxième phase.
Source : blog Google
Voir aussi :
Google annonce la fin du support de SHA-1 dans Chrome, la firme accélère la mort de l'algorithme de hachage cryptographique
SHA-1 : Microsoft suit l'exemple de Mozilla et opte pour une fin de support en juin 2016, au lieu de janvier 2017 sur son navigateur
Arrêtez d'utiliser SHA-1 ! Des chercheurs affirment être parvenus à casser l'algorithme de hachage
Et recommandent des versions plus sécurisées
Arrêtez d'utiliser SHA-1 ! Des chercheurs affirment être parvenus à casser l'algorithme de hachage
Et recommandent des versions plus sécurisées
Le , par Stéphane le calme
Une erreur dans cette actualité ? Signalez-nous-la !