Återanvändning av lösenord är extremt problematiskt. Det är sorgligt att människor inte känner till de involverade riskerna för sina konton och sina data. Angripare använder e-postadresser och lösenord från tidigare intrång och försöker få tillgång till andra webbplatser. Lösenordshanterare som genererar slumpmässiga lösenord är ett perfekt skydd mot dessa attacker, då de genererar slumpmässiga lösenord för varje webbplats. Men vad ska man göra med alla gamla lösenord? Vi har precis släppt en ny funktion som låter användare kontrollera sina lösenord mot en enorm databas med hjälp av haveibeenpwned.com. Med detta nya verktyg i vårt bälte är det möjligt att kontrollera lösenord mot en dataset på nästan 5 miljarder konton med lösenord.
Tjänsten Pwned Passwords skapades i augusti 2017 efter att NIST släppte riktlinjer som specifikt rekommenderade att användarvalda lösenord ska kontrolleras mot existerande dataintrång. Rationalen för detta råd och förslag på hur applikationer kan utnyttja denna data beskrivs i detalj i blogginlägget Introducerar 306 Miljoner Gratis Nedladdningsbara Pwned Lösenord. I februari 2018 släpptes version 2 av tjänsten med mer än en halv miljard lösenord, var och en nu även med en räkning av hur många gånger de har exponerats.
(Källa: https://haveibeenpwned.com/Passwords)
En liten video som ger en bättre känsla för hur det fungerar. API:et visar analysens framsteg. Eftersom det är en gratis tjänst respekterar vi begränsningarna och vill inte orsaka någon skada, så förfrågningarna är begränsade till en per 1,5 sekunder.
I ett första steg laddas alla hemligheter som innehåller dina lösenord ner från servern. I ett andra steg dekrypteras varje hemlighet i din webbläsare innan en sha1-hash av lösenordet skapas. Sha1-hashar är 160 bitar långa (40 tecken i hex). Sha1-hashen bryts ned i ett prefix (5 hex-tecken) och ett suffix (35 hex-tecken). Prefixet skickas till haveibeenpwned.com API:t som kontrollerar sin databas och returnerar en lista med suffix. Klienten jämför lösenordets suffix med listan av suffix som den mottagit och markerar lösenordet som brutet eller inte. Detta är ett effektivt sätt att fråga lösenordsdatabasen, utan att faktiskt skicka lösenordet (eller svaga derivat) och kallas k-anonymisering.