TLS Schlüsselaustausch und Sitzungsschlüssel 1.3: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| − | * | + | ==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.
