Glossar

Salt

Passwort-Saltkryptografischer Salt

Ein Salt ist ein eindeutiger Wert, der beim Passwort-Hashing oder bei der Schlüsselableitung dafür sorgt, dass gleiche Eingaben unterschiedliche Ausgaben ergeben.

Definition

Ein Salt ist ein Wert, der vor dem Passwort-Hashing oder der Schlüsselableitung zu einem Passwort oder einer anderen Eingabe hinzugefügt wird. Seine Hauptaufgabe ist, die abgeleitete Ausgabe eindeutig zu machen, selbst wenn zwei Nutzer dasselbe Passwort wählen.

Ein Salt muss normalerweise nicht geheim sein. Er wird mit dem Hash oder der kodierten Ausgabe gespeichert, damit der Prüfer dieselbe Berechnung später wiederholen kann.

Funktionsweise

Für jedes Passwort erzeugt das System einen frischen zufälligen Salt und gibt Passwort und Salt an eine Passwort-Hashfunktion wie Argon2id, bcrypt oder PBKDF2. Bei der Verifikation wird der gespeicherte Salt mit dem Kandidatenpasswort erneut verwendet.

Eindeutige Salts verhindern, dass gleiche Passwörter gleiche gespeicherte Hashes erzeugen, und machen vorberechnete Nachschlagetabellen deutlich weniger nützlich. Sie machen schwache Passwörter nicht stark; die Passwort-Hashfunktion braucht weiterhin passende Kostenparameter.

Salt, Schlüssel, Pepper und Nonce

Ein Salt ist öffentliche Eindeutigkeit, kein geheimer Authentifizierungsschlüssel. Ein Pepper ist ein separates Geheimnis außerhalb der Passwortdatenbank, und eine Nonce ist eine Zahl, die in einem bestimmten Protokoll oder Verschlüsselungsvorgang nur einmal verwendet wird.

Erzeugen Sie Salts in neuen Systemen mit einer kryptografisch sicheren Zufallsquelle und lassen Sie die Passwort-Hashbibliothek sie nach Möglichkeit in ihrem Standardformat speichern.

Häufige Fragen

Nein. Ein Salt sollte eindeutig und möglichst zufällig sein, kann aber neben dem Hash gespeichert werden.

Das sollten sie nicht. Zufällige Salts machen Wiederverwendung unwahrscheinlich und verhindern, dass gleiche Passwörter als gleiche Hashes sichtbar werden.

Nein. Nutzen Sie eine Passwort-Hashfunktion mit geeigneten Kostenparametern, sichere zufällige Salts, Rate-Limiting und Überwachung.

Siehe auch