SHA-1 compromis

Depuis 2005, la fonction de hachage SHA-1 n’était déjà plus très recommandable, au même titre que le MD-5, mais aujourd’hui, Google en démontre l’obsolescence en ayant révélé 2 documents différents amenant vers 1 seul hachage SHA-1 identique. Ce n’est pas rien, la sécurité sur Internet vient d’en prendre un sacré coup.

En gros, une fonction de hachage permet d’obtenir une empreinte d’un document numérique. Cette empreinte est sous la forme d’une chaine de caractères et par de subtils calculs mathématiques, à une empreinte correspond un seul et unique document. Cette empreinte peut ensuite être utilisée pour sécuriser le document, l’authentifier et vérifier son intégrité: si en recalculant l’empreinte d’un document, elle s’avère différente de celle originale, le document a forcément été modifié entre temps… puisqu’à un document correspond une seule et unique empreinte.

Ça c’est dans la théorie… Dans la pratique, Google avec l’aide du CWI d’Amsterdam viennent donc de démontrer que pour la fonction SHA-1, ce n’était plus vrai. Même si les experts le clamaient depuis 2005, il restait à le démontrer, c’est maintenant fait. Et pour bien le prouver, ils ont mis en place un site d’explications avec les 2 PDF disponibles.

Quand on réussit à trouver 2 documents ayant la même empreinte, on dit qu’il y a collision et Google avec le CWI ont donc élaboré pendant 2 ans la méthode pour provoquer cette collision. Ils ont mis au point la méthode Shattered comme alternative à une simple méthode brute-force (comprendre essayer toutes les combinaisons possibles) afin de réduire au maximum les chemins à emprunter pour parvenir à cette collision.

Nous savons déjà tous que ce ne sont pas les ordinateurs qui manquent chez Google avec tous leurs data-centers ou leurs fermes de calculs. Il aura fallu tout de même 9 223 372 036 854 775 808 calculs SHA-1 au total pour arriver à cette collision. Soit 6 500 années de calculs CPU et 110 années GPU. Une paille.

Leur méthode Shattered s’avère 100 000 fois plus rapide qu’une méthode d’attaque en brute force. Ce n’est pas rien et cela fragilise d’un coup bon nombre de sites internet qui utilise en interne cette fonction de hachage. Par exemple, de nombreux sites utilisent encore le SHA-1 pour leur certificat SSL, la sécurité HTTPS s’en trouve maintenant compromise, déjà que le SSL connait une crise de confiance comme nous l’évoquions dernièrement. D’autres ou les mêmes sites utilisent aussi SHA-1 pour stocker dans leurs bases de données les empreintes de vos mots de passe pour vos comptes chez eux. Autant de comptes qui sont maintenant fragilisés.

Google va laisser passer 90 jours avant de révéler sa méthode pour permettre à tout le monde de renforcer sa sécurité, les autres fonctions de hachage SHA s’avèrent encore sûres: le SHA-3 ou le très utilisé SHA-256. Les administrateurs web, les développeurs de logiciels, mais aussi tout ceux qui utilisent le SHA-1 en général sont maintenant prévenus.

Pour le Bitcoin, cela ne change pas grand chose, le SHA-256 étant déjà utilisé avec le RIPEMD-160, un double hachage usuellement appelé HASH160 qui ne sont vraiment pas prêt de tomber, même avec le D-Wave 2X, l’ordinateur quantique mis au point par le fabricant D-Wave et acquis par Google et la Nasa en 2015.