in

Que sont les hachages MD5, SHA-1 et SHA-256 et comment les vérifier?

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 d’algorithmes cryptographiques conçus 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.

Comparez maintenant 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 radicalement.

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.

Ceux-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 .ISO Linux que vous avez obtenu de quelque part et que vous voulez 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 comparez-le à 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.

les fenêtres

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:pathtofile.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:pathtofile.iso -Algorithm MD5
Get-FileHash C:pathtofile.iso -Algorithm SHA1
Get-FileHash C:pathtofile.iso -Algorithm SHA256
Get-FileHash C:pathtofile.iso -Algorithm SHA384
Get-FileHash C:pathtofile.iso -Algorithm SHA512
Get-FileHash C:pathtofile.iso -Algorithm MACTripleDES
Get-FileHash C:pathtofile.iso -Algorithm 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 md5 La commande affiche le hachage MD5 d’un fichier:

md5 /path/to/file

Le shasum La commande affiche le hachage SHA-1 d’un fichier par défaut. Cela signifie que les commandes suivantes sont identiques:

shasum /path/to/file
shasum -a 1 /path/to/file

Pour afficher le hachage SHA-256 d’un fichier, exécutez la commande suivante:

shasum -a 256 /path/to/file

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 /path/to/file
sha1sum /path/to/file
sha256sum /path/to/file

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 y a toujours une voie d’attaque ici. 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 crypté.

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.

La vérification de la signature cryptographique est un processus plus complexe. Lisez notre guide pour vérifier que les ISO Linux n’ont pas été falsifiés pour obtenir des instructions complètes.

Crédit d’image: Jorge Stolfi/ Wikimedia

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comment importer automatiquement les clés GPG manquantes dans Ubuntu

Comment importer automatiquement les clés GPG manquantes dans Ubuntu

Comment ouvrir des dossiers système cachés avec la commande Shell de Windows

Comment ouvrir des dossiers système cachés avec la commande Shell de Windows