md5sum
L'outil md5sum est un utilitaire en ligne de commande qui permet de vérifier l'intégrité d'un fichier. En effet, il est tout à fait possible que des "erreurs" se soient introduites dans un fichier que vous récupérez depuis Internet. Ces erreurs sont généralement de deux types :
- le fichier a pu être intentionnellement modifié par quelqu'un de mal intentionné qui a réussi par ailleurs à vous leurrer sur son identité ;
- des données peuvent avoir été perdues durant le transfert entre la source du fichier et votre ordinateur, ou mal copiées sur un des tronçons du parcours ; en effet, le transfert d'un fichier s'effectue par morceaux, chacun transporté de la source à la destination par un chemin qui lui est propre ; une panne survenue au mauvais moment dans l'un quelconque des points de passage peut provoquer la perte d'un morceau, sans altérer la transmission des morceaux suivants, qui, du fait de la panne, sont passés par un autre chemin ; de plus, quel que soit le support de la transmission (électrique, radioélectrique, optique,…) sur un tronçon, la distance affaiblit le signal émis de sorte que les informations détectées à l'extrémité aval diffèrent de celles émises à l'extrémité amont.
md5sum
permet de récupérer et comparer des empreintes MD5 de fichiers.
Installation
sous Ubuntu
md5sum est normalement déjà installé et fonctionnel. Si vous n'en êtes pas certain, vérifiez dans votre gestionnaire de paquets l'installation correcte du paquet coreutils
Mac OS
md5sum a été porté sous Apple® Mac OS™ X. Il est inclus de base dans Mac OS X.
Windows
md5sum a aussi été porté sous Microsoft® Windows™ mais, par défaut, ce système d'exploitation ne l'inclut pas. Vous pouvez récupérer md5sum pour Windows chez etree.org et l'enregistrer dans le dossier C:\Windows\System32. Le logiciel pourra alors être utilisé par l'invite de commande de Windows.
Exemple d'utilisation : vérifier l'intégrité d'une image CD d'Ubuntu
Sous GNU/Linux
En ligne de commande
- Comparez-la avec l'empreinte MD5 de référence. Si l'empreinte diffère, votre fichier est corrompu : il ne vous reste plus qu'à tenter de télécharger de nouveau le fichier depuis un miroir différent.
Exemple concret : pour vérifier l'empreinte de l'image du Desktop CD de Ubuntu 14.04 pour processeurs 64 bits enregistrée sur le bureau, la commande à saisir est :
md5sum ~/Bureau/ubuntu-14.04-desktop-amd64.iso
De manière graphique
- Hashable Calculator une application graphique, en python, basée sur GTK, et interface Glade.
Sous Microsoft Windows
La vérification de l'empreinte md5 sous Windows se fait à l'aide du terminal, appelé l'invite de commande. L'invite de commande peut être ouverte, sous Windows XP, en se rendant dans Menu Démarrer → Tous les programmes → Accessoires → Invite de commande MS-DOS® .
Elle peut aussi être ouverte en se rendant dans Menu Démarrer → Exécuter puis :
- Sous Windows 2000 et au-delà, saisissez la commande
cmd
; - Sous Windows 9x/ME: saisissez la commande
command
.
Pour vous déplacer dans l'arborescence de votre système :
- Saisissez d'abord le lecteur (C:, D:, E:, …) dans lequel vous avez téléchargé le fichier ISO.
- Utilisez la commande
cd
pour entrer dans le dossier dans lequel vous avez téléchargé le fichier ISO. - Utilisez la commande "cd.." pour revenir dans un dossier parent (pour reculer d'un cran).
- Utilisez
md5sum
comme sous GNU/Linux.
Par exemple, si vous avez enregistré l'image du Desktop CD de Ubuntu 14.04 pour processeurs 64 bits dans le dossier C:\Ubuntu, vous saisirez les commandes suivantes :
C: cd \Ubuntu md5sum ubuntu-14.04-desktop-amd64.iso
Une série de chiffres et de lettres est retournée : l'empreinte MD5. Comparez-la avec l'empreinte MD5 de référence. Si l'empreinte diffère, votre fichier est corrompu : il ne vous reste plus qu'à tenter de télécharger de nouveau le fichier depuis un miroir différent.
Pour sauvegarder dans un fichier texte la valeur MD5 retournée, il est possible d'ajouter un complément de commande :
C: cd \Ubuntu md5sum ubuntu-14.04-desktop-amd64.iso >> MD5SUM.txt
Dans l'exemple ci-dessus le fichier serait enregistré dans le répertoire "C:\Ubuntu"
L'option " » " redirige l'affichage de la console vers un fichier, elle crée le fichier s'il n'existe pas et ajoute les données à la fin.
L'option " > " redirige l'affichage de la console vers un fichier, elle crée le fichier s'il n'existe pas et écrase le contenu s'il existe.
Sous Apple Mac OS X
- Ouvrez Terminal situé dans Applications / Utilitaires, saisissez :
md5
Mais n'appuyez pas encore sur Entrée
- Faites glisser votre image sur la fenêtre par cliquer-déposer ;
- Appuyez sur la touche
Entrée
et attendez quelques minutes ; - Comparez le résultat renvoyé avec l'empreinte MD5 de référence.
À propos des empreintes md5 et de md5sum
Le fichier ISO est un conteneur dans lequel se trouvent les fichiers nécessaires à l'exploitation de Ubuntu. Afin de vérifier l'intégrité de ce conteneur, les distributeurs de Ubuntu mettent à votre disposition une empreinte md5, sorte d'empreinte « digitale » numérique d'un fichier informatique.
Une somme md5 est calculée de façon à changer beaucoup à la mondre alteration. En vérifiant l'intégrité de votre fichier, vous vous assurez de disposer d'une copie conforme au bit près, d'un clone parfait du fichier d'origine.
Sécurité de MD5
Les empreintes MD5 calculées par md5sum ne sont en réalité pas uniques : plusieurs fichiers différents peuvent avoir des empreintes identiques.
MD5 a été conçu pour être très rapide. Bien qu'il ait été utilisé en cryptographie (dans des certificats par exemple), il n'est plus considéré comme sécurisé puisque des chercheurs ont réussi à créer des messages différents produisant la même empreinte. Il est donc à éviter pour les applications cryptographiques, mais reste tout à fait utilisable pour détecter les corruptions accidentelles de fichiers.
Pour le hachage cryptographique, MD5 a été remplacé par l'algorithme SHA1. Les attaques contre celui-ci l'ayant beaucoup affaibli, il est aujourd'hui recommandé d'utiliser les algorithmes de la famille SHA-2, comme SHA-256 et SHA-512.