Ce que tout ce truc MD5 contient réellement [Technologie expliquée]

Ce que tout ce truc MD5 contient réellement [Technologie expliquée] / Culture Web

Dans un article récent sur la vérification de l’incident de piratage informatique de Gawker. Comment savoir si votre adresse e-mail a fui dans la base de données de Gawker adresse e-mail dans un hachage MD5.

Les lecteurs nous ont posé quelques questions demandant exactement ce qui se passait et pourquoi ce processus était nécessaire. Ce n'est pas notre style de vous laisser poser des questions, alors voici un aperçu complet du MD5, du hachage et un petit aperçu des ordinateurs et de la cryptographie..

Hachage cryptographique

MD5 signifie Message igest algorithme 5, et a été inventé par le célèbre cryptographe américain Ronald Rivest en 1991 pour remplacer l’ancien standard MD4. MD5 est simplement le nom d’un type de fonction de hachage cryptographique que Ron a inventé, il ya très longtemps.

L’idée derrière le hachage cryptographique est de prendre un bloc de données arbitraire et de renvoyer une taille fixe. “hacher” valeur. Il peut s'agir de n'importe quelle donnée, de n'importe quelle taille, mais la valeur de hachage sera toujours fixée. Essayez par vous-même ici.

Le hachage cryptographique a plusieurs utilisations et il existe un grand nombre d'algorithmes (autres que MD5) conçus pour effectuer un travail similaire. L'une des principales utilisations du hachage cryptographique est de vérifier le contenu d'un message ou d'un fichier après le transfert..

Si vous avez déjà téléchargé un fichier particulièrement volumineux (distributions Linux, ce genre de chose), vous aurez probablement remarqué la valeur de hachage qui l'accompagne. Une fois ce fichier téléchargé, vous pouvez utiliser le hash pour vérifier que le fichier que vous avez téléchargé n'est en aucun cas différent du fichier annoncé..

La même méthode fonctionne pour les messages, le hachage vérifiant que le message reçu correspond au message envoyé. Sur un niveau très basique, si vous et un ami possédez chacun un fichier volumineux et souhaitez vérifier qu'ils sont exactement les mêmes sans transfert lourd, le code de hachage le fera pour vous..

Les algorithmes de hachage jouent également un rôle dans l'identification des données ou des fichiers. Les réseaux de partage de fichiers poste à poste, tels que eDonkey2000, en sont un bon exemple. Le système a utilisé une variante de l’algorithme MD4 (au dessous de) qui combine également la taille du fichier dans un hachage pour pointer rapidement sur les fichiers du réseau.

Un exemple typique de ceci est la possibilité de trouver rapidement des données dans des tables de hachage, une méthode couramment utilisée par les moteurs de recherche..

Une autre utilisation des hachages est le stockage de mots de passe. Stocker les mots de passe sous forme de texte clair est une mauvaise idée. Pour des raisons évidentes, ils sont donc convertis en valeurs de hachage. Lorsqu'un utilisateur entre un mot de passe, celui-ci est converti en une valeur de hachage et comparé au hachage stocké connu. Comme le hachage est un processus à sens unique, à condition que l'algorithme soit sain, il y a théoriquement peu de chances que le mot de passe d'origine soit déchiffré à partir du hachage.

Le hachage cryptographique est également souvent utilisé dans la génération de mots de passe et les mots de passe dérivés d'une phrase unique.

Algorithme Message Digest 5

La fonction MD5 fournit un nombre hexadécimal à 32 chiffres. Si nous devions transformer 'makeuseof.com' en une valeur de hachage MD5, elle ressemblerait à ceci: 64399513b7d734ca90181b27a62134dc. Il a été construit sur une méthode appelée le Merkle”“Damgà¥3 ème structure (au dessous de), qui est utilisé pour construire ce qu'on appelle “anti-collision” fonctions de hachage.

Cependant, aucune sécurité n'est à l'abri. En 1996, l'algorithme de hachage MD5 présentait des failles potentielles. À l'époque, ils n'étaient pas considérés comme mortels et le MD5 continuait d'être utilisé. En 2004, un problème beaucoup plus grave a été découvert après qu'un groupe de chercheurs a expliqué comment faire en sorte que deux fichiers séparés partagent la même valeur de hachage MD5. Il s'agissait du premier cas d'attaque par collision utilisé contre l'algorithme de hachage MD5. Une attaque par collision tente de trouver deux sorties arbritaires produisant la même valeur de hachage - d'où une collision (deux fichiers existants avec la même valeur).

Au cours des prochaines années, plusieurs tentatives de recherche de problèmes de sécurité au sein de MD5 ont eu lieu et, en 2008, un autre groupe de recherche a réussi à utiliser la méthode d'attaque par collision pour simuler la validité du certificat SSL. Cela pourrait amener les utilisateurs à croire qu'ils naviguent en toute sécurité, alors qu'ils ne le sont pas. Le département américain de la Sécurité intérieure a annoncé que: “les utilisateurs devraient éviter d'utiliser l'algorithme MD5 dans quelque capacité que ce soit. Comme l'ont démontré des recherches antérieures, il doit être considéré comme cassé cryptographiquement et impropre à une utilisation ultérieure.“.

Malgré les avertissements du gouvernement, de nombreux services utilisent encore le MD5 et, en tant que tels, sont techniquement menacés. Il est cependant possible de “sel” mots de passe, pour empêcher les attaquants potentiels d’utiliser les attaques du dictionnaire (tester des mots connus) contre le système. Si un pirate informatique possède une liste de mots de passe souvent utilisés de manière aléatoire et votre base de données de comptes d'utilisateurs, il peut comparer les hachages de la base de données à ceux de la liste. Salt est une chaîne aléatoire, qui est liée aux hachages de mots de passe existants, puis à nouveau hachée. La valeur de sel et le hachage résultant sont ensuite stockés dans la base de données.

Si un pirate informatique souhaite connaître les mots de passe de vos utilisateurs, il devra d'abord déchiffrer le hachage Salt, ce qui rendra une attaque par dictionnaire assez inutile. Salt n'affecte pas le mot de passe lui-même, vous devez donc toujours choisir un mot de passe difficile à deviner..

Conclusion

MD5 est l'une des nombreuses méthodes d'identification, de sécurisation et de vérification des données. Le hachage cryptographique est un chapitre essentiel de l’histoire de la sécurité et de la confidentialité des données. Comme avec beaucoup de choses conçues avec la sécurité à l'esprit, quelqu'un est parti et l'a cassé.

Vous n'aurez probablement pas à vous inquiéter du hachage et de la somme de contrôle MD5 dans vos habitudes de surf quotidiennes, mais au moins maintenant vous savez ce qu'ils font et comment ils le font..

Avez-vous déjà eu besoin de quoi que ce soit? Est-ce que vous vérifiez les fichiers que vous téléchargez? Connaissez-vous de bonnes applications Web MD5? Faites le nous savoir dans les commentaires!

Intro image: Shutterstock

Explorez plus sur: Cryptage, Confidentialité en ligne.