md5 A quoi sert le fichier iso.md5.asc ?

Vous avez téléchargé par Bittorrent l’image ISO de la mandriva free 2007 DVD et après tout ce temps d’attente, vous êtes pressé de graver l’image... Pas si vite ! Les petits fichiers qui ont été téléchargés en même temps que l’iso ont une utilité !

Quand vous avez téléchargé à partir d’un fichier bittorrent, vous vous retrouvez avec ceci dans un dossier :

 mandriva-linux-2007-spring-free-dvd-i586.idx
 mandriva-linux-2007-spring-free-dvd-i586.iso
 mandriva-linux-2007-spring-free-dvd-i586.iso.md5.asc
 mandriva-linux-2007-spring-free-dvd-i586.iso.sha1.asc

La plupart d’entre-nous (oui, moi aussi, parfois...) nous précipitons sur le fichier iso sans même prêter attention aux 3 petits fichiers idx et surtout asc.

Pour le fichier qui se termine par .iso, vous le savez déjà, c’est l’image à graver avec K3b (menu graver une image iso).N’en parlons plus.

Le fichier idx contient la liste des paquets présents dans l’image ISO. Pratique pour savoir quelle version de Firefox est incluse. N’en parlons plus.

Les deux fichiers "asc" remplissent la même fonction. Ils affichent une empreinte de l’image ISO.
- Une empreinte ?
- Oui, une empreinte. C’est comme l’empreinte de votre index : On compare le bout de l’index avec la trace laissée sur le bouton de l’autoradio et on sait que c’est votre doigt qui a appuyé dessus et que votre doigt étant dans le prolongement de votre main, c’est bien vous qui étiez dans la bagnole...

Donc l’empreinte contenue dans l’un ou l’autre des fichiers asc va donc nous permettre d’être certain que notre image ISO présent sur notre disque dur est bien exactement celle qui était présente sur le serveur mandriva.com.

Examinons le fichier mandriva-linux-2007-spring-free-dvd-i586.iso.md5.asc avec la commande cat :

Houla, c’est quoi tout ça ? Ce fichier est quand même scindé en deux parties, la première s’appelle « PGP SIGNED MESSAGE » (message signé par PGP)tandis que la seconde s’appelle « PGP SIGNATURE » (signature PGP).

Pour le moment, nous ne nous intéressons qu’au contenu du message lui-même, nous verrons ensuite la signature. Ignorons du même coup, la ligne « Hash : SHA1 » qui concerne en fait la signature.

la somme de contrôle md5

Le message ne contient qu’une seule ligne :

f5fd0673806ad3d7ea63424255c27bcd mandriva-linux-2007-spring-free-dvd-i586.iso

Celle-ci indique que l’empreinte -ou somme de contrôle- du fichier dénommé « mandriva-linux-2007-spring-free-dvd-i586.iso » doit être exactement la valeur « f5fd0673806ad3d7ea63424255c27bcd ».

Et bien allez-y ! Vérifiez [1] donc que VOTRE image iso obtient bien la même somme de contrôle. La commande md5sum est là pour ça :

Et voilà. Nous avons rigoureusement la même suite de chiffres et de lettres que ce qui est présent dans le fichier md5.asc. L’image ISO qui se trouve ainsi sur votre disque dur est identique à ce qui était prévu : pas de mauvaise réception, pas d’altération donc pas de surprise.

la signature GPG

Vous venez de vérifier que l’image ISO est bien identique à celle que vous auriez dû recevoir. On pourrait s’arrêter et enfin graver notre iso. Mais si vous êtes arrivé à ce stade de la lecture, c’est que vous voulez aller jusqu’au bout de votre démarche. Soyons un peu parano : vous l’avez téléchargée où cette image ? Pas directement chez Mandriva, plutôt sur un site miroir ou chez un particulier qui fait du partage bittorrent. Oui mais ce particulier que je ne connais pas, il a pu :
 changer le contenu de l’image ISO,
 calculer la somme de contrôle de son image ISO modifiée comme nous venons de l’apprendre
 et modifier le fichier md5.asc en conséquence

Et je vais me retrouver avec un DVD de Barbapapa [2] ou bien pire : avec un linux qui contiendrait une porte dérobée pour méchants pirates ??? Et bien, non car c’est pour éviter cela qu’il y a la signature GPG.

Comme je vous l’ai indiqué plus haut, votre fichier md5.asc est constitué d’un message GPG et de sa signature. Que dit-il ? Que la signature a été établie par GnuPG dans sa version 1.4.5. C’est donc avec GnuPG que je vais pouvoir vérifier cette signature :

Diantre. Je connais maintenant la référence de la clef mais il me dit qu’il ne peut pas la vérifier. Alors trouvons-la, cette clef publique.

Deux possibilité s’offrent à vous : vous avez une autre mandriva déjà installée ou vous êtes connecté à internet.

1) Par internet

La commande « gpg —recv-key » suivie du numéro de clef va chercher sur internet la clef publique correspondante :

Ici, avec mandriva 2007.0, le serveur de clef est « pgp.net ». Ma Mandriva 2006 était configurée pour le serveur de clef mandrakesecure.net qui n’existe plus. Passons dans ce cas à la seconde solution...

2) en la récupérant sur une mandriva installée

Dans mandriva 2006 et 2007, vous verrez un dossier dénommé /etc/RPM-GPG-KEYS dans lequel se trouvent des clefs publiques et justement celle de Mandriva :

Bon d’accord vu comme ça, ça ne signifie pas grand chose. Je vous rassure tout de suite, si ça ne nous parle pas, GPG, lui, va y trouver tout ce dont il a besoin. Et comme on ne va pas taper tout ça, la commande import va nous satisfaire :

Que vous ayez choisi l’une ou l’autre des méthode, vous voilà prêt à recommencer la vérification :

Et bien voilà, cette fois-ci la mention "Bonne signature" nous permet de conclure que l’image ISO que nous avons est bien la copie conforme de celle que nous devions télécharger (vérification md5 ok), que l’empreinte md5 émane bien de quelqu’un qui possède la clef privée mandriva, donc de mandriva lui-même.

Comme vous le lisez dans la dernière mise en garde, il reste une incertitude : il manque la certication de confiance de la signature. Pour en savoir plus là-dessus, je vous invite à lire la FAQ GPG du club Linux Nord Pas de Calais[http://www.clx.anet.fr] et notamment son chapitre 4.

Ici, nous nous contenterons de considérer qu’ayant eu la clef par un moyen de communication différent (soit directement par le net, soit sur une AUTRE version obtenue par un AUTRE fournisseur, soit les 2 car nous sommes paranos), on est bien en présence de la clef publique officielle de Mandriva.

md5.asc et sha1.asc : même but

Tout ce qui vient d’être fait avec md5 peut être fait à l’identique avec sha1 en utilisant cette fois sha1sum. SHA1 tend à supplanter MD5 parce qu’il est plus puissant et que MD5 n’est plus considéré comme sûr.

Bon alors, vous la gravez cette image ?