CyberGlossary

Kryptografie

Pepper

Auch bekannt als: Server-Side-Key, Pepper-Geheimnis

Definition

Serverseitiges Geheimnis, das vor dem Hashen mit jedem Passwort kombiniert und getrennt von der Datenbank gespeichert wird, um Offline-Cracking nach Hash-Leaks zu erschweren.

Ein Pepper ist ein langes, anwendungsweites Geheimnis (typischerweise 32 Byte oder mehr), das jedem Passwort vor der Verarbeitung in einer Hashfunktion oder KDF zusätzlich zum benutzerspezifischen Salt beigemischt wird. Anders als das Salt liegt das Pepper außerhalb der Anmeldeinformations-Datenbank — etwa in einer Konfigurationsdatei, Umgebungsvariable oder einem HSM —, sodass ein Angreifer mit reinem Hash-Dump Passwörter nicht ohne Weiteres offline knacken kann. Üblich ist es, HMAC(pepper, password) zu berechnen und das Ergebnis an Argon2id zu übergeben, oder das Pepper als Teil des KDF-Geheimmaterials zu verwenden. Pepper ist Defense in Depth: Es ersetzt weder starke KDFs noch Salts oder Rate-Limiting, erhöht aber die Kosten reiner Datenbank-Lecks.

Beispiele

  • HMAC-SHA-256(pepper, password) wird in der Anwendung berechnet und anschließend mit Argon2id gehasht.
  • Speicherung des Peppers in einem HSM, damit die Anwendung es nicht direkt exfiltrieren kann.

Verwandte Begriffe