Le hachage ou les hashs : md5, sha1, sha256

En cryptographie, les fonctions de hashs (en français on peut parler de hachage) permettent à partir d’une entrée, de calculer une empreinte unique.
Les fonctions de hashs ont diverses applications, notamment la possibilité de créer une empreinte unique d’un fichier ou de stocker les mots de passe dans une base de données.
Voici quelques présentations de l’utilisation des hashs.

Le hachage ou les hashs : md5, sha1, sha256

Comprendre le hachage (hashs)

En cryptographie, le hachage permet donc de calculer une empreinte unique.
Il existe plusieurs algorithmes différents qui permettent d’obtenir une empreinte : md5, sha1, sha-256

Pour mieux comprendre, voici un exemple :

  • la fonction de hachage md5 de « vive malekal.com » est : 8d0b13a3584782cc802343dde0305cff
  • en sha1 de « vive malekal.com » est : 6fde9b7e35de1a6bd4bcb34953057abdddf334f6
  • md5 de « vive malekal.com!! » est : 2181513edf5afa8598427d357a192185
  • enfin le md5 de « vive malekal.com!! » est : 01c6c73c7a008936fad6e75772057e73550a7ba4

L’empreinte de hachage est donc différente selon l’entrée utilisée, enfin cette empreinte est unique.
Ici nous avons utilisé une phrase, mais on peut utiliser un mot ou un fichier comme entrée.

Ce qu’il faut aussi savoir, c’est que le calcul ne peut se faire que dans un seul sens.
Ce calcul est irréversible, c’est à dire que vous pouvez calculer l’empreinte d’une phrase ou d’un fichier mais vous ne pouvez pas retrouver la phrase ou le fichier de départ à partir de l’empreinte.

Pour essayer, vous pouvez utiliser le générateur suivant http://www.sha1-online.com/ qui permet de calculer des empreintes de hachage.

Le hachage ou les hashs : md5, sha1, sha256

Le site support plusieurs algorithmes de cryptage différents.

Le hachage ou les hashs : md5, sha1, sha256

Les fonctions de hachages ont différents usages que nous allons détailler dans la suite de cet article.

Exemple d’utilisation du hachage

les mots de passe et certificat

Dans l’exemple donnée, l’entrée est une phrase mais il est tout à fait possible de calculer l’empreinte d’un mot de passe (Le calcul de l’empreinte fonctionne avec un seul mot).
Ainsi, les sites WEB peuvent stocker les mots de passe sous la forme d’un hash au lieu du mot de passe directement.
Dans le cas d’une piratage Piratage/Hack massif de comptes en ligne, le pirate récupérera les hashs et éprouvera des difficultés pour retrouver les mots de passe initiaux ; surtout dans le cas de mot de passe fort.

Afin de brouiller encore plus les pistes, il est possible d’ajouter un une chaîne de caractère au mot de passe reçue à l’entrée.
Ainsi donc l’empreinte du mot de passe stocké dans la base de données du site sera : motdepasse+chainedecaractère.
Cette chaîne de caractère est définie dans le code du site.
Le but étant de rendre les attaques par bruteforce sur les hachage, pour retrouver le mot de passe encore plus difficile.
Cela permet aussi de protéger les mots de passe facile.
Ce procédé se nomme salage.

Les fonctions de hachages sont aussi utilisées dans les certificats électroniques qui peuvent par exemple être utilisés les sites HTTPs (sites sécurisés).
Notamment le certificat est signé à l’aide de ces fonctions.
Actuellement, SHA-1 était le plus utilisé, mais suite à des problèmes de sécurité, il est peu à peu abandonné pour SHA-2 (SHA-1 est interdit à partir du 1er janvier 2017).

Pour plus d’informations sur les certificats électroniques, se rendre sur la page : Les certificats et signatures électroniques : A quoi cela sert et comment cela fonctionne

