/, Archives, Archives 2016/Contrôler un fichier – Hash

Contrôler un fichier – Hash

Indice NDT

(N)iveau requis, de l’utilisateur à l’expert.
(D)ifficulté : Simple, Moyenne, Complexe.
(T)emps estimé pour la réalisation.

Utilisateur Technicien Expert
Niveau
Simple Moyenne Complexe
Difficulté
– d’une heure + de 5 heures 12 heures et +
Temps

OcM

Objectif de l’article.
Contexte de la réalisation.
Modalité de l’éxécution.

Disposer de moyen pour vérifier la bonne « identité » d’un fichier

Réception d’un fichier dont on souhaite être rassuré en terme d’ouverture et/ou d’exécution

Utilisation des outils natifs et/ou de logiciels adaptés.

Principe


Le Hash

Ce type de fonction est très utilisé en cryptographie, principalement dans le but de réduire la taille des données à traiter par la fonction de cryptage. En effet, la caractéristique principale d’une fonction de hachage est de produire un haché des données, c’est-à-dire un condensé de ces données. Ce condensé est de taille fixe, dont la valeur diffère suivant la fonction utilisée.

Hein ?

Exemple avec les empreintes digitales : dans la perception que nous en avons à l’heure actuelle, une empreinte digitale est unique et représente un individu d’une façon si certaine que nous pouvons la qualifier de sure.

Pourtant la connaissance de cette empreinte ne permet pas à elle-seule de remonter à l’individu, ni de reconstituer cet individu. Il faut que la correspondance ait été préalablement établie dans une base de données pour que l’identification puisse avoir lieu par comparaison

C’est exactement ce genre de propriété que présente une fonction de hashage. Il s’agit bien d’un condensé de données pour un fichier. On parle alors abusivement de son empreinte digitale, en ce sens qu’un seul hash ne peut exister pour un fichier.

Disposer du hash permet de vérifier avec la source officielle (si digne de ce nom) que le fichier est bien celui qu’il prétend être.

Les différents hash

MD4 et MD5 (Message Digest)  développées par Ron Rivest. MD5 produit des hachés de 128 bits en travaillant les données originales par blocs de 512 bits. Il tend à disparaître pour des raisons de sécurité.

SHA-1 (Secure Hash Algorithm 1), – mis au point par la NSA-  est basé sur MD4. Il fonctionne également à partir de blocs de 512 bits de données et produit par contre des condensés de 160 bits en sortie. Il nécessite donc plus de ressources que MD5.

SHA-2 (Secure Hash Algorithm 2) est destiné à remplacer SHA-1. Les différences principales résident dans les tailles de hachés possibles : 256, 384 ou 512 bits. Il est la nouvelle référence en termes de fonction de hachage.

Et ça évolue encore ?
Oui donc à chaque fois, différents contrôles sont à faire selon les données sources transmises.
A noter qu’en février 2016 MD5 est moins utilisé au profit de SHA-1 et demain SHA-2 et après demain SHA-3 etc..

Modalités


Prennons l’exemple d’un fichier à télécharger. Le site de l’éditeur publie son hash et la méthgode utilisée. Une fois le fichier rappatrié, il suffit de vérifier le hash du fichier avec ce qu’annonce l’éditeur ou la source fiable.

Selon les sytèmes d’exploitation les outils sont plus ou moins intégrés (sous forme de ligne de commande) ou à récupérer via différents logiciels en open source ou sous licence payante.

Pour un contrôle SHA-1, on ouvre Terminal et on saisit la commande comme suit :

 openssl sha1 /chemin/complet/vers/le/fichier

Soit si le fichier est paint.dmg et qu’il se trouve dans mes téléchargements :

 openssl sha1 ~/Downloads/Paint.dmg

Cette commande renvoie alors le résultat suivant :

 SHA1(/Users/username/Downloads/Paint.dmg) =07272d863ab77113e38e6ce3878c2162feb4893e
