TOOLinux

Le journal du Libre

Pourquoi SHA-1 est mort et enterré

lundi 27 janvier 2020

La nouvelle est tombée très récemment : des chercheurs français de l’INRIA et des chercheurs de Singapour ont publié un article complet décrivant leurs améliorations des attaques par collision sur l’algorithme de hash SHA-1, déjà réputé assez faible.

En plus de l’amélioration d’attaques existantes, ils ont réussi la première attaque par collision de préfixe choisi sur SHA-1, c’est à dire de modifier n’importe quelle chaîne de caractères pour que son empreinte SHA-1 soit identique à une chaine de caractères légitime.

Pour plus de précisions rendez-vous sur cette page ou via ce lien (PDF).

Les implications

- GnuPG - les chercheurs ont contacté les développeurs de GnuPG avant l’été 2019 pour leur présenter leurs avancées, amenant une mise à jour dans la version 2.2.18 du 25/11/2019. Toutes les signatures GPG générées en SHA-1 après le 19 janvier 2019 sont considérées comme invalides ;
- CAcert - beaucoup de certificats générés encore aujourd’hui le sont avec l’utilisation du SHA-1, l’équipe de développeurs est au courant de la faille depuis le mois de décembre 2019 et sont en cours de planification pour un update de l’algorithme de hash à utiliser ;
- OpenSSL - même état que pour CAcert, ils pensent désactiver le level 1 du SHA-1 (longueur de hash de 80 bits) qui est le choix par défaut, au profit du level 2 (112 bits) pour augmenter la complexité de l’attaque sans pour autant l’empêcher ;
- TLS - SHA-1 est utilisé dans 2 parties de TLS, la première pour le handshake (SHA-1), la seconde pour l’authentification (HMAC-SHA-1) ;
- TLS Handshake - TLS 1.0 et TLS 1.1 utilisent tous les deux la concaténation de MD5 et SHA-1, qui sont donc tous les deux obsolètes. TLS 1.2 laisse le choix à la négociation et il s’avère que 3% des sites du top 1M l’utilisent encore. SHA-1 n’est pas autorisé en TLS 1.3, encore peu déployé ;
- TLS Authent - l’algorithme de hash est négociable pour l’authentification et le top Alexa 1M des sites montrent qu’environ 8% des sites utilisent HMAC-SHA-1 aujourd’hui ;
- SSH - l’utilisation du SHA-1 est aussi double, un peu à la manière du TLS. Il est plus compliqué de mener une attaque au niveau du SSH car les sessions sont souvent éphémères ;
- SSH Handshake - une estimation par scan de l’espace IPv4 semble montrer que 17% des serveurs accessibles en SSH acceptent encore le SHA-1 ;
- SSH Authent - environ 8% d’entre eux acceptent le HMAC-SHA-1.

Les conclusions

Le SHA-1 est à exclure nommément des PSSI et de des configurations, au profit des familles SHA-2 et SHA-3. Les chercheurs concluent leur article en expliquant que toute la cryptographie symétrique reposant sur des algorithmes utilisant des longueurs de clé/hash de moins de 64 bits peut aujourd’hui être cassée avec du matériel à moins de 100 k$.

- Adrien GAILLARD Consultant Sécurité chez NetXP