TLS Schlüsselaustausch und Sitzungsschlüssel 1.3: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
*Der Client sendet im ClientHello seinen Zufallswert sowie eine frische ECDHE-Schlüsselkomponente ('''Client Hello Key Share''').
+
==Client Hello==
 +
;Supported Versions
 +
* gibt an, welche TLS-Versionen der Client unterstützt
 +
* bei TLS 1.3 praktisch nur noch TLS 1.3
 +
* keine klassische Versionsverhandlung mehr wie bei TLS 1.2
 +
;Supported Groups
 +
* Liste unterstützter (EC)DHE-Gruppen
 +
* z. B. x25519, secp256r1
 +
* Gruppen definieren alle kryptographischen Parameter fest
 +
* keine Aushandlung von p oder g
 +
;Key Share
 +
* enthält den ephemeren DH/ECDH-Public-Key des Clients
 +
* Private Key verbleibt ausschließlich beim Client
 +
* Grundlage für die Berechnung des Shared Secret
 +
* ermöglicht den 1-RTT-Handshake
 +
;Client Random
 +
* 32 Byte Zufallswert
 +
* fließt in die Schlüsselableitung ein
 +
* erhöht die Entropie des Handshakes
 +
;(weitere Extensions, z. B. SNI, ALPN)
 +
* SNI: gibt den gewünschten Ziel-Hostnamen an
 +
* ALPN: verhandelt das Anwendungsprotokoll (z. B. HTTP/2)
 +
* Extensions sind funktional, nicht kryptographisch zwingend
 +
* werden im ClientHello unverschlüsselt übertragen
 +
 
 +
 
 
*Der Server antwortet im ServerHello mit seinem eigenen Zufallswert und seiner ECDHE-Schlüsselkomponente ('''Server Hello Key Share''').
 
*Der Server antwortet im ServerHello mit seinem eigenen Zufallswert und seiner ECDHE-Schlüsselkomponente ('''Server Hello Key Share''').
 
*Client und Server berechnen aus ihren ECDHE-Schlüsselpaaren ein gemeinsames Geheimnis ('''Shared Secret''').
 
*Client und Server berechnen aus ihren ECDHE-Schlüsselpaaren ein gemeinsames Geheimnis ('''Shared Secret''').

Version vom 22. Januar 2026, 16:46 Uhr

Client Hello

Supported Versions
  • gibt an, welche TLS-Versionen der Client unterstützt
  • bei TLS 1.3 praktisch nur noch TLS 1.3
  • keine klassische Versionsverhandlung mehr wie bei TLS 1.2
Supported Groups
  • Liste unterstützter (EC)DHE-Gruppen
  • z. B. x25519, secp256r1
  • Gruppen definieren alle kryptographischen Parameter fest
  • keine Aushandlung von p oder g
Key Share
  • enthält den ephemeren DH/ECDH-Public-Key des Clients
  • Private Key verbleibt ausschließlich beim Client
  • Grundlage für die Berechnung des Shared Secret
  • ermöglicht den 1-RTT-Handshake
Client Random
  • 32 Byte Zufallswert
  • fließt in die Schlüsselableitung ein
  • erhöht die Entropie des Handshakes
(weitere Extensions, z. B. SNI, ALPN)
  • SNI: gibt den gewünschten Ziel-Hostnamen an
  • ALPN: verhandelt das Anwendungsprotokoll (z. B. HTTP/2)
  • Extensions sind funktional, nicht kryptographisch zwingend
  • werden im ClientHello unverschlüsselt übertragen


  • Der Server antwortet im ServerHello mit seinem eigenen Zufallswert und seiner ECDHE-Schlüsselkomponente (Server Hello Key Share).
  • Client und Server berechnen aus ihren ECDHE-Schlüsselpaaren ein gemeinsames Geheimnis (Shared Secret).
  • Aus dem Shared Secret und den Hello-Daten werden über HKDF die Schlüsselmaterialien Early Secret, Handshake Secret und Master Secret abgeleitet.
  • Auf Basis des Master Secret werden die symmetrischen Schlüssel für die verschlüsselte Handshake-Phase und die Application-Data-Phase erzeugt.
  • Nach dem Austausch der Finished-Nachrichten ist die gesamte Verbindung verschlüsselt.