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 Verbindungsdetails 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 Gegenseite, 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 Zertifizierungsstelle (CA) beginnt. Deren Root-Zertifikate sind in Betriebssystemen 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 Unternehmensdaten 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 Unternehmensdaten. 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 Verbindungsdetails 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 Zertifizierungsstellen 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 Gegenseite 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.