In den Anfängen des Internets waren Aspekte wie Datensicherheit bei weitem nicht so wichtig wie heute. Damals wurde der Großteil der Kommunikation unverschlüsselt zwischen den Servern übertragen. Ähnlich wie bei Briefen konnte jeder Postbote deren Inhalt lesen.
Das TLS-Protokoll – auch bekannt als SSL/TLS – hat die Verschlüsselung der übertragenen Inhalte eingeführt. Um das obige Beispiel fortzuführen: Dies lässt sich mit einem versiegelten Umschlag vergleichen, den nur der Empfänger öffnen und lesen kann.
Was ist TLS?
Die Abkürzung TLS steht für „Transport Layer Security“ (Sicherheit auf der Transportschicht). Ursprünglich war es dafür vorgesehen, auf Transportprotokollen ähnlich den TCP/IP-Modellen ausgeführt zu werden. Das TLS-Protokoll verschlüsselt im Wesentlichen die Datenübertragung im Internet oder zwischen Geräten, um sicherzustellen, dass nur autorisierte Empfänger darauf zugreifen können. Der Vorgänger des Protokolls war das bekannte SSL (Secure Socket Layer), weshalb TLS zur Vermeidung von Missverständnissen häufig als SSL/TLS bezeichnet wird.
Wie funktioniert TLS?
TLS verschlüsselt die über das Internet übertragenen Daten und wird in der Regel auf TCP-Ebene unter Verwendung symmetrischer Kryptografie umgesetzt.
Was theoretisch einfach klingt, ist in der Praxis recht kompliziert. Als Teil des sicheren Übertragungsprozesses muss der Server den Zugangsschlüssel an den Kunden weitergeben – bevor jegliche Kommunikation über TLS gesichert werden kann. Sie kennen das Problem möglicherweise gut, wenn Sie regelmäßig verschlüsselte E-Mail-Anhänge versenden: Um den Anhang zu verschlüsseln, müssen Sie das Passwort dem Empfänger mitteilen, beispielsweise per Telefon.
Das TLS-Protokoll löst dieses Problem durch folgende Maßnahmen:
- Wenn ein Client, beispielsweise ein Webbrowser, eine Verbindung zum Webserver herstellt, erhält er ein Zertifikat. Dieses SSL-Zertifikat bestätigt, dass der Absender authentisch ist und sich nicht beispielsweise hinter einer falschen Identität verbirgt.
- Der Kunde überprüft das Zertifikat und sendet eine zufällig generierte, verschlüsselte Zahl mit einem öffentlichen Schlüssel an den Server.
- Der Server generiert aus diesem öffentlichen Schlüssel einen Sitzungsschlüssel zur Verschlüsselung der Kommunikation. Da der öffentliche Schlüssel vom Kunden stammt, kann der Server sicher sein, dass der Sitzungsschlüssel vom richtigen Absender stammt.
- Der Server sendet anschließend den verschlüsselten Sitzungsschlüssel an den Kunden. Die Verschlüsselung basiert auf dem Diffie-Hellman-Schlüsselaustauschverfahren.
- Nun sind beide Seiten in der Lage, ihre Daten mithilfe des Sitzungsschlüssels zu verschlüsseln.
Der Grund, warum die asymmetrische Verschlüsselung nur für den Sitzungsschlüssel verwendet wird (nicht jedoch zur Verschlüsselung der Datenströme selbst), ist die Geschwindigkeit: Die asymmetrische Verschlüsselung ist relativ langsam und würde die Datenübertragung verzögern.
Vor- und Nachteile von TLS
TLS ist eine relativ elegante Lösung für die sichere Datenübertragung im Internet, da es von den Beteiligten nicht verlangt, die ausgetauschten Inhalte zu verschlüsseln. Stattdessen reicht es aus, wenn die Übertragung ausschließlich über das TLS-Protokoll erfolgt, unabhängig von den von den beteiligten Parteien verwendeten Betriebssystemen oder Softwareanwendungen. Anschließend werden alle Datenströme während der Übertragung automatisch verschlüsselt.
Die zusätzliche Sicherheitsebene geht jedoch zu Lasten der Geschwindigkeit, da Prozesse wie die Authentifizierung sowie die Generierung von öffentlichen und Sitzungsschlüsseln rechenintensiv sind.
Anwendungsbereiche von TLS
TLS ist universell einsetzbar, da es nicht auf bestimmte Betriebssysteme oder Anwendungen angewiesen ist. Dementsprechend ist die Verfügbarkeit von zahlreichen TLS-gesicherten Versionen für die verschiedenen Anwendungsprotokolle gewährleistet. Das Namensschema ist einfach: Der Name des Protokolls endet mit dem Buchstaben „s“, wenn das Protokoll über TLS kommuniziert.
Der wichtigste Anwendungsbereich von TLS ist das World Wide Web, genauer gesagt das HTTP-Protokoll. Die verschlüsselte Variante wird als HTTPS bezeichnet.
Weitere häufige Anwendungsbereiche sind die folgenden:
- POP3S: Abruf von E-Mails von einem Server, der das POP3-Protokoll verwendet
- IMAPS: Synchronisiert das Postfach mithilfe des IMAP-Protokolls mit dem Server.
- SMTPS: E-Mails versenden
- FTPS: Dateiübertragung über das FTP-Protokoll
- SIPS: Voice-over-IP-Anrufe über das SIP-Protokoll
- IRCS: verschlüsselte Chats
TLS in der Praxis
Die wichtigsten TLS-Implementierungen in Anwendungen sind folgende:
- OpenSSL – die am weitesten verbreitete Implementierung, die von den meisten HTTPS-Website-Betreibern verwendet wird.
- GnuTLS (Free Software Foundation)
- LibreSSL (OpenBSD)
- NSS (Netzwerksicherheitsdienste)
- BoringSSL (Google)
- Cryptlib (Peter Gutmann)
- Botan (BSD-Lizenz, Jack Lloyd)
- JSSE (Java Secure Socket Extension, Oracle)
- S2n (Amazon)
Die Liste ist nicht vollständig. Für weitere Informationen zur TLS-Implementierung ist Wikipedia eine hervorragende Quelle.
Bekannte TLS-Angriffe
TLS ist jedoch nicht vor Angriffen und Datenlecks gefeit. Einige bekannte Angriffspunkte und Schwachstellen sind die folgenden:
- Programmierfehler: Der „Heartbleed Bug“ wurde durch einen schwerwiegenden Programmierfehler in einigen früheren Versionen von OpenSSL bekannt. Dieser wurde im Jahr 2014 behoben.
- Schwache Verschlüsselung: In den Vereinigten Staaten wurden aufgrund der Exportbeschränkungen für Kryptografie exportfähige Versionen entwickelt. Diese ließen sich jedoch leichter knacken als die früheren Versionen.
- Komprimierungsangriffe: Wenn anstelle der TLS-Komprimierung die HTTP-Komprimierung verwendet wird, sind Hacker in der Lage, TLS-verschlüsselte Inhalte mithilfe spezieller Techniken zu entschlüsseln.
- Der BEAST-Angriff betraf die Version TLS 1.0 und wurde im Jahr 2014 bekannt. Die aktuellen TLS-Versionen sind sicher.
- Der Padding-Oracle-Angriff wurde im Jahr 2002 entdeckt und stellte bis zur Version SSL 3.0 eine Bedrohung dar. Die aktuelle Version TLS 1.3 ist davon nicht betroffen.
Gleichzeitig gab es Versuche, die darauf abzielten, die vollständig sichere TLS-Verschlüsselung zu umgehen, damit Behörden Zugriff auf die verschlüsselte Kommunikation erhalten konnten, beispielsweise zur Aufdeckung betrügerischer Aktivitäten bei Finanztransaktionen. Das Europäische Institut für Telekommunikationsnormen (ETSI) war eine der Organisationen, die bei der Entwicklung bestimmter Schwachstellen im Protokoll eine Vorreiterrolle spielte.