Outils pour utilisateurs

Outils du site


tuto:linux:verifier_la_validite_des_fichiers

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tuto:linux:verifier_la_validite_des_fichiers [2009/03/15 11:36] – créée roottuto:linux:verifier_la_validite_des_fichiers [2009/03/15 11:38] (Version actuelle) root
Ligne 1: Ligne 1:
-'''Vérifier la validité des fichiers'''+====== Vérifier la validité des fichiers ======
  
-Si vous êtes un grand amateur de téléchargement ou de récupération en masse sur les sites FTP ou autres, vous avez sans doute déjà remarqué la présence de petits fichiers pour le moins étranges. Ceux-ci ne dépassant que rarement plusieurs centaines d'octets, ils portent comme extension .sum, .md5 ou encore .sign.+ 
 +Si vous êtes un grand amateur de téléchargement ou de récupération en masse sur les sites FTP ou autres, vous avez sans doute déjà remarqué la présence de petits fichiers pour le moins étranges. Ceux-ci ne dépassant que rarement plusieurs centaines d'octets, ils portent comme extension //.sum////.md5// ou encore //.sign//.
  
 Ces fichiers, vous vous en serez douté, ne sont pas là par hasard. Même s'il est très peu probable qu'en téléchargeant une archive depuis un site officiel vous vous retrouviez avec un cheval de Troie, il est préférable d'en vérifier la validité. C'est justement à cet effet que ces petits fichiers sont mis à disposition en même temps que l'archive. Ces fichiers, vous vous en serez douté, ne sont pas là par hasard. Même s'il est très peu probable qu'en téléchargeant une archive depuis un site officiel vous vous retrouviez avec un cheval de Troie, il est préférable d'en vérifier la validité. C'est justement à cet effet que ces petits fichiers sont mis à disposition en même temps que l'archive.
  
-=== MD5 ===+===== MD5 =====
  
 L'utilitaire md5sum permet de calculer ce qu'on appelle l'empreinte d'un fichier. En anglais, fingerprint, message-digest ou encore checksum est une valeur de 128 bits correspondant à une somme de contrôle calculée à partir de l'archive. Un checksum MD5 n'a pas pour but de garantir la provenance d'un fichier ou d'un groupe de fichiers. Son intérêt est de permettre la vérification de l'intégrité des données récupérées. En effet, nul n'est à l'abri d'une perturbation ou d'un problème réseau ayant pour conséquence la corruption d'une archive en cours de téléchargement. L'utilitaire md5sum permet de calculer ce qu'on appelle l'empreinte d'un fichier. En anglais, fingerprint, message-digest ou encore checksum est une valeur de 128 bits correspondant à une somme de contrôle calculée à partir de l'archive. Un checksum MD5 n'a pas pour but de garantir la provenance d'un fichier ou d'un groupe de fichiers. Son intérêt est de permettre la vérification de l'intégrité des données récupérées. En effet, nul n'est à l'abri d'une perturbation ou d'un problème réseau ayant pour conséquence la corruption d'une archive en cours de téléchargement.
Ligne 14: Ligne 15:
  
 Vous pouvez vous-même calculer cette empreinte pour n'importe quel fichier présent sur votre système : Vous pouvez vous-même calculer cette empreinte pour n'importe quel fichier présent sur votre système :
- $ cd /quelque/part +  $ cd /quelque/part 
- $ md5sum toto.jpg +  $ md5sum toto.jpg 
- 421ef9e4061c70c6a9933475ed433fe4  toto.jpg+  421ef9e4061c70c6a9933475ed433fe4 toto.jpg
  
 Et voilà votre empreinte ! Vous pouvez bien sûr générer des empreintes pour plusieurs fichiers en même temps : Et voilà votre empreinte ! Vous pouvez bien sûr générer des empreintes pour plusieurs fichiers en même temps :
- $ cd /autre/part +  $ cd /autre/part 
- $ md5sum *.pov +  $ md5sum *.pov 
- bc94f333a9090cc298abe46d1780d39d  caffeine.pov +  bc94f333a9090cc298abe46d1780d39d caffeine.pov 
- aa558321321536ea233996928f97935f  caffeine2.pov +  aa558321321536ea233996928f97935f caffeine2.pov 
- 09309f1f5f2b4df5801f2caab3bd3b1e  caffeine3.pov +  09309f1f5f2b4df5801f2caab3bd3b1e caffeine3.pov 
- 5eb0fcbf5d1683c98cbe6095e849ebd2  ibuprofen.pov +  5eb0fcbf5d1683c98cbe6095e849ebd2 ibuprofen.pov 
- 4e177e1852c8c343ecded914fcfd522f  nicotine.pov+  4e177e1852c8c343ecded914fcfd522f nicotine.pov
  
 Pour générer un fichier contenant toutes les empreintes redirigez simplement la sortie de la commande md5sum vers un fichier : Pour générer un fichier contenant toutes les empreintes redirigez simplement la sortie de la commande md5sum vers un fichier :
