Was ist SSL? Wie SSL-Zertifikate die verschlüsselte Kommunikation ermöglichen

SSL und sein Nachfolger TLS sind Protokolle, die den Internetverkehr verschlüsseln und so eine sichere Internetkommunikation und den elektronischen Handel ermöglichen. [...]

Schloss vor Programmcode
(c) Pixabay

Seit den Anfängen des Internets sorgen das SSL-Protokoll und sein Nachfolger TLS für die Verschlüsselung und Sicherheit, die den modernen Internethandel möglich machen.

Die jahrzehntelange Geschichte dieser Protokolle ist von ständigen Aktualisierungen geprägt, die darauf abzielen, mit immer raffinierteren Angreifern Schritt zu halten. Die nächste Hauptversion des Protokolls, TLS 1.3, wird bald fertiggestellt – und fast jeder, der eine Website betreibt, wird aufrüsten wollen, denn die Cyberkriminellen holen auf.

Secure Sockets Layer, kurz SSL, war der ursprüngliche Name des Protokolls, als es Mitte der 1990er Jahre von Netscape entwickelt wurde, dem Unternehmen, das den damals beliebtesten Webbrowser herstellte. SSL 1.0 wurde nie für die Öffentlichkeit freigegeben, und SSL 2.0 wies gravierende Mängel auf. SSL 3.0, das 1996 veröffentlicht wurde, wurde komplett überarbeitet und bildete die Grundlage für alles was danach kam.

TLS vs. SSL
Als 1999 die nächste Version des Protokolls veröffentlicht wurde, wurde es von der Internet Engineering Task Force (IETF) standardisiert und erhielt einen neuen Namen: Transport Layer Security (TLS). In der TLS-Spezifikation heißt es: „Die Unterschiede zwischen diesem Protokoll und SSL 3.0 sind nicht dramatisch“.
Es geht also nicht wirklich um TLS gegen SSL; vielmehr bilden die beiden eine ständig aktualisierte Reihe von Protokollen und werden oft unter dem Begriff SSL/TLS zusammengefasst.

Das TLS-Protokoll verschlüsselt alle Arten von Internetverkehr. Sie wissen, dass Ihr Browser über TLS verbunden ist, wenn die URL in Ihrer Adresse mit „https“ beginnt und ein Vorhängeschloss anzeigt, dass die Verbindung sicher ist, wie in diesem Screenshot von Chrome:

TLS kann aber auch von anderen Anwendungen verwendet werden, z. B. von E-Mail und Usenet.

Wie SSL funktioniert
Verschlüsselung ist notwendig, um sicher über das Internet zu kommunizieren: Wenn Ihre Daten nicht verschlüsselt sind, kann jeder Ihre Pakete untersuchen und vertrauliche Informationen lesen. Die sicherste Verschlüsselungsmethode ist die so genannte asymmetrische Kryptografie; sie erfordert zwei kryptografische Schlüssel – Informationen, in der Regel sehr große Zahlen -, damit sie richtig funktionieren, einen öffentlichen und einen privaten. Die Mathematik ist hier sehr komplex, aber im Wesentlichen können Sie den öffentlichen Schlüssel zur Verschlüsselung der Daten verwenden, benötigen aber den privaten Schlüssel, um sie zu entschlüsseln. Die beiden Schlüssel sind durch eine komplexe mathematische Formel miteinander verbunden, die sich nur schwer mit brachialer Gewalt zurückverfolgen lässt. Stellen Sie sich den öffentlichen Schlüssel als Information über den Standort eines verschlossenen Briefkastens mit einem Schlitz an der Vorderseite vor, und den privaten Schlüssel als den Schlüssel, der den Briefkasten aufschließt. Jeder, der weiß wo sich der Briefkasten befindet, kann eine Nachricht einwerfen. Um sie jedoch lesen zu können benötigt man den privaten Schlüssel.

