Ponovno korištenje lozinki izuzetno je problematično. Žalosno je što ljudi nisu upoznati s rizicima koji prijete njihovom računu i podacima. Napadači koriste adrese e-pošte i lozinke iz prethodnih sigurnosnih propusta i pokušavaju pristupiti drugim web stranicama. Upravitelji lozinki koji generiraju slučajne lozinke savršena su mjera protiv takvih napada, jer za svaku stranicu stvaraju jedinstvene, nasumične lozinke. Ali što je s onim starim lozinkama? Upravo smo objavili novu značajku koja korisnicima omogućuje provjeru njihovih lozinki u velikoj bazi podataka uz pomoć haveibeenpwned.com. S ovim novim alatom moguće je provjeriti lozinke na skupu podataka od gotovo 5 milijardi računa s pripadajućim lozinkama.
Servis Pwned Passwords stvoren je u kolovozu 2017. nakon što je NIST objavio smjernice koje posebno preporučuju provjeru lozinki koje su korisnici odabrali prema podacima iz postojećih sigurnosnih propusta. Razlozi za ovaj savjet i prijedlozi kako aplikacije mogu koristiti ove podatke detaljno su opisani u blog postu pod nazivom Introducing 306 Million Freely Downloadable Pwned Passwords. U veljači 2018. objavljena je verzija 2 usluge s više od pola milijarde lozinki, svaka sada i s brojem koliko su puta bile izložene.
(Izvor: https://haveibeenpwned.com/Passwords)
Kratki video koji daje bolji dojam o tome kako sustav radi. API prikazuje tijek analize. Kako je riječ o besplatnoj usluzi, poštujemo ograničenja i ne želimo uzrokovati opterećenje, pa su zahtjevi ograničeni na jedan zahtjev svakih 1,5 sekundi.
U prvom koraku svi tajni zapisi koji sadrže vaše lozinke preuzimaju se s poslužitelja. U drugom koraku svaki tajni zapis dešifrira se u vašem pregledniku prije nego što se stvori sha1 hash lozinke. Sha1 hash je dug 160 bita (40 znakova u hexu). Hash se dijeli na prefiks (5 hex znakova) i sufiks (35 hex znakova). Prefiks se šalje na haveibeenpwned.com API, koji provjerava svoju bazu i vraća popis sufiksa. Klijent zatim uspoređuje sufiks lozinke s popisom povratnih sufiksa te lozinku označava kao kompromitiranu ili ne. Ovo je učinkovit način pretraživanja baze lozinki bez stvarnog slanja lozinke (ili njenih slabih izvedenica) i poznat je kao k-anonimizacija.