Publicité
Dans un article récent sur la vérification de votre touché par le piratage de Gawker Comment savoir si votre adresse e-mail a été divulguée via la base de données de Gawker Lire la suite , l'une des étapes a consisté à convertir votre adresse e-mail en un hachage MD5.
Nous avons eu quelques questions de lecteurs 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 de MD5, du hachage et un petit aperçu des ordinateurs et de la cryptographie.
Hachage cryptographique
MD5 signifie Message réigest algorithme 5, et a été inventé par le célèbre cryptographe américain professeur 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é, en 91.
L'idée derrière le hachage cryptographique est de prendre un bloc de données arbitraire et de renvoyer une valeur de «hachage» de taille fixe. Il peut s'agir de n'importe quelle donnée, de n'importe quelle taille, mais la valeur de hachage sera toujours fixe. Essayez par vous-même
ici.Le hachage cryptographique a un certain nombre d'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 (Linux distributions, 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 hachage 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é. À un niveau très basique, si vous et un ami avez un gros fichier chacun et souhaitez vérifier qu'ils sont exactement les mêmes sans le 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. Un bon exemple est les réseaux de partage de fichiers poste à poste, comme eDonkey2000. Le système a utilisé une variante de l'algorithme MD4 (au dessous de) qui a également combiné la taille du fichier dans un hachage pour pointer rapidement vers les fichiers sur le réseau.
Un exemple de signature de ceci est la capacité 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 des mots de passe. Stocker des mots de passe en 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, il est converti en valeur de hachage et comparé au hachage stocké connu. Comme le hachage est un processus à sens unique, à condition que l'algorithme soit solide, il y a théoriquement peu de chances que le mot de passe d'origine soit déchiffré du hachage.
Le hachage cryptographique est également souvent utilisé dans la génération de mots de passe et de mots de passe dérivés à partir d'une seule phrase.
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, cela ressemblerait à: 64399513b7d734ca90181b27a62134dc. Il a été construit sur une méthode appelée Merkle "" Damgà ¥ rd structure (au dessous de), qui est utilisé pour créer des fonctions de hachage dites «anti-collision».
Cependant, aucune sécurité ne résiste à tout et en 1996, des failles potentielles ont été détectées dans l'algorithme de hachage MD5. À l'époque, ils n'étaient pas considérés comme mortels et le MD5 continuait d'être utilisé. En 2004, un problème bien plus grave a été découvert après qu'un groupe de chercheurs a décrit comment faire partager deux fichiers distincts avec la même valeur de hachage MD5. Il s'agissait de la première instance d'une attaque par collision utilisée contre l'algorithme de hachage MD5. Une attaque par collision tente de trouver deux sorties arbitraires qui produisent la même valeur de hachage - d'où une collision (deux fichiers existant avec la même valeur).
Au cours des années suivantes, des tentatives de détection de nouveaux 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 des collisions pour simuler Certificat SSL validité. Cela pourrait inciter les utilisateurs à penser 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 annoncé cette: "les utilisateurs doivent éviter d'utiliser l'algorithme MD5 à quelque titre que ce soit. Comme les recherches précédentes l'ont démontré, il doit être considéré comme cryptographiquement cassé et impropre à une utilisation ultérieure“.
Malgré l'avertissement du gouvernement, de nombreux services utilisent encore MD5 et, en tant que tels, sont techniquement à risque. Il est cependant possible de «saler» les mots de passe, pour empêcher les attaquants potentiels d'utiliser des attaques par dictionnaire (test de mots connus) contre le système. Si un pirate possède une liste de mots de passe aléatoires souvent utilisés et de la base de données de votre compte utilisateur, il peut comparer les hachages de la base de données avec ceux de la liste. Salt est une chaîne aléatoire, qui est liée aux hachages de mot de passe existants, puis hachée à nouveau. La valeur de sel et le hachage résultant sont ensuite stockés dans la base de données.
Si un pirate informatique voulait découvrir les mots de passe de vos utilisateurs, il devrait d'abord déchiffrer les hachages salés, ce qui rend 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 différentes 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 dissimulation. Comme pour beaucoup de choses conçues pour la sécurité, quelqu'un est parti et l'a brisé.
Vous n'aurez probablement pas à vous soucier trop du hachage et des sommes 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 hacher quelque chose? Vérifiez-vous les fichiers que vous téléchargez? Connaissez-vous de bonnes applications Web MD5? Faites le nous savoir dans les commentaires!
Image d'introduction: Shutterstock
Tim est un écrivain indépendant qui vit à Melbourne, en Australie. Vous pouvez le suivre sur Twitter.