Collisions MD5 et vrais-faux certificats

Hier après-midi, après le buzz habituel de ce genre de révélation, Alexander Sotitov et ses compères ont présenté, dans le cadre du 25th Chaos Communication Congress à Berlin, des résultats fort intéressants pour la sécurité sur Internet.

Vous trouverez les détails complets à cette adresse : https://www.phreedom.org/research/rogue-ca/.

Et voici l’avis publié hier soir par Microsoft : Avis de sécurité Microsoft (961509) - Un projet de recherche prouve la faisabilité d'attaques par collisions sur MD5.

Et les recommandations de notre équipe de recherche interne : Information regarding MD5 collisions problem.

L’algorithme de hash MD5, bien que fortement déconseillé depuis 2005 en raison de la possibilité théorique de produire des collisions, c’est à dire des contenus différents ayant le même hash MD5, est encore largement utilisé par des autorités de certification pour signer les certificats émis. Cela signifie des certificats différents ayant la même signature. C’est à dire, à partir d’un certificat signé de façon légitime par une autorité de certification, la possibilité de générer une clé privée et le certificat associé possédant la même signature que l’original.

La nouveauté est cette fois la démonstration pratique que cette attaque est possible et abordable.

Le plus intéressant est ici la possibilité de générer un nouveau certificat ayant des caractéristiques différentes, comme un certificat d’autorité de certification intermédiaire. A partir de là, l’attaquant peut générer des certificats qui seront valides et acceptés par tous les clients pour, par exemple, des sites web SSL.

Avec une attaque de redirection DNS par exemple, le phishing fait encore un énorme pas en avant, puisque le site final est authentifié par le client comme étant bien celui de sa banque : autorité de certification reconnue, nom du site et signature du certificat corrects.

On peut aisément imaginer d’autres scénarios, avec la signature d’emails en S/MIME par exemple, ou la signature de code… Vous me suivez ?

Une dernière pensée : cela me rappelle l’attaque sur WPA/TKIP en novembre dernier. En cryptographie, lorsqu’un algorithme est soupçonné d’être faible ou est déjà remplacé par une nouvelle génération plus fiable, il ne faut plus l’utiliser, point. C’est pourquoi SDL recommande déjà d’utiliser SHA-256. Que les autorités de certification citées ici cessent d’utiliser MD5 et tout ira pour le mieux.