Was ist SSL?

Zur Übersicht

Inhaltsverzeichnis

Was ist SSL?

Secure Sockets Layer (SSL) ist ein Netzwerkprotokoll, das für die Sicherung von Verbindungen zwischen Web-Clients und Web-Servern über ein unsicheres Netzwerk, wie das Internet, entwickelt wurde. Nach seiner formalen Einführung im Jahr 1995 ermöglichte SSL einem Webserver, sichere Online-Transaktionen zwischen Verbrauchern und Unternehmen zu ermöglichen. Aufgrund zahlreicher Protokoll- und Implementierungsfehler und Schwachstellen wurde SSL im Jahr 2015 von der Internet Engineering Task Force (IETF) für die Verwendung im Internet veraltet und durch das Transport Layer Security (TLS)-Protokoll ersetzt.

Informationen zu SSL

Während TLS und SSL nicht interoperabel sind, waren die Versionen von TLS bis 1.2 abwärtskompatibel mit SSL 3.0. Die Abwärtskompatibilität mit SSL wurde jedoch mit TLS 1.3, der aktuellen Version von TLS, die 2018 veröffentlicht wurde, aufgehoben.

SSL wurde ursprünglich in den 1990er Jahren als proprietäres Protokoll spezifiziert, das es Netscape-Browser-Clients, die das Hypertext Transfer Protocol (HTTP) verwenden, ermöglichte, sicher mit Netscape-Webservern zu kommunizieren; während Version 1.0 von SSL nie veröffentlicht wurde, debütierte Version 2.0 des Protokolls 1995. SSL war das erste weit verbreitete Protokoll zur Sicherung von Online-Transaktionen und wurde schließlich auch zur Sicherung der Authentifizierung und Verschlüsselung für andere Anwendungen auf der Netzwerktransportschicht verwendet.

SSL verwendet eine Kombination aus Public-Key- und Private-Key-Verschlüsselung und anderen kryptografischen Funktionen, um eine Verbindung zwischen zwei Rechnern, typischerweise einem Webserver oder Mailserver und einem Client-System, zu sichern, die über das Internet oder ein anderes TCP/IP-Netzwerk kommunizieren. SSL bietet einen Mechanismus zur Verschlüsselung und Authentifizierung von Daten, die zwischen Prozessen auf einem Client und einem Server gesendet werden, sowie zur Vermittlung des sicheren Austauschs von privaten Schlüsseln für die Sitzungsverschlüsselung durch die Verwendung eines SSL-Zertifikats, das von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wurde.

SSL läuft oberhalb der Transportschicht und der Netzwerkschicht, die für den Transport von Daten zwischen Prozessen bzw. das Routing des Netzwerkverkehrs über ein Netzwerk zwischen Client und Server verantwortlich sind, und unterhalb von Protokollen der Anwendungsschicht, wie HTTP und dem Simple Mail Transport Protocol (SMTP). Der Socket-Teil des Begriffs bezieht sich auf die Socket-Methode zur Übermittlung von Daten zwischen einem Client- und einem Serverprogramm in einem Netzwerk oder zwischen Prozessen auf demselben Computer.

Das TLS-Protokoll entwickelte sich aus SSL und hat es offiziell abgelöst, obwohl die Begriffe SSL oder SSL/TLS immer noch häufig verwendet werden, um sich auf das Protokoll zu beziehen, das zur Sicherung des Web-/Internetverkehrs verwendet wird. SSL/TLS ist das heute am weitesten verbreitete Sicherheitsprotokoll und wird laut Google zur Absicherung von mehr als 50 % der vom Chrome-Browser geladenen Seiten verwendet. Neben der Unterstützung der Übertragung von Webseiten wurde SSL auch für Anwendungen wie E-Mail, Dateiübertragung, Instant Messaging (IM) und Voice over IP (VoIP) implementiert.

Die Bedeutung von SSL

SSL ist von historischer Bedeutung, da es das erste weit verbreitete und breit implementierte Netzwerkprotokoll war, das eine kryptografisch gesicherte Kommunikation zwischen zuvor nicht verbundenen Client- und Serversystemen ermöglichte.

Während SSL als proprietäres Protokoll begann, das von Netscape entwickelt und implementiert wurde, veröffentlichte das Webserver-Softwareunternehmen sein Protokoll und machte es für die Implementierung durch andere Unternehmen verfügbar. Indem Netscape das Protokoll seinen Mitbewerbern zugänglich machte, konnte das Unternehmen mit seinem sicheren Webserver-Produkt Marktanteile gewinnen und gleichzeitig sicherstellen, dass das SSL-Protokoll zu einem von der IETF vorgeschlagenen Standard wurde.

