Hash Salting
Hash-Salting fügt der Hash-Eingabe ein zufälliges Salt hinzu, sodass identische Eingaben verschiedene Hashes erzeugen; Rainbow Tables und Kollisionserkennung werden damit ausgeschaltet.
Zweck
Hash-Ausgaben eindeutig machen und so Precomputed-Angriffe sowie den Vergleich identischer Eingaben verhindern.
Mechanismus
Ein zufälliges Salt wird erzeugt, H(Eingabe || Salt) berechnet und (Salt, Hash) gespeichert. Zur Verifikation wird mit dem gespeicherten Salt neu gehasht und verglichen. Das Salt muss nicht geheim, aber eindeutig sein. Verwendet u. a. beim Passwort-Hashing und bei HMAC (obwohl HMAC bereits einen Schlüssel einbettet).
Anwendungsfälle
- Sichere Passwortspeicherung
- Deduplizierung bei der Token-Erzeugung
- Deduplizierung von Datenfingerabdrücken
- Prävention von Precomputed-Angriffen
Beispiele
- Eingabe
pass1 + saltA → hashA; pass1 + saltB → hashBOutputSame password, different hashesUnique salt
Häufige Fehler
- Salt too short (<16 bytes)
- Use at least 16 random bytes
Verwandte Begriffe
Salt
Ein Salt ist ein Zufallswert, der beim Passwort-Hashing hinzugefügt wird, damit identische Passwörter unterschiedliche Hashes erzeugen; dadurch werden Rainbow-Tabellen und die Erkennung gleicher Passwörter unwirksam. GLOSSAR
Pepper
Ein Pepper ist ein serverseitiges Geheimnis, das beim Passwort-Hashing hinzugefügt wird (anders als ein Salt global geteilt und geheim gehalten), was Offline-Angriffe erschwert. GLOSSAR
Rainbow Table
Eine Rainbow Table ist eine vorberechnete Tabelle, die Martin Hellmans Ansatz zum Invertieren von Hashfunktionen verbessert und im Zeit-Raum-Kompromiss Speicher gegen Zeit tauscht, um Passwort-Hashes zu knacken. GLOSSAR
PBKDF2
PBKDF2 (Password-Based Key Derivation Function 2) ist die in PKCS#5 standardisierte KDF, die über iteriertes HMAC Schlüssel aus Passwörtern ableitet; weit verbreitet für Passwort-Hashing und Schlüsselableitung. GLOSSAR
Verwandte Tools
PBKDF2-Schlüsselableitung
Derive a key from a password using PBKDF2 (RFC 2898) with Web Crypto API. Kostenlos, privat und 100% clientseitig. WERKZEUG
scrypt-Schlüsselableitung
Derive a key from a password using scrypt (memory-hard KDF). Kostenlos, privat und 100% clientseitig. WERKZEUG
bcrypt-Hash-Generator
Hash passwords with bcrypt or verify bcrypt hashes. Kostenlos, privat und 100% clientseitig. WERKZEUG