Schlüsselaustausch (englisch Key Exchange) bezeichnet alle Verfahren, mit denen zwei Kommunikationspartner ein gemeinsames Geheimnis aufbauen, das für eine symmetrische Verschlüsselung der anschließenden Kommunikation verwendet werden kann. Die Schwierigkeit: Der Austausch findet über eine Leitung statt, die ein Angreifer abhören kann.

Das Problem

Bei der symmetrischen Verschlüsselung müssen Sender und Empfänger denselben geheimen Schlüssel kennen. Wird dieser Schlüssel unverschlüsselt übertragen, kann ein Lauscher ihn mitschneiden und alle Nachrichten lesen. Der Schlüsselaustausch löst genau diese Aufgabe: Er stellt ein gemeinsames Geheimnis her, ohne dass der Schlüssel selbst jemals über die Leitung wandert.

Verfahren

  • Vorab vereinbarte Schlüssel: Partner tauschen den Schlüssel persönlich oder über einen vertrauenswürdigen Kanal aus (Preshared Key). Skaliert schlecht, denn jede Verbindung braucht einen eigenen Schlüssel.
  • Diffie-Hellman: Beide Partner berechnen aus öffentlich übertragenen Werten dasselbe Geheimnis. Die Sicherheit beruht auf dem diskreten Logarithmusproblem. Diffie-Hellman selbst authentifiziert die Partner jedoch nicht.
  • Asymmetrischer Schlüsseltransport: Der Sender verschlüsselt einen zufälligen Sitzungsschlüssel mit dem öffentlichen Schlüssel des Empfängers (siehe asymmetrische Verschlüsselung). Nur der Besitzer des privaten Schlüssels kann ihn lesen.

Schlüsselaustausch in der Praxis

TLS, das Protokoll hinter HTTPS, nutzt in Version 1.3 den ECDHE-Schlüsselaustausch (Elliptic Curve Diffie-Hellman Ephemeral). „Ephemeral" bedeutet: Für jede Sitzung wird ein frisches Schlüsselpaar erzeugt, das nach dem Verbindungsaufbau verworfen wird. So bleibt selbst ein später kompromittierter Server-Schlüssel wirkungslos für vergangene Sitzungen (Perfect Forward Secrecy). Der Ablauf ist Teil des TLS-Handshakes.

Da unauthentifizierter Schlüsselaustausch angreifbar ist (Man-in-the-Middle: Ein Angreifer führt mit beiden Partnern je ein eigenes Geheimnis), wird er in TLS mit Zertifikaten kombiniert, die die Identität des Servers über eine Public-Key-Infrastruktur bestätigen. Ohne diese Authentifizierung kann ein MITM-Angriff beide Seiten täuschen.

Verwandte Grundlagen: Hybride Verschlüsselung, Kryptographie.