Was ist Diffie-Hellman-Schlüsselaustausch?

Ein Verfahren, mit dem zwei Parteien allein über einen öffentlichen Kanal ein gemeinsames Geheimnis erzeugen; 1976 von Diffie und Hellman veröffentlicht. Eine Primzahl p und ein Generator g werden veröffentlicht; A und B bilden aus ihren geheimen Werten a und b die Werte g^a mod p und g^b mod p, senden sie einander und potenzieren jeweils den Wert des Gegenübers mit dem eigenen geheimen Wert, sodass beide dasselbe g^(ab) mod p erhalten. Die Sicherheit beruht auf der Schwierigkeit des diskreten Logarithmusproblems. Die Variante auf elliptischen Kurven heißt ECDH, Varianten mit Einmalwerten für jede Verbindung heißen DHE und ECDHE; letztere bieten Forward Secrecy. Da das Verfahren das Gegenüber nicht prüft, wird es mit Signaturen oder Zertifikaten kombiniert, um Man-in-the-Middle-Angriffe zu verhindern.

Japanische Bezeichnung: ディフィー・ヘルマン鍵交換

„Diffie-Hellman-Schlüsselaustausch“ kommt in 9 Übungsfragen aus 2 Themen vor, z. B. Grundlagen und Anwendungen der Kryptografie, Grundlagen der Computernetzwerke.

Fachgebiet: Grundlagen und Anwendungen der Kryptografie

Jetzt üben: Fragen zu Diffie-Hellman-Schlüsselaustausch

Welcher Grund ist angemessen dafür, dass Protokolle wie TLS 1.3 das im ECDHE-Schlüsselaustausch gewonnene gemeinsame Geheimnis nicht direkt als Schlüssel verwenden, sondern die Schlüssel mit einer Schlüsselableitungsfunktion (KDF) wie HKDF erzeugen?

  1. AEine Schlüsselableitungsfunktion macht das gemeinsame Geheimnis auch gegenüber Quantencomputern sicher
  2. BDer im Schlüsselaustausch gewonnene Wert ist zu kurz, daher wird die Berechnung absichtlich verlangsamt, um Brute-Force-Angriffe zu bremsen
  3. CDer im Schlüsselaustausch gewonnene Wert ist nicht unbedingt gleichverteilt zufällig; er wird in unverzerrte Schlüssel umgewandelt, und für jeden Zweck wird ein eigener Schlüssel abgeleitet
Antwort und Erläuterung anzeigen

Antwort: C. Der im Schlüsselaustausch gewonnene Wert ist nicht unbedingt gleichverteilt zufällig; er wird in unverzerrte Schlüssel umgewandelt, und für jeden Zweck wird ein eigener Schlüssel abgeleitet

Das im Schlüsselaustausch gewonnene gemeinsame Geheimnis ist etwa die Koordinate eines Punkts auf einer elliptischen Kurve, und nicht alle seine Bits sind unbedingt gleichverteilt zufällig. HKDF extrahiert mithilfe von HMAC zunächst aus dem gemeinsamen Geheimnis einen unverzerrten pseudozufälligen Schlüssel (Extract) und expandiert diesen dann zusammen mit Labels wie „Verschlüsselung vom Client zum Server“ (Expand), um Schlüssel in der benötigten Zahl und Länge zu erzeugen. Werden für verschiedene Zwecke unabhängige Schlüssel verwendet, greift ein Problem mit einem Schlüssel weniger leicht auf andere Zwecke über. PBKDF2 und Argon2, die Schlüssel aus Passwörtern ableiten, machen die Berechnung absichtlich aufwendig; HKDF dagegen ist eine leichtgewichtige Verarbeitung, die eine Eingabe mit ausreichend hoher Entropie voraussetzt.

