SSL, TLS und HTTPS erklärt

Einleitung

Die Absicherung von Verbindungen im Internet ist heute selbstverständlich. Trotzdem sorgt die Verwendung der Begriffe SSL, TLS und HTTPS immer wieder für Verwirrung. In diesem Artikel wird erklärt, was die einzelnen Begriffe bedeuten, wie sie zusammenhängen und warum sie eine zentrale Rolle für die Sicherheit im Netz spielen.

Was ist SSL, was ist TLS?

SSL (Secure Sockets Layer) wurde ursprünglich von Netscape entwickelt, gilt heute aber als unsicher, da verschiedene Schwachstellen bekannt sind. Mit TLS (Transport Layer Security) gibt es seit vielen Jahren den Nachfolger, der auf SSL 3.0 basiert und kontinuierlich weiterentwickelt wird. Ältere TLS-Versionen 1.0 und 1.1 sind offiziell als veraltet eingestuft; in der Praxis werden TLS 1.2 und vor allem TLS 1.3 eingesetzt.
Im Alltag ist zwar fast immer TLS gemeint, dennoch ist weiterhin häufig von einem «SSL-Zertifikat» die Rede.

Was ist HTTPS?

HTTPS (Hypertext Transfer Protocol Secure) ist im Grunde das bekannte HTTP-Protokoll, das durch eine TLS- (früher SSL-) Verschlüsselung abgesichert wird. Der Browser weist eine solche Verbindung aus; die sichtbare Darstellung hat sich in den letzten Jahren jedoch verändert. So blenden viele Browser das Präfix «https://» standardmässig aus, und in Google Chrome wurde das frühere Vorhängeschloss durch ein neutrales «Tune»-Symbol ersetzt. Die Verbindungs­details sind weiterhin über die Seiteneinstellungen einsehbar.

Ziele von SSL/TLS

TLS verfolgt drei Hauptziele. Es sorgt für Vertraulichkeit, indem die übertragenen Daten verschlüsselt werden. Es garantiert die Integrität der Kommunikation, sodass Daten nicht unbemerkt verändert werden können. Ausserdem ermöglicht es eine Authentifizierung der Gegen­seite, sodass Nutzerinnen und Nutzer wissen, mit wem sie tatsächlich verbunden sind. In modernen Konfigurationen trägt TLS 1.3 zusätzlich dazu bei, die Vertraulichkeit durch standardmässige Verfahren mit Forward Secrecy zu stärken.

Zertifikate und Vertrauenskette

Damit eine verschlüsselte Verbindung hergestellt werden kann, benötigt ein Server ein Zertifikat. Dieses enthält unter anderem den öffentlichen Schlüssel, Angaben zum Inhaber und den Aussteller. Der Browser prüft dieses Zertifikat anhand einer Vertrauenskette, die bei einer Zertifizierungs­stelle (CA) beginnt. Deren Root-Zertifikate sind in Betriebs­systemen und/oder Browsern fest hinterlegt.

Ein selbstsigniertes Zertifikat verschlüsselt zwar die Verbindung, ist jedoch nicht vertrauenswürdig, weil keine unabhängige Prüfung erfolgt. Deshalb zeigen Browser bei solchen Zertifikaten in der Regel eine Warnmeldung an. Ein von einer CA ausgestelltes Zertifikat hingegen wird als vertrauenswürdig eingestuft, weil zumindest die Kontrolle über die Domain und – je nach Zertifikatstyp – auch Unternehmens­daten geprüft wurden.

Arten von Zertifikaten

Zertifikate unterscheiden sich je nach Umfang der Prüfung. Bei Domain-Validation-Zertifikaten (DV) wird bestätigt, dass der Antragsteller die Kontrolle über die Domain hat. Organisation-Validation-Zertifikate (OV) prüfen zusätzlich die angegebenen Unternehmens­daten. Extended-Validation-Zertifikate (EV) sehen die umfassendste Prüfung vor. Eine frühere, besonders prominente Darstellung von EV im Browser, etwa durch den Firmennamen in der Adressleiste, gibt es in modernen Browsern nicht mehr; die entsprechenden Angaben sind heute in den Verbindungs­details abrufbar.

Grenzen der Authentizität

Die Authentifizierung ist zwar eines der Ziele von TLS, hat in der Praxis aber ihre Grenzen. Angreifer können beispielsweise Domains registrieren, die einer echten Adresse sehr ähnlich sehen, und für diese gültige Zertifikate erhalten. Auch Fehler bei Zertifizierungs­stellen können dazu führen, dass ein Zertifikat an einen falschen Inhaber ausgestellt wird. Deshalb ist es wichtig, nicht allein auf das Vorhandensein eines Zertifikats zu vertrauen, sondern immer das Gesamtbild im Blick zu behalten.

Fazit

TLS ist der sichere Nachfolger von SSL und bildet die Grundlage für HTTPS. Zusammen mit einem vertrauenswürdigen Zertifikat schützt es die Vertraulichkeit und Integrität der Daten und stellt in vielen Fällen auch die Authentizität der Gegen­seite sicher. Für zeitgemässe Konfigurationen sollten mindestens TLS 1.2, idealerweise TLS 1.3, eingesetzt werden. Trotz einzelner Schwächen gibt es heute keinen Grund, auf HTTPS zu verzichten.