Régulièrement, on apprend que telle ou telle entreprise a laissé fuiter des milliers voire des millions de mots de passe dans la nature. Dans le pire des cas, ces mots de passe ne sont pas chiffrés et viennent enrichir les bases de données de vilains hackers… et de Pwned Passwords.
Ce service vous permet de vérifier si vos mots de passe ne sont pas compromis. Troy Hunt, un expert en sécurité qui travaille pour Microsoft, a mis en ligne cette semaine la v2 qui porte à plus de 500 millions le nombre de mots de passe recensés et qui améliore son fonctionnement.
L’utilisation est simplissime : vous tapez un de vos mots de passe dans le champ et vous cliquez sur « pwned? ». Si c’est rouge, votre sésame fait partie d’une fuite de données et il faut le changer. Le nombre de fois où il apparaît dans les sources est spécifié.
Si c’est vert, votre mot de passe n’a pas fuité… mais cela ne signifie pas à 100 % qu’il est sûr. Il peut avoir été subtilisé individuellement ou bien être trop faible pour ne pas être deviné un jour ou l’autre (lire aussi : rappel de quelques conseils pour vos mots de passe).
Mais ce n’est pas dangereux de vérifier ses mots de passe en les entrant sur une page web ? Si, ça peut l’être. Pour sa part, Pwned Passwords est reconnu dans le milieu comme un service fiable. D’une part son créateur a pignon sur rue, d’autre part son fonctionnement est expliqué en détail et sûr jusqu’à preuve du contraire.
Votre mot de passe, disons « P@ssw0rd », n’est pas stocké ni même envoyé au service. Il est hashé automatiquement avec l’algorithme SHA–1, ce qui le transforme en ceci (c’est ce qu’on appelle le hash ou condensat) : « 21BD12DC183F740EE76F27B78EB39C8AD972A757 ». Ce hash n’est pas non plus envoyé au serveur, car il pourrait permettre au créateur du site de découvrir le mot de passe derrière.
Ce sont seulement les cinq premiers caractères du hash, 21BD1 dans le cas présent, qui sont envoyés et comparés aux hash des 500 millions de mots de passe recensés. Problème, ce début de hash est celui de 475 mots de passe différents, et non d’un seul :
- 21BD10018A45C4D1DEF81644B54AB7F969B88D65:1 (mot de passe « lauragpe »)
- 21BD100D4F6E8FA6EECAD2A3AA415EEC418D38EC:2 (« alexguo029 »)
- 21BD1011053FD0102E94D6AE2F8B83D76FAF94F6:1 (« BDnd9102 »)
- etc.
Le serveur envoie alors les 475 hash complets qui débutent par 21BD1 et en local Pwned Passwords les compare avec celui de « P@ssw0rd ». Si un hash correspond, c’est que le mot de passe fait partie de la base de données du service.
Le gestionnaire de mots de passe 1Password a jugé Pwned Passwords assez sûr et utile pour commencer à l’intégrer à son service. Si vous avez un compte 1Password.com, vous pouvez activer l’intégration sur la web app en appuyant sur Shift-Control-Option-C. La fonction sera ajoutée en bonne et due forme dans la partie Audit de sécurité dans une future version.
Si malgré tout vous n’avez pas confiance en Pwned Passwords, vous pouvez télécharger sa base de données de 500 millions de hash de mots de passe pour l’utiliser entièrement en local (le fichier pèse près de 9 Go). Troy Hunt propose aussi un service, have i been pwned?, pour voir si votre adresse email ou votre pseudo fait partie d’une fuite de données.