Zum Hauptinhalt springen

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.