SHA-1 (abréviation de Secure Hash Algorithm 1) est l'une des nombreuses fonctions de hachage cryptographique.
Il est le plus souvent utilisé pour vérifier qu'un fichier n'a pas été modifié. Cela se fait en produisant une somme de contrôle avant que le fichier ne soit transmis, puis à nouveau une fois qu'il atteint sa destination.
Le fichier transmis ne peut être considéré comme authentique que si les deux sommes de contrôle sont identiques.
Historique et vulnérabilités de la fonction de hachage SHA
SHA-1 n'est que l'un des quatre algorithmes de la famille Secure Hash Algorithm (SHA). La plupart ont été développés par la National Security Agency (NSA) des États-Unis et publiés par le National Institute of Standards and Technology (NIST).
SHA-0 a une taille de résumé de message de 160 bits (valeur de hachage) et était la première version de cet algorithme. Ses valeurs de hachage comportent 40 chiffres. Il a été publié sous le nom "SHA" en 1993 mais n'a pas été utilisé dans de nombreuses applications car il a été rapidement remplacé par SHA-1 en 1995 en raison d'une faille de sécurité.
SHA-1 est la deuxième itération de cette fonction de hachage cryptographique. Celui-ci a également un résumé de message de 160 bits et a cherché à augmenter la sécurité en corrigeant une faiblesse trouvée dans SHA-0. Cependant, en 2005, SHA-1 s'est également avéré non sécurisé.
Une fois que des faiblesses cryptographiques ont été trouvées dans SHA-1, le NIST a fait une déclaration en 2006 encourageant les agences fédérales à adopter l'utilisation de SHA-2 d'ici 2010. SHA-2 est plus fort que SHA-1, et les attaques effectuées contre SHA-2 sont peu susceptibles de se produire avec la puissance de calcul actuelle.
Non seulement les agences fédérales, mais même des entreprises comme Google, Mozilla et Microsoft ont toutes commencé à arrêter d'accepter les certificats SSL SHA-1 ou ont déjà bloqué le chargement de ce type de pages.
Google a la preuve d'une collision SHA-1 qui rend cette méthode peu fiable pour générer des sommes de contrôle uniques, qu'il s'agisse d'un mot de passe, d'un fichier ou de toute autre donnée. Vous pouvez télécharger deux fichiers PDF uniques à partir de SHAttered pour voir comment cela fonctionne. Utilisez une calculatrice SHA-1 au bas de cette page pour générer la somme de contrôle pour les deux, et vous constaterez que la valeur est exactement la même même si elles contiennent des données différentes.
SHA-2 et SHA-3
SHA-2 a été publié en 2001, plusieurs années après SHA-1. Il comprend six fonctions de hachage avec différentes tailles de résumé: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 et SHA-512/256.
Développé par des concepteurs non-NSA et publié par le NIST en 2015, est un autre membre de la famille Secure Hash Algorithm, appelé SHA-3 (anciennement Keccak).
SHA-3 n'est pas destiné à remplacer SHA-2 comme les versions précédentes étaient destinées à remplacer les précédentes. Au lieu de cela, il a été développé comme une autre alternative à SHA-0, SHA-1 et MD5.
Comment SHA-1 est-il utilisé ?
Un exemple concret où SHA-1 peut être utilisé est lorsque vous entrez votre mot de passe dans la page de connexion d'un site Web. Bien que cela se produise en arrière-plan à votre insu, il peut s'agir de la méthode utilisée par un site Web pour vérifier en toute sécurité que votre mot de passe est authentique.
Dans cet exemple, imaginez que vous essayez de vous connecter à un site Web que vous visitez souvent. Chaque fois que vous demandez à vous connecter, vous devez entrer votre nom d'utilisateur et votre mot de passe.
Si le site Web utilise la fonction de hachage cryptographique SHA-1, cela signifie que votre mot de passe est transformé en somme de contrôle après l'avoir saisi. Cette somme de contrôle est ensuite comparée à la somme de contrôle stockée sur le site Web qui se rapporte à votre compte actuel. mot de passe, que vous n'ayez pas changé votre mot de passe depuis votre inscription ou que vous l'ayez changé il y a quelques instants. Si les deux correspondent, l'accès vous est accordé; s'ils ne le font pas, on vous dit que le mot de passe est incorrect.
Un autre exemple où cette fonction de hachage peut être utilisée est pour la vérification de fichier. Certains sites Web fourniront la somme de contrôle SHA-1 du fichier sur la page de téléchargement afin que lorsque vous téléchargez le fichier, vous puissiez vérifier la somme de contrôle par vous-même pour vous assurer que le fichier téléchargé est le même que celui que vous aviez l'intention de télécharger.
Vous pourriez vous demander quelle est l'utilité réelle de ce type de vérification. Considérez un scénario dans lequel vous connaissez la somme de contrôle SHA-1 d'un fichier sur le site Web du développeur, mais vous souhaitez télécharger la même version à partir d'un site Web différent. Vous pouvez ensuite générer la somme de contrôle SHA-1 pour votre téléchargement et la comparer avec la somme de contrôle authentique de la page de téléchargement du développeur.
Si les deux sont différents, cela signifie non seulement que le contenu du fichier n'est pas identique, mais qu'il pourrait y avoir des logiciels malveillants cachés dans le fichier, les données pourraient être corrompues et endommager vos fichiers informatiques, le fichier n'est pas tout ce qui concerne le vrai fichier, etc.
Cependant, cela peut également signifier qu'un fichier représente une version du programme plus ancienne que l'autre, car même ce petit changement générera une valeur de somme de contrôle unique.
Vous pouvez également vérifier que les deux fichiers sont identiques si vous installez un service pack ou un autre programme ou mise à jour, car des problèmes surviennent si certains fichiers manquent lors de l'installation.
SHA-1 Calculatrices de somme de contrôle
Un type spécial de calculatrice peut être utilisé pour déterminer la somme de contrôle d'un fichier ou d'un groupe de caractères.
Par exemple, SHA1 Online et SHA1 Hash Generator sont des outils en ligne gratuits qui peuvent générer la somme de contrôle SHA-1 de n'importe quel groupe de texte, symboles et/ou nombres.
Ces sites Web généreront, par exemple, cette paire:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba