MD5 n'est pas suffisant

le 26/11/2007 à 20:33
MD5 n'est pas suffisant
Il est toujours recommandé de chiffrer les données critiques quand on les met dans une base de données : la pratique est courante pour les mots de passe, notamment. Cela permet de conserver des mots de passe caché, même aux administrateurs, tout en conservant la possibilité de vérifier qu'un mot de passe fourni est bien celui qui est en base.

Mais MD5 n'est pas suffisant. Il y a désormais une collection de base de données, telle que GData, qui archive 165 millions de signatures, couvrant 7 langues. Si vous trouvez donc un mot de passe dans une base de données, dument chiffré en beca371a0b80aba9f376b69fd6ebf517, vous pourrez savoir rapidement que c'est en fait le mot de passe 'nexen' qui est derrière. Il existe aussi des listes de md5 pour les mots de passe les plus courts (3,4,5 caractères).

Pour corriger cela, il faut personnaliser le MD5, en ajoutant un grain de sel : au lieu de stocker md5('nexen'), on peut ajouter une autre chaine de caractère, et stocker md5('prefixe'.'nexen'.'suffixe'); Comme vous choisissez le préfixe et le suffixe, vous rallongez le mot utilisé pour la signature (mais pas la signature), et vous pourrez ainsi échapper aux bases de données de MD5.

- Schneier on Security
- Gdata MD5
- Reverse MD5 hash lookup

Commentaires

Ecrire

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours