Gjenbruk av passord er ekstremt problematisk. Det er trist at folk ikke vet om de involverte risikoene for deres konto og data. Angripere bruker e-postadresser og passord fra tidligere brudd og prøver å få tilgang til andre nettsteder. Passordbehandlere som genererer tilfeldige passord er et perfekt tiltak mot disse angrepene, og genererer tilfeldige passord for hvert nettsted. Men hva med alle de gamle passordene? Vi har nettopp lansert en ny funksjon som lar brukerne sjekke passordene sine mot en enorm database ved hjelp av haveibeenpwned.com. Med dette nye verktøyet i arsenalet vårt er det mulig å sjekke passord mot et datasett på nesten 5 milliarder kontoer med passord.
Tjenesten Pwned Passwords ble opprettet i august 2017 etter at NIST ga ut retningslinjer som spesifikt anbefalte at brukerleverte passord sjekkes mot eksisterende datainnbrudd. Begrunnelsen for dette rådet og forslag til hvordan applikasjoner kan bruke disse dataene er beskrevet i detalj i blogginnlegget Introducing 306 Million Freely Downloadable Pwned Passwords. I februar 2018 ble versjon 2 av tjenesten lansert med mer enn en halv milliard passord, hver nå også med en telling av hvor mange ganger de hadde blitt eksponert.
(Kilde: https://haveibeenpwned.com/Passwords)
En liten video som gir en bedre følelse av hvordan det fungerer. APIen viser fremdriften av analysen. Som en gratis tjeneste respekterer vi hastighetsbegrensningen og ønsker ikke å forårsake skade, så forespørslene er begrenset til én forespørsel per 1,5 sekunder.
I et første steg blir alle hemmeligheter som inneholder passordene dine lastet ned fra serveren. I et andre steg blir hver hemmelighet dekryptert i nettleseren din før en sha1 hash av passordet blir laget. Sha1 hasher er 160 biter lange (40 tegn i heksadesimal). Sha1 hashen er delt inn i et prefiks (5 heksadesimale tegn) og et suffiks (35 heksadesimale tegn). Prefikset blir sendt til haveibeenpwned.com APIen som sjekker databasen sin og returnerer en liste med suffikser. Klienten vil sammenligne passordets suffiks med listen over suffikser den mottar, og merke passordet som kompromittert eller ikke. Dette er en effektiv måte å søke i passorddatabasen på uten faktisk å sende passordet (eller svake avledninger) og er kjent som k-anonymisering.