SSL, TLS und HTTPS erklärt

Die Absicherung von Datenverbindungen ist heute aus dem Internet nicht mehr wegzudenken. Die Namen der für die Absicherung verwendeten Protokolle hat fast jeder schon einmal gehört. Dennoch ist wahrscheinlich nicht jedem klar, was nun der Unterschied zwischen SSL, TLS und HTTPS ist und welche Sicherheitseigenschaften diese Protokolle haben. In diesem Artikel gebe ich eine kurze Einführung in die wichtigsten Protokolle zur Absicherung von Datenverbindungen für Betreiber von Websites und Webanwendungen.

SSL steht für Secure Sockets Layer und wurde von Netscape entworfen. Heute sind Schwachstellen in SSL bekannt und das Protokoll sollte daher nicht mehr eingesetzt werden. TLS steht für Transport Layer Security und ist das Nachfolgeprotokoll von SSL. Die erste Version von TLS ist eine leicht modifizierte Variante der dritten Version von SSL und wurde von der IETF standardisiert. SSL ist heutzutage allerdings der weiter verbreitete Begriff und oftmals ist TLS gemeint, wenn von SSL gesprochen wird. HTTPS steht für Hypertext Transfer Protocol Secure und ist im technischen Sinne kein eigenständiges Protokoll. HTTPS bezeichnet die Verwendung von HTTP über SSL oder TLS. Die Verwendung von HTTPS erkennt man im Browser daran, dass der besuchten Internetadresse https statt http vorangestellt ist. Zudem heben die meisten modernen Browser eine abgesicherte Verbindung zusätzlich optisch hervor.

Oftmals wird eine abgesicherte Verbindung mit der Verschlüsselung der Verbindung gleichgesetzt. SSL/TLS bietet allerdings noch weitere Sicherheitseigenschaften. Die drei Hauptziele beim Einsatz von SSL/TLS sind Vertraulichkeit (durch Verschlüsselung), Datenintegrität und Authentizität. Diese drei Ziele werde ich im Folgenden anhand eines Beispiels erläutern.

Warum ist eine abgesicherte Datenverbindung sinnvoll?

Nehmen wir einmal an, eine Person gibt eine Bestellung in einem Online-Shop auf. Bei der Verwendung einer abgesicherten Verbindung profitiert diese Person von den Sicherheitseigenschaften von SSL/TLS.

Vertraulichkeit wird durch die Verschlüsselung der Verbindung gewährleistet. Dies garantiert dem Einkäufer, dass seine persönlichen Daten und beispielsweise Kreditkartendaten nicht von Dritten abgefangen und missbraucht werden können.

Durch die Gewährleistung der Integrität der Daten wird garantiert, dass eine Manipulation der Bestellung nicht möglich ist. Der Besteller wäre wahrscheinlich nicht sehr froh, wenn er statt einem Hemd beispielsweise drei Pullover geliefert bekommt und der Verkäufer ärgert sich in solch einem Fall über die Kosten und den Aufwand für die Rückabwicklung des Kaufs. Noch unangenehmer ist es, wenn während des Bestellvorgangs die Lieferadresse manipuliert wird und der Besteller die Ware direkt bezahlt, aber die Lieferung an die Adresse eines unbekannten Dritten erfolgt. Im Einzelfall ist eine manipulierte Lieferung meist noch verkraftbar, aber bei einer Häufung der Vorfälle können manipulierte Bestellungen für einen Händler auch existenzbedrohend sein.

Unter Authentizität versteht man, dass die Identität des Shop-Betreibers für den Kunden überprüfbar ist. Durch die Sicherstellung der Identität des Verkäufers, weiß der Kunden genau, mit wem er Geschäfte macht. Fehlende Authentizität können Kriminelle beispielsweise ausnutzen, indem sie Domainnamen registrieren, die der Domain eines Shops sehr ähnlich sind und eine Kopie des Shops unter diesen Domains bereitstellen. Der potentielle Kunde kann nun über eine Phishing-E-Mail auf die gefälschte Seite gelockt werden und kann bei einer nicht abgesicherten Website nicht direkt erkennen, ob er beim richtigen Shop gelandet ist. Er gibt eventuell eine Bestellung auf und bezahlt, erhält aber nie die bestellte Ware.

Bitte beachten Sie die Anmerkungen zur Authentizität am Ende des Artikels.

Abgesicherte Verbindungen in der Praxis

Für den Aufbau einer abgesicherten Verbindung ist ein SSL-Zertifikat notwendig. In einem Zertifikat ist unter anderem der Aussteller des Zertifikats, der Zertifikatinhaber und der öffentliche Schlüssel des Zertifikatinhabers gespeichert. Zertifikate werden auf dem Server, mit dem später eine abgesicherte Verbindung aufgebaut werden soll, abgelegt. Zur Sicherstellung der Integrität eines Zertifikats, wird es signiert.

