Aller au contenu

SHA : Secure Hash Algorithm

Cryptographie

SHA : Secure Hash Algorithm. « Algorithme de hachage sécurisé », par analogie avec l'empreinte digitale : elle identifie sans rien révéler de la personne, et on ne reconstitue pas un individu à partir d'elle.

Une famille, pas un algorithme : SHA désigne une lignée de fonctions publiées par le NIST : SHA-1, la famille SHA-2 (dont SHA-256 et SHA-512) et SHA-3, bâtie sur un principe interne entièrement différent. Dire « on hache en SHA » renseigne à peu près autant que dire « on voyage en véhicule ».

SHA-1 à la retraite : Des collisions concrètes sur SHA-1 ont été produites publiquement ; il n'a plus sa place dans une signature ni dans un certificat. Il survit dans quelques recoins, comme ces rois déchus qu'on garde au château par politesse.

Ce qu'on en attend : Résistance aux collisions, à la préimage et à la seconde préimage : trouver deux entrées de même empreinte, ou une entrée pour une empreinte donnée, doit rester hors de portée.

Ce qu'il ne fait pas : Un hachage seul n'authentifie rien : n'importe qui peut recalculer l'empreinte d'un fichier modifié. Pour cela il faut une clé, via un HMAC ou une signature.

Ce qui arrive si on s'en passe

Sans empreinte fiable, une modification d'un fichier, d'un paquet logiciel ou d'un message passe inaperçue : rien ne permet de constater qu'un octet a changé en route. Avec une version dépassée comme SHA-1 ou MD5, la situation est plus sournoise encore, car l'empreinte existe et rassure alors qu'un attaquant peut fabriquer deux contenus distincts qui la partagent, et faire signer l'un pour distribuer l'autre. La vérification reste une formalité tant qu'on croit l'algorithme solide ; elle devient une tromperie quand il ne l'est plus. Enfin, une empreinte publiée au même endroit que le fichier ne protège que contre les accidents : un attaquant qui remplace l'un remplace l'autre.

Explication de la marmotte

Imaginons une machine qui transforme n'importe quel texte, même un roman entier, en une courte suite de chiffres et de lettres toujours de la même longueur. Le même texte donne toujours la même suite. Changer une seule virgule donne une suite complètement différente. Et à partir de la suite, impossible de retrouver le texte. Cette famille de recettes sert à vérifier qu'un fichier téléchargé n'a pas été abîmé ou trafiqué : on compare la courte suite calculée chez soi avec celle annoncée par l'auteur. Si elles sont identiques, le fichier est le bon.

Où ce terme est utilisé

← Tout le glossaire