Vous verrez parfois des hachages MD5, SHA-1 ou SHA-256 affichés à côté des téléchargements pendant vos voyages sur Internet, mais vous ne savez pas vraiment ce qu'ils sont. Ces chaînes de texte apparemment aléatoires vous permettent de vérifier que les fichiers que vous téléchargez ne sont pas corrompus ou falsifiés. Vous pouvez le faire avec les commandes intégrées à Windows, macOS et Linux.
Comment fonctionnent les hachages et comment ils sont utilisés pour la vérification des données
Les hachages sont les produits de la cryptographie algorithmes conçu pour produire une chaîne de caractères. Souvent, ces chaînes ont une longueur fixe, quelle que soit la taille des données d'entrée. Jetez un œil au tableau ci-dessus et vous verrez que «Renard» et «Le renard roux saute par-dessus le chien bleu» donnent la même longueur de sortie.
Maintenant, comparez le deuxième exemple du graphique aux troisième, quatrième et cinquième. Vous verrez que, malgré un changement très mineur dans les données d'entrée, les hachages résultants sont tous très différents les uns des autres. Même si quelqu'un modifie une très petite partie des données d'entrée, le hachage changera considérablement.
MD5, SHA-1 et SHA-256 sont toutes des fonctions de hachage différentes. Les créateurs de logiciels prennent souvent un téléchargement de fichier - comme un fichier .iso Linux ou même un fichier .exe Windows - et l'exécutent via une fonction de hachage. Ils proposent ensuite une liste officielle des hachages sur leurs sites Web.
De cette façon, vous pouvez télécharger le fichier, puis exécuter la fonction de hachage pour confirmer que vous avez le vrai fichier d'origine et qu'il n'a pas été corrompu pendant le processus de téléchargement. Comme nous l'avons vu ci-dessus, même une petite modification du fichier modifiera considérablement le hachage.
Celles-ci peuvent également être utiles si vous disposez d’un fichier provenant d’une source non officielle et que vous souhaitez confirmer qu’il est légitime. Disons que vous avez un fichier Linux .ISO que vous avez obtenu de quelque part et que vous souhaitez confirmer qu’il n’a pas été falsifié. Vous pouvez rechercher le hachage de ce fichier ISO spécifique en ligne sur le site Web de la distribution Linux. Vous pouvez ensuite l'exécuter via la fonction de hachage sur votre ordinateur et confirmer qu'il correspond à la valeur de hachage que vous attendez de lui. Cela confirme que le fichier que vous avez est exactement le même fichier proposé au téléchargement sur le site Web de la distribution Linux, sans aucune modification.
Notez que des «collisions» ont été trouvées avec les fonctions MD5 et SHA-1. Il s'agit de plusieurs fichiers différents (par exemple, un fichier sécurisé et un fichier malveillant) qui génèrent le même hachage MD5 ou SHA-1. C’est pourquoi vous devriez préférer SHA-256 lorsque cela est possible.
Comment comparer les fonctions de hachage sur n'importe quel système d'exploitation
Dans cet esprit, voyons comment vérifier le hachage d'un fichier que vous avez téléchargé et le comparer à celui qui vous est fourni. Voici les méthodes pour Windows, macOS et Linux. Les hachages seront toujours identiques si vous utilisez la même fonction de hachage sur le même fichier. Peu importe le système d'exploitation que vous utilisez.
Windows
Ce processus est possible sans aucun logiciel tiers sur Windows grâce à PowerShell.
Pour commencer, ouvrez une fenêtre PowerShell en lançant le raccourci «Windows PowerShell» dans votre menu Démarrer.
Exécutez la commande suivante, en remplaçant «C: \ chemin \ vers \ fichier.iso» par le chemin d'accès à tout fichier dont vous souhaitez afficher le hachage:
Get-FileHash C: \ chemin \ vers \ fichier.iso
La génération du hachage du fichier prendra un certain temps, en fonction de la taille du fichier, de l'algorithme que vous utilisez et de la vitesse du lecteur sur lequel se trouve le fichier.
Par défaut, la commande affichera le hachage SHA-256 pour un fichier. Cependant, vous pouvez spécifier l'algorithme de hachage que vous souhaitez utiliser si vous avez besoin d'un MD5, SHA-1 ou d'un autre type de hachage.
Exécutez l'une des commandes suivantes pour spécifier un algorithme de hachage différent:
Get-FileHash C: \ chemin \ vers \ file.iso -Algorithme MD5
Get-FileHash C: \ chemin \ vers \ file.iso -Algorithme SHA1
Get-FileHash C: \ chemin \ vers \ file.iso -Algorithme SHA256
Get-FileHash C: \ chemin \ vers \ file.iso -Algorithme SHA384
Get-FileHash C: \ chemin \ vers \ file.iso -Algorithme SHA512
Get-FileHash C: \ chemin \ vers \ file.iso -Algorithme MACTripleDES
Get-FileHash C: \ chemin \ vers \ file.iso -Algorithme RIPEMD160
Comparez le résultat de la fonction de hachage au résultat attendu. S'il s'agit de la même valeur, le fichier n'a pas été corrompu, falsifié ou autrement modifié par rapport à l'original.
macOS
macOS inclut des commandes pour afficher différents types de hachages. Pour y accéder, lancez une fenêtre Terminal. Vous le trouverez dans Finder> Applications> Utilitaires> Terminal.
le
Smokey
La commande affiche le hachage MD5 d'un fichier:
md5 / chemin / vers / fichier
le
Shasum
La commande affiche le hachage SHA-1 d'un fichier par défaut. Cela signifie que les commandes suivantes sont identiques:
shasum / chemin / vers / fichier
shasum -a 1 / chemin / vers / fichier
Pour afficher le hachage SHA-256 d'un fichier, exécutez la commande suivante:
shasum -a 256 / chemin / vers / fichier
Linux
Sous Linux, accédez à un terminal et exécutez l'une des commandes suivantes pour afficher le hachage d'un fichier, en fonction du type de hachage que vous souhaitez afficher:
md5sum / chemin / vers / fichier
sha1sum / chemin / vers / fichier
sha256sum / chemin / vers / fichier
Certains hachages sont signés cryptographiquement pour encore plus de sécurité
Bien que les hachages puissent vous aider à confirmer qu’un fichier n’a pas été falsifié, il existe toujours une voie d’attaque. Un attaquant pourrait prendre le contrôle du site Web d’une distribution Linux et modifier les hachages qui y apparaissent, ou un attaquant pourrait effectuer une attaque de type «man-in-the-middle» et modifier la page Web en transit si vous accédiez au site Web via HTTP au lieu de HTTPS chiffré .
C’est pourquoi les distributions Linux modernes fournissent souvent plus que les hachages répertoriés sur les pages Web. Ils signent cryptographiquement ces hachages pour aider à se protéger contre les attaquants qui pourraient tenter de modifier les hachages. Vous voudrez vérifier la signature cryptographique pour vous assurer que le fichier de hachage a effectivement été signé par la distribution Linux si vous voulez être absolument sûr que le hachage et le fichier n'ont pas été falsifiés.
EN RELATION: Comment vérifier la somme de contrôle d'un ISO Linux et confirmer qu'il n'a pas été falsifié
La vérification de la signature cryptographique est un processus plus complexe. Lis notre guide pour vérifier que les ISO Linux n'ont pas été falsifiés avec pour des instructions complètes.
Image Credit: Jorge Stolfi / Wikimedia