Immer wieder wird in der Presse von Systemeinbrüchen berichtet. Die Opfer sind zum Einen die Firmen, in die eingebrochen wird, zum Anderen die Kunden, deren Daten nun in fremden Händen liegen. Der oder die Angreifer publizieren manchmal diese Daten öffentlich im Internet. Neben Benutzernamen und E-Mail-Adressen enthalten diese Daten auch oftmals das Passwort des Accounts, und zwar in unverschlüsselter Form. Dabei sollte dies heutzutage gar nicht mehr möglich sein, wenn das Passwort nur als Hash mit einem Salt gespeichert wird.
Was ist ein Passworthash?
Ein Passworthash ist eine kryptografische Funktion, die dazu verwendet wird, aus einem Passwort einen Hash-Wert zu generieren. Ein Hash-Wert ist eine eindeutige Zeichenfolge, die aus einer beliebigen Eingabe erzeugt wird und als digitaler Fingerabdruck der Eingabe dient.
Bei der Erstellung eines Passworthashes wird das Passwort in eine Zeichenfolge umgewandelt und dann durch einen Algorithmus geleitet, der eine feste Anzahl von Schritten ausführt. Das Ergebnis des Algorithmus ist der Passworthash
Der Zweck eines Passworthashes besteht darin, das Passwort zu verschleiern und sicher zu speichern, ohne das Passwort selbst zu speichern. Auf diese Weise können Passwörter geschützt werden, wenn sie auf einem Server oder in einer Datenbank gespeichert werden, ohne dass Unbefugte das Passwort selbst abrufen können.Wenn ein Benutzer sich mit seinem Passwort anmeldet, wird das eingegebene Passwort ebenfalls durch denselben Algorithmus geleitet und mit dem in der Datenbank gespeicherten Passworthash verglichen. Wenn die beiden Hash-Werte übereinstimmen, wird der Benutzer authentifiziert und hat Zugriff auf das System.
Was ist ein Salt?
Ein Salt (engl. für „Salz“) ist eine zufällige Zeichenfolge, die zusammen mit einem Passwort verwendet wird, um einen Passworthash zu erstellen. Der Salt wird in der Regel vor der Erstellung des Passworthashes generiert und dem Passwort hinzugefügt. Das Ergebnis ist eine neue Zeichenfolge, die aus dem Passwort und dem Salt besteht und dann durch einen Hashing-Algorithmus geleitet wir
Der Zweck des Salts besteht darin, die Sicherheit von Passworthashes zu erhöhen, indem er verhindert, dass Hacker mit Hilfe von vorberechneten Hash-Tabellen, den sogenannten Rainbow Tables, Passwörter erraten können. Wenn für alle Passwörter dasselbe Hashing-Verfahren ohne Salt verwendet wird, können Hacker leicht vorberechnete Hash-Tabellen erstellen, um Passwörter in der Datenbank zu finden.
Durch das Hinzufügen von Salt zum Passwort wird der Hash für jedes Passwort einzigartig. Dies bedeutet, dass ein Hacker für jedes Passwort eine separate Rainbow-Table erstellen müsste, was sehr zeitaufwändig ist. Das Verwenden von Salt erhöht somit die Sicherheit von Passworthashes und schützt Passwörter besser vor Angriffen.
Was ist ein Pepper?
Ein Pepper ist eine zufällige Zeichenfolge, die zusätzlich zum Salt verwendet wird, um die Sicherheit von Passwort-Hashes zu erhöhen. Im Gegensatz zum Salt wird der Pepper nicht in der Datenbank gespeichert, sondern ist Teil des Hashing-Algorithmus selbst.
Im Wesentlichen wird der Pepper als geheimer Schlüssel betrachtet, der auf Serverseite gespeichert wird und zusammen mit dem Passwort und dem Salt verwendet wird, um den Hash-Wert zu berechnen. Der Vorteil des Einsatzes von Pepper besteht darin, dass er zusätzlichen Schutz bietet, selbst wenn der Salt und die Hash-Funktion öffentlich bekannt sind. Wenn ein Angreifer in der Lage ist, den Salt zu stehlen oder die Hash-Funktion zu knacken, wäre der Pepper immer noch geheim und würde die Sicherheit des Passwort-Hashes erhöhen.
Es ist wichtig zu beachten, dass das Verwenden von Pepper nicht als Ersatz für sichere Hash-Funktionen und Salts angesehen werden sollte. Stattdessen kann es als zusätzlicher Sicherheitsfaktor eingesetzt werden, um die Integrität von Passwort-Hashes weiter zu erhöhen.
Wie überprüfe ich, ob einer meiner Accounts kompromittiert ist?
Auf der Website Haveibeenpawnd hat jeder Anwender die Möglichkeit, seine Accounts mit der E-Mail-Adresse oder Telefonnummer auf Kompromittierung zu überprüfen.
Der Dienst gleich die Eingabe mit veröffentlichten DatenLeaks ab und meldet dem Anwender die Datenquelle, in der die E-Mail-Adresse oder Telefonnummer gefunden wurde.
Mittlerweile bieten auch vereinzelt Passwortmanager ein automatischen Abgleich mit diesem Dienst an, so dass man sofort gewarnt wird und sein Passwort beim kompromittierten Account ändern kann.