Les certificats et signatures électroniques : A quoi cela sert et comment cela fonctionne

Créer une empreinte hash d’un fichier

L’autre utilisation est l’utilisation du hachage pour désigner un fichier unique.
Le nom d’un fichier ne voulant strictement rien dire.
En effet, vous pouvez renommer un fichier à volonté, le contenu reste le même.
Les fonctions de hachages assurent l’identification unique d’un fichier.
Dans le cas des droppers malicieux, dans les bases de données des antivirus, l’identification se fait par les empreintes.

Par exemple VirusTotal indique les empreintes, il est aussi possible de faire une recherche de fichiers sur celle-ci :

Le hachage ou les hashs : md5, sha1, sha256

Cela permet aussi lorsque vous téléchargez un fichier volumineux comme un fichier ISO de comparer l’empreinte du fichier téléchargé à celui du serveur.
Ainsi, vous pouvez vérifier que vous avez bien le même fichier et que le votre n’est pas corrompu.
C’est pour cela que la plupart des fichiers ISO et notamment les distributions Linux indiquent les empreintes MD5 des .iso

Mint :

Le hachage ou les hashs : md5, sha1, sha256

Debian :Le hachage ou les hashs : md5, sha1, sha256

Les failles du hachage

Certains algorithmes comme md5 et sha1 ne sont plus considérés comme sûr.

Les fonctions de hachages MD5 inventés en 1991.
En 1996 des possibilités de collision existent avec la fonction de hachage md5, c’est à dire avec deux entrées différentes, on peut obtenir une empreinte identique. En 2004, des chercheurs ont pu découvrir des collisions complètes.
De plus, il est possible de casser facilement une empreinte, c’est à dire retrouver l’entrée à partir d’une empreinte.
Les mots de passe md5 peuvent être crackés à partir d’attaque en arc-en-ciel (rainbow table).

La fonction de hachage SHA-1 est publié en 1995. 2005, des chercheurs ont trouvé des attaques possible contre cet algorithme.
2010, Microsft & Google commence à interdire son utilisation.
SHA-1 est remplacé par SHA-2 (qui donne les fonctions de hachage SHA-224, SHA-256, SHA-384 et SHA-512).
SHA-3  est une nouvelle fonction de hachage cryptographique décrite en août 2015

Calculer un hash

Des utilitaires permettent de calculer un hachage : md5, sha1, sha256

Windows

Il existe de multiples programmes de calcul de md5 sur Windows, comme winmd5Sum de Nullriver Software

Le hachage ou les hashs : md5, sha1, sha256

HashMyFiles de NirSoft donne la possibilité de calculer des empreintes md5, sha1 ou sha256
HashMyFiles peut aussi être ajouté en menu contextuel (clic droit sur un fichier ou dossier).
Cet utilitaire peut aussi calculer toutes les empreintes des fichiers contenus dans un dossier.

Le hachage ou les hashs : md5, sha1, sha256

Linux

Linux fournit en natif et en ligne de commandes, des outils pour calculer des empreintes de fichiers.
On trouve les utilitaires: md5sum, sha1sum et sha256sum

Le hachage ou les hashs : md5, sha1, sha256

Ces commandes peuvent aussi être utilisées pour calculer des empreintes avec une chaîne de caractère en entrée :

root@Mak-tux:/tmp/mal# echo -n "vive malekal.com" |md5sum
8d0b13a3584782cc802343dde0305cff -
root@Mak-tux:/tmp/mal# echo -n "vive malekal.com" |sha1sum
6fde9b7e35de1a6bd4bcb34953057abdddf334f6 -

Le hachage ou les hashs : md5, sha1, sha256

(Visité 3 504 fois, 5 visites ce jour)

Vous pouvez aussi lire...

Les Tags : #Windows10 - #Windows - #Tutoriel - #Virus - #Antivirus - #navigateurs WEB - #Securité - #Réseau - #Internet