Die Wiederverwendung von Passwörtern ist extrem problematisch. Es ist traurig, dass Menschen nicht über die damit verbundenen Risiken für ihre Konten und Daten Bescheid wissen. Angreifer verwenden E-Mail-Adressen und Passwörter aus früheren Sicherheitsverletzungen und versuchen, Zugang zu anderen Websites zu erlangen. Passwortmanager, die zufällige Passwörter generieren, sind eine perfekte Maßnahme gegen solche Angriffe und generieren für jede Website zufällige Passwörter. Aber was ist mit all den alten Passwörtern? Wir haben gerade eine neue Funktion veröffentlicht, die es den Nutzern ermöglicht, ihre Passwörter mithilfe von haveibeenpwned.com mit einer riesigen Datenbank abzugleichen. Mit diesem neuen Werkzeug in unserem Repertoire ist es möglich, Passwörter mit einem Datensatz von fast 5 Milliarden Konten mit Passwörtern abzugleichen.
Der Dienst "Pwned Passwords" wurde im August 2017 erstellt, nachdem NIST Leitlinien veröffentlicht hatte, die ausdrücklich empfahlen, von Nutzern bereitgestellte Passwörter gegen bestehende Datenverletzungen zu überprüfen. Die Begründung für diesen Rat und Vorschläge, wie Anwendungen diese Daten nutzen können, werden ausführlich im Blogpost mit dem Titel Introducing 306 Million Freely Downloadable Pwned Passwords beschrieben. Im Februar 2018 wurde Version 2 des Dienstes mit mehr als einer halben Milliarde Passwörtern veröffentlicht, von denen jedes nun auch mit einer Zählung versehen ist, wie oft es exponiert wurde.
(Quelle: https://haveibeenpwned.com/Passwords)
Ein kleines Video, das ein besseres Gefühl dafür gibt, wie es funktioniert. Die API zeigt den Fortschritt der Analyse. Da es sich um einen kostenlosen Dienst handelt, respektieren wir das Drosseln und wollen keinen Schaden anrichten, daher sind die Anfragen auf eine Anfrage pro 1,5 Sekunden begrenzt.
Im ersten Schritt werden alle Geheimnisse, die Ihre Passwörter enthalten, vom Server heruntergeladen. Im zweiten Schritt wird jedes Geheimnis in Ihrem Browser entschlüsselt, bevor ein sha1-Hash des Passworts erstellt wird. Sha1-Hashes sind 160 Bit lang (40 Zeichen in Hex). Der sha1-Hash wird in ein Präfix (5 Hex-Zeichen) und ein Suffix (35 Hex-Zeichen) unterteilt. Das Präfix wird an die haveibeenpwned.com API gesendet, die ihre Datenbank überprüft und eine Liste von Suffixen zurücksendet. Der Client vergleicht das Suffix des Passworts mit der erhaltenen Liste der Suffixe und markiert das Passwort als kompromittiert oder nicht. Dies ist eine effiziente Methode, um die Passwortdatenbank abzufragen, ohne das Passwort (oder schwache Derivate) tatsächlich zu senden, und ist als k-Anonymisierung bekannt.