Sécu­rité de Have I Been Pwned?

Concer­nant Have I Been Pwnd? il y a pas mal de gens réti­cents à l’uti­li­ser de peur que ça aspire ce qu’ils saisissent. Et c’est aussi prendre le risque qu’un site frau­du­leux se fasse passer pour lui.

https://masto­don.teta­neu­tral.net/@Natouille/105820437840086551

Il y a deux parties à Have I Been Pwnd?. La première partie c’est une solu­tion pour lais­ser son email et être averti dès qu’une brèche concerne un de vos comptes.

Là dessus il n’y a aucun risque de sécu­rité, que du béné­fice. Si vous ne vous êtes pas enre­gis­tré, faites-le.

On laisse certes son email mais pour l’ins­tant personne n’a relevé de spam sur ce service (et croyez-moi, il doit y avoir des milliers d’in­for­ma­ti­ciens qui ont du essayer de mettre une adresse de test spéci­fique).


La seconde partie propose de saisir son mot de passe et regarde s’il est présent dans la base de données des mots de passe déjà connus.

Troy Hunt a établi un proto­cole qui permet de véri­fier si un mot de passe est dans la base sans avoir à trans­mettre ce mot de passe au serveur. C’est simple à lire et à comprendre, et ça ne laisse aucune part au doute : Tant qu’on suit ce proto­cole, tester un mot de passe ne présente aucun risque de divul­ga­tion. Aucun.

La seule vraie ques­tion est « pouvons-nous faire confiance au site web dans lequel nous saisis­sons le mot de passe pour suivre ce proto­cole et ne pas envoyer notre saisie quelque part sur un serveur ? »

Il n’y a pas eu de brèche ou de malveillance sur Have I Been Pwned? jusqu’à présent mais, évidem­ment, ça n’est en rien une garan­tie abso­lue pour l’ave­nir.

Si vous voulez plus de sécu­rité, deux possi­bi­li­tés :

  • Utili­ser un site web ou un outil en qui vous avez plus confiance pour qu’il implé­mente correc­te­ment le proto­cole de Have I Been Pwned?
  • Télé­char­ger la base en local sur votre poste, et utili­ser un outil en qui vous avez confiance pour cher­cher dedans.

Des gestion­naires de mots de passe comme Dash­lane et Bitwar­den proposent de tester direc­te­ment vos mots de passe depuis le logi­ciel. Il faut avoir confiance mais, si vous les utili­sez comme gestion­naire de mots de passe, c’est à priori déjà le cas.

Ce que je propo­sais quand je parlais de mot de passe fort et inter­face c’est exac­te­ment ça : C’est au logi­ciel ou au site web à qui vous allez confier votre mot de passe de toutes façons de le véri­fier auprès de la base Have I Been Pwnd? (qu’ils auront télé­chargé en local sur leur serveur). Ainsi il n’y a aucun besoin de faire confiance à un acteur tiers, aucun risque supplé­men­taire.


Ok, mais c’est quoi ce proto­cole ? Comment peut-on véri­fier mon mot de passe sans le divul­guer ?

On utilise des conden­sats, ici SHA1.

Plus exac­te­ment on calcule la somme SHA1, sur 40 carac­tères hexa­dé­ci­maux, et on envoie les 5 premiers carac­tères au serveur. Le serveur nous répond avec la liste des sommes SHA1 de mots de passe connus qui partagent les mêmes 5 premiers carac­tères. À moi de véri­fier que le mien ne fait pas partie de cette liste.

Vous lirez que SHA1 n’est pas idéal pour des mots de passe, encore moins sans ajout d’un sel aléa­toire. Pour autant il n’y a aucun moyen connu à ce jour pour même imagi­ner trou­ver une infor­ma­tion partielle à propos de votre mot de passe à partir des 5 premiers carac­tères de la somme SHA1.

La seule chose possible c’est éven­tuel­le­ment se dire « c’est peut-être un des mots de passe connus qui partagent le même début de somme de contrôle ». L’in­for­ma­tion ne présente aucun inté­rêt puisque si juste­ment c’était un de ceux-ci, vous auriez été infor­més de ne pas l’uti­li­ser. Du coup, en creux, l’in­for­ma­tion devient « Quelqu’un utilise un mot de passe, et ce ne sera pas un mot de passe connu ». Bref, c’est exac­te­ment notre objec­tif, tout va bien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *