Anhang A. Überblick über DTLS
Anhang A. Überblick über DTLS
Dieser Abschnitt bietet einen kurzen Überblick über Datagram TLS (DTLS) für diejenigen, die damit nicht vertraut sind. DTLS ist ein Kanalsicherheitsprotokoll, das auf dem bekannten Transport Layer Security (TLS) [RFC5246] Protokoll basiert. Während TLS auf einem zuverlässigen Transportkanal (typischerweise TCP) basiert, wurde DTLS angepasst, um unzuverlässige Transporte wie UDP zu unterstützen. Ansonsten ist DTLS nahezu identisch mit TLS und unterstützt im Allgemeinen dieselben kryptographischen Mechanismen.
Jede DTLS-Assoziation beginnt mit einem Handshake-Austausch, während dessen sich die Peers gegenseitig authentifizieren und Algorithmen, Modi und andere Parameter aushandeln und gemeinsames Schlüsselmaterial etablieren. Um unzuverlässigen Transport zu unterstützen, unterhält jede Seite Retransmission-Timer, um eine zuverlässige Zustellung dieser Nachrichten bereitzustellen. Sobald der Handshake abgeschlossen ist, können verschlüsselte Daten gesendet werden.
Client Server
ClientHello -------->
ServerHello
Certificate*
ServerKeyExchange*
CertificateRequest*
<-------- ServerHelloDone
Certificate*
ClientKeyExchange
CertificateVerify*
[ChangeCipherSpec]
Finished -------->
[ChangeCipherSpec]
<-------- Finished
Application Data <-------> Application Data
'*' zeigt Nachrichten an, die nicht immer gesendet werden.
Anwendungsdaten werden geschützt, indem sie als eine Reihe von DTLS-"Datensätzen" gesendet werden. Diese Datensätze sind unabhängig und können auch bei Verlust oder Neuordnung korrekt verarbeitet werden. In DTLS-SRTP wird dieses Datensatzprotokoll durch SRTP [RFC3711] ersetzt.