Transport Layer Security/TMP
Transport Layer Security (TLS, für „Transportschichtsicherheit“), auch bekannt unter der Vorgängerbezeichnung Secure Sockets Layer (SSL), ist ein Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet
TLS besteht aus den beiden Hauptkomponenten TLS Handshake und TLS Record
- Im TLS Handshake findet ein sicherer Schlüsselaustausch und eine Authentifizierung statt
- TLS Record verwendet dann den im TLS Handshake ausgehandelten symmetrischen Schlüssel für eine sichere Datenübertragung – die Daten werden verschlüsselt und mit einem MAC gegen Veränderungen geschützt übertragen
Für den Schlüsselaustausch sind in den älteren TLS-Versionen verschiedene Algorithmen mit unterschiedlichen Sicherheitsgarantien im Einsatz
- Die neueste Version TLS 1.3 verwendet allerdings nur noch das Diffie-Hellmanprotokoll (DHE oder ECDHE)
- Dabei wird für jede Verbindung ein neuer Sitzungsschlüssel (Session Key) ausgehandelt
- Da dies ohne Verwendung eines Langzeitschlüssels geschieht, erreicht TLS 1.3 Perfect Forward Secrecy
TLS in der Praxis
Geschichte
Funktionsweise
Sicherheit
Vor- und Nachteile
Der Vorteil des TLS-Protokolls ist die Möglichkeit, jedes höhere Protokoll auf Basis des TLS-Protokolls zu implementieren
- Damit ist eine Unabhängigkeit von Anwendungen und Systemen gewährleistet
Der Nachteil der TLS-verschlüsselten Übertragung besteht darin, dass der Verbindungsaufbau auf Serverseite rechenintensiv und deshalb langsamer ist
- Die Verschlüsselung selbst beansprucht je nach verwendetem Algorithmus nur wenig Rechenzeit
Verschlüsselte Daten sind auf niedrigeren Schichten (etwa auf PPTP-Ebene) kaum durch Kompression zu verdichten
TLS verschlüsselt nur die Kommunikation zwischen zwei Stationen
- Es sind Szenarien in serviceorientierten Architekturen denkbar, in denen eine Nachricht über mehrere Stationen gesendet wird
- Wenn jede Station nur einen Teil der Nachricht lesen darf, reicht TLS nicht aus, da jede Station alle Daten der Nachricht entschlüsseln kann
- Somit entstehen Sicherheitslücken an jeder Station, die nicht für sie bestimmte Daten entschlüsseln kann
Implementierungen
Zu den bekanntesten Programmbibliotheken, die Transport Layer Security implementieren, gehören:
- OpenSSL
- GnuTLS
- LibreSSL
- Network Security Services
- mbed TLS, vormals PolarSSL
- BoringSSL
- Cryptlib
- SChannel (Microsoft)
- WolfSSL
Siehe auch
Weblinks
- TLS-Arbeitsgruppe der IETF
- Vorlage:RFC-Internet
- Vorlage:Webarchiv
- Einführung in SSL von Markus Repges Beschreibt Handshake und Protokoll im Detail
- Funktionsweise einer SSL-Verschlüsselung von Websites im Video
- Aktuelle Richtlinie BSI TR-02102-2 „Kryptographische Verfahren: Verwendung von Transport Layer Security (TLS)“ (PDF) mit Auflistung der empfohlenen Cipher Suiten für TLS 1.2 und 1.3; Stand: Februar 2019