Kryptografie/Key-Exchange
Erscheinungsbild
	
	
Schlüsselaustausch
- Sicherheitsrelevant für alle bisher kennen gelernten Verfahren ist der Schlüsselaustausch
 - muss zuvor über einen geheimen Kanal stattfinden
 - Nicht immer hat man aber die Möglichkeit sich z. B. persönlich zu treffen
 - Public-Key
 - Es gibt jedoch ein Möglichkeiten, auch über einen unsicheren Kanal den Schlüsselaustausch durchzuführen
 - Diese Verfahren tragen den Namen „Public-Key“
 - Schlüsselaustausch ist ein Problem …
 - Verschiedene Schlüssel für verschiedene Kommunikationspartner notwendig
 - Diffie-Hellman Schlüsselaustausch-Verfahren
 - Basiert auf Schwierigkeit, den „diskreten Logarithmus“ zu berechnen
 - Gegeben sein ein Primzahl-Modulus p und eine Zahl x
 - 1) Alice wählt eine zufällige, geheime Zahl a und berechnet y1=x^a mod p
 - 2) Bob wählt eine zufällige, geheime Zahl b und berechnet y2=x^b mod p
 - Beide senden sich ihr y1 bzw. y2 zu
 - Alice berechnet s = y2^a = x^(ba) mod p
 - Bob berechnet s‘ = y1^b = x^(ab) mod p = s
 
Diffie-Hellman-Key-Exchange
- Über das Diffie-Hellman-Key-Exchange-Verfahren (DH) lassen sich kryptographische Schlüssel sicher über unsichere Kanäle aushandeln
 - Es ist selbst kein Kryptografiesverfahren und tauscht auch keine Schlüssel im eigentlichen Sinne aus
 - Das von Martin Hellman und Whitfield Diffie entwickelte Verfahren beruht auf den Eigenschaften diskreter Logarithmen:
 - zwar ist es einfach, eine Zahl zu potenzieren
 - Es ist aber nur mit sehr großem Aufwand möglich, den diskreten Logarithmus einer Zahl zu berechnen
 - Bei der Aushandlung einigen sich die VPN-Peers auf eine Primzahl p und eine Primitivwurzel g mod p
 - Beide Faktoren dürfen unverschlüsselt übertragen werden
 - Anschließend erzeugt jede Seite eine geheime Zufallszahl a/b und berechnet daraus den Wert Za= ga mod p beziehungsweise Zb = gb mod p
 - Za und Zb werden an den Partner übertragen
 - Daraus kann nun jede Seite den gemeinsamen symmetrischen Schlüssel K berechnen:
 - Zba mod p = Zab mod p = K
 
Diffie-Hellman-Key-Exchange
- Sind die eingesetzten Zahlen hinreichend groß, ist es für einen Angreifer so gut wie unmöglich, den Key zu knacken
 - Große Zahlen erfordern allerdings mehr Rechenaufwand
 - Die Größe der Zahlen bestimmt die gewählte DH-Gruppe
 - Die kleinste DH Gruppe 1 hat 768 Bit und die größte definierte Gruppe 18 besitzt 8192 Bit
 - Empfohlen wird derzeit der Gebrauch der Gruppe 5 mit 1536 Bit
 
Diffie-Hellman
- Vereinbarung eines gemeinsamen symmetrischen Schlüssels über einen unsicheren Kanal.
 - Basiert auf 2 Schlüsseln
 - Alice und Bob sind einer große Primzahl p und ein ganzahliger Wert g (Generator) frei zugänglich
 - Alice generiert eine große Zufallszahl a, berechnet eine Zahl A = g^a mod p
 - Bob generiert ebenfalls eine große Zufallszahl b, berechnet eine Zahl B = g^b mod p
 - und sendet B an Alice
 - Alice berechnet eine Zahl K[1] = B^a mod p.
 - Bob berechnet eine Zahl K[2] = A^b mod p.
 - K[1] und K[2] sidn gleich.
 - Es gilt K = K[2] = K[2] = g^a*b mod p
 - K wird als geheimer symmetrischer Schlüssel verwendet