Da die asymmetrische Kryptographie diese schwierigen mathematischen Probleme mit sich bringt, benötigt sie sehr viele Rechenressourcen, so dass der Computer und die Verbindung zum Stillstand kommen würden, wenn man sie zur Verschlüsselung aller Informationen in einer Kommunikationssitzung verwenden würde. TLS umgeht dieses Problem, indem es nur zu Beginn einer Kommunikationssitzung asymmetrische Kryptografie verwendet um die Konversation zu verschlüsseln: Server und Client müssen sich auf einen einzigen Sitzungsschlüssel einigen den beide für die Verschlüsselung ihrer Pakete von diesem Zeitpunkt an verwenden. Die Verschlüsselung mit einem gemeinsamen Schlüssel wird als symmetrische Kryptografie bezeichnet und ist wesentlich weniger rechenintensiv als die asymmetrische Kryptografie. Da der Sitzungsschlüssel mit Hilfe asymmetrischer Kryptografie erstellt wurde, ist die Kommunikationssitzung insgesamt wesentlich sicherer, als sie es sonst wäre.

Der Prozess, bei dem dieser Sitzungsschlüssel vereinbart wird, wird Handshake genannt, da dies der Moment ist, in dem sich die beiden kommunizierenden Computer einander vorstellen, und er ist das Herzstück des TLS-Protokolls.

SSL-Handshake-Verfahren
Der Handshake-Prozess ist recht komplex, und das Protokoll lässt eine Reihe von Variationen zu. Die folgenden Schritte bieten einen groben Überblick, der Ihnen ein Gefühl dafür vermitteln soll, wie er funktioniert.

Der Client kontaktiert den Server und fordert eine sichere Verbindung an. Der Server antwortet mit einer Liste von Chiffriersuiten, d. h. von Algorithmen zur Herstellung verschlüsselter Verbindungen, die er zu verwenden weiß. Der Client vergleicht diese Liste mit seiner eigenen Liste der unterstützten Cipher Suites, wählt eine aus und teilt dem Server mit, dass sie beide diese verwenden werden.
Der Server stellt dann sein digitales Zertifikat zur Verfügung, ein elektronisches Dokument, das von einer dritten Behörde ausgestellt wird und die Identität des Servers bestätigt. Das Wichtigste, was Sie über digitale Zertifikate wissen müssen, ist, dass sie den öffentlichen kryptografischen Schlüssel des Servers enthalten. Sobald der Client das Zertifikat erhält, bestätigt er die Echtheit des Zertifikats.
Mit Hilfe des öffentlichen Schlüssels des Servers erstellen der Client und der Server einen Sitzungsschlüssel, den beide für den Rest der Sitzung zur Verschlüsselung der Kommunikation verwenden. Hierfür gibt es verschiedene Techniken. Der Client kann den öffentlichen Schlüssel verwenden, um eine Zufallszahl zu verschlüsseln, die dann zum Entschlüsseln an den Server gesendet wird, und beide Parteien verwenden dann diese Zahl, um den Sitzungsschlüssel zu erstellen. Alternativ dazu können die beiden Parteien einen so genannten Diffie-Hellman-Schlüsselaustausch verwenden, um den Sitzungsschlüssel zu erstellen.
Wie der Name schon sagt, ist der Sitzungsschlüssel nur für eine einzige, ununterbrochene Kommunikationssitzung gültig. Wenn die Kommunikation zwischen Client und Server aus irgendeinem Grund unterbrochen wird – z. B. aufgrund eines Netzwerkproblems oder weil der Client zu lange inaktiv ist – ist ein neuer Handshake erforderlich, um einen neuen Sitzungsschlüssel zu erstellen, wenn die Kommunikation wiederhergestellt ist.

Was ist ein SSL-Zertifikat?
Ein SSL-Zertifikat ist ein elektronisches Dokument, das die Identität eines Servers bestätigt und eine verschlüsselte Kommunikation ermöglicht.

Wie aus der Beschreibung im vorigen Abschnitt hervorgeht, sind diese Zertifikate das Herzstück des SSL/TLS-Protokolls: Sie liefern dem Client den öffentlichen kryptografischen Schlüssel, der für den Aufbau sicherer Verbindungen erforderlich ist. Aber ihr Zweck geht über die Bereitstellung des Schlüssels selbst hinaus; sie authentifizieren auch, dass der Schlüssel tatsächlich mit der Organisation verbunden ist, die ihn dem Kunden anbietet.

