In diesem Modul beschäftigen wir uns mit den Konzepten hinter der Passwortsicherheit. Zuerst werfen wir einen Blick auf das Thema Hashing.
In diesem Modul werdet ihr...
Hashing kennenlernen und selber anwenden
verschiedene Passwörter hashen und miteinander vergleichen
Infodot war ganz aufgeregt: Er durfte sich endlich auf der Plattform „PrintMyBot“ anmelden – einer Webseite, auf der kleine Roboter und Figuren wie er selbst Baupläne tauschen können.
„Vielleicht finde ich da sogar eine neue Frisur zum Ausdrucken!“ freute er sich. Als er sich ein Passwort überlegte, fragte er neugierig: „Wird das jetzt einfach irgendwo gespeichert?“
Zuerst dachte er, dass die Webseite sein Passwort genau so abspeichern würde, wie er es eingegeben hat – also als Wort im Klartext. Das klang logisch. Doch schnell erfuhr er, dass das gefährlich wäre. Wenn jemand in das Computersystem der Webseite einbricht, könnte diese Person alle Passwörter lesen – so wie sie sind!
Deshalb nutzen Webseiten eine Art „Geheimrezept“: sogenannte Hashfunktionen. Damit wird das Passwort in eine lange Zeichenkette verwandelt, die wie eine zufällige Mischung aus Buchstaben und Zahlen aussieht. Man kann daraus nicht mehr zurückverfolgen, wie das ursprüngliche Passwort war. Beim nächsten Einloggen wird einfach geprüft, ob die neue Zeichenkette genauso aussieht wie die gespeicherte.
„Das ist ja wie ein geheimer Fingerabdruck meines Passworts!“, dachte sich Infodot – und fühlte sich nun deutlich sicherer.
Achtung!
Hashing ist eine Einbahnstraße: Es funktioniert nur in eine Richtung. funktioniert nur in eine Richtung
Wir wollen nun beginnen, praktisch zu arbeiten.
Im Folgenden werden wir uns schrittweise mit verschiedenen Hashing-Methoden oder Algorithmen und insbesondere den Auswirkungen auf Eingabetexte beschäftigen. Dazu arbeiten wir interaktiv mit dem Hashing Widget.
Eingabe: Wie du siehst, gibt es im Widget einen Key-Knoten (Eingabe), einen Hashfunktion-Knoten und einen Hashvalue-Knoten (Ausgabe). Beobachte, wie sich die Ausgabe verändert, sobald du einen Text eingibst.
Knoten erstellen: Wähle einen Knoten aus der linken Liste aus, ziehe ihn mit gedrückter Maustaste in den Editor und lasse ihn dort los. Du kannst die Knoten jederzeit umpositionieren, indem du sie anklickst und verschiebst. Nach dem Hinzufügen kannst du einen Hashing-Algorithmus auswählen (wir bleiben erst einmal bei SHA-256). Wenn du einen Knoten umbenennen möchtest, klicke einfach auf seinen Titel.
Knoten löschen: Klicke auf das Mülltonnen-Symbol, um einen Knoten und seine Verbindungen zu entfernen.
Knotenverbinden: Damit das Hashing funktioniert, benötigst du mindestens einen Hashfunktions-Knoten sowie Ein- und Ausgabeknoten. Verbinde die Punkte der Knoten miteinander (Eingabe - Hashfunktion - Ausgabe). Ein Hashfunktions-Knoten kann mit bis zu vier Eingabeknoten verbunden werden.
Jetzt, wo wir das Widget bedienen können, nutzen wir es, um ein Gefühl für die drei Algorithmen SHA256, SHA384 und SHA512 zu bekommen.