SSL (Secure Socket Layer) ist die Spezifikation einer Technologie, durch deren Anwendung der Transfer von Daten im Internet abgesichert erfolgt. Die zu übertragenen Daten werden dabei auf der Basis des HTTPS Protokolls verschlüsselt und somit gegen Ausspähen durch Dritte geschützt. Ergänzt wird die Verschlüsselung noch durch den Zwang zur Authentifizierung der Kommunikationsteilnehmer. Die Bezeichnung SSL ist inzwischen abgelöst durch die Bezeichnung TLS (Transport Layer Security). Geändert hat sich dabei nur die Bezeichnung. Die zu Grunde liegende Technologie ist gleich geblieben und zum Teil tragen Software-Pakete und -Bibliotheken aus historischen Gründen noch SSL im Namen, obwohl sie auf dem inzwischen weiter entwickelten TLS basieren.
Von SSL nach TLS – Gemeinsamkeiten und Unterschiede
Die vielfach implementierte und allgemein unter der Abkürzung SSL bekannte Technologie wird heute unter der Bezeichnung TLS weiter geführt und entwickelt. Die grundlegenden Konzepte der Technologie haben sich dabei nicht geändert. Es handelt sich nach wie vor um den Einsatz von HTTPS als ein hybrides Verschlüsselungsprotokoll, dessen letzte Version als SSL-Protokoll die Vers. 3.0 war. Sie wurde danach als TLS-Protokoll, beginnend in der Vers. 1.0, weiter entwickelt und standardisiert. Im allgemeinen Sprachgebrauch werden die beiden Bezeichnungen oft synonym verwendet, wobei allerdings die Vers-Nr. beachtet werden sollte. Beispielsweise entspricht SSL 1.0 nicht TSL 1.0. In der Vorliegenden Darstellung wird die Abkürzung SSL verwendet, da sie den höheren Bekanntheitsgrad hat und es heute immer noch üblich ist von SSL zu sprechen, auch wenn es um TLS Technologie geht. Es werden die grundlegenden Konzepte dargestellt, die sowohl für SSL als auch für TSL identisch sind. Allerdings gibt es bei konkreten Verwendungen unterschiedliche Implementierungen mit abweichenden Bezeichnungen, wie z. B. OpenSSL, GnuTLS, und LibreSSL.
Kryptografie und Identitätsprüfung – das SSL-Funktionsprinzip
Das Funktionsprinzips der Secure Socket Layer bzw. Transport Layer Security ist zweiteilig. Es beruht neben der Verschlüsselung der Daten auch auf dem Einsatz von Authentifizierung. Weit verbreitet und oft verwendet ist der Einsatz von SSL für den gesicherten Abruf vertraulicher Daten von und die gesicherte Übertragung vertraulicher Daten an an einen HTTP-Server (Webserver). Die Echtheit des angewählten Servers wird durch ein Zertifikat garantiert und die Verbindung zwischen Server und Client wird verschlüsselt. Da SSL heute äußerst beliebt ist, ist es fast schon zu einem Standard geworden für die Ergänzung zu Anwendungsprotokollen, mit denen alleine eine sichere Verbindung durch Verschlüsselung nicht realisiert werden kann.
Zertifizierung und Authentifizierung
Die Zertifizierung und Authentifizierung vor Beginn einer Datenübertragung über eine SSL-Verbindung gliedert sich in folgende Verarbeitungsschritte:
– Zertifizierung des öffentlichen Schlüssels erfolgt einmalig
Der Server bekommt auf Anforderung eine Zertifizierung von einer Zertifizierungs- und Validierungsstelle.
– Authentifizierung des Servers
Die Verbindung zwischen Client und Server wird durch einen SSL-Request von Seiten des Client aufgebaut und der Server Authentifiziert sich mit seinem Zertifikat.
– Validierung des übermittelten Zertifikats
Der Client lässt das vom Server erhalten Zertifikat bei der Zertifizierungs- und Validierungsstelle prüfen.
– verschlüsselte Übertragung von Daten
Ist anhand des validierten Zertifikats die Identität des Servers zweifelsfrei erkennbar, beginnt die Übertragung der verschlüsselten Daten.
Ver- und Entschlüsseln
Im Zentrum der Ver- und Entschlüsselung beim SSL-Protokoll steht ein digitales Schlüsselpaar aus einem öffentlichen (Public Key) und einem privaten Schlüssel (Private Key). Beide Schlüssel sind unterschiedlich. Der Sender (Client) bekommt vom Empfänger (Server) den öffentlichen Schlüssel mitgeteilt, nachdem der Empfänger sich mit seinem Zertifikat authentisiert hat. Das Verfahren wird „asymmetrische Verschlüsselung“ oder „Public-Key-Verfahren“ genannt. Der Sender benutzt dann den öffentlichen Schlüssel zum Verschlüsseln der Daten, die er an den Empfänger sendet. Nach der Verschlüsselung können die Daten nicht mehr mit dem öffentlichen Schlüssel entschlüsselt werden, sondern nur noch mit dem passenden privaten Schlüssel des Servers, der diesen deshalb auf jeden Fall geheim halten muss.
Die Zertifikate
Sowohl SSL als auch TLS arbeiten mit sogenannten PKIX-Zertifikaten, was „Public Key Infrastructure nach X.509v3“ bedeutet. Dabei gibt es drei Zertifikatstypen, bei denen der Prüfaufwand bei der Zertifizierung unterschiedlich hoch ist und somit eine unterschiedlich sichere Echtheitsstufe garantiert wird:
– Das Domain-Validated-Zertifikat (DV-SSL) ist das preisgünstigste Zertifikat. Die Domain wird nur durch E-Mail validiert und das Zertifikat meistens schon nach wenigen Minuten ausgegeben.
– Das Organisation-Validation-Zertifikat (OV-SSL) steigert die Vertrauenswürdigkeit der Domain durch vollständige Prüfung des Unternehmens / des Betreibers.
– Das Extended-Validation-Zertifikat (EV-SSL) basiert auf höchstem Validierungsgrad und ist u. a. Üblich im Banksektor.
Die Grenzen von SSL/TLS
Durch das SSL-Protokoll wird ausschließlich die Übertragung der Daten gesichert. Was beim Empfänger dann damit weiter erfolgt, liegt außerhalb dessen, was das SSL-Protokoll regelt.