Accueil Développement logiciel Bug dans l’algorithme de hash SHA-1

Bug dans l’algorithme de hash SHA-1

Avis d’expert

SHA-1 est mort et enterré

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 chaine 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 https://sha-mbles.github.io/ et https://eprint.iacr.org/2020/014.pdf

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.

Le SHA-1 est donc à 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$.

Par Adrien GAILLARD Consultant Sécurité chez NetXP