Wie funktioniert das?
Zertifikate werden von Zertifizierungsstellen (Certificate Authorities, CAs) ausgestellt, die bei der Bestätigung von Identitäten als Äquivalent zu einer Passbehörde dienen. Organisationen, die mit TLS verschlüsselte Dienste anbieten wollen, müssen Zertifikate von Zertifizierungsstellen erwerben, die wiederum überprüfen, ob die Organisationen die sind, die sie vorgeben zu sein. Wenn Sie beispielsweise ein Zertifikat kaufen möchten, um eine Website unter example.com zu sichern, müssen Sie der Zertifizierungsstelle nachweisen, dass Sie die Domäne example.com kontrollieren. Wenn sich jemand mit example.com verbindet und ein gültiges, von einer vertrauenswürdigen Zertifizierungsstelle ausgestelltes SSL-Zertifikat erhält, kann er auf diese Weise sicher sein, dass er mit dem rechtmäßigen Eigentümer von example.com kommuniziert. Dies kann Man-in-the-Middle-Angriffe verhindern.

Beachten Sie, dass wir im letzten Absatz den Ausdruck „vertrauenswürdige CA“ verwendet haben. Jeder kann sich selbst als Zertifizierungsstelle einrichten. Wie können Sie feststellen, welche Zertifizierungsstellen die nötige Sorgfalt walten lassen, um ihre Kunden zu authentifizieren? Glücklicherweise wird die Aufgabe, dies herauszufinden, größtenteils von den Softwareherstellern übernommen. Die Mozilla Foundation führt eine Liste von Zertifizierungsstellen, denen Firefox vertraut; Apple und Microsoft führen ebenfalls Listen, die sie auf Betriebssystemebene für Windows, macOS und iOS implementieren und die Chrome auf diesen Plattformen verwendet. Bei der Entscheidung, welchen Zertifizierungsstellen man vertraut, steht viel auf dem Spiel, wie eine Auseinandersetzung zwischen Google und Symantec im Jahr 2017, über die nach Ansicht von Google laxen Standards von Symantec, deutlich machte.

Der Standard, der SSL-Zertifikate definiert, heißt X.509. Dieser Standard ermöglicht es, dass Zertifikate viele Informationen enthalten, die über den öffentlichen Schlüssel und die bestätigte Identität des Zertifikatsinhabers hinausgehen.

SSL-Prüfer
Fast der gesamte oben beschriebene Austausch und die Bestätigung von Informationen findet im Hintergrund statt, wenn Sie mit Servern kommunizieren, die TLS-verschlüsselte Verbindungen anbieten. Wenn Sie etwas mehr Transparenz wünschen, können Sie die URL einer SSL/TLS-verschlüsselten Website in eine SSL-Checker-Website eingeben. Der Checker liefert eine Vielzahl von Informationen über das Zertifikat der getesteten Website, darunter den Servertyp, welche Webbrowser dem Zertifikat vertrauen und welche nicht, den Aussteller, die Seriennummer und das Ablaufdatum.

Die meisten SSL-Prüfprogramme sind kostenlose Dienste, die von den Zertifizierungsstellen als Marketinginstrumente für ihre Produkte angeboten werden. Viele ermöglichen es Ihnen beispielsweise, eine Warnung einzustellen, wenn ein geprüftes Zertifikat abläuft, in der Annahme, dass es sich um Ihr Zertifikat handelt und Sie ein neues benötigen, wenn dieses Datum näher rückt. Wenn Sie eine etwas weniger kommerzielle Alternative suchen, sollten Sie sich den SSL-Checker von Qualys SSL Labs ansehen, der eine besonders zuverlässige Sammlung von Informationen über geprüfte Websites bietet.

TLS 1.2 und TLS 1.2-Sicherheitslücken
TLS 1.2 ist die aktuellste definierte Version des Protokolls, und das schon seit mehreren Jahren. Mit ihr wurde eine Vielzahl neuer kryptografischer Optionen für die Kommunikation eingeführt. Wie einige frühere Versionen des Protokolls erlaubte es jedoch auch die Verwendung älterer kryptografischer Techniken, um ältere Computer zu unterstützen. Leider wurde es dadurch anfällig für Schwachstellen, da diese älteren Techniken im Laufe der Zeit immer anfälliger geworden sind und die Rechenleistung immer billiger wurde.

