Zum Inhalt springen

Passwort-Salting

Beim Passwort-Salting bekommt jeder neue Passwort-Hash einen eigenen zufälligen Zusatz. Der Salt wird mitgespeichert und muss nicht geheim sein.

IT-Sicherheit

Einen eigenen Salt pro Passwort-Hash verwenden

Beim Passwort-Salting erhält jeder neu erzeugte Passwort-Hash einen eigenen, sicher zufällig erzeugten Zusatzwert. Dieser Salt geht als Eingabe in die Passwort-Hashfunktion ein. Er muss nicht geheim sein und wird mit dem Prüfwert gespeichert. Eine korrekt verwendete Bibliothek für Passwort-Hashing kann die Erzeugung und Verwaltung übernehmen.

In einer fiktiven Anwendung wählen account-A und account-B dasselbe Passwort. Die Bibliothek erzeugt dafür unabhängig voneinander zufällige Salts. Die Bezeichnungen salt-A und salt-B stehen hier nur für diese Werte; sie sind keine verwendbaren Salt-Vorgaben. Unterschiedliche Salts verhindern, dass ein Angreifer einen vorberechneten Hash einfach für alle Konten wiederverwenden kann.

Beim Prüfen den gespeicherten Wert verwenden

Bei einer späteren Anmeldung verwendet die Bibliothek den gespeicherten Salt und die gespeicherten Parameter, um das eingegebene Passwort zu prüfen. Für die Prüfung eines vorhandenen Passwort-Hashes wird nicht jedes Mal ein neuer Salt erzeugt. Beim Erstellen eines neuen Passwort-Hashes wird dagegen ein frischer Salt verwendet.

Ein Salt ist kein Pepper: Ein Pepper ist ein zusätzliches Geheimnis, das mehrere Passwortdatensätze schützen kann und getrennt von der Passwortdatenbank aufbewahrt wird. Auch ein Salt ersetzt keine ausreichend aufwendige Passwort-Hashfunktion. Wer eine Datenbankkopie besitzt, kann weiterhin Passwortkandidaten mit dem jeweiligen Salt ausprobieren; schwache Passwörter bleiben dadurch gefährdet.

Quellen