Password Hashing
Passwort-Hashing (Sichere Anmeldedatenspeicherung)
Der Prozess der Umwandlung eines Klartext-Passworts in einen irreversiblen Hash-Wert fester Länge zur Speicherung, der sicherstellt, dass die Original-Passwörter selbst bei einer Kompromittierung der Datenbank nicht einfach wiederhergestellt werden können.
Technisches Detail
Passwort-Hashing-Algorithmen müssen absichtlich langsam sein, um Brute-Force-Angriffen zu widerstehen: bcrypt (1999, einstellbarer Arbeitsfaktor, 184-Bit-Ausgabe), scrypt (2009, speicherintensiv, widersteht GPU-Angriffen) und Argon2 (2015, Gewinner des Password Hashing Competition, konfigurierbare Zeit/Speicher/Parallelität). Jedes Passwort wird vor dem Hashing mit einem einzigartigen zufälligen Salt kombiniert, um Rainbow-Table-Angriffe zu verhindern. Pepper (ein serverseitiges Geheimnis) bietet zusätzlichen Schutz. Rohe kryptographische Hashes (SHA-256) sind ungeeignet, da sie auf Geschwindigkeit ausgelegt sind und Milliarden von Versuchen pro Sekunde auf GPUs ermöglichen. OWASP empfiehlt Argon2id als erste Wahl.
Beispiel
```
Password hashing comparison:
bcrypt: $2b$12$salt22chars..hash31chars..
Cost factor 12 → ~250ms per hash
argon2id: $argon2id$v=19$m=65536,t=3,p=4$salt$hash
Memory: 64MB, Iterations: 3, Parallelism: 4
Never use: MD5, SHA-256 alone (too fast → brute-forceable)
```