Das TLS (Transport Layer Security) ist ein kryptografisches Protokoll, das eine verschlüsselte und authentifizierte Verbindung zwischen zwei Endpunkten herstellt. Es sitzt zwischen dem Transportprotokoll (in der Regel TCP) und dem Anwendungsprotokoll und ist der Nachfolger des historischen SSL.
TLS bildet die Sicherheitsebene unter zahlreichen Diensten — neben HTTPS etwa SMTPS, IMAPS, FTPS, MQTT-Sicherheit oder verschlüsselte Datenbankverbindungen.
Was TLS leistet
TLS gewährleistet:
- Vertraulichkeit durch symmetrische Verschlüsselung des Datenstroms.
- Integrität durch Authentifizierungs-Tags, die Manipulationen erkennen.
- Authentizität durch Zertifikate, die der Server (und optional der Client) vorweist.
Handshake
Vor dem eigentlichen Datenaustausch handeln Client und Server in einem Handshake die Sitzungsparameter aus:
- Beide einigen sich auf eine TLS-Version und eine Cipher-Suite.
- Der Server liefert sein Zertifikat.
- Über asymmetrische Kryptografie wird ein gemeinsames Sitzungs-Geheimnis etabliert.
- Ab diesem Punkt wird der Datenstrom symmetrisch verschlüsselt.
In TLS 1.3 ist dieser Vorgang stark vereinfacht und erfordert nur noch eine Roundtrip-Zeit (1-RTT), in bestimmten Fällen sogar eine 0-RTT-Wiederaufnahme.
Versionen
Aktuell sind TLS 1.2 und TLS 1.3 im Einsatz. Ältere Varianten (SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1) gelten als unsicher und werden in modernen Implementierungen nicht mehr akzeptiert.
Abgrenzung zu HTTPS
HTTPS ist ein konkreter Anwendungsfall von TLS: HTTP über TLS. TLS selbst ist anwendungsneutral und kann jedes verbindungsorientierte Protokoll absichern, das es darunter trägt.