Celui-ci, contrairement au SHA-0, est largement utilisé : des solutions développées par Sun ou encore le serveur Apache s'en servent pour vérifier l'intégrité de fichiers.
Le français Antoine Joux, qui avait déjà co-découvert une faiblesse dans SHA-0 en 1998, a obtenu une collision, c'est-à-dire deux empreintes identiques pour des fichiers différents. Puisque les empreintes (en principe) uniques générées par les algorithmes de hachage sont destinées à vérifier l'intégrité d'un fichier, on peut imaginer que cette faiblesse soit utilisée pour faire passer pour authentique un programme auquel une porte dérobée a été ajoutée, par exemple.
Les études menées sur les faiblesses des procédés de cryptographie sont toutefois hautement expérimentales, et font appel à du matériel difficilement accessible à des personnes mal intentionnées : les travaux de Joux, Carribault et Lemuet ont mobilisé le supercalculateur du Tera Nova CEA et ses 256 Itanium2 pendant 80 000 heures-processeur.
Et même si une étape vers le contournement des protections MD5 est franchie, il reste un obstacle théorique considérable : la démarche des chercheurs consistait à trouver deux ensembles de données dont l'empreinte coïncide. Or pour faire passer pour authentique un fichier modifié, il faudrait faire coïncider son empreinte à celle de l'original sans modifier l'algorithme de hachage, ce qui semble encore hors d'atteinte.
A plus long terme encore, c'est la crédibilité du SHA-1 qui pourrait être mise en cause. Les chercheurs israëliens Eli Biham and Rafi Chen ont engagé des travaux préliminaires sur le procédé de hachage le plus utilisé (c'est le standard dans les administrations des Etats-Unis, dans SSL, ou encore PGP et son clone libre GPG). Au pire, il pourrait être 500 millions de fois plus rapide que prévu de générer deux fichiers d'empreinte identiques.
La seule solution pour protéger au mieux ses documents sensibles consite à utiliser un chiffrement plus fort que les 128 bits produits en sortie par le MD5 ou les 160 bits du SHA-0 (mais aussi du SHA-1). Dans la famille SHA, les version 256, 384 et 512 bits sont -encore- considérés comme sûres.
Mais ces algorithmes ne sont, de toutes façons, pas supposés être inviolables, et la montée en chiffrage, donc en complexité, sert seulement à élever le temps de calcul théoriquement nécessaire pour casser la protection.
Par Alexandre Chassignon (JDN)
|