Insbesondere TLS 1.2 wurde zunehmend anfällig für so genannte „Man-in-the-Middle“-Angriffe, bei denen ein Hacker Pakete mitten in der Kommunikation abfängt und sie weiterleitet, nachdem er sie gelesen oder verändert hat. Außerdem ist es anfällig für die Angriffe POODLE, SLOTH und DROWN. Viele dieser Probleme sind in den letzten zwei Jahren aufgetreten, was die Dringlichkeit einer Aktualisierung des Protokolls erhöht hat.

TLS 1.3
Glücklicherweise ist Hilfe auf dem Weg. Die Version 1.3 des TLS-Protokolls, die sich derzeit im Entwurfsstadium befindet, aber bald fertiggestellt sein wird, stopft viele dieser Löcher, indem sie die Unterstützung für ältere Verschlüsselungssysteme aufhebt. Es besteht Rückwärtskompatibilität in dem Sinne, dass Verbindungen auf TLS 1.2 zurückfallen, wenn ein Ende nicht in der Lage ist, die neueren Verschlüsselungssysteme auf der 1.3-Liste zu verwenden. Wenn jedoch beispielsweise ein Man-in-the-Middle-Angriff versucht, einen Rückgriff auf 1.2 zu erzwingen, um Pakete auszuspionieren, wird dies erkannt und die Verbindung abgebrochen.

Es gibt immer noch Server, die noch ältere TLS-Versionen als 1.2 verwenden – einige verwenden sogar noch das ursprüngliche SSL-Protokoll. Wenn Ihr Server zu diesen gehört, sollten Sie jetzt aufrüsten und gleich auf den Entwurf der Spezifikation 1.3 umsteigen.

TLS-Malware
Ein letzter Hinweis zu TLS und Sicherheit: Die Guten sind nicht die Einzigen, die TLS verwenden! Viele Cyberkriminelle nutzen TLS, um den Befehls- und Kontrollverkehr zwischen ihren Servern und der auf den Computern ihrer Opfer installierten Malware zu verschlüsseln. Dies führt zu einer Umkehrung der üblichen Verhältnisse und lässt die Opfer von Cyberkriminalität nach einer Möglichkeit suchen, den Datenverkehr zu entschlüsseln. Es gibt eine Reihe von Techniken für den Umgang mit dieser Art von verschlüsselten Angriffen, einschließlich der Verwendung von Netzwerk-Metadaten über den verschlüsselten Datenverkehr, um ein Gefühl dafür zu bekommen, was die Angreifer tun, ohne tatsächlich etwas davon zu lesen.

*Josh Fruhlinger ist Schriftsteller und Redakteur und lebt in Los Angeles.


Mehr Artikel

Gregor Schmid, Projektcenterleiter bei Kumavision, über die Digitalisierung im Mittelstand und die Chancen durch Künstliche Intelligenz. (c) timeline/Rudi Handl
Interview

„Die Zukunft ist modular, flexibel und KI-gestützt“

Im Gespräch mit der ITWELT.at verdeutlicht Gregor Schmid, Projektcenterleiter bei Kumavision, wie sehr sich die Anforderungen an ERP-Systeme und die digitale Transformation in den letzten Jahren verändert haben und verweist dabei auf den Trend zu modularen Lösungen, die Bedeutung der Cloud und die Rolle von Künstlicher Intelligenz (KI) in der Unternehmenspraxis. […]

News

Richtlinien für sichere KI-Entwicklung

Die „Guidelines for Secure Development and Deployment of AI Systems“ von Kaspersky behandeln zentrale Aspekte der Entwicklung, Bereitstellung und des Betriebs von KI-Systemen, einschließlich Design, bewährter Sicherheitspraktiken und Integration, ohne sich auf die Entwicklung grundlegender Modelle zu fokussieren. […]

News

Datensilos blockieren Abwehrkräfte von generativer KI

Damit KI eine Rolle in der Cyberabwehr spielen kann, ist sie auf leicht zugängliche Echtzeitdaten angewiesen. Das heißt, die zunehmende Leistungsfähigkeit von GenAI kann nur dann wirksam werden, wenn die KI Zugriff auf einwandfreie, validierte, standardisierte und vor allem hochverfügbare Daten in allen Anwendungen und Systemen sowie für alle Nutzer hat. Dies setzt allerdings voraus, dass Unternehmen in der Lage sind, ihre Datensilos aufzulösen. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*