Jargon der Passwortsicherheit: Passwort-Peppering

Warum es eine denkbar schlechte Idee ist, Passwörter im Klartext zu speichern, haben wir bereits besprochen. Damit die Mindestanforderungen an die Cybersicherheit erfüllt werden, müssen die Dienstanbieter deine Anmeldeinformationen in gehashter Form speichern. Manche gehen sogar noch weiter und verleihen einem Passwort noch eine gewisse Würze – eine Prise „Salz“ – vor dem Hashing. Aber es gibt noch eine andere Möglichkeit, den Schutz deines Passworts zu verbessern – und das ist „Pfeffer“ (engl.: „Pepper“).

Was ist ein Passwort-Pepper?

Ein Pepper ist ein geheimer Wert, der dem Passwort vor dem Hashing hinzugefügt wird. Man kann einen solchen „Pepper“ (zu Deutsch: „Pfeffer“) als ein zweites „Salt“ (zu Deutsch: „Salt“) betrachten – eine weitere Eingabe, die das Hash-Ergebnis komplett verändert. Im Gegensatz zum „Salt“ wird ein „Pepper“ jedoch nicht zusammen mit den Hashes in der Datenbank gespeichert. Aber warum brauchen wir überhaupt „Salz“ und „Pfeffer“?

Die gängige Sicherheitspraxis besteht darin, Passwörter durch eine Einwegfunktion namens „Hashing“ laufen zu lassen und sie niemals im Klartext zu speichern. Der Hash-Algorithmus nimmt die Daten und übersetzt sie in eine völlig andere, nicht erkennbare Zeichenfolge – einen „Passwort-Hash“. Wenn du dich anmeldest, wird dein „Passwort-Hash“ mit dem in der Datenbank gespeicherten verglichen. Wenn sie übereinstimmen, meldest du dich erfolgreich an.

Das Problem ist, dass Cyberkriminelle gängige Passwörter durch exakt dieselben Algorithmen laufen lassen können. Sobald sie eine Hash-Übereinstimmung entdecken, kennen sie das ursprüngliche Passwort. Um deine Passwörter vor Wörterbuch-Angriffen (dem Erraten vorhandener Wörter) und Rainbow-Tables (vorberechneten Hash-Datenbanken) zu schützen, fügen Kryptographen so genannte „Salts“ hinzu.

Ein „Salt“ ist eine zufällige Zeichenkette, die zu deinem Passwort hinzugefügt wird, um das Ergebnis des Hashes zu verändern. Ein Hacker kann also nicht einfach den Hash-Wert für das Passwort „greentrees“ nachschlagen, denn ein Salt würde es in etwas wie „greentreesF&i$#u“ verändern. Der Kriminelle müsste Brute-Force – jede mögliche Kombination für jedes Passwort erraten, was den Hacking-Prozess erheblich verlangsamt.

Ein „Pepper“ ist ähnlich wie ein „Salt“ – ein zufälliges Datenbit, das dem Passwort hinzugefügt wird, bevor es durch einen Algorithmus gehasht wird. Im Gegensatz zum „Salt“ wird er jedoch nicht zusammen mit dem Hash-Wert in der Datenbank gespeichert. Stattdessen ist ein „Pepper“ in der Regel in den Quellcode der Website fest eincodiert.

Pros und Kontras

Der größte Vorteil eines „Peppers“ besteht darin, dass er nicht in der Datenbank gespeichert wird. Selbst wenn der Angreifer Zugang zu allen gehashten Passwörtern hätte, müsste er die Datenbank mit einem Brute-Force-Verfahren knacken, um an die Daten zu gelangen.

Da ein „Pepper“ jedoch fest codiert ist, handelt es sich in der Regel um das gleiche Datenbit für jedes Passwort, das nicht geändert werden kann. Kommt es zu einer Datenpanne, könnte ein „Pepper“ mehr Ärger verursachen, als er nützt. Darüber hinaus sind die meisten fortschrittlichen Hashing-Algorithmen für die Verwendung mit „Salts“ ausgelegt. Die Implementierung von „Peppers“ könnte sich daher als ziemlich kompliziert erweisen.

Schlussendlich ist eines sicher: Verwende immer starke, komplexe Passwörter. Du kannst dir nie sicher sein, wie sicher der Hash-Algorithmus ist, den dein Dienstanbieter verwendet. Und Passwörter wie der Name deines Haustiers oder der Titel deines Lieblingsfilms sind immer die ersten, die geknackt werden.

NordPass-News abonnieren

Erhalten Sie aktuelle Nachrichten und Tipps von NordPass direkt in Ihrem Posteingang.