Online-Sicherheit ist ein großes Thema für alle Internetnutzer, von Webseiten-Betreibern über Browser-Hersteller und Suchmaschinen bis zum gewöhnlichen User. Online-Betrüger finden immer wieder neue Maschen, um an Daten argloser Nutzer zu kommen. Um dem entgegenzuwirken, sind entsprechende Sicherheitsmechanismen für den eigenen Webauftritt Pflicht. Genau dafür wurde das Verschlüsselungsprotokoll SSL/TLS geschaffen. Was sich dahinter verbirgt und warum ein SSL-Zertifikat so wichtig ist, erklärt dieser Beitrag.
Worum handelt es sich bei der SSL-Verschlüsselung?
SSL steht für „Secure Sockets Layer“ und ist ein Protokoll, das sich zwischen den Webserver und den Client schaltet, um die Datenübertragung zu verschlüsseln. Dies sorgt für den notwendigen Schutz von sensiblen Daten wie Passwörtern, Kreditkarteninformationen, etc. auf Websites und sichert die Kommunikation via E-Mail.
Streng genommen ist der Name SSL heute nicht mehr zeitgemäß, wurde doch die SSL-Verschlüsselung schon im Jahr 1999 von TLS (Transport Layer Security) abgelöst, um eine große Zahl an Sicherheitslücken auszugleichen. Mit der Einführung von TLS gingen mehr kryptographische Sicherheit, mehr Flexibilität für Anwendungen und mehr Effizienz einher. Bis heute verwenden jedoch viele Router, Softwares, etc. die doppelte Bezeichnung SSL/TLS. Der Name hat sich also gehalten, man spricht weiterhin gerne von SSL-Zertifikaten.
Wird die Webkommunikation über SSL-Verschlüsselung abgewickelt, so erhält der Protokollname ein angehängtes S für „secure“. So wird beispielsweise das Webprotokoll HTTP (Hypertext Transfer Protocol) zu HTTPS. Erkennbar ist die Verschlüsselung außerdem durch ein Schloss-Symbol vor der URL in der Adresszeile des Browsers. Bis vor kurzem färbte sich die Browserzeile außerdem häufig grün, dieses Merkmal wird allerdings immer seltener.
Was genau ist ein SSL-Zertifikat?
Die SSL-Verschlüsselung einer Website wird mithilfe eines SSL-Zertifikats[1] nachgewiesen, das seinen Namen ebenfalls beibehalten hat, obwohl sich dahinter eine TLS-Verschlüsselung versteckt. Bei diesem Zertifikat handelt es sich um einen Identitätsnachweis für eine Domain. Damit wird sichergestellt, dass der Urheber einer Seite tatsächlich der ist, der er zu sein vorgibt.
Das Zertifikat besteht aus einem kompakten Datensatz, der Informationen wie Domain, digitalen Fingerabdruck und Server-Informationen enthält, deren Authentizität mithilfe von kryptographischen Verfahren geprüft werden kann.
Warum ist ein SSL-Zertifikat notwendig?
Verpflichtend ist die SSL-Verschlüsselung zwar nicht, eine Website ohne SSL-Zertifikat stellt jedoch ein großes Risiko dar, da keine sichere Ende-zu-Ende-Verschlüsselung besteht. Für Hacker präsentiert eine solche Seite die begehrten Nutzerdaten[2] auf dem Silbertablett, da diese ohne großen Aufwand abgegriffen werden können.
Für Seitenbetreiber ist dieser Sicherheitsaspekt aber nicht das einzige Problem: Viele Browser senden inzwischen eine explizite Warnung, wenn versucht wird, eine HTTP-Seite zu betreten. Für potenzielle Kunden sendet das ein wenig vertrauenswürdiges Signal. Wer möchte beispielsweise in einem Onlineshop einkaufen, in dem die eigenen Daten ungeschützt offenliegen?
Überdies hat eine unverschlüsselte Website mit einem verminderten Google Ranking zu kämpfen, da fehlende Sicherheit von Suchmaschinen empfindlich abgestraft wird. Das gilt übrigens auch für abgelaufene Zertifikate. Seit September 2020 haben Zertifikate eine maximale Gültigkeitsdauer[3] von 12 Monaten, danach müssen sie erneuert werden. Nur so ist die Authentizität der Seite weiterhin gewährleistet.
Ablauf einer sicheren Verbindung mit SSL
Ist ein SSL-Zertifikat installiert, erfolgt die Verbindung mithilfe eines SSL-Handshake, der nach dem folgenden Schema abläuft:
- Client Hello Message
Der Client startet den Prozess, indem eine Website mit HTTPS-Protokoll aufgerufen wird. Er gibt bei der Anfrage Daten wie die SSL-Versionsnummer und Verschlüsselungseinstellungen bekannt und sendet eine zufällig generierte Zeichenfolge (Client Random) mit. - Server Hello Message
Der Server antwortet mit seinen Informationen: Das SSL-Zertifikat samt Public Key, das gewählte Verschlüsselungsverfahren und wieder eine zufällige Zeichenfolge (Server Random). - Gültigkeitsprüfung durch den Client
Anschließend überprüft der Client die Gültigkeit des Zertifikats, dabei wird eine Liste bekannter Zertifizierungsstellen durchgegangen. - Client generiert Premaster Secret
Der Client generiert nun das Premaster Secret: Eine zufällige Zeichenfolge, welche mit dem Public Key des Servers verschlüsselt wird. Entschlüsselt werden kann diese nur mithilfe des entsprechenden Private Keys, den nur der Server besitzt. - Server entschlüsselt Premaster Secret
Der Server entschlüsselt die Zeichenfolge mithilfe seines Private Keys. - Erstellung eines Session Keys
Client und Server generieren aus den bisher erhaltenen Daten (Client Random, Server Random, Premaster Secret) den Sitzungsschlüssel, der bei beiden gleich sein muss. - Handshake abgeschlossen
Client und Server sind bereit und senden eine „Fertig“-Nachricht. Die Verbindung ist sicher und die verschlüsselte Datenübertragung kann beginnen.
Wie wird die SSL-Verschlüsselung geprüft?
Die Validierung einer SSL-Verschlüsselung und die Ausstellung eines SSL-Zertifikats erfolgt durch bestimmte Zertifizierungsorganisationen[4] die sogenannten Certificate Authorities (CA). Browser und Geräte verfügen über eine Liste dieser vertrauenswürdigen Zertifizierungsstellen. Nur Zertifikate, die von diesen Organisationen ausgestellt wurden, sorgen dafür, dass die Seite beim Besuch nicht als unsicher gekennzeichnet wird.
Bei der SSL-Zertifizierung werden drei Arten der Überprüfung eingesetzt, die sich nach ihrer Sicherheitsstufe und den damit zusammenhängenden Kosten unterscheiden. Während für einen kleinen Onlineblog die niedrigste Stufe ausreichen kann, steigt die Sicherheitsanforderung mit der Größe der Seite und der Sensibilität der verarbeiteten Daten.
Domain Validation
Die einfachste Art der Zertifizierung ist die Domain Validation (DV), welche meist kostenlos zu haben ist. Bei dieser Variante wird nur geprüft, ob der Antragsteller der Domaininhaber ist, zum Beispiel durch das Verändern eines DNS-Eintrags. Dieses Verfahren ist sogar automatisiert möglich und gilt daher als die unsicherste Methode.
Organization Validation
Eine Stufe höher liegen Zertifikate mit Organization Validation (OV). Hier werden in der Regel nach der automatisierten Überprüfung Unterlagen vom Webseitenbetreiber angefordert, die seine Authentizität beweisen. Das kann etwa ein Handelsregisterauszug eines Unternehmens sein. Oft läuft diese Zertifizierung unter persönlichem Kontakt ab. Mit dieser Variante ist bereits größere Sicherheit gegeben, es muss jedoch entsprechend dafür bezahlt werden.
Extended Validation
Ein SSL-Zertifikat nach der Extended Validation (EV) ist die sicherste Möglichkeit, lohnt sich aufgrund der hohen Kosten aber nur für Unternehmen und Organisationen, die diesen hohen Sicherheitsstandard tatsächlich benötigen, wie zum Beispiel Finanzinstitute. Hier wird neben Domain und Unternehmen noch geprüft, ob der Antragssteller tatsächlich befugt ist, ein Zertifikat anzufordern. Die Zertifizierungsstelle selbst braucht zudem eine spezielle Berechtigung, welche das CA/Browser-Forum erteilt, ein unabhängiger Zusammenschluss von Zertifizierungsstellen und Browser-Anbietern.
Schützt SSL zuverlässig vor Online-Kriminalität?
Ob eine SSL-Verschlüsselung ausreichenden Schutz bietet, hängt in erster Linie davon ab, ob die Verschlüsselung mit einem veralteten SSL bzw. TLS oder dem aktuellsten TLS-Protokoll erfolgt. Nachdem die Verwendung von SSL und den ältesten TLS-Protokollen heute allerdings unzulässig ist, sind diese bei einer guten Serverkonfiguration bereits deaktiviert. Eine HTTPS-Verbindung mit aktueller SSL-Verschlüsselung ist trotzdem noch keine Garantie für sicheres Surfen.
Beim SSL-Stripping etwa wird die Verschlüsselung ausgehebelt. Dabei schaltet sich ein Hacker als MITM (Man-in-the-Middle) zwischen Server und Browser, meist über einen ungesicherten WLAN-Hotspot. Er fängt dann die Anfrage des Browsers ab und leitet diese an den Server weiter. Die ursprünglich verschlüsselte Antwort des Servers sendet er anschließend unverschlüsselt an den Browser zurück. Die daraufhin vom Opfer eingegebenen Daten erscheinen als Klartext und können ganz einfach abgegriffen werden.
Hierfür ist als zusätzlicher Sicherheitsmechanismus ein HSTS-Header (HTTP Strict Transport Security) hilfreich, der dem Browser mitteilt, dass diese Domain zukünftig nur noch über HTTPS abgerufen werden darf. Erhält der Browser so einen Header, darf er keine unverschlüsselte Seite öffnen.
Auf der Seite des Nutzers stellt sich dazu noch ein weiteres Problem: Das SSL-Zertifikat sagt nur aus, dass die Daten nicht von Dritten einsehbar sind, entscheidet aber nicht, was die eigentliche Website mit den Daten anstellt. Phishing-Betrüger verwenden heute ebenfalls HTTPS-Protokolle und nutzen das vorgetäuschte Gefühl von Sicherheit, um unvorsichtige Nutzer um ihre Daten zu erleichtern. Es ist also stets ein wachsames Auge vonnöten.
Fazit: Kein Weg führt um eine aktuelle SSL-Verschlüsselung herum
Die Einführung des SSL/TLS-Standards und die Umstellung vieler Websites auf HTTPS haben einen großen Teil zu höherer Sicherheit im Netz beigetragen. Wer darauf verzichtet, setzt sich nicht nur der Gefahr von Datendiebstahl aus: Auf lange Sicht wird eine unsichere Website auch durch Sichtbarkeitsverlust und einen Besucherrückgang gestraft. Für unvorsichtige Seitenbetreiber, die im Jahr 2021 immer noch nicht auf SSL-Verschlüsselung setzen, ist es nun also höchste Zeit!
Quellen und Referenzen:
[1] https://www.hoststar.at/de/blog/was-ist-ein-ssl-zertifikat
[2] https://digitaleweltmagazin.de/2021/03/04/personenbezogene-daten-als-vermoegenswert/
[3]https://www.heise.de/news/Browser-Hersteller-verkuerzen-Zertifikats-Lebensdauer-auf-1-Jahr-4796599.html
[4] https://www.bundesdruckerei.de/de/Themen-Trends/Magazin/Fuenf-Merkmale-einer-vertrauenswuerdigen-Zertifizierungsstelle
Um einen Kommentar zu hinterlassen müssen sie Autor sein, oder mit Ihrem LinkedIn Account eingeloggt sein.