Vous trouvez un système indexant des fichiers via MD5. À quel point est-il vulnérable ? Depuis l'attaque [1] en 2008 qui a généré un faux certificat SSL, la fonction d'empreinte MD5 est considérée comme inutilisable par les experts, car vulnérable en pratique. Cela dit, elle est encore souvent utilisée, et parfois à bon escient. Par exemple en juillet 2019, on apprenait que le système de censure de WeChat [2] était basé sur une liste noire indexée avec MD5. Cet article a pour but de clarifier les attaques par collisions contre MD5.
Petit rappel : une fonction d'empreinte cryptographique associe à n'importe quel contenu une empreinte imprévisible, mais de taille fixée, qui varie complètement au moindre changement du contenu initial. Si cette fonction est considérée sûre, on ne peut pas déterminer en un temps raisonnable un contenu associé à une empreinte prédéterminée – c’est la résistance aux attaques de préimage. De même, une autre condition de sécurité est qu'on ne peut créer en temps raisonnable deux contenus distincts avec la même empreinte – c’est la résistance aux attaques par collision, notre sujet ici. Une fonction sans attaque par collision peut être utilisée comme indexation ou validation de contenus (liste noire ou liste blanche).
En pratique, il y a très peu d'attaques de préimage : aucune n'a été implémentée en pratique même contre MD2, l'ancêtre de MD5, conçu en 1989.
Nous traiterons dorénavant d'attaques par collision uniquement.
Il n'y a que...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première