SSL ist immer noch implementiert, meist in älteren Systemen, aber in den meisten Fällen sollte es durch TLS ersetzt werden, um die Sicherheit zu verbessern und Schwachstellen im älteren Protokoll und deren Ausnutzung zu vermeiden.

Während das Protokoll selbst veraltet ist, besteht SSL an vielen Stellen weiterhin als Bezeichnung für TLS oder SSL, die zur Sicherung der Kommunikation auf der Transportschicht verwendet werden. Zum Beispiel vermarkten Zertifizierungsstellen ihre Website-Zertifikate oft als SSL-Zertifikate, weil dies der Begriff ist, der ihren Kunden vertrauter ist.

Wie SSL funktioniert

Das SSL-Protokoll umfasst zwei Unterprotokolle: das Record-Protokoll und das Handshake-Protokoll.

Das Handshake-Protokoll definiert, wie ein Web-Client und ein Web-Server eine SSL-Verbindung aufbauen, einschließlich der Aushandlung, welche kryptografischen Systeme jeder Host für die Kommunikation verwenden will - oder nicht. SSL spezifiziert auch Prozesse für den Austausch von kryptografischem Material, wie z. B. SSL-Zertifikate für die Authentifizierung von Webservern, öffentliche Schlüssel für die Authentifizierung der übertragenen Daten und private Schlüssel für die Sitzungsverschlüsselung.

Das Protokoll definiert, wie kommunizierende Hosts Daten mit SSL austauschen, einschließlich Spezifikationen, wie Daten für die Übertragung vorbereitet werden und wie sie beim Empfang verifiziert oder entschlüsselt werden.

Als Teil des anfänglichen Handshake-Prozesses legt ein Server sein SSL-Zertifikat vor, um sich gegenüber dem Client zu authentifizieren. Serverzertifikate folgen dem X.509-Zertifikatsformat, das von den Public Key Cryptography Standards (PKCS) definiert wurde. Der Authentifizierungsprozess verwendet die Verschlüsselung mit öffentlichen Schlüsseln, um das digitale Zertifikat zu validieren und um zu bestätigen, dass ein Server tatsächlich der Server ist, der er vorgibt zu sein. SSL-Zertifikate sollten, wie jedes digitale Zertifikat, von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt werden.

Sobald der Server authentifiziert wurde, legen Client und Server Chiffriereinstellungen und einen gemeinsamen Schlüssel fest, um die Informationen zu verschlüsseln, die sie während der verbleibenden Sitzung austauschen. Dies gewährleistet die Vertraulichkeit und Integrität der Daten. Dieser ganze Prozess ist für den Benutzer unsichtbar. Wenn z. B. eine Webseite eine SSL-Verbindung erfordert, ändert sich die URL von HTTP zu HTTP Secure (HTTPS), und im Browser wird ein Vorhängeschloss-Symbol angezeigt, sobald der Server authentifiziert wurde.

SSL-Zertifikat Agentur Sence
Der SSL-Haken auf unserer Website.

 

Der Handshake ermöglicht es dem Client auch, sich gegenüber dem Server zu authentifizieren. In diesem Fall muss der Client nach Abschluss der Server-Authentifizierung dem Server sein Zertifikat vorlegen, um die Identität des Clients zu authentifizieren, bevor die verschlüsselte SSL-Sitzung aufgebaut werden kann.

Unterschiede zwischen SSL und TLS

Nachdem die IETF das SSL-Protokoll offiziell übernommen hatte, um es durch einen offenen Prozess zu standardisieren, wurde die Version 3.1 von SSL als TLS 1.0 veröffentlicht - der Name wurde geändert, um mögliche rechtliche Probleme mit Netscape zu vermeiden. Viele Angriffe gegen SSL konzentrierten sich auf Probleme bei der SSL-Implementierung, aber die POODLE-Schwachstelle (Padding Oracle On Downgraded Legacy Encryption) ist ein bekannter Fehler im SSL 3.0-Protokoll selbst, der die Art und Weise ausnutzt, in der es Padding-Bytes ignoriert, wenn es im Cipher Block Chaining (CBC)-Modus läuft. Diese Schwachstelle ermöglicht es einem Angreifer, vertrauliche Informationen, wie z. B. Authentifizierungs-Cookies, zu entschlüsseln. TLS 1.0 ist für diesen Angriff nicht anfällig, da es vorschreibt, dass alle Padding-Bytes den gleichen Wert haben müssen und verifiziert werden müssen.

Weitere wichtige Unterschiede zwischen SSL und TLS, die TLS zu einem sichereren und effizienteren Protokoll machen, sind die Nachrichtenauthentifizierung, die Erzeugung von Schlüsselmaterial und die unterstützten Cipher Suites, wobei TLS neuere und sicherere Algorithmen unterstützt. TLS 1.3 ist die aktuellste Version, die 2018 veröffentlicht wurde.