- $ md5sum *.pov > mesfichiers.md5+  $ md5sum *.pov > mesfichiers.md5
  
 Il sera ensuite facile pour quiconque de vérifier l'intégrité des fichiers qu'il aura récupéré chez vous à partir du fichier des empreintes : Il sera ensuite facile pour quiconque de vérifier l'intégrité des fichiers qu'il aura récupéré chez vous à partir du fichier des empreintes :
- $ md5sum -v -c mesfichiers.md5 +  $ md5sum -v -c mesfichiers.md5 
- caffeine.pov OK +  caffeine.pov OK 
- caffeine2.pov OK +  caffeine2.pov OK 
- caffeine3.pov OK +  caffeine3.pov OK 
- ibuprofen.pov OK +  ibuprofen.pov OK 
- nicotine.pov OK+  nicotine.pov OK
  
 Si un fichier comporte une anomalie ou une différence par rapport à l'original, md5sum vous le signalera immédiatement : Si un fichier comporte une anomalie ou une différence par rapport à l'original, md5sum vous le signalera immédiatement :
- $ md5sum -v -c mesfichiers.md5 +  $ md5sum -v -c mesfichiers.md5 
- caffeine.pov OK +  caffeine.pov OK 
- caffeine2.pov OK +  caffeine2.pov OK 
- caffeine3.pov ÉCHEC +  caffeine3.pov ÉCHEC 
- ibuprofen.pov OK +  ibuprofen.pov OK 
- nicotine.pov OK +  nicotine.pov OK 
- md5sum: échec de la vérification MD5 pour 1 sur 5 fichier(s)+  md5sum: échec de la vérification MD5 pour 1 sur 5 fichier(s)
  
-=== Signature des archives ===+===== Signature des archives =====
  
 MD5 permet de garantir l'intégrité des données mais pas leur provenance. Pour cela, vous devrez faire usage d'un autre logiciel. Si nous prenons, par exemple, les archives des sources du kernel Linux disponibles sur le serveur ftp de lip6 (ftp.lip6.fr/pub/linux/kernel/sources/2.4), vous remarquerez pour chaque archive un petit fichier du même nom portant le suffixe .sign. MD5 permet de garantir l'intégrité des données mais pas leur provenance. Pour cela, vous devrez faire usage d'un autre logiciel. Si nous prenons, par exemple, les archives des sources du kernel Linux disponibles sur le serveur ftp de lip6 (ftp.lip6.fr/pub/linux/kernel/sources/2.4), vous remarquerez pour chaque archive un petit fichier du même nom portant le suffixe .sign.
Ligne 53: Ligne 54:
 Il s'agit du fichier signature de l'archive permettant d'en garantir la provenance. Prenons un exemple concret. Pour l'archive linux-2.4.4.tar.gz, le fichier signature correspondant (linux-2.4.4.tar.gz.sign) contient : Il s'agit du fichier signature de l'archive permettant d'en garantir la provenance. Prenons un exemple concret. Pour l'archive linux-2.4.4.tar.gz, le fichier signature correspondant (linux-2.4.4.tar.gz.sign) contient :
  
- -----BEGIN PGP SIGNATURE----- +<code> 
- Version: GnuPG v1.0.4 (GNU/Linux) +  -----BEGIN PGP SIGNATURE----- 
- Comment: See http://www.kernel.org/signature.html for info  +  Version: GnuPG v1.0.4 (GNU/Linux) 
-  +  Comment: See http://www.kernel.org/signature.html for info 
- iD8DBQA66iFUyGugalF9Dw4RAorTAJ0W8ktNNvYPrT4djp+bmiftNJa92gCZAbbZ +   
- vBXOQ+l4/rnM3TWjpZP5L1Q= +  iD8DBQA66iFUyGugalF9Dw4RAorTAJ0W8ktNNvYPrT4djp+bmiftNJa92gCZAbbZ 
- =77vM +  vBXOQ+l4/rnM3TWjpZP5L1Q= 
- -----END PGP SIGNATURE-----+  =77vM 
 +  -----END PGP SIGNATURE----- 
 +</code>
  
 Une signature PGP, nous voici bien avancé. Que faire ? Les signatures de ce type reposent sur une méthode appelée chiffrage à clef publique. Sans entrer dans des considérations mathématiques, cette méthode permet à un développeur ou un groupe de développeurs de signer de manière électronique un fichier ou un message en utilisant une clef secrète ou clef privée. La clef privée ne devra et ne sera jamais divulguée publiquement. Pour vérifier une signature, nous utiliserons la petite soeur de la clef privée appelée clef publique. Cette dernière est disponible pour tous et habituellement répertoriée dans un serveur de clefs. Une signature PGP, nous voici bien avancé. Que faire ? Les signatures de ce type reposent sur une méthode appelée chiffrage à clef publique. Sans entrer dans des considérations mathématiques, cette méthode permet à un développeur ou un groupe de développeurs de signer de manière électronique un fichier ou un message en utilisant une clef secrète ou clef privée. La clef privée ne devra et ne sera jamais divulguée publiquement. Pour vérifier une signature, nous utiliserons la petite soeur de la clef privée appelée clef publique. Cette dernière est disponible pour tous et habituellement répertoriée dans un serveur de clefs.
Ligne 67: Ligne 70:
  
 Pour poursuivre, il vous faudra utiliser le logiciel GnuPG. C'est cet utilitaire qui vous permettra de récupérer la clef publique et de vous en servir pour vérifier la signature de l'archive linux-2.4.4.tar.gz. Commençons donc par récupérer la clef auprès du serveur de clefs : Pour poursuivre, il vous faudra utiliser le logiciel GnuPG. C'est cet utilitaire qui vous permettra de récupérer la clef publique et de vous en servir pour vérifier la signature de l'archive linux-2.4.4.tar.gz. Commençons donc par récupérer la clef auprès du serveur de clefs :
- $ gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E +  $ gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E 
- gpg: requête de la clé 517D0F0E de wwwkeys.pgp.net +  gpg: requête de la clé 517D0F0E de wwwkeys.pgp.net 
- gpg: clé 517D0F0E: clé publique importée +  gpg: clé 517D0F0E: clé publique importée 
- gpg:        Quantité totale traitée: 1 +  gpg: Quantité totale traitée: 1 
- gpg:                       importée: 1+  gpg: importée: 1
  
 Ceci fait, nous pouvons vérifier la validité de l'archive en combinant toutes les informations (clef public, archive et fichier signature) : Ceci fait, nous pouvons vérifier la validité de l'archive en combinant toutes les informations (clef public, archive et fichier signature) :
- $ gpg --verify linux-2.4.4.tar.gz.sign linux-2.4.4.tar.gz +  $ gpg --verify linux-2.4.4.tar.gz.sign linux-2.4.4.tar.gz 
- gpg: Signature faite sam 28 avr 2001 03:48:04 CEST avec une clé DSA ID 517D0F0E +  gpg: Signature faite sam 28 avr 2001 03:48:04 CEST avec une clé DSA ID 517D0F0E 
- gpg: Bonne signature de "Linux Kernel Archives Verification Key <ftpadmin@kernel.org>"+  gpg: Bonne signature de "Linux Kernel Archives Verification Key <ftpadmin@kernel.org>"
  
 "Bonne signature...", c'est parfait, notre archive a été vérifiée avec succès. Nous pouvons faire confiance en son contenu. En réalité, ceci n'est pas tout à fait exact. Bien qu'il soit extrêmement difficile de "casser" une telle clef, il est toujours possible que quelqu'un ait piraté le serveur www.kernel.org pour y glisser un faux numéro de clef ou encore wwwkeys.pgp.net pour fournir une fausse clef publique. Bien sûr, ceci ne passerait pas inaperçu : pas plus que quelques heures et des alertes seraient lancées de toute part. Sachez seulement que cela reste toujours possible et qu'il n'existe pas de sécurité absolue. "Bonne signature...", c'est parfait, notre archive a été vérifiée avec succès. Nous pouvons faire confiance en son contenu. En réalité, ceci n'est pas tout à fait exact. Bien qu'il soit extrêmement difficile de "casser" une telle clef, il est toujours possible que quelqu'un ait piraté le serveur www.kernel.org pour y glisser un faux numéro de clef ou encore wwwkeys.pgp.net pour fournir une fausse clef publique. Bien sûr, ceci ne passerait pas inaperçu : pas plus que quelques heures et des alertes seraient lancées de toute part. Sachez seulement que cela reste toujours possible et qu'il n'existe pas de sécurité absolue.
Ligne 82: Ligne 85:
 Notez qu'il existe des interfaces utilisateur très conviviales pour GnuPG ainsi que des modules vous permettant d'automatiser les vérifications depuis votre client ftp et/ou mail. Les serveurs de clefs sont nombreux sur Internet et théoriquement tous reliés entre eux. Si vous désirez récupérer une clef publique afin de vérifier la signature de l'auteur, il vous suffira de faire une simple recherche avec son nom. Certes, dans la plupart des cas, l'auteur spécifie son numéro de clef sur sa homepage. Notez qu'il existe des interfaces utilisateur très conviviales pour GnuPG ainsi que des modules vous permettant d'automatiser les vérifications depuis votre client ftp et/ou mail. Les serveurs de clefs sont nombreux sur Internet et théoriquement tous reliés entre eux. Si vous désirez récupérer une clef publique afin de vérifier la signature de l'auteur, il vous suffira de faire une simple recherche avec son nom. Certes, dans la plupart des cas, l'auteur spécifie son numéro de clef sur sa homepage.
  
-=== Liens ===+===== Liens =====
  
 Gnu Textutils Gnu Textutils
tuto/linux/verifier_la_validite_des_fichiers.1237117008.txt.gz · Dernière modification : 2009/03/15 11:36 de root