Peut-on utiliser la fonction de hachage MD5 pour enregistrer l’empreinte des mots de passe de ses utilisateurs ?
Non, la fonction de hachage MD5 ne doit pas être utilisée pour stocker les empreintes des mots de passe, car les mots de passe originaux peuvent être retrouvés sans trop de difficultés, avec une faible puissance de calcul.
Les mots de passe des utilisateurs ne doivent pas être stockés en clair[1]. Seule une empreinte des mots de passe doit être conservée. Cette empreinte doit être calculée avec une fonction de hachage robuste pour éviter, dans le cas où la base de données contenant ces empreintes était divulguée, que les mots de passe des utilisateurs puissent être facilement retrouvés.
La fonction de hachage MD5 n’est pas considérée comme une fonction robuste, car des vulnérabilités majeures ont été découvertes depuis de nombreuses années. La CNIL considère également que « son utilisation en cryptographie ou en sécurité est proscrite ».
« La [CNIL] rappelle que le recours à la fonction de hachage MD5 […] n’est plus considérée depuis 2004 comme à l’état de l’art et son utilisation en cryptographie ou en sécurité est proscrite. Ainsi, l’utilisation de cet algorithme permettrait à une personne ayant connaissance du mot de passe haché de déchiffrer celui-ci sans difficulté en un temps très court (par exemple, au moyen de sites internet librement accessibles qui permettent de retrouver la valeur correspondante au hash du mot de passe). »
L’utilisation de la fonction de hachage MD5 est, par conséquent, incompatible avec les exigences du RGPD, notamment les exigences de sécurité[2]. Son utilisation peut d’ailleurs être sanctionnée par l’autorité de contrôle, c’est-à-dire la CNIL pour la France. Des sociétés ont déjà été sanctionnées pour avoir utilisé cette fonction de hachage, notamment le vendeur en ligne Brico Privé[3].
Note : Des vulnérabilités majeures ont déjà été trouvées dans la fonction de hachage MD5. La fonction MD5 n’est, par exemple, pas résistante aux collisions, ce qui signifie que plusieurs valeurs peuvent avoir la même empreinte (ou « hash »). En utilisant MD5 pour hacher les mots de passe des utilisateurs, il y a donc, théoriquement, un risque que des mots de passe incorrects soient considérés comme valides. Cela est cependant très peu probable, la taille des mots de passe étant limitée, mais pour d’autres scénarios, cela peut être problématique.
Notes et références
- ↑Pour éviter que les mots de passe des internautes puissent être récupérés et utilisés pour nuire, les mots de passe ne doivent pas être stockées en clair. Voir « Ne stockez pas les mots de passe de vos utilisateurs en clair » et « Comment conserver les mots de passe et éviter qu’un attaquant ne les utilise ».
- ↑Le RGPD demande aux responsables de traitement de données à caractère personnelles de prendre des « mesures techniques appropriées afin de garantir un niveau de sécurité adapté au risque » (source : RGPD, article 32-2). La fonction de hachage MD5 n’est pas une mesure appropriée.
- ↑La société Brico Privé a été sanctionnée par la CNIL, car la fonction de hachage MD5 était utilisée pour chiffrer les mots de passe des clients (source : CNIL, SAN-2021-008, 12 juin 2021, Brico Privé). Voir « BRICOPRIVE.COM sanctionné pour avoir conservé des données sur ses clients trop longtemps et pour de nombreux manquements relatifs à la sécurité ».