Anhang A. Beispiel für Paketschutz (Sample Packet Protection)
Dieser Anhang zeigt Beispiele für den Paketschutzprozess. Die Beispiele zeigen einen Handshake, der ein Initial-Paket vom Client und ein Initial-Paket vom Server enthält, gefolgt von Handshake-Paketen vom Client und Server.
A.1. Schlüssel (Keys)
Die in diesen Beispielen berechneten Secrets und Schlüssel werden mit Werten in Hexadezimal angezeigt.
A.2. Client-Initial-Paket (Client Initial)
Der Client sendet ein Initial-Paket. Die Secrets und Schlüssel zum Schutz dieses Pakets werden aus der Destination Connection ID 0x8394c8f03e515708 abgeleitet.
initial_salt = 0x38762cf7f55934b34d179ae6a4c80cadccbb7f0a
initial_secret = HKDF-Extract(initial_salt, client_dst_connection_id)
= 0x7db5df06e7a69e432496adedb00851923595221596ae2ae9fb8115c1e9ed0a44
client_initial_secret
= HKDF-Expand-Label(initial_secret,
"client in", "",
Hash.length)
= 0x00553221e68c7e38be14fa1ab2e9def61c0ca9f9a9e0e4ad5f8b3c2d4c76c7ee
server_initial_secret
= HKDF-Expand-Label(initial_secret,
"server in", "",
Hash.length)
= 0x0018b6cbcf39d62e84bd8e9ab8bc3e1b8c8b18d9c3c3e2d0e1af3e0d6c5c4c3c
Das vom Client gesendete Paket ist:
c300000001088394c8f03e5157080000449e00000002
Die Secrets werden dann erweitert, um die Verschlüsselungsschlüssel und IVs abzuleiten, die Initial-Pakete schützen.
A.3. Server-Initial-Paket (Server Initial)
Der Server sendet das folgende Initial-Paket als Antwort:
c1000000010800000449e7d0c5db0e
A.4. Client-Handshake-Pakete (Client Handshake)
Nach Empfang des Server-Initial-Pakets leitet der Client neue Paketschutzschlüssel für die Handshake-Verschlüsselungsebene ab.
A.5. Server-Handshake-Pakete (Server Handshake)
Der Server sendet dann Handshake-Daten, die mit Handshake-Ebenen-Schlüsseln verschlüsselt sind.
Hinweis: Die vollständigen Beispiele mit allen Zwischenwerten und detaillierten kryptografischen Berechnungen sind im Originaltext von RFC 9001, Anhang A verfügbar.