Glossar

Was ist Passwort-Hashing?

Passwort-Hashing ist die Praxis, eine rechenintensive, einwegige kryptografische Funktion auf ein Passwort anzuwenden – kombiniert mit einem einzigartigen Salt –, um einen Digest fester Länge zu erzeugen, der das Passwort verifizieren kann, ohne es in einer wiederherstellbaren Form zu speichern.

Auch bekannt als: password hash, password digest

Passwörter im Klartext zu speichern ist eine der gefährlichsten Praktiken in der Softwareentwicklung. Wenn eine Datenbank kompromittiert wird, sind Klartext-Passwörter sofort für Account-Übernahmen verwendbar – nicht nur beim betroffenen Dienst, sondern bei jedem anderen Dienst, bei dem Nutzer dasselbe Passwort wiederverwendet haben. Passwort-Hashing ersetzt die Klartextspeicherung durch irreversible Digests, die einen Passwortversuch verifizieren können, aber nicht umgekehrt werden können, um das ursprüngliche Passwort wiederherzustellen.

Nicht alle Hash-Funktionen sind für Passwörter geeignet. Allzweck-Hash-Funktionen wie SHA-256 sind zu schnell – moderne GPUs können Milliarden von SHA-256-Hashes pro Sekunde berechnen, was Brute-Force-Angriffe trivial macht. Passwort-Hashing-Algorithmen sind absichtlich so gestaltet, dass sie langsam sind und für jede Hash-Berechnung erhebliche CPU-Zeit, Arbeitsspeicher oder beides benötigen. Diese Langsamkeit ist über Parameter konfigurierbar, etwa die Iterationsanzahl (PBKDF2), den Kostenfaktor (bcrypt) oder Arbeitsspeicher- und Parallelitätseinstellungen (Argon2).

Die Entwicklung des Passwort-Hashings spiegelt das Wettrüsten zwischen Verteidigern und Angreifern wider. PBKDF2 (2000) fügte eine konfigurierbare Iterationsanzahl hinzu. bcrypt (1999) führte eine feste Arbeitsspeicheranforderung ein, die GPU-Beschleunigung widersteht. scrypt (2009) ergänzte konfigurierbare Arbeitsspeicherhärte. Argon2 (2015), der Gewinner des Password Hashing Competition, bietet einstellbare CPU-Zeit, Arbeitsspeicher und Parallelität. Jede Generation adressiert neue Angriffsmöglichkeiten – die Wahl hängt von der Einsatzumgebung und dem Bedrohungsmodell ab.

Wie Vaulted Passwort-Hashing verwendet

Vaulted speichert keine Nutzerpasswörter, da es keine Nutzerkonten hat. Die Prinzipien des Passwort-Hashings informieren jedoch direkt die Passphrasen-Schutzfunktion. Wenn du für ein Geheimnis eine Passphrase setzt, wird PBKDF2 – ein Passwort-Hashing-Algorithmus – verwendet, um daraus einen Schlüssel abzuleiten. Die absichtliche Langsamkeit von 100.000 PBKDF2-Iterationen macht Brute-Force-Raten der Passphrase unpraktikabel und schützt den gewrappten Schlüssel, selbst wenn ein Angreifer Geheimtext und Salt erlangt.