Var läckta lösenord kommer ifrån
En webbplats lagrar tillräckligt för att känna igen lösenordet vid inloggning. Bra webbplatser lagrar en långsam, saltad hash, inte själva lösenordet. Läckor exponerar ändå lösenordsdatabaser, och dåliga implementationer, gamla algoritmer eller svaga lösenord låter angripare återskapa många av de ursprungliga värdena. De värdena samlas i knäcklistor och testas på andra platser.
En träff säger alltså något om lösenordet, inte om hur det står till med enheten i din hand. Den bevisar inte att skadlig kod har läst av tangentbordet eller att just det konto du kontrollerar var den läckta webbplatsen. Lösenordet kan komma från en helt annan tjänst för flera år sedan.
Så fungerar kontrollen utan att avslöja lösenordet
Sealbys kontroll skapar ett SHA-1-fingeravtryck av hela lösenordet i webbläsaren. SHA-1 används här bara som det sökformat som Pwned Passwords-databasen kräver, inte för att lagra eller skydda ditt lösenord. Sidan skickar bara de fem första hexadecimala tecknen av fingeravtrycket – aldrig lösenordet och aldrig hela fingeravtrycket.
Tjänsten returnerar hundratals fingeravtrycksslut som delar samma prefix, utfyllda för att svarens storlek inte ska avslöja för mycket. Webbläsaren jämför det riktiga slutet lokalt och ignorerar utfyllnadsposterna. Det kallas k-anonymitet: servern ser en folkmassa av möjliga lösenord, medan din enhet vet vilket komplett fingeravtryck den letar efter.
Vad en träff ärligt betyder
En träff betyder att lösenordets exakta fingeravtryck finns i känd, komprometterad lösenordsdata. Angripare kan då placera det lösenordet högt upp på en gissningslista. Den säger inte vem som använde det, vilken läcka det kom från eller om ett visst konto redan har öppnats.
Faran är störst där du har återanvänt lösenordet. Automatiserade verktyg för credential stuffing testar ett läckt par av e-post och lösenord hos e-post, butiker, sociala nätverk och finansiella tjänster. En enda gammal läcka blir flera kapade konton eftersom lösenordet spred sig.
Åtgärda i denna ordning
1. Ta bort återanvändningen. Byt lösenordet överallt det används. Börja med e-post och konton som kan återställa andra konton, sedan bank och ekonomi, jobbet, sociala konton och butiker. Logga ut okända sessioner samtidigt.
2. Gör varje nytt lösenord unikt. En lösenordshanterare kan skapa och komma ihåg slumpmässiga lösenord. För sådant du måste skriva eller minnas, använd flera slumpmässigt valda ord från lösenordsfrasgeneratorn. Skapa inte ett enda starkt lösenord och återanvänd det överallt.
3. Lägg till en andra spärr. Slå på tvåstegsverifiering, helst med en autentiseringsapp eller hårdvarunyckel i stället för SMS när tjänsten ger dig ett val. En passkey är ännu bättre där den stöds, eftersom den är unik för webbplatsen och motstår nätfiske.
Vad en utebliven träff inte bevisar
Ingen läckdatabas innehåller alla stulna lösenord. En webbplats kanske inte vet att den läckt, en angripare kan hålla data privat, och ett svagt lösenord kan gissas utan att någonsin dyka upp i en läcka. ”Ingen träff” är en användbar signal, inte ett styrkebevis.
Bedöm hela upplägget: unikt per webbplats, långt eller slumpmässigt genererat, säkert förvarat och kompletterat med 2FA eller passkeys. Vill du se varför längd och lagringsalgoritmer förändrar tiden det tar att gissa, läs hur brute force-attacker fungerar.