Ein Sicherheitszertifikat kann von jedermann selbst generiert und signiert werden. Allerdings ist bei selbst signierten Zertifikaten die Authentizität für Dritte nicht gegeben, da keine unabhängige Institution die Identität des Ausstellers überprüft hat. Die meisten Browser zeigen bei Websites mit selbst signierten Zertifikaten daher eine Warnmeldung an. Für die Überprüfung der Authentizität einer Website oder Webanwendung wird eine Vertrauenskette zwischen dem Browser des Endbenutzers und dem Server der besuchten Website gebildet. Die Browser- und Betriebssystemhersteller überprüfen und vertrauen ausgewählten Organisationen, deren Zertifikate dann im Browser oder Betriebssystem hinterlegt werden. Diese Organisationen werden auch Zertifizierungsstellen genannt. Die Zertifizierungsstellen können die Identität von Dritten überprüfen und nach der Prüfung deren Zertifikate signieren. Damit bei der Überprüfung ein Mindeststandard eingehalten wird, durchlaufen die als vertrauenswürdig eingestuften Organisationen zuvor einen Zertifizierungsprozess. Beim Besucher einer Website oder Nutzer einer Webanwendung wird schlussendlich überprüft, ob die Vertrauenskette intakt ist.

Für die Überprüfung der Identität gibt es verschiedene Stufen, die sich im Umfang der Überprüfung unterscheiden. Auf der niedrigsten Stufe (Klasse 1), wird nur überprüft, ob der Antragsteller im Besitz der im Zertifikat vermerkten Domain ist. Bei Klasse 2-Zertifikaten wird die Identität des Antragstellers (Einzelperson oder Unternehmen) beispielsweise mit Kopien von Ausweisdokumenten und Firmenunterlagen genauer überprüft. Bei Klasse 3-Zertifikaten ist die Überprüfung nochmals intensiver und weitere Dokumente sind erforderlich. Klasse 3-Zertifikate werden auch als Extended-Validation-Zertifikate bezeichnet und zeichnen sich unter anderem dadurch aus, dass die Verwendung in modernen Browsern optisch deutlich hervorgehoben wird.

Empfehlungen für den Einsatz von HTTPS

Bei der Übertragung von sensiblen Kundeninformationen, wie beispielsweise Passwörtern oder Kreditkartendaten, ist der Einsatz eines von einer Zertifizierungsstelle signierten SSL-Zertifikats immer Pflicht. Soll nur ein persönlicher Login-Bereich geschützt werden, reicht unter Umständen ein selbst signiertes oder vom Hosting-Provider signiertes Zertifikat aus. Bei selbst signierten Zertifikaten empfiehlt es sich aber, jede Warnmeldung des Browsers sehr sorgfältig zu überprüfen, um Manipulationen rechtzeitig zu erkennen.

Bei Websites ohne sensible Informationen, kann eine abgesicherte Verbindung angeboten werden. Durch die Verschlüsselung ist es für Dritte unter anderem nicht möglich zu sehen, welche Seiten einer Website genau besucht wurden. Mehr Gewicht hat bei einer normalen Website eventuell aber die Integrität der Daten und Authentizität. Durch die Verwendung von Zertifikaten kann sichergestellt werden, dass während der Übertragung keine Manipulation der Inhalte durch Dritte möglich ist und beispielsweise keine Falschinformationen über Ihr Unternehmen in Ihre Firmenwebsite injiziert werden. Ein netter Nebeneffekt bei der Verwendung eines SSL-Zertifikats ist, dass Websites, die den Besuchern eine abgesicherte Verbindung anbieten, in Suchmaschinen (aktuell insbesondere bei Google) einen Vorteil bei der Listung in den Suchergebnissen haben.

Anmerkungen zur Authentizität

Die Authentizität ist in der Theorie beim Einsatz von SSL-Zertifikaten zwar gegeben, in der Praxis gibt es mit der Authentizität jedoch so seine Probleme und ob man auf die Identität des Betreibers einer Website vertrauen kann, muss im Einzelfall entschieden werden. Zum einen werden Level 1-Zertifikate meist automatisiert vergeben. Dies bedeutet, dass auch für Tippfehlerdomains, die häufig für Phising-Angriffe eingesetzt werden, gültige Zertifikate erworben werden können. Zum anderen steht und fällt die Authentizität mit dem Vertrauen in die Arbeit der Zertifizierungsstellen. Wenn es nur eine Zertifizierungsstelle gibt, die bei der Echtheitsprüfung der Dokumente der Antragsteller unsauber arbeitet oder Namensähnlichkeiten mit anderen Unternehmen ignoriert, ist es für Kriminelle möglich, Zertifikate für Unternehmen signieren zu lassen, mit denen sie eigentlich nichts zu tun haben.