Suchen

Definition Was ist DTLS (Datagram Transport Layer Security)?

Datagram Transport Layer Security (DTLS) ist ein Sicherheitsprotokoll, dass auf der Funktionsweise von TLS (Transport Layer Security) basiert. Im Gegensatz zu TLS nutzt es nicht das gesicherte, verbindungsorientierte Transportprotokoll TCP, sondern das ungesicherte UDP (User Datagram Protocol) zur verschlüsselten und geschützten Übertragung der Daten über IP-Netze wie das Internet.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - stock.adobe.com )

Die Abkürzung DTLS steht für Datagram Transport Layer Security. Es handelt sich um ein Sicherheitsprotokoll, das auf der grundsätzlichen Funktionsweise von TLS (Transport Layer Security) basiert. Manchmal wird es als Datagram TLS oder TLS over Datagram Transport bezeichnet.

Im Gegensatz zu TLS nutzt DTLS nicht das gesicherte, verbindungsorientierte Transportprotokoll TCP (Transmission Control Protocol), sondern das ungesicherte UDP (User Datagram Protocol). Entwickelt wurde Datagram Transport Layer Security, um Daten verschlüsselt und geschützt über potenziell unsichere IP-Netze wie das Internet nicht nur per TLS und TCP, sondern auch über das verbindungslose UDP übertragen zu können. Hierfür wurden einzelne Funktionskomponenten und Protokolle der Transport Layer Security entsprechend angepasst.

Die Version 1.0 erschien im Jahr 2006 und ist im RFC 4347 beschrieben. Sie basiert auf der im RFC 4346 spezifizierten TLS-Version 1.1. Im Jahr 2012 erschien im RFC 6347 die überarbeitete Version DTLS 1.2, die auf der TLS-Version 1.2 basiert.

Wie TLS ist Datagram Transport Layer Security im ISO/OSI-Schichtenmodell auf dem Layer 5 (Sitzungsschicht) angesiedelt. Das TCP/IP-Referenzmodell führt DTLS als Zwischenschicht zwischen der Transport- und der Anwendungsschicht. Für die Protokolle der Anwendungsschicht arbeitet Datagram Transport Layer Security transparent.

Protokolle, die DTLS verwenden, sind beispielsweise speziell gesicherte Varianten der Protokolle SIP (Session Initiation Protocol), SNMP (Simple Network Management Protocol), RADIUS, Syslog, IPFIX (Internet Protocol Flow Information Export ) oder RTP (Real-Time Transport Protocol).

Grundsätzliche Funktionsweise und Ablauf des Verbindungsaufbaus mit DTLS

Die grundsätzliche Funktionsweise der Datagram Transport Layer Security ist in großen Teilen mit TLS identisch. Nur die Stellen und Protokollbestandteile wurden überarbeitet, die die Verwendung des ungesicherten, verbindungslosen UDP zur verschlüsselten und geschützten Übertragung der Daten notwendig machen.

Die Kommunikation per Datagram Transport Layer Security ist in zwei Phasen unterteilt. In der ersten Phase findet der Verbindungsaufbau zwischen den Kommunikationspartnern per UDP statt. Die beiden Partner können je nach Anforderung beide oder nur einer ihre Identität nachweisen. Sitzungs- und Sicherheitsparameter, wie die zu verwendenden kryptographischen Verfahren, werden in dieser Phase ebenfalls ausgehandelt. Ist eine Verbindung erfolgreich aufgebaut, findet die eigentliche Übertragung der Daten über das Transportprotokoll UDP statt. Die zuvor ausgehandelten Verschlüsselungsalgorithmen und Schlüssel werden dabei verwendet.

Von zentraler Bedeutung für die Transport Layer Security ist das so genannte Transport Layer Security Record Protocol (in DTLS-spezifischer Form). Es bildet die unterste Schicht für weitere Protokolle und sichert die Verbindung ab. Es ist direkt über der Transportschicht angesiedelt. Die Dienste des Transport Layer Security Record Protocols sind die Ende-zu-Ende-Verschlüsselung mittels symmetrischer Algorithmen und die Sicherung der Nachrichten-Integrität sowie Authentizität. Vier weitere Protokolle bauen auf dem Transport Layer Security Record Protocol auf. Diese vier Protokolle sind:

  • das Transport Layer Security Handshake Protocol (DTLS-spezifische Form)
  • das Transport Layer Security Alert Protocol (identisch zu TLS)
  • das Transport Layer Security Change Cipher Spec Protocol (identisch zu TLS)
  • das Transport Layer Security Application Data Protocol

Der Ablauf eines DTLS-Verbindungsaufbaus besteht in vereinfachter Form aus folgenden Einzelschritten:

Im ersten Schritt des Verbindungsaufbaus weist sich der Server gegenüber dem Client mit seinem Zertifikat aus. Der Client validiert die Vertrauenswürdigkeit des Zertifikats und prüft unter anderem, ob der Servername mit dem Servernamen des Zertifikats übereinstimmt. Optional kann sich der Client gegenüber dem Server mit einem Zertifikat ausweisen.

Im nächsten Schritt leiten die beiden Kommunikationspartner mit dem öffentlichen Schlüssel des Servers einen Sitzungsschlüssel ab. Mit diesem Schlüssel verschlüsseln sie alle nachfolgend übertragenen Daten. Während die Authentifizierung der Kommunikationspartner auf asymmetrischen Verschlüsselungsverfahren und der Public-Key-Kryptografie basiert, kommt für die Verschlüsselung der Datenübertragung ein symmetrischer Sitzungsschlüssel zum Einsatz. Dieser Sitzungsschlüssel erlaubt sowohl das Ver- als auch das Entschlüsseln der Daten und wird während einer Sitzung häufiger gewechselt.

Details zu den notwendigen Anpassungen in DTLS aufgrund der Nutzung des ungesicherten Transportprotokolls UDP

Um in DTLS den verbindungslosen, ungesicherten Transportdienst UDP zu nutzen, sind gegenüber TLS einige Anpassungen notwendig. Grund hierfür ist, dass UDP nicht garantiert, dass alle Pakete ihr Ziel erreichen. Mögliche Verluste einzelner Pakete müssen protokolltechnisch abgefangen werden.

So sind im Handshake-Verfahren, das für den Schlüsselaustausch und die Authentifizierung verantwortlich ist, Anpassungen vorgesehen, die Mechanismen zur Nummerierung und Timeout-Erkennung einführen. Mit diesen lässt sich feststellen, ob ein Paket verloren gegangen ist und es eventuell erneut versendet werden muss.

Ebenfalls zu überarbeiten ist das in TLS genutzte Prinzip der blockweisen Verschlüsselung. Geht ein einzelner verschlüsselter Block bei der Übertragung verloren, lassen sich die nachfolgenden Blöcke nicht mehr entschlüsseln. DTLS führt daher eine veränderte Verschlüsselung ein. Zum Einsatz kommt der Verschlüsselungsmodus CBC mit explizitem Initialisierungsvektor. Eine weitere Anpassung ist die optionale Replay-Detection für einzelne Pakete.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 46387667)

Über den Autor