TLS (Transport Layer Security)
TLS (Transport Layer Security) ist ein Verschlüsselungsprotokoll, das für sichere Datenübertragungen im Internet sorgt. Es ist der Nachfolger des veralteten SSL und wird heute fast ausschließlich in der Version TLS 1.3 eingesetzt.
- Professioneller Daten- und Sicherheitsschutz
- E-Mail-Verschlüsselung mit SSL/TLS
- Top-Virenschutz dank Firewalls und Spamfilter
- Tägliche Backups, tägliche Absicherung
Was ist TLS?
In den Anfängen des Internets waren Aspekte der Datensicherheit nicht so wichtig wie heute. Die gesamte Kommunikation wurde offen und unverschlüsselt von einem Rechner zum anderen übertragen. Das kann man sich wie eine Postkarte vorstellen: Jeder Postbote und jede Postbotin kann sie lesen.
Das TLS-Protokoll – auch SSL/TLS genannt – führte die Verschlüsselung der übermittelten Inhalte ein. Um beim genannten Vergleich zu bleiben, entspricht diese Verschlüsselung einem versiegelten Briefumschlag, den nur der rechtmäßige Empfänger oder die rechtmäßige Empfängerin öffnen kann.
Die Abkürzung TLS steht dabei für Transport Layer Security, was übersetzt „Transportschicht-Sicherheit“ bedeutet. Diese Bezeichnung bezieht sich auf die „Transportschicht“ des TCP/IP-Modells. TLS ist ein Verfahren, das die Datenströme im Internet verschlüsselt, damit sie nur von den berechtigten Empfangenden gelesen werden können.
Der frühere Name des Verschlüsselungsprotokolls lautete SSL (Secure Socket Layer). Weil dieses Kürzel nach wie vor besser bekannt ist als TLS, wird TLS häufig mit dem Doppelnamen „SSL/TLS“ bezeichnet.
Wie funktioniert TLS?
TLS verschlüsselt den gesamten Datenverkehr, der über TCP abgewickelt wird, mit einem symmetrischen Verschlüsselungsverfahren.
In unserem Schwerpunkt-Artikel finden Sie vertiefende Informationen zu den genannten Verschlüsselungsverfahren.
Was in der Praxis einfach klingt, ist in der Realität komplizierter. Das Grundproblem liegt darin, dass der Server dem Client den Schlüssel mitteilen muss – und zwar, bevor die Kommunikation mit TLS gesichert ist. Wer verschlüsselte Mailanhänge versendet, kennt dieses Problem: Man verschlüsselt eine Datei und muss dem Empfangenden das geheime Passwort mitteilen, z. B. per Telefon.
Das TLS-Protokoll, dessen aktueller Standard seit 2018 die Version 1.3 ist, wendet das folgende Verfahren an, um dieses Problem zu lösen:
- ClientHello: Der Client (z. B. ein Browser) sendet dem Server eine erste Nachricht mit Informationen über die unterstützten Verschlüsselungen. Hierzu zählen Cipher Suites, Protokollversionen, ein zufälliger Wert und ein eigener Elliptic-Curve-Diffie-Hellman-Schlüsselaustauschs-Wert (ECDHE-Wert). Optional kann bereits der erste verschlüsselte Datenblock mitgesendet werden.
- ServerHello: Der Server wählt die passenden Parameter aus und sendet seine Antwort – inklusive seines ECDHE-Werts und seines digitalen Zertifikats. Dieses SSL-Zertifikat beweist, dass der Server authentisch ist und nicht etwa eine falsche Identität vortäuscht. Gleichzeitig beginnt die Berechnung des Sitzungsschlüssels.
- Schlüsselberechnung: Beide Seiten berechnen nun unabhängig voneinander denselben Sitzungsschlüssel (Session Key) auf Basis des gemeinsam vereinbarten Schlüssels.
- Der Server schließt den Handshake ab und beginnt mit der verschlüsselten Kommunikation. Der Client tut dies ebenfalls; die Verbindung ist jetzt vollständig gesichert.
Im Vergleich zu früheren Versionen ist der TLS-Handshake in TLS 1.3 deutlich schlanker und sicherer. Der gesamte hier beschriebene Ablauf benötigt nur noch eine einzige Hin- und Rückübertragung (1 RTT), was die Verbindung spürbar beschleunigt.
Der Grund, weshalb die asymmetrische Verschlüsselung mit Diffie-Hellman nur für das Übertragen des Sitzungsschlüssels (aber nicht für die Verschlüsselung der Datenströme selbst) verwendet wird, ist der Geschwindigkeitsvorteil; die asymmetrische Verschlüsselung ist relativ langsam und würde die Datenkommunikation verzögern.
Die Vor- und Nachteile von TLS
TLS ist eine elegante Lösung, um den Datenverkehr im Web sicherer zu gestalten. Denn sie verlangt von den beiden Parteien nicht, dass sie die Inhalte – z. B. Formulardaten – selbst verschlüsseln. Stattdessen genügt es, wenn der Verkehr über das TLS-Protokoll geleitet wird, unabhängig von den Betriebssystemen und Software-Anwendungen der Beteiligten. Sämtliche Datenströme werden dann automatisch während der Übertragung verschlüsselt.
Der Preis für die Sicherheit ist ein etwas langsamerer Verbindungsaufbau, da die oben beschriebenen Prozessschritte – Zertifikat, Zufallszahl, Schlüsselaustausch – rechenintensiv sind.
Einsatzgebiete von TLS
Wie erwähnt ist TLS universell einsetzbar, da es unabhängig ist von Anwendungen und Betriebssystemen. Dementsprechend existiert für eine Vielzahl von Anwendungsprotokollen eine TLS-gesicherte Version. Das Benennungsschema ist in den meisten Fällen ganz einfach: Hinter den Namen des Protokolls wird der Buchstabe „S“ gesetzt, wenn das Protokoll mittels TLS kommuniziert.
Das wichtigste Anwendungsgebiet von TLS ist das World Wide Web, genauer gesagt das HTTP-Protokoll. Dessen verschlüsselte Variante heißt HTTPS.
Daneben sind die folgenden, häufig anzutreffenden Anwendungsfälle zu nennen:
- POP3S: E-Mails vom Server abholen mit dem POP3-Protokoll
- IMAPS: Posteingang mit dem Server synchronisieren mittels dem IMAP-Protokoll
- SMTPS: E-Mails versenden
- FTPS: Filetransfer via FTP-Protokoll
- SIPS: Voice-over-IP-Telefonie über das SIP-Protokoll
- IRCS: Verschlüsselte Chats
- QUIC: Transportprotokoll von Google, das TLS 1.3 direkt integriert; Alternative zu TCP für schnellere und sicherere Webverbindungen (z. B. bei HTTP/3)
OpenVPN, eine freie Software zum Aufbau eines Virtual Private Networks (VPN), bedient sich ebenfalls des TLS-Protokolls.
Implementierungen von TLS
Wichtige Implementierungen von TLS sind:
- OpenSSL – die weitaus häufigste Implementierung, die für die meisten HTTPS-Websites verwendet wird
- GnuTLS (Free Software Foundation)
- LibreSSL (OpenBSD)
- NSS (Network Security Services)
- BoringSSL (Google)
- Rustls (Joe Birr-Pixton, Dirkjan Ochtman, Daniel McCarney, Josh Aas und Open-Source-Community)
- Botan (BSD-Lizenz, Jack Lloyd)
- JSSE (Java Secure Socket Extension, Oracle)
- S2n (Amazon)
Diese Liste ist nicht abschließend. Ausführliche Informationen zu den TLS-Implementierungen liefert die englischsprachige Wikipedia.
Bekannte TLS-Angriffe
Auch TLS ist nicht vor Angriffen und Lecks sicher. Bekannte Angriffspunkte sind die folgenden:
- Programmierfehler: Berühmt geworden ist der Heartbleed Bug, ein schwerwiegender Programmfehler in den früheren Versionen von OpenSSL. Er wurde 2014 behoben.
- Schwache Verschlüsselungen: Als Folge der Exportbeschränkungen von Kryptografie der USA wurden „exporttaugliche“ Versionen entwickelt, die leichter zu knacken waren als die ursprünglichen.
- Kompressionsangriffe: Wenn statt der TLS-Kompression die HTTP-Kompression verwendet wird, ist es für Hacker möglich, durch bestimmte Verfahren TLS-verschlüsselte Inhalte zu erraten.
- Der BEAST-Angriff betraf die Version TLS 1.0 und wurde bereits 2014 beschrieben. Aktuelle TLS-Versionen sind davor sicher.
- Der Padding-Oracle-Angriff wurde 2002 entdeckt und war bis zur Version SSL 3.0 möglich. Die aktuelle TLS-Version 1.3 ist nicht davon betroffen.
- Der ALPACA-Angriff aus dem Jahr 2021 zeigt, wie TLS-Zertifikate auf falsch konfigurierten Servern ausgenutzt werden können, um Benutzerinnen und Benutzer auf andere Dienste umzuleiten und so Daten abzufangen oder zu manipulieren.
Daneben gab es Bemühungen, eine vollständig sichere TLS-Verschlüsselung zu verhindern, damit Behörden Einblick in die verschlüsselte Kommunikation nehmen können, z. B. im Zusammenhang mit Finanztransaktionen und kriminellen Aktivitäten. Eine der Organisationen, die sich um eine derartige „Sollbruchstelle“ von TLS bemühte, war ETSI (Europäisches Institut für Telekommunikationsnormen).