Kursinhalt
Grundlagen der Cybersicherheit
Grundlagen der Cybersicherheit
Passworthashing
Passwort-Hashing ist eine Sicherheitsmaßnahme, die Benutzerpasswörter schützt, indem sie in ein gehashtes, irreversibles Format umgewandelt werden. Hashing ist eine Einweg-Kryptofunktion, die Klartextpasswörter in eine Zeichenkette fester Länge umwandelt, was es Angreifern erschwert, das ursprüngliche Passwort zu rekonstruieren.
Hashing wird auf der Anwendungsschicht des OSI-Modells verwendet, um Angriffe abzuwehren, die darauf abzielen, Benutzeranmeldeinformationen zu kompromittieren und unbefugten Zugriff auf Systeme oder sensible Informationen zu erlangen.
Schritte im Passwort-Hashing
- Benutzerregistrierung: Wenn ein Benutzer ein Konto erstellt oder sein Passwort ändert, wird das Klartextpasswort gehasht;
- Hash-Speicherung: Das gehashte Passwort wird in der Datenbank gespeichert;
- Authentifizierung: Beim Login wird das eingegebene Passwort gehasht, und der generierte Hash wird mit dem gespeicherten Hash verglichen. Stimmen sie überein, ist die Authentifizierung erfolgreich.
Hashing wird häufig in Kombination mit Salting verwendet. Beim Salting wird jedem Passwort vor dem Hashing ein einzigartiger, zufälliger Wert (Salt) hinzugefügt. Dies stellt sicher, dass selbst wenn zwei Benutzer dasselbe Passwort haben, ihre gehashten Darstellungen aufgrund des einzigartigen Salts unterschiedlich sind.
Wie wird Hashing durchgeführt?
Um Hashing zu verstehen, müssen wir zunächst das Konzept der Hash-Funktion betrachten.
Im Kern ist eine Hash-Funktion ein deterministischer Algorithmus, der Eingabedaten annimmt und eine Zeichenkette fester Länge erzeugt, die üblicherweise als Hash-Wert oder Hash-Code bezeichnet wird.
Der Hashing-Prozess
- Auswahl der Eingabedaten: Der Prozess beginnt mit der Auswahl der Eingabedaten – jede Information, die geschützt werden muss. In unserem Fall handelt es sich um ein Passwort;
- Anwendung der Hash-Funktion: Die ausgewählte Hash-Funktion wird auf die Eingabedaten angewendet. Dabei verarbeitet der Algorithmus die Daten, um einen einzigartigen Hash-Wert zu erzeugen;
- Ausgabe des Hash-Werts: Der berechnete Hash-Wert dient als Ausgabe des Hashing-Prozesses – eine Zeichenkette fester Länge;
- Verwendung von Salting: Wenn wir Salting einsetzen möchten, kombinieren wir ein speziell generiertes Salt mit unseren Eingabedaten vor dem Hashing.
Hinweis
Um das Hashing von Textnachrichten bereitzustellen, müssen wir sie in ein numerisches Format konvertieren. Dies können wir mithilfe der ASCII-Tabelle tun – ein Standard zur Zeichenkodierung, der Buchstaben, Ziffern und Symbolen numerische Werte zuweist und es Computern ermöglicht, Text mithilfe eines gemeinsamen Kodierungsschemas darzustellen und zu kommunizieren.
Danke für Ihr Feedback!