Diffie Hellman

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Grundlagen

  • Der Diffie-Hellman-Schlüsselaustausch ist ein Protokoll zur Schlüsselvereinbarung.
  • Es ermöglicht, dass zwei Kommunikationspartner über eine öffentliche, abhörbare Leitung einen gemeinsamen geheimen Schlüssel in Form einer Zahl vereinbaren können, den nur diese kennen und ein potenzieller Lauscher nicht berechnen kann.
  • Der dadurch vereinbarte Schlüssel kann anschließend für ein symmetrisches Kryptosystem verwendet werden.
  • Unterschiedliche Varianten des Diffie-Hellman-Merkle-Verfahrens werden heute für die Schlüsselverteilung in den Kommunikations- und Sicherheitsprotokollen des Internet eingesetzt.

Farbmodell

Vorlage:Drawio:dh2-

Prinzip

Dh1.png

Beispiel

Das folgende Beispiel dient zur Veranschaulichung und benutzt deshalb sehr kleine Zahlen. In der tatsächlichen Anwendung werden dagegen Primzahlen mit mindestens mehreren hundert Stellen benutzt.

Berechnung

  • Alice legt die beiden öffentlichen Schlüssel und fest.
  • p muss auf jeden Fall eine Primzahl sein.
  • Alice wählt die Zufallszahl als geheimen Schlüssel.
  • Nun berechnet Alice
  • Alice sendet an Bob.
  • Bob wählt die Zufallszahl als geheimen Schlüssel.
  • Bob berechnet
  • Bob sendet an Alice.
  • Alice berechnet .
  • Bob berechnet .
  • Beide erhalten das gleiche Ergebnis .

Sicherheit

  • Die Lauscherin Eve kann zwar die Zahlen 13, 2, 6 und 9 mithören.
  • Das eigentliche gemeinsame Geheimnis von Alice und Bob bleibt ihr aber verborgen.
  • kann als Schlüssel für die nachfolgende Kommunikation verwendet werden.

Lauschen

  • Mit Hilfe der abgefangenen Nachrichten kann Eve immerhin die folgenden Gleichungen aufstellen:
  • Daraus kann sie beispielsweise durch Ausprobieren die beiden geheimen Zahlen und bestimmen.
  • Den vereinbarten Schlüssel von Alice und Bob kann sie nun mit
    berechnen.
  • Wenn jedoch die Primzahl groß genug gewählt wird und
  • ein Generator der Gruppe ist, ist es für Eve zu aufwändig,
  • um alle Zahlen zwischen und durchzuprobieren,
  • die als Resultat der modularen Potenz in Frage kommen.

Perfect Forward Secrecy

  • Früher wurden neue Sitzungsschlüssel aus den alten berechnet.
  • Das führte zu dem Problem, dass wenn ein Schlüssel geknackt wurde, man den gesamten mitgeschnittenen Datenverkehr entschlüsseln konnte.
  • Mittlerweile werden Sitzungsschlüssel mit dem Diffie-Hellman-Verfahren erzeugt.
  • Vorteil: Wird ein Sitzungsschlüssel gefunden, kann damit nur ein kleiner Teil des Datenverkehrs entschlüsselt werden.

Script zum berechnen

Videos

  • Diffie-Hellman principle

https://www.youtube.com/watch?v=NmM9HA2MQGI

  • Math part

https://www.youtube.com/watch?v=Yjrfm_oRO0w