Cela fait plus de 10 ans que l’on nous dit d’arrêter d’utiliser SHA1 comme algorithme cryptographique dans le cadre des relations de confiance. Google vient de nous annoncer qu’il est vraiment temps de passer à autre chose, en théorie.

Suite à la publication des travaux de Google et du CWI Institute d’Amsterdam, il est possible de générer sans aucun coût des fichiers différents ayant la même empreinte sha1.

Si certains systèmes risquent de planter car ils se basent sur sha1 pour se repérer (systèmes de dédoublonnage notamment), dans la pratique il y a peu de cas où cela risque de se produire en dehors de la malveillance.

Cependant, quand cela se produit, les conséquences peuvent être importantes que cela soit en matière de perte de confiance ou de perte d’information dans le cadre d’un acte de malveillance.

Le risque de perte de confiance

Pour illustrer le risque que pose cette découverte en matière de confiance, prenons un exemple :

Kevin doit 10€ à David. En bon amis et vue la somme importante en jeu, Kevin prépare une reconnaissance de dettes.

En bon filou, Kevin réalise deux documents:

  • Dans le premier, il inscrit qu’il doit 10€ à David
  • Dans le second, il inscrit que c’est David qui lui doit 10€

Les deux documents ont la même empreinte sha1 :

C87BC2A068B741FF2F3CD0AFE8D10EE324717C27

Ensuite, Kevin et David signent le premier document avec leurs clés privées respectives, toutes deux basées sur sha1 (ce qui devrait être très peu probable en 2017).

Kevin, de son côté, archive le second document et la signature du premier document dans son système d’archivage légal.

David fait de même avec le premier document.

Comme les deux documents ont la même empreinte, il n’est pas possible de dire sur quoi porte exactement la signature, et donc de prouver qui est redevable à qui. Imaginez la tête du juge qui doit trancher entre Kevin et David.

Les conséquences d’un acte de malveillance

Pour cela prenons un exemple très concret :

David est administrateur d’une plateforme d’archivage conforme NF Z 42-013. Le système choisi par son entreprise réalise une empreinte sha1 de tout document versé, signe cette empreinte et inscrit l’action de versement dans les journaux.

David, en conflit avec son employeur, décide de se connecter aux baies de stockage SAN avec son compte admin. Il y remplace tous les contrats concernant le patrimoine de son entreprise par des fichiers contenant la littérature anglo-saxonne.

Le système d’archivage continue d’indiquer que les documents sont intègres mais l’entreprise de David a perdu tous les documents relevant de son patrimoine.

Conclusion

A ce stade, la meilleure solution reste à vérifier que l’analyse des risques couvre bien ces cas. Il se peut même que des actions mises en place pour d’autres événements redoutés couvrent les cas de malveillance liés à l’obsolescence du sha1.

Au final, il n’est pas nécessaire de se lancer dans une migration des empreintes déjà réalisées. Au mieux, il est possible de patcher les systèmes en place pour détecter les fichiers qui exploitent cette vulnérabilité.

Pour les nouveaux systèmes, il est préférable de passer à du sha256, sha512 ou encore mieux Blake2.


Le site : https://shattered.io/

La publication : https://shattered.io/static/shattered.pdf

Le schéma explicatif (png) : PDF format collision

Le collisionneur de PDF : https://alf.nu/SHA1

Image d’entête : Kryptos sculpture, Smithsonian | wanderingYew2 | CC BY 2.0