Kryptografie/Key-Exchange: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „z. B.“ durch „z. B. “
K Textersetzung - „Kryptografies“ durch „Kryptografie“
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
*Sicherheitsrelevant für alle bisher kennen gelernten Verfahren ist der Schlüsselaustausch
*Sicherheitsrelevant für alle bisher kennen gelernten Verfahren ist der Schlüsselaustausch
*muss zuvor über einen geheimen Kanal stattfinden
*muss zuvor über einen geheimen Kanal stattfinden
*Nicht immer hat man aber die Möglichkeit sich z. B.  persönlich zu treffen
*Nicht immer hat man aber die Möglichkeit sich z. B. persönlich zu treffen
*Public-Key
*Public-Key
*Es gibt jedoch ein Möglichkeiten, auch über einen unsicheren Kanal den Schlüsselaustausch durchzuführen
*Es gibt jedoch ein Möglichkeiten, auch über einen unsicheren Kanal den Schlüsselaustausch durchzuführen
Zeile 13: Zeile 13:
*1) Alice wählt eine zufällige, geheime Zahl a und berechnet y1=x^a mod p
*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
*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
*Beide senden sich ihr y1 bzw. y2 zu
*Alice berechnet s = y2^a = x^(ba) mod p
*Alice berechnet s = y2^a = x^(ba) mod p
*Bob berechnet s‘ = y1^b = x^(ab) mod p = s
*Bob berechnet s‘ = y1^b = x^(ab) mod p = s
Zeile 19: Zeile 19:
===Diffie-Hellman-Key-Exchange===
===Diffie-Hellman-Key-Exchange===
*Über das Diffie-Hellman-Key-Exchange-Verfahren (DH) lassen sich kryptographische Schlüssel sicher über unsichere Kanäle aushandeln
*Ü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
*Es ist selbst kein Kryptografieverfahren 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:
*Das von Martin Hellman und Whitfield Diffie entwickelte Verfahren beruht auf den Eigenschaften diskreter Logarithmen:
*zwar ist es einfach, eine Zahl zu potenzieren
*zwar ist es einfach, eine Zahl zu potenzieren
Zeile 49: Zeile 49:
*Es gilt K = K[2] = K[2] = g^a*b mod p
*Es gilt K = K[2] = K[2] = g^a*b mod p
*K wird als geheimer symmetrischer Schlüssel verwendet
*K wird als geheimer symmetrischer Schlüssel verwendet
[[Kategorie:Kryptografie]]
 
[[Kategorie:Kryptografie/Algorithmus]]

Aktuelle Version vom 27. Juli 2024, 10:37 Uhr

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 Kryptografieverfahren 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