Das Diffie-Hellman-Schlüsselaustauschverfahren wurde 1976 von Whitfield Diffie, Martin E. Hellman und Ralph Merkle entwickelt.
CrypTool enthält eine Visualisierung des Verfahrens, die Sie über das Menü Einzelverfahren \ Protokolle \ Diffie-Hellman-Demo erreichen. Auch zum Dialog Visualisierung des Diffie-Hellman-Schlüsselaustauschverfahrens gibt es eine Online-Hilfe.
Weiterhin existiert eine beispielhafte Durchführung des Schlüsselaustauschs, welche das Verständnis des Verfahrens erleichtern soll.
Das Verfahren ermöglicht es zwei oder mehreren Parteien, sich auf einen gemeinsamen Schlüssel zu einigen, der ausschließlich den beteiligten Parteien bekannt ist -- obwohl sie über eine unsichere Leitung kommunizieren (über die unsichere Leitung werden nur "öffentliche" Parameter-Werte übertragen).
Im folgenden werden die beiden Parteien zwecks besseren Verständnisses als Alice und Bob bezeichnet. Die nachstehende Skizze soll einen kurzen Überblick über den Verfahrensablauf geben:
Der gemeinsame und geheime Schlüssel, den man auch als Session Key bezeichnet, hängt von folgenden Parametern ab:
Basis des Verfahrens ist das Problem des diskreten Logarithmus, d.h. man nutzt die Eigenschaft sogenannter Einwegfunktionen aus: Eine Einwegfunktion ist eine mathematische Funktion, die in eine Richtung einfach - das heißt ohne großen Aufwand - zu berechnen ist, deren Inverses zu berechnen jedoch extrem schwierig ist.
Das Erzeugen des Geheimschlüssels am Ende des Verfahrens basiert auf einer solchen Einwegfunktion, d.h. selbst mit Kenntnis der öffentlichen Schlüssel von Alice und Bob und der öffentlichen Parameter ist es einem potentiellen Angreifer nur unter großem Aufwand oder ab einer bestimmten Schlüssellänge überhaupt nicht mehr möglich, den Geheimschlüssel zu errechnen.
Wächst der Primzahlmodul p, so erhöht dies zwar den Aufwand für Alice und Bob, den gemeinsamen und geheimen Schlüssel zu berechnen; der Mehraufwand für die Berechnung der Exponentialfunktion ist aber tragbar.
Ganz im Gegensatz dazu verhält sich der Rechenaufwand aus der Perspektive des potentiellen Angreifers: Er muss die Umkehrung der Exponentialfunktion bewältigen, d.h. den diskreten Logarithmus berechnen. Dieser Aufwand steigt viel stärker als der der beiden Kommunikationspartner.
Die Sicherheit des Verfahrens hängt also im wesentlichen von der Größe von p ab. Zur Zeit gelten in der Praxis Zahlen der Größenordnung ab 1024 Bit als sicher, was in etwa einer 300-stelligen Dezimalzahl entspricht.
Neben dem Primzahlmodul p sollte auch das Geheimnis von Alice oder Bob groß genug gewählt werden, damit das Ermitteln des Geheimnisses für einen Angreifer durch simples Ausprobieren nicht möglich ist. In der Praxis sollten deshalb keine Geheimnisse verwendet werden, die kürzer sind als 80 Bit; dies entspricht einer 25-stelligen Dezimalzahl.
Bemerkung 1:
Der Schlüsselaustausch nach Diffie-Hellman ist kein Verschlüsselungsverfahren, er dient ausschließlich der Vereinbarung eines geheimen und gemeinsamen Schlüssels.
Bemerkung 2:
Das einfache Diffie-Hellman Protokoll ist anfällig gegen "Man-In-The-Middle"-Angriffe:
Wenn der Angreifer es fertig bringt, sich Alice gegenüber als Bob auszugeben und gleichzeitig Bob gegenüber als Alice (der Angreifer steht in der Mitte der Kommunikation zwischen Alice und Bob), dann bestimmt er mit Hilfe des Diffie-Hellman-Protokolls einen gemeinsamen geheimen Schlüssel mit Alice und einen weiteren geheimen Schlüssel mit Bob.
Dieser Angriff kann durch die Identifizierung der Kommunikationspartner mit Hilfe von digitalen Zertifikaten abgewehrt werden.
Bemerkung 3:
Weitere Details finden Sie