Die erstaunliche Macht der Hash-Funktionen

"Hash"-Funktionen ermöglichen es, die Echtheit digitaler Inhalte mit mathematischer Sicherheit nachzuweisen. Kann das auch gegen Online-Einbrecher helfen?

In Pocket speichern vorlesen Druckansicht
Lesezeit: 18 Min.
Von
  • Simson Garfinkel
Inhaltsverzeichnis

Drei Kryptografie-Experten an der Stanford University kamen kürzlich auf eine clevere Idee, wie man das bekannte Problem des Identitätsdiebstahls im Internet lösen könnte. Gerissene Hacker aus Russland, China und anderen Ländern schicken massenweise E-Mails, die so aussehen, als würden sie von Zahlungsdienstleistern wie der Citibank oder PayPal stammen. Millionen von Kunden erhalten diese Nachrichten, in denen sich HTML-Links befinden, die unbedarfte Benutzer auf gefälschte Websites führen. Die sehen aus wie die echten, sammeln aber nur Usernamen und Passwörter, um den Dieben Zugriff auf fremde Konten zu geben.

Aber die Eingabe von Usernamen und Passwörtern auf bösen Websites ist nicht die einzige Gefahr, die dem Konsumenten im Internet droht. Ein potenziell noch größeres Problem ist die Tatsache, dass viele auf verschiedenen Websites immer die gleichen Account- und Passwortkombinationen nutzen. So sind sie zwar leichter zu behalten, doch skrupellose Homepagebetreiber könnten bei einem Gewinnspiel eingesammelte Daten für Angriffe auf das Konto des Benutzers bei einer Online-Bank nutzen.

Die Lösung, die die Stanford-Forscher Blake Ross, Dan Boneh und John Mitchell nun vorgestellt haben, versucht all das zu verhindern. Ihr cleveres Plugin für den Internet Explorer verschlüsselt, was man in ein Passwort-Feld eintippt - und zwar für jede Website anders. Das Passwort ergibt sich aus dem, was man eintippt und der Adresse der Seite selbst.

Natürlich benutzen viele Leute eine ähnliche Strategie. Ihr Hotmail-Passwort heißt beispielsweise "nosmis-hotmail", während ihr Kennwort für den Yahoo!-Datingdienst "nosmis-Yahoo!" lautet. Aber eine solche Strategie ist leicht zu durchschauen. Die Verschlüsselungsmethode der Stanford-Forscher nutzt statt dessen eine mathematische Funktion - einen so genannten kryptografischen "Hash". Dabei handelt es sich um eine Berechnung, die nur in eine Richtung durchführbar ist - sie verwandelt das, was der Nutzer eingibt, in einen Buchstaben- und Zahlensalat, der nicht mehr in das Passwort zurückverwandelt werden kann. Ein Angreifer müsste also pro Website jeweils unterschiedliche Passwörter entschlüsseln, weil sich jeweils andere kryptografische Hash-Werte ergeben. Der Grund: Der Hash besteht aus der Domain der Website und dem Kennwort - und die Domain wechselt ja.

Yahoo! gehört zu den Unternehmen, die kryptografische Hash-Werte in ihren öffentlichen Angeboten breit nutzen. Im letzten Jahr wurde der Login-Prozess des Portals verändert, um die Seite abhörsicher zu machen. Der Standardweg, dies zu erreichen, wäre ihre Verschlüsselung. Aber eine solche Verschlüsselung kann langsam sein - besonders, wenn man eine der populärsten Seite im Internet betreibt.

Was Yahoo statt dessen tat, war seine Login-Seite mit einem so genannten "Challenge-Response"-System auszurüsten, das mit Hash-Werten arbeitet. Wenn man sich auf der Seite einloggt, lädt der Browser eine kryptografischen Hash-Funktion, die in JavaScript geschrieben wurde, von Yahoo-Server herunter. Zusammen mit dieser Funktion wird ein so genannter "Challenge"-Wert übertragen - eine kurze Sequenz aus Buchstaben und Zahlen. Wenn man nun sein Passwort eingibt, nimmt der Browser das Passwort, ergänzt es um die von Yahoo geschickte Sequenz und wendet auf das Ergebnis die Hash-Funktion an. Deren Wert wird dann an Yahoo geschickt - eine echte Verschlüsselung ist nicht notwendig. Selbst wenn man sich in einem Internet-Café befindet, in dem Hacker den Web-Datenverkehr mitlesen, gibt es keine Möglichkeit, aus dem Hash-Wert wieder das Original-Passwort abzuleiten.

Dieses smarte Challenge-Response-System ist auch Teil des amerikanischen Tankstellen-Bezahlsystems Mobil Speedpass - deshalb ist dessen Chip mit seiner RFID-Funktechnik so schwer zu klonen. Andere RFID-Systeme nutzen Challenge-Response nicht, was Angriffe vergleichsweise einfach macht.

Wie also funktioniert die praktische Hash-Technik, die ein fundamentaler Baustein der digitalen Wirtschaft ist? Obwohl sie so weit verbreitet ist, bleibt sie sowohl für die Krypto-Experten, die sie anwenden, als auch für die Öffentlichkeit ein kleines Mysterium.

Hash-Funktionen nennt man manchmal auch Fingerabdruck-Funktionen (Englisch: Fingerprint) weil man mit ihnen einzigartige Fingerabdrücke einer digitalen Datei erstellen kann. Die Fingerabdrücke sind normalerweise 128 oder 160 Bit lange Zahlen, die als eine Sequenz von hexadezimalen Ziffern dargestellt werden. Der Fingerabdruck meines Namens im so genannten MD5-System sähe so aus: "c55bbe0f3ba258f5b1cb6d5b62b0b360". Hash-Funktionen sollen es zumindest theoretisch erlauben, dass zwei Dateien niemals den gleichen Wert ergeben.

Hash-Werte ändern sich sofort vollständig, wenn auch nur ein einziger Buchstabe ausgetauscht wird. Die Art, wie sich der Fingerabdruck verändert, ist dabei nicht vorhersehbar - wäre das anders, würde die Hash-Funktion auch nicht sehr nützlich sein.