07272d863ab77113e38e6ce3878c2162feb4893e est l’identité du fichier concerné.

Pour un contrôle MD5 :

openssl md5 /chemin/complet/vers/le/fichier

Pour un contrôle SHA256 :

 openssl dgst -sha256 /chemin/complet/vers/le/fichier

A noter qu’il existe des applications permettant de disposer de ces informations. Je préconise FileListExport qui permet de faire des exportations des caractéristiques de fichiers vers un fichier .CSV ou Excel.

Il faut récupérer l’outil de vérification en ligne de Microsoft.

Puis en mode ligne de commande (touche Windows + R) on frappe :

 FCIV -md5 -sha1 Chemin\Nomfichier.ext

On obtient le calcul du hash en MD5 et en SHA-1.
On peut utiliser un outil en partie gratuit comme celui disponible ici.

Il existe différentes applications. Une application comme Filecheck permet de vérifier tous fichiers sur IOS.
Il existe différentes applications. AFV me semble une bonne solution pour les smartphones et tablettes de chez Google.

Il s’agit d’une ligne de commande normalement intégrée à l’OS.

 md5sum CheminNomfichier.ext
 sda1sum CheminNomfichier.ext

A noter via FileStation d’un Synology (DSM v5.x) le calcul MD5 est disponible en propriété

On peut faire un calcul de fichier (max 4 Giga) en allant sur ce site : http://onlinemd5.com

Utilisation courante


le hash est affiché (pas toujours la cas hélas),

  1. je télécharge,
  2. je calcule
  3. je vérifie.
  1. Je calcule le hash
  2. j’envoie le fichier en indiquant son hash.
  3. La personne le réceptionne et fait le clacul de son côté sur la PJ.
[technique souvent utilisée pour les transferts monétiques via un ERP]
  1. Je lance une vérification de plusieurs fichiers systèmes importants ou majeurs pour moi,
  2. j’isole ces informations et je vérifie de temps à autre, en cas de doute.
[ Attention s’il s’agit de fichiers systèmes les mises à jour de l’OS peuvent les modifier.] Cette technique permet de vérifier qu’il n’ya pas de corruption sur les fichiers concernés.

Exemples


Un fichier d’archive ZIP contenant un fichier PDF. 

Télécharger
 et vérifier les signatures.

Le ZIP

avec signatures

a télécharger

Le fichier ZIP (contenant le fichier test.pdf)  a les signatures suivantes :

MD5 :
E1FB1A17F94E0E3BDD895DCBE7918509

SHA1 :
8124EBD80632B009CE2F2F25675A54C76BA6B791

SHA2 :
E6175E983995E30332672296E61D66D4DC6C059CFF46A7E5E66E39CD51E2E4E1

Le PDF

avec signatures

dans le ZIP

Le fichier test.pdf dispose des signatures suivantes :

MD5 :
ebff188366c4c265d72144524b31a5b3

SHA1 :
5b171d35b5f3b24c814dfe7503c5aaf766c15d5f

SHA2 :
ccdac2b903bfe8c5e6641110ad9c6a63006761968725ae1b56858f035b9324e9

2017-12-08T10:27:29+00:0008 Mar 2016|Application, Archives, Archives 2016|

3 Comments

  1. Zibou78 9 mars 2016 à 17 h 40 min

    Mal à la tête avec ces codes..; surement important…Rarement utilisé… Merci

  2. CyberTonton 5 avril 2016 à 13 h 35 min

    Simple mais efficace. c’est vrai qu’on ne pense pas toujours à vérifier. Il faudrait que cela soit intégrer dans le processus de téléchargement lorsque le hash est présent.

    • Aradaff 6 avril 2016 à 0 h 37 min

      Bonne remarque en effet. En attendant l’automatisme et face aux dérives du Net constatées, la prudence demeure.. En même temps on entend régulièrement que les différentes techniques sautent… C’est un peu la course en avant

Les commentaires sont fermés.