SSL oder TLS? So unterscheiden sich die Protokolle wirklich
Secure Sockets Layer (SSL) ist ein Protokoll, das eine geschützte Verbindung zwischen zwei Systemen in einem Netzwerk ermöglicht. Es sorgt dafür, dass sensible Informationen nur nach einer erfolgreichen Authentifizierung der beteiligten Parteien ausgetauscht werden. Da SSL jedoch inzwischen veraltet ist und bekannte Sicherheitslücken aufweist, wurde es durch Transport Layer Security (TLS) ersetzt. TLS bietet eine effizientere Authentifizierung und gewährleistet weiterhin eine sichere, verschlüsselte Datenübertragung. Obwohl SSL und TLS denselben Zweck erfüllen, unterscheiden sie sich in ihrer technischen Umsetzung. Diese Unterschiede haben sich nach und nach entwickelt, da SSL mehrere Entwicklungsstufen durchlief, bevor es schließlich durch TLS ersetzt wurde. Ein zentrales Element ist der sogenannte Handshake. Dabei überprüft der Browser das Zertifikat des Servers und stellt sicher, dass beide Seiten authentifiziert sind, bevor kryptografische Schlüssel ausgetauscht werden. Während der SSL-Handshake als explizite Verbindung angelegt war und mehr einzelne Schritte erforderte, arbeitet TLS effizienter. Der Prozess wurde vereinfacht und überflüssige Abläufe entfielen. Diese Vereinfachung kam erst mit TLS 1.3. Und nicht nur das mit dieser Version. Auch die Zahl der unterstützten Cipher-Suites wurde reduziert. Dadurch läuft die Verbindungsaushandlung mit TLS schneller und sicherer ab. Zudem zeigen sich beim Umgang mit Warnmeldungen Unterschiede. SSL kannte nur zwei Varianten: einfache Warnungen, nach denen die Verbindung fortgeführt werden konnte und schwerwiegende Warnungen, die zu einem sofortigen Abbruch führten. Diese Hinweise waren unverschlüsselt. MIt TLS führte man zusätzlich die „Close Notification“ ein, die das geordnete Ende einer Sitzung signalisiert. Darüber hinaus werden sämtliche Warnmeldungen bei TLS verschlüsselt übertragen, was die Sicherheit nochmals erhöht. In Bezug auf die Nachrichtenauthentifizierung setzen beide Protokolle auf sogenannte Message Authentication Codes (MACs). Sie dienen dazu, die Integrität und Echtheit der übertragenen Daten zu überprüfen. SSL griff hierfür auf den mittlerweile unsicheren MD5-Algorithmus zurück, während TLS auf Hash-basierte Nachrichtenauthentifizierungscodes (HMAC) setzt, die eine robustere kryptografische Absicherung bieten. Schließlich unterscheiden sich auch die verwendeten Cipher-Suites, also die Bündel aus Verschlüsselungs- und Authentifizierungsalgorithmen. Eine solche Suite besteht typischerweise aus einem Verfahren zum Schlüsselaustausch, einem Algorithmus zur Validierung, einem Verschlüsselungsverfahren für die eigentlichen Daten sowie einem MAC-Algorithmus.
Wo liegen die Parallelen?
Nutzen
Beide sind Protokolle, die dafür entwickelt wurden, Daten bei der Übertragung zwischen Servern, Anwendungen, Benutzern und Systemen zu verschlüsseln. Sie stellen sicher, dass zwei über ein Netzwerk verbundene Parteien einander authentifizieren können, bevor sensible Informationen ausgetauscht werden.
90s Kids
Die Ursprünge dieser Technologie reichen in die Mitte der 1990er-Jahre zurück. Unter der Leitung von Taher Elgamal entstand SSL, dessen Version 2.0 im Jahr 1995 veröffentlicht wurde. Ziel war es, die Kommunikation im World Wide Web vor unbefugtem Zugriff zu schützen. Nachdem SSL mehrere Entwicklungsstufen durchlaufen hatte, folgte 1999 die Einführung von TLS 1.0 durch Tim Dierks und Christopher Allen, als direkter Nachfolger von SSL 3.0.
Handshake-Prozess
Der Zweck von TLS entspricht grundsätzlich dem ursprünglichen Ziel von SSL: sichere Kommunikation durch Verschlüsselung und Authentifizierung. In beiden Fällen kommen digitale Zertifikate zum Einsatz, die den sogenannten Handshake-Prozess unterstützen und die Grundlage für eine verschlüsselte Verbindung zwischen Browser und Webserver schaffen.
HTTP(S)
Eine besonders sichtbare Rolle spielt TLS im Zusammenhang mit HTTPS. Während HTTP lediglich ein Regelwerk für den Datenaustausch zwischen Client und Server darstellt, erweitert HTTPS dieses Protokoll um eine sichere TLS-Verbindung. Bevor ein Browser eine Verbindung zu einer Website aufbaut, überprüft er deren Zertifikat und stellt so sicher, dass der Server aktuelle Sicherheitsstandards erfüllt. Für Nutzer*innen wird dies direkt in der Adresszeile erkennbar. Eine sichere Verbindung beginnt mit „https://“ statt mit „http://“. Das zusätzliche „s“ weist auf den entscheidenden Unterschied hin: „sicher“.
Verwechslungsgefahr!
In der Praxis wird häufig weiterhin der Begriff „SSL“ verwendet, auch wenn eigentlich TLS gemeint ist. Begriffe wie „SSL“ oder „SSL/TLS“ beziehen sich in den meisten Fällen auf TLS-Verbindungen und entsprechende Zertifikate.
Warum wird der Begriff SSL immer noch verwendet?
Obwohl längst TLS im Einsatz ist, wird der Begriff SSL häufig dafür verwendet. Das sorgt für viel Verwirrung. Gründe dafür sind alte Namenskonventionen, die starke Markenbekanntheit, sowie gängige Suchgewohnheiten. SSL war in den Anfangsjahren des Internets weit verbreitet und gilt bis heute als Synonym für sichere Kommunikation. Selbst Zertifikate, die sich noch als „SSL-Zertifikat“ bezeichnen, basieren technisch auf aktuellen TLS-Protokollen.
Wie funktioniert SSL/TLS?
1. Client Hello
Der Client meldet sich beim Server und schlägt Verschlüsselungsverfahren, TLS-Version und eine Zufallszahl vor.
2. Server Hello
Der Server wählt passende Verfahren, sendet ebenfalls eine Zufallszahl und sein Zertifikat zurück.
3. Certificate Validation
Der Client überprüft das Server-Zertifikat auf Gültigkeit, Vertrauenswürdigkeit und Signatur.
4. Key Exchange
Beide Seiten tauschen ein Geheimnis aus und erzeugen daraus denselben Sitzungsschlüssel.
5. Finished Messages
Mit verschlüsselten Bestätigungen zeigen beide, dass der Handshake erfolgreich war und die Verbindung nun sicher ist.
Anwendungsgebiete für SSL/TLS
- Schutz beim Datenaustauschs zwischen Webbrowsern und Websites
- Verbindungen zwischen E-Mail-Clients und -Servern
- VPN Übertragung
- VoIP
- Interne Netzwerke
- DevOps-Pipelines (DevOps)
- Kommunikation zwischen Geräten des Internet of Things (IoT) und Cloud-Servern
- Datenbankverbindungen
- Zahlungsabwicklungen
- Remote Desktop Protocol (RDP)
Laufzeit von SSL/TLS-Zertifikats
Die Laufzeit eines SSL/TLS-Zertifikats legt fest, wie lange es zur Absicherung der Datenübertragung eingesetzt werden kann. Derzeit beträgt die maximale Dauer 398 Tage, also rund 13 Monate. Diese Begrenzung wurde von der Branche eingeführt, um die Sicherheit zu erhöhen: Durch kürzere Laufzeiten sinkt das Risiko, dass kompromittierte Schlüssel über längere Zeit missbraucht werden können.
Comments are closed.