A jelszavak újrahasználata rendkívül problémás. Szomorú, hogy sokan nem ismerik az ebből eredő kockázatokat, amelyek a fiókjukat és adataikat veszélyeztetik. Támadók korábbi adatszivárgásokból származó e-mail címeket és jelszavakat használnak, hogy megpróbáljanak hozzáférni más weboldalakhoz. Az olyan jelszókezelők, amelyek véletlenszerű jelszavakat generálnak minden weboldalhoz, tökéletes védelmet nyújtanak ezek ellen a támadások ellen. De mi a helyzet azokkal a régi jelszavakkal? Most vezettünk be egy új funkciót, amely lehetővé teszi a felhasználók számára, hogy ellenőrizzék jelszavaikat egy hatalmas adatbázisban a haveibeenpwned.com segítségével. Ezzel az új eszközzel már közel 5 milliárd fiók jelszavából álló adatbázisban lehet ellenőrizni a jelszavakat.
A Pwned Passwords szolgáltatás 2017 augusztusában jött létre, miután az NIST kiadott egy olyan ajánlást, amely kifejezetten javasolta, hogy a felhasználók által megadott jelszavakat ellenőrizzék a meglévő adatszivárgások ellen. E tanács indoklását és az ajánlás alkalmazásának módját részletesen ismerteti az „Introducing 306 Million Freely Downloadable Pwned Passwords” című blogbejegyzés. 2018 februárjában jelent meg a szolgáltatás 2. változata, amelyben már több mint félmilliárd jelszó szerepelt, mindegyiknél feltüntetve, hogy hányszor fordult elő adatvesztés során.
(Forrás: https://haveibeenpwned.com/Passwords)
Egy rövid videó, amely jobb betekintést nyújt a működésébe. Az API mutatja az elemzés állapotát. Mivel ez egy ingyenes szolgáltatás, tiszteletben tartjuk a korlátozásokat, és nem szeretnénk kárt okozni, ezért a lekérdezések számát 1,5 másodpercenként egyre korlátoztuk.
Első lépésként minden, a jelszavakat tartalmazó titkot letöltünk a szerverről. Második lépésben minden titkot a böngészőjében dekódolunk, mielőtt a jelszavakból SHA1 lenyomatot készítenénk. Az SHA1 lenyomatok 160 bitesek (hexadecimálisan 40 karakter). A SHA1 lenyomat előtagra (5 hex karakter) és utótagra (35 hex karakter) van bontva. Az előtagot küldi el a haveibeenpwned.com API-hoz, amely ellenőrzi az adatbázisában, és visszaküld egy listát az utótagokról. Az ügyfél összehasonlítja a saját jelszavának utótagját a kapott listával, és megjelöli, hogy a jelszó érintett volt-e adatszivárgásban vagy sem. Ez egy hatékony módja annak, hogy jelszót ellenőrizzünk egy adatbázisban anélkül, hogy ténylegesen elküldenénk a jelszót (vagy annak gyenge változatát), ezt a módszert k-anonimizációnak nevezik.