Transport Layer Security
Transport Layer Security (TLS) - Kurzbeschreibung
Beschreibung
Anwendung |
HTTPS | IMAPS | POP3S | SMTPS | … |
TLS | |||||
Transport | TCP | ||||
Internet | IP (IPv4, IPv6) | ||||
Netzzugang | Ethernet | Token Bus |
Token Ring |
FDDI | … |
Transport Layer Security (TLS, für „Transportschichtsicherheit“)
- Bekannt unter der Vorgängerbezeichnung Secure Sockets Layer (SSL)
- Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet
- Hauptkomponenten
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
- Schlüsselaustausch
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
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
TLS in der Praxis
TLS-Verschlüsselung wird gegenwärtig vor allem mit HTTPS eingesetzt
- Die meisten aktuellen Webbrowser und Webserver bevorzugen TLS 1.3 und TLS 1.2
- Die älteren Versionen TLS 1.1 und TLS 1.0 werden nicht mehr unterstützt
- In aktuellen Browsern ist SSLv3 und SSLv2 deaktiviert, da diese Protokollversion eine Reihe von Sicherheitslücken, unter anderem des Poodle-Angriffs aufweist
- TLS 1.3
Die Weiterentwicklung TLS 1.3 wird von allen nennenswert verbreiteten Browsern auf Desktops und Smartphones unterstützt , TLS 1.2 wird von 98,7 Prozent aller Browserinstallationen unterstützt; Ausnahmen sind mehrere Jahre alte Versionen (Stand 02/2022)
Das Deutsche Bundesamt für Sicherheit in der Informationstechnik empfiehlt bei der Verwendung von TLS die Versionen 1.2 und 1.3. Cipher Suiten mit Perfect Forward Secrecy werden bevorzugt empfohlen
Seit einiger Zeit nutzen immer mehr Webseitenbetreiber Extended-Validation-TLS-Zertifikate (EV-TLS-Zertifikat)
- In der Adresszeile des Browsers wird zusätzlich ein Feld angezeigt, in dem Zertifikats- und Domaininhaber im Wechsel mit der Zertifizierungsstelle eingeblendet werden
- Zudem wird je nach verwendetem Browser und/oder Add-on die Adresszeile (teilweise) grün eingefärbt
- Internetnutzer sollen so schneller erkennen, ob die besuchte Webseite echt ist, und besser vor Phishingversuchen geschützt werden
- EV-TLS-Zertifikate bieten in technischer Sicht keinen erweiterten Schutz, die Verschlüsselung und deren Stärke ist identisch
- Nur der Inhaber wird dabei besser und aufwändiger verifiziert
- Seit 2019 werden diese Zertifikate in den Browsern nicht mehr prominent hervorgehoben, weil der erwartete Sicherheitsgewinn für den Endbenutzer ausblieb
Seit Januar 2017 markiert der Web-Browser Chrome Internetseiten als unsicher, die Informationen sammeln, ohne dabei HTTPS zu nutzen
- Das wird voraussichtlich zu einem signifikanten Anstieg des Einsatzes von HTTPS führen
- Im Februar 2017 war HTTPS bei 2,57 % aller registrierten deutschen Internet-Domains
sowie bei 3,70 % der österreichischen Domains und 9,71 % der Schweizer Domains aktiviert
- Eine Untersuchung von rund 40.000 Webseiten klein- und mittelständischer Unternehmen in Baden-Württemberg durch den Landesbeauftragten für den Datenschutz und die Informationsfreiheit Baden-Württemberg hat ergeben, dass rund 7 % der untersuchten Webseiten über HTTPS angeboten werden
- Bei jenen Webseiten, die über HTTPS angeboten werden, ist die serverseitige Unterstützung für TLS 1.0 noch sehr weit verbreitet (99 %)
TLS ist ohne eine zertifikatsbasierte Authentifizierung anfällig für Man-in-the-Middle-Angriffe: Ist der Man-in-the-Middle vor der Übergabe des Schlüssels aktiv, kann er beiden Seiten seine Schlüssel vorgaukeln und so den gesamten Datenverkehr im Klartext aufzeichnen und unbemerkt manipulieren
- Wegen der mangelnden Vertrauenswürdigkeit einiger Zertifizierungsstellen wird seit Anfang 2010 die Sicherheit von TLS grundsätzlich angezweifelt
Durch die Deaktivierung fragwürdiger Zertifizierungsstellen im eigenen Browser lässt sich dieses Risiko jedoch weitgehend beseitigen
In Verbindung mit einem virtuellen Server, zum Beispiel mit HTTP (etwa beim Apache HTTP Server über den VHost-Mechanismus), ist es grundsätzlich als Nachteil zu werten, dass pro Kombination aus IP-Adresse und Port nur ein Zertifikat verwendet werden kann, da die eigentlichen Nutzdaten des darüber liegenden Protokolls (und damit der Name des VHosts) zum Zeitpunkt des TLS-Handshakes noch nicht übertragen wurden
- Dieses Problem wurde mit der TLS-Erweiterung Server Name Indication (SNI) im Juni 2003 durch den RFC 3546 behoben
- Dabei wird bereits beim Verbindungsaufbau der gewünschte Servername mitgesendet
- Die ursprüngliche Erweiterung wurde für TLS 1.0 beschrieben, aufgrund der Kompatibilität der einzelnen TLS-Versionen zueinander wird SNI auch bei TLS 1.1, Version 1.2 und 1.3 entsprechend der Empfehlung umgesetzt
- In der Version 1.3 wird zusätzlich auch versucht, die SNI zu verschlüsseln, um mitzulesenden Parteien nicht zu ermöglichen, trotz verschlüsselter Verbindung Informationen über den Zielserver preiszugeben
- Das muss jedoch vom Browser unterstützt, im Domain Name System (DNS) ein Schlüssel hinterlegt und verschlüsseltes DNS genutzt werden
Im Tor-Netzwerk sind TLS-Zertifikate für Verbindungen in das Internet von besonderer Bedeutung, da ein Abhören einer unverschlüsselten Verbindung mittels Man-in-the-Middle-Angriff dort durch den Rechner, der die Verbindung in das Internet herstellt (bezeichnet als „exit node“), sehr einfach möglich wäre
- Da eine Verbindung zwischen zwei Endpunkten im Tor-Netzwerks jedoch verschlüsselt ist, kann die verschlüsselte Übertragung von Daten innerhalb des Netzwerks nachrangig betrachtet werden, sofern man dem Routing der Verbindungen vertraut
- Hier liegt das Hauptmerkmal der TLS-Verschlüsselung in der Authentizität der Gegenseite
Neben HTTPS als verschlüsselte Variante von HTTP sind weitere bekannte Anwendungsfälle für TLS beispielsweise:
- POP3S für POP3
- SMTPS für SMTP
- NNTPS für NNTP
- SIPS für SIP
- IMAPS für IMAP
- XMPPS für XMPP
- IRCS für IRC
- LDAPS für LDAP
- MBS/IP-TLS
- FTPS für FTP
- EAP-TLS
- TN3270-TLS
- OpenVPN
- DNS over TLS, DNS over HTTPS und DNS over QUIC um DNS Abfragen durch TLS zu tunneln
Auch Verbindungen zu Datenbanksystemen können über TLS abgesichert werden
- Dabei werden die Identität des Servers oder auch des Clients geprüft und die gesamte Kommunikation verschlüsselt
Versionen
Version | Erscheinungsjahr | Bemerkungen |
---|---|---|
SSL 1.0 | 1994 | |
SSL 2.0 | 1995 | seit März 2011 überholt |
SSL 3.0 | 1996 | seit Juni 2015 überholt |
TLS 1.0 | 1999 | seit März 2021 überholt |
TLS 1.1 | 2006 | seit März 2021 überholt |
TLS 1.2 | 2008 | |
TLS 1.3 | 2018 | RFC 8446, enthält auch neue Anforderungen für TLS 1.2 |
Geschichte
Transport Layer Security/Geschichte
Funktionsweise
Transport Layer Security/Funktionsweise
Sicherheit