TLS Schlüsselaustausch und Sitzungsschlüssel 1.2 Einfach erklärt: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Grundidee= * Client und Server wollen sicher kommunizieren * dafür brauchen beide denselben geheimen Sitzungsschlüssel * dieser Schlüssel darf nicht im Kla…“)
 
 
Zeile 1: Zeile 1:
 +
==TLS 1.3 Handshake – ganz einfach==
 +
 
=Grundidee=
 
=Grundidee=
 
* Client und Server wollen sicher kommunizieren
 
* Client und Server wollen sicher kommunizieren
 
* dafür brauchen beide denselben geheimen Sitzungsschlüssel
 
* dafür brauchen beide denselben geheimen Sitzungsschlüssel
 
* dieser Schlüssel darf nicht im Klartext übertragen werden
 
* dieser Schlüssel darf nicht im Klartext übertragen werden
 
  
 
=Client Hello=
 
=Client Hello=

Aktuelle Version vom 3. Februar 2026, 12:14 Uhr

TLS 1.3 Handshake – ganz einfach

Grundidee

  • Client und Server wollen sicher kommunizieren
  • dafür brauchen beide denselben geheimen Sitzungsschlüssel
  • dieser Schlüssel darf nicht im Klartext übertragen werden

Client Hello

  • Client meldet sich beim Server
  • sagt:
    • welche TLS-Versionen er unterstützt (z. B. TLS 1.2)
    • welche Verschlüsselungsverfahren er kann
  • schickt einen Zufallswert (Client Random)


Server Hello

  • Server wählt:
    • TLS 1.2
    • ein konkretes Verschlüsselungsverfahren
  • schickt seinen Zufallswert (Server Random)
  • schickt sein Zertifikat mit dem öffentlichen Schlüssel


Server-Zertifikat

  • enthält den öffentlichen Schlüssel des Servers
  • identifiziert den Server eindeutig
  • Client prüft:
    • Ist das Zertifikat echt?
    • Vertraue ich der ausstellenden CA?
    • Passt der Name zum Server?


Schlüsselaustausch (klassisch mit RSA)

  • Client erzeugt ein geheimes Zufallsgeheimnis (Pre-Master Secret)
  • Client verschlüsselt dieses Geheimnis:
    • mit dem öffentlichen Schlüssel des Servers
  • Client sendet das verschlüsselte Geheimnis an den Server
  • nur der Server kann es entschlüsseln:
    • mit seinem privaten Schlüssel


Schlüsselaustausch (modern mit (EC)DHE)

  • Client und Server tauschen öffentliche DH-Werte aus
  • beide berechnen daraus lokal dasselbe Geheimnis
  • kein Geheimnis wird direkt übertragen
  • bietet Perfect Forward Secrecy


Gemeinsames Geheimnis

  • Client und Server besitzen nun dasselbe geheime Material
  • zusätzlich fließen ein:
    • Client Random
    • Server Random


Sitzungsschlüssel ableiten

  • aus dem gemeinsamen Geheimnis werden Schlüssel berechnet
  • daraus entstehen:
    • Sitzungsschlüssel für Verschlüsselung
    • Schlüssel für Integrität (MAC)
  • diese Schlüssel gelten nur für diese Verbindung


Change Cipher Spec

  • beide Seiten sagen:
    • „Ab jetzt benutzen wir die neuen Schlüssel“
  • Umschaltpunkt auf verschlüsselte Kommunikation


Finished

  • beide Seiten senden eine Prüfsumme über den bisherigen Handshake
  • beweist:
    • nichts wurde manipuliert
    • beide haben dieselben Schlüssel
  • Handshake ist abgeschlossen


TLS 1.2 Verbindung aktiv

  • Sitzungsschlüssel ist aktiv
  • Anwendungsdaten werden verschlüsselt übertragen