Zum Inhalt springen
uencoder

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.

Zweck

Ergänzt das Salt um ein Server-Geheimnis, sodass ein reiner Datenbank-Leak nicht ausreicht, Passwörter offline zu knacken.

Mechanismus

H(password || salt || pepper). Der Pepper wird global geteilt, bleibt aber geheim (in Config/HSM gespeichert, nicht in der Datenbank). Bei einem Datenbank-Leak können Angreifer ohne den Pepper nicht offline hashen. Das Salt bleibt pro Nutzer eindeutig. Leakt der Pepper, degeneriert der Schutz auf nur Salt.

Anwendungsfälle

  • Gehärtetes Passwort-Hashing
  • Zusatzschutz nach einem Datenbank-Leak
  • Speicherung des Peppers in einem HSM
  • Compliance-Anforderungen

Beispiele

  • Eingabe
    H(pass + salt + pepper)
    Output
    The pepper is required for verification

    Pepper kept secret

Häufige Fehler

Storing the pepper in the database (the same one as the hashes)
Keep the pepper in config/HSM, separate from the database

Verwandte Begriffe

Verwandte Tools

References