Beim Diffie-Hellman-Schlüsselaustausch werden eine Primzahl p und ein Generator g veröffentlicht; A und B wählen jeweils geheime Werte a und b und senden einander g^a mod p und g^b mod p. Welcher Grund ist richtig dafür, dass ein Lauscher, der alle diese öffentlichen Werte sieht, das gemeinsame Geheimnis g^(ab) mod p nach heutigem Wissen nicht berechnen kann?

  1. ADas Problem, aus g^a mod p den Wert a zu bestimmen (diskretes Logarithmusproblem), gilt bei großem p als nicht effizient lösbar
  2. Bg^a mod p und g^b mod p werden vor dem Senden zusätzlich mit dem öffentlichen Schlüssel des Gegenübers verschlüsselt, sodass ein Lauscher sie nicht lesen kann
  3. CDas gemeinsame Geheimnis wird aus einem Kennwort gebildet, das die beiden vorher bei einem persönlichen Treffen vereinbart haben
Antwort und Erläuterung anzeigen

Antwort: A. Das Problem, aus g^a mod p den Wert a zu bestimmen (diskretes Logarithmusproblem), gilt bei großem p als nicht effizient lösbar

g^a mod p zu berechnen geht schnell, aus dem Ergebnis a zu bestimmen ist bei ausreichend großem p dagegen nach heutigem Wissen nicht in realistischer Zeit möglich (diskretes Logarithmusproblem). Ein Lauscher sieht zwar g^a mod p und g^b mod p, kann aber ohne a oder b nicht g^(ab) mod p bilden. A hingegen muss nur den Wert von B mit a potenzieren und B den Wert von A mit b, und beide erhalten dasselbe g^(ab) mod p. Dasselbe auf einer elliptischen Kurve heißt ECDH und beruht auf der Schwierigkeit des diskreten Logarithmusproblems auf elliptischen Kurven.

„Diffie-Hellman-Schlüsselaustausch“ in den Erläuterungen

Fragen mit „Diffie-Hellman-Schlüsselaustausch“ (9)

  1. Welcher Grund ist angemessen dafür, dass Protokolle wie TLS 1.3 das im ECDHE-Schlüsselaustausch gewonnene gemeinsame Geheimnis nicht direkt als Schlüssel verwenden, sondern die Schlüssel mit einer Schlüsselableitungsfunktion (KDF) wie HKDF erzeugen?
  2. Beim Diffie-Hellman-Schlüsselaustausch werden eine Primzahl p und ein Generator g veröffentlicht; A und B wählen jeweils geheime Werte a und b und senden einander g^a mod p und g^b mod p. Welcher Grund ist richtig dafür, dass ein Lauscher, der alle diese öffentlichen Werte sieht, das gemeinsame Geheimnis g^(ab) mod p nach heutigem Wissen nicht berechnen kann?
  3. Der Diffie-Hellman-Schlüsselaustausch wird mit kleinen Zahlen nachvollzogen. Es sei p = 23 und g = 5; A wählt den geheimen Wert a = 6, B den geheimen Wert b = 15. A sendet den Wert A = g^a mod p, B den Wert B = g^b mod p. Welches gemeinsame Geheimnis erhalten beide?
  4. Welche Kombination aus Schwäche eines Diffie-Hellman-Schlüsselaustauschs ohne Authentifizierung und Gegenmaßnahme ist richtig?
  5. Welche Aussage beschreibt den Gedanken des hybriden Schlüsselaustauschs richtig, der während der Umstellung auf Post-Quanten-Kryptografie X25519 (Diffie-Hellman-Schlüsselaustausch mit elliptischen Kurven) und ML-KEM kombiniert?
  6. Warum kann ein Browser bei TLS davon ausgehen, dass der verbundene Server kein Betrüger ist, der sich als jemand anderes ausgibt?
  7. Welches Schlüsselaustauschverfahren bietet bei TLS die Eigenschaft, dass zuvor aufgezeichnete Kommunikation auch dann nicht entschlüsselt werden kann, wenn der private Schlüssel des Serverzertifikats später abfließt (Forward Secrecy)?
  8. Was hat sich in TLS 1.3 (RFC 8446) gegenüber TLS 1.2 geändert?
  9. Welche Kombination gibt an, was die Cipher Suite TLS_AES_128_GCM_SHA256 von TLS 1.3 festlegt?

Verwandte Begriffe

TLS (Transport Layer Security) RSA-Kryptosystem HMAC Modulo-Operation Forward Secrecy Authentifizierte Verschlüsselung (AEAD) Informationsentropie Post-Quanten-Kryptografie (PQC) ML-KEM Zertifizierungsstelle

Zur Glossarübersicht