SSL
"Secure Sockets Layer" (SSL) ist ein Verschlüsselungsprotokoll für die sichere Datenübertragung im Internet. Seit der SSL-Version 3.0 (1999) wird das Übertragungsprotokoll unter dem Namen "Transport Layer Security" (TLS) weitergeführt und weiterentwickelt, wobei SSL 3.0 TLS 1.0 entspricht. Die TLS-Verschlüsselung (TLS, dt. Transportschichtsicherheit) wird heute vorwiegend eingesetzt, um mit einem Webserver verschlüsselt zu kommunizieren. Das ist besonders wichtig für Webshops und Online-Banking. Und weil SSL/TLS sehr flexibel ist, wird das Protokoll häufig auch für die verschlüsselte Übertragung von Daten zwischen einem E-Mail-Client und einem E-Mail-Server verwendet.

Daten verschlüsseln mit SSL/TLS

TLS ist das für die Datenübertragung zwischen Browser und Webserver und bei der E-Mail am häufigsten verwendete Verschlüsselungsprotokoll. Genau wie SSL ist auch TLS ein asymmetrisches Verschlüsselungsverfahren. Das bedeutet, dass bei der Verschlüsselung symmetrische Verfahren, wie AES (Advanced Encryption Standard), DES (Data Encryption Standard) und Triple DES und asymmetrische Verfahren wie zum Beispiel Public Key und RSA eingesetzt werden. Der Aufbau der Verbindung wird nach dem Public Key Verfahren verschlüsselt, die nachfolgende Datenübertragung erfolgt dann mit symmetrischen Verfahren.
Als Hauptaufgaben von SSL/TLS gelten:

  1. Die Authentifizierung der Kommunikationspartner mithilfe eines asymmetrischen Verschlüsselungsverfahrens und Zertifikaten.
  2. Eine vertrauliche Ende-zu-Ende-Verschlüsselung durch symmetrische Algorithmen wie AES, DES und Triple DES. Der Schlüssel ist nur für die jeweilige Verbindung gültig und wird dabei im Voraus vom TSL Handshake Protocol vereinbart.
  3. Die Sicherung der Integrität einer Nachricht, also die Feststellung, dass eine Nachricht in einem nichtmodifizierten Zustand und mit korrektem Inhalt vorliegt.

So funktioniert SSL/TLS

Nach dem Aufbau der Verbindung vom Client zum Server authentisiert sich der Server durch ein Zertifikat. Dieses wird durch den Client auf seine Gültigkeit und Übereinstimmung mit dem Servernamen überprüft. Für den Client ist es außerdem möglich, sich mit einem eigenen Zertifikat gegenüber dem Server zu authentifizieren. Danach schickt der Client dem Server eine mit dem öffentlichen Schlüssel des Servers erzeugte geheime Zufallszahl oder beide Kommunikationspartner berechnen nach dem Diffie-Hellman-Schlüsseltausch ein gemeinsames Geheimnis aus dem der geheime kryptografische Schlüssel abgeleitet wird. Dieser Schlüssel wird für die folgende Kommunikation verwendet, um sie mit einem symmetrischen Verschlüsselungsverfahren zu chiffrieren. Die zu übertragenden Daten werden dabei in Blöcke von maximal 16384 Byte fragmentiert, die Zusammensetzung erfolgt beim Empfänger.

Vorteile

Zu den Vorteilen des TLS-Protokolls gehört die Möglichkeit, jedes höhere Protokoll zu implementieren, was eine Unabhängigkeit von Plattformen und Anwendungen gewährleistet. Außerdem ist das Protokoll weit verbreitet, wird von jedem Browser unterstützt und ist mit den meisten Firewalls kompatibel. Die Verschlüsselung geschieht im Hintergrund ohne die Arbeit des Benutzers zu beeinträchtigen.

Nachteile

Als Nachteil des Protokolls ist der sehr rechenintensive Aufwand auf der Serverseite zu sehen, die einen Verbindungsaufbau sehr langsam erscheinen lässt. Die eigentliche Verschlüsselung der Daten nimmt dann jedoch nur wenig Rechenzeit in Anspruch. Die verschlüsselten Daten können außerdem kaum noch komprimiert werden, was aber bei der heutigen Übertragungsgeschwindigkeit nicht ins Gewicht fällt. Das SSL/TLS Protokoll verschlüsselt immer nur zwischen zwei Stationen. Bei bestimmten Server-Architekturen ist es jedoch möglich, dass die Daten über mehrere Stationen gesendet werden. An dieser Stelle reicht SSL/TLS nicht mehr aus, da jede Station die Nachricht lesen kann, auch wenn diese nicht für sie bestimmt sind. Auch der notwendige Erwerb von Zertifikaten ist eher ein Nachteil, außerdem sind Angriffe auf das Zertifikatssystem möglich und ein Aussteller der Zertifikate kann als potenziell nicht vertrauenswürdig gelten.