Die Abkürzung DTLS steht für Datagram Transport Layer Security und bezeichnet ein Sicherheitsprotokoll, das für den Schutz der Privatsphäre in der elektronischen Kommunikation zuständig ist. Um Daten verschlüsselt über IP-Netze wie das Internet zu übertragen, nutzt DTLS das User Data Protocol (UDP). Auf diese Weise schützt DTLS den Datenaustausch von Client/Server-Applikationen vor Manipulation.
DTLS
Definition, Funktion und Ablauf
1. Wie funktioniert DTLS?
Datagram Layer Security ist im ISO/OSI-Schichtenmodell genau wie die Transport Layer Security auf der Sitzungsschicht angesiedelt. DTLS wurde entwickelt, um Daten verschlüsselt über potenziell unsichere IP-Netze wie das Internet auch über das verbindungslose UDP übertragen zu können. Damit dies funktioniert, wurden einzelne Bestandteile und Protokolle der Transport Layer Security angepasst.
Der Austausch von Informationen über Datagram Transport Layer Security lässt sich in zwei Phasen aufteilen:
- Erste Phase: Hier findet der Verbindungsaufbau zwischen den Kommunikationspartnern per UDP statt. Je nach Anforderung weisen entweder beide Partner ihre Identität nach oder nur einer von ihnen. Außerdem werden die Sitzungs- und Sicherheitsparameter ausgehandelt.
- Zweite Phase: Ist der Verbindungsaufbau erfolgreich, wird die eigentliche Übertragung der Daten über das Transportprotokoll UDP eingeleitet. Dabei werden die zuvor festgelegten Verschlüsselungsalgorithmen und Schlüssel verwendet.
2. Das Transport Layer Record Security Protocol
Für die Transport Layer Security ist das sogenannte Transport Security Record Protocol in DTLS-spezifischer Form von zentraler Bedeutung, da es nicht nur die unterste Schicht für weitere Protokolle bildet, sondern auch die Verbindung absichert. Zu den Hauptaufgaben des Transport Security Record Protocols zählen die Ende-zu-Ende-Verschlüsselung sowie die Sicherung der Nachrichtenintegrität und Authentizität.
Auf dem Transport Layer Security Record Protocol bauen insgesamt vier weitere Protokolle auf:
- Das Transport Layer Security Handshake Protocol in DTLS spezifischer Form
- Das zu TLS identische Transport Layer Security Alert Protocol
- Das zu TLS identische Layer Security Change Cipher Spec Protocol
- Das Transport Layer Security Application Data Protocol
3. Anpassungen in DTLS aufgrund der Nutzung von UDP
Der ungesicherte Transportdienst UDP garantiert nicht, dass alle Datenpakete ihr Ziel erreichen. Um diesen dennoch nutzen zu können, sind daher gegenüber TLS verschiedene Anpassungen nötig, da die möglichen Verluste einzelner Pakete protokolltechnisch abgefangen werden müssen.
Handshake-Verfahren:
Dieses Verfahren ist für den Schlüsselaustausch und die Authentifizierung zuständig. Als Anpassung an DTLS werden hier Mechanismen zur Nummerierung und Timeout-Erkennung eingefügt, mit deren Hilfe festgestellt werden kann, ob ein Paket verloren gegangen ist und erneut gesendet werden muss.
Blockweise Verschlüsselung:
Wenn ein einzelner verschlüsselter Block bei der Übertragung verloren geht, lassen sich die nachfolgenden Blöcke nicht mehr entschlüsseln. Daher wird bei DTLS der Verschlüsselungsmodus CBC mit explizitem Initialisierungsvektor eingesetzt. Die optionale Replay-Detection für einzelne Pakete ist eine weitere Anpassung.
4. Ablauf des Verbindungsaufbaus mit DTLS
Vereinfacht dargestellt besteht der Ablauf eines DTLS-Verbindungsaufbaus aus den folgenden Schritten:
- Der Server weist sich gegenüber dem (link: /ratgeber/client text: Client popup: yes) mit seinem Zertifikat aus.
- Der Client prüft, ob der Servername mit dem Servernamen des Zertifikats übereinstimmt. Je nach Anforderung kann sich auch der Client gegenüber dem Server mit einem Zertifikat ausweisen.
- Beide Kommunikationspartner leiten mit dem öffentlichen Schlüssel des Servers einen Sitzungsschlüssel ab, mit dem ab diesem Zeitpunkt alle übertragenen Daten verschlüsselt werden.
- Die Authentifizierung der Kommunikationspartner funktioniert über asymmetrische Verschlüsselungsverfahren und der Public-Key-Kryptographie. Für die Verschlüsselung der Daten wird hingegen auf einen symmetrischen Sitzungsschlüssel zurückgegriffen, der das Verschlüsseln sowie das Entschlüsseln der Daten ermöglicht und während einer Sitzung mehrmals ausgetauscht wird.
Genau wie das Secure Real Time Protocol (SRTP) und andere Sicherheitsprotokolle wird DTLS im Rahmen der WebRTC-Technologie zum Beispiel bei der Umsetzung von Videokonferenzen eingesetzt.