Datagram Transport Layer Security

Netzwerk- Kommunikationsprotokoll
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 20. November 2006 um 20:36 Uhr durch Stefan2~dewiki (Diskussion | Beiträge) (Links korrigiert). Sie kann sich erheblich von der aktuellen Version unterscheiden.
DTLS im TCP/IP-Protokollstapel
Anwendung SIP ...
Transport DTLS
UDP
Netzwerk IP
Netzzugang Ethernet Token
Ring
FDDI ...

Datagram Transport Layer Security (DTLS) ist ein auf TLS basierendes Verschlüsselungsprotokoll, das im Gegensatz zu TLS auch über unzuverlässige Transportprotokolle wie UDP übertragen werden kann.

Geschichte

  • Februar 2004: Erster Entwurf und Implementierung in OpenSSL
  • Aktuell 2006: RFC4347 zur Standardisierung von DTLS.

Hintergrund

Mit Voice-over-IP (VoIP) und dem dort verbreiteten Signalisierungsprotokoll SIP, welches aufgrund diverser Vorteile bevorzugt über UDP übertragen wird, kam der Bedarf auf, die durch TLS gegebene Sicherheit bei SIP über TCP auch auf den Transport über UDP zu übertragen. TLS selbst ist dafür nicht geeignet, da keins der nach einem Paketverlust folgenden Pakete mehr authentifiziert werden kann.

In der Praxis wird DTLS noch nicht eingesetzt und ist auch noch nicht in einem RFC standardisiert. Es ist jedoch mit einem schnellen Einsatz im VoIP-Bereich zu rechnen, da DTLS hier die Sicherheit von TLS mit der Schnelligkeit von UDP verbindet und so diese Lücke der bisherigen Protokolle füllt.

Funktionsweise

Die Funktionsweise von DTLS entspricht weitgehend der von TLS. Um durch zu starke Veränderung des ursprünglichen Protokolls eine Implikation bezüglich der Sicherheit des neuen Protokolls herbeizuführen, wurden nur an den Stellen Änderungen vorgenommen, an denen dies für einen unzuverlässigen Transport notwendig ist. Diese Änderungen sind:

  • Wiederherstellen der Zuverlässigkeit des Handshakes zu Beginn der Kommunikation, da in diesem Teil die Ankunft aller Pakete garantiert werden muss, um eine Authentifizierung und den Schlüsseltausch ermöglichen zu können. Dies geschieht dadurch, dass die Pakete nach einer bestimmten Zeit erneut gesendet werden.
  • Explizite Nummerierung der einzelnen Pakete während der Übertragung. Dies geschieht bei TLS nur implizit, wodurch bei einem Paketverlust kein korrekter HMAC mehr berechnet werden kann, was eine Integritätsverletzung darstellt und wiederum zu einem Verbindungsabbruch führt.
  • Eine optionale Replay-Detection für einzelne Pakete.