Das SSL Secure Sockets Layer
Erklährung des Internet-Begriffes SSL (Secure Sockets Layer)Sicherheit im Internet durch SSL Der englische Begriff Secure Sockets Layer (kurz SSL) steht für ein kryptographisches Protokoll, das sichere Verbindungen über das Internet ermöglicht.
Das Protokoll funktioniert vergleichbar mit einem klassischen Handschlag.
Server und Client tauschen dabei Protokolle aus, um die über die Verbindung ausgetauschten Daten zu schützen.
Ausgeklügelte Funktionsweise
Die SSL-Protokolle, neuerdings auch unter dem aktualisiertem Namen Transport Layer Security (TLS) bekannt, funktionieren über den Austausch verschiedener Parameter zwischen Server und Client.
Dazu übergibt zuerst der Client einige Informationen (unter anderem seine SSL-Nummer und für die aktuelle Sitzung relevante Daten) an den Server.
Dieser vollzieht daraufhin die selbe Prozedur und übersendet ebenfalls SSL-Nummer und für die Sitzung relevante Daten.
Außerdem übersendet der Server ein Zertifikat an den Client.
Dieses spielt bei der Authentifizierung eine besondere Rolle, denn im nächsten Schritt überprüft der Client das vom Server übersendete Zertifikat auf Echtheit und gleicht es zudem mit Datenbanken über falsche Serverzertifikate und andere Betrugsversuche ab. Auch abgelaufene Zertifikate werden dabei vom Client erkannt und abgewiesen.
Sollte das Zertifikat vom Client als schädlich erkannt werden, wird der Internetnutzer informiert. Geschieht das nicht, wird er weitergeleitet.
Sollte das Zertifikat als schädlich erkannt werden, kann der Benutzer jedoch dennoch entscheiden, dass er gerne weiter verfahren würde.
Dazu muss er sich allerdings über eine Sicherheitsmeldung hinwegsetzen. Sobald dieser Schritt abgeschlossen ist, generiert der Client ein vorläufiges Passwort (es handelt sich hierbei nicht zwingend um ein Passwort, auch andere Verschlüsselungssysteme existieren), dass er, mit Hilfe der im zweiten Schritt vom Server übermittelten Daten, verschlüsselt.
Dieses Passwort versendet der Client daraufhin an den Server. Der Server entschlüsselt dann das übersendete Passwort und generiert auf Basis der Daten, die der Client zuvor übersendet hat, ein endgültiges Passwort.
Mit diesem sogenannte Master-Passwort, dass der Server wieder an den Client übermittelt, werden daraufhin sogenannte Session-Schlüssel gebildet, die dazu genutzt werden, um die einzelnen Daten, die im Verlauf der Session generiert werden, zu verschlüsseln. Daraufhin tauschen sich Server und Client noch über den Abschluss der Transaktion aus und einigen sich über den Austausch mit den generierten Schlüsseln.
Danach ist der Austausch abgeschlossen, alle daraufhin durch die Verbindung generierten Daten werden von nun an verschlüsselt (vom Client oder vom Server) und entschlüsselt (vom Server oder vom Client).
Scheitert einer der oben angeführten Schritte, findet der SSL-Austausch nicht statt und die Verbindung wird nicht hergestellt.
Möglicher Zusatz-Schritt
Darüberhinaus besteht für den Server die optionale Möglichkeit, auch den Client zu identifizieren. Dazu verlangt der Server vom Client ebenfalls ein Zertifikat, dass dessen Echtheit garantiert. Auch der Server kann dieses Zertifikat dann mit diversen Datenbanken abgleichen, die das Zertifikat im negativen Fall als abgelaufen, falsch oder schädlich identifizieren können. Sollte das geschehen, stellt der Server keine Verbindung mit dem Client her.
Verwendung von Secure Sockets Layer Das bekannteste Anwendungsgebiet von Secure Sockets Layer sind Websites im Internet.
Der ausgetauschte Traffic wird dabei durch die sogenannten HTTP(Hypertext Transfer Protocol)- und HTTPS (Hypertext Transfer Protocol Secure)-Protokolle gesichert.
Diese funktionieren auf TSL- bzw. SSL-Basis. Darüberhinaus wird SSL bei der Generierung von Schlüsseln und Authentifizierungen von Servern benutzt.
Auch bei der Verwendung von Algorithmen, die zwischen Client und Server ausgetauscht werden, wird SSL verwendet. Weitere Anwendungsgebiete sind Web-Browser, die je nach Aktualität auf unterschiedliche SSL-Standards setzen, und Betriebssysteme.
Verschiedene SSL-Standards
Secure Sockets Layer gilt als Erfindung von Netscape, das 1993 die erste Version testete.
Diese wurde jedoch nie dem freien Markt zur Verfügung gestellt. Dieser Schritt folgte erst mit SSL 2.0, das 1995 vorgestellt wurde. Damals konnte der Standard jedoch nicht überzeugen, denn zahlreiche Sicherheitslücken machten den Dienst für eine komplett sichere Verbindung unbenutzbar.
Der absolute Durchbruch von SSL gelang erst 1996, als die Entwickler den Standard weiterentwickelten und eine erstmals nahezu fehlerlos funktionierende Version auf den Markt brachten.
Der Logarithmus von SSL 3.0 diente daraufhin auch für die Entwicklung der weiteren Versionen. Die erste davon war das im Jahr 1999 eingeführte TSL 1.0. Der neue Standard brachte einen entscheidenden Vorteil gegenüber seinem Vorgänger, denn während SSL 3.0 die Verbindungsgeschwindigkeit des Client zum Server deutlich verringte, machte TSL 1.0 den Datenaustausch nahezu in Echtzeit möglich.
Wenig überraschend folgten nach der Einführung von TSL 1.0 nur noch wenige Erweiterungen, die sich hauptsächlich auf kleine Weiterentwicklungen in spezifischen Bereichen und der Sicherheit fokussierten.
Die weiteren Versionen TSL 1.1 und TSL 1.2 wurden in den Jahren 2006 und 2008 vorgestellt.
2011 folgte ein Update, dass die Synchronisation mit dem alten Standard TSL 2.0 ausschloss, sodass nur noch Protokolle mit SSL 3.0 oder neuer, identifiziert werden konnten.
Zahlreiche Probleme und Attacken
Der Ausschluss von SSL 2.0 erfolgte auf Grund verschiedener Probleme.
Unter anderem wurde der Verschlüsselungsprozess selbst, nicht überwachtet und war somit angreifbar.
Zudem wurde Verschlüsselung und Entschlüsselung durch die selben Passwörter durchgeführt, was es Angreifen erleichterte, durch die Gewinnung eines Schlüssels, auch den anderen Schlüssel zu erhalten.
Nachdem zahlreiche Attacken auf das Protokoll erfolgreich durchgeführt wurden, reagierten auch die Anbieter von Web Browsern, die SSL 2.0 nach und nach exkludierten.
Auch SSL 3.0 und TSL 1.0 mussten sich bereits mit Kritik herumschlagen, diese konzentrierte sich aber hauptsächlich auf die schwierige Einbettung in Web Browser und Probleme bei der übermittlung der Daten – weniger auf die Sicherheit.
Dennoch gab es im Laufe der Jahre einige nennenswerte Attacken.
Beispielsweise gelang es einem Angreifer, sich zwischen Server und Client einzuklingen und sich dadurch Zugriff auf die Verbindung zu sichern. Auch nach einer Weiterentwicklung (von SSL 2.0 zu SSL 3.0), die das eigentlich verhindern sollte, gelang es einem anderen Angreifer, durch eine ähnliche Methode in das verschlüsselte System einzudringen.
Mittlerweile scheint diese Möglichkeit allerdings ausgemerzt. Weitere Angriffe setzten insbesondere bei den Web Browsern an, die Sicherheitslücken bei der Implikation der Systeme fahrlässig in Kauf nahmen.