HTTPS – Das Web ein bisschen sicherer machen

HTTPS – Hypertext Transfer Protocol Secure stellt eine Transportverschlüsselung dar, um Daten abhörsicher im World Wide Web zu übertragen. Ohne Verschlüsselung sind Daten bei der Übertragung von Webserver zum Client als Klartext lesbar.

Spätestens mit den Enthüllungen der Inlandspionage von BND und NSA in den Jahren 2013-2015 (Operation Eikonal) ist das Bewusstsein für abhörsichere Kommunikation geschärft worden.

Resultate von Built-With und HTTP Archive zeigen, dass sich der Anteil des verschlüsselten Datenverkehrs über HTTPS im Jahr 2015 mehr als verdoppelt hat. Grundlage der statistischen Erhebung bilden etwa 1,5 Millionen besonders häufig besuchte Webseiten. Built-With stellte einen Zuwachs von 2,9 auf 9,6 Prozent fest, HTTP Archive einen Zuwachs von 5,5 auf 12,4 Prozent.

Grobe Funktionsweise von HTTPS

Zunächst soll die grobe theoretische Funktionsweise von HTTPS respektive SSL/TLS (hybrides Verschlüsselungsprotokoll) umrissen werden. Wer sich gerne ausführlicher mit der Thematik beschäftigen möchte, kann auf der Webseite der IETF weiterlesen. Von den grundlegenden Überlegungen her, ist das Verfahren sicher. Nur wenn Annahmen des Modells verletzt werden, ist SSL/TLS verwundbar.

Unser Ausgangspunkt beginnt bei den Firmen, die sogenannte Stammzertifikate bzw. Root-CAs (CA = certificate authority) vergeben. Das Zertifikat ist die Bestätigung, dass ein Server einen bestimmten privaten Schlüssel besitzt. Natürlich hat das Zertifikat ein Ablaufdatum und ist mit dem privaten Schlüssel der Zertifizierungsstelle signiert.

Betriebssysteme oder Programme (z.B. Firefox), die über HTTPS bzw. SSL/TLS  kommunizieren, listen vertrauenswürdige Stammzertifikate inklusive der öffentlichen Schlüssel. Eine mit dem privaten Schlüssel erstellte Signatur wird mit dem öffentlichen Schlüssel überprüft. D.h. ohne privaten Schlüssel können keine Signaturen generiert werden. Eine Änderung des Inhalts würde die Signatur ungültig machen, weswegen sie als sehr fälschungssicher gilt. Das Ganze basiert auf einem asymmetrisches kryptographisches Verfahren namens RSA (Rivest, Shamir und Adleman). Es wird aber nicht nur zum digitalen Signieren, sondern auch zum Verschlüsseln verwendet. Entscheidend ist das Schlüsselpaar, bestehend aus privatem und öffentlichem Schlüssel.

Halten wir fest: Ein Server besitzt seinen privaten Schlüssel und ein Zertifikat, welches den öffentlichen Schlüssel beinhaltet und die Bestätigung der Zertifizierungsstelle (Signatur), dass dieser Schlüssel zur Beispiel-Domain gehört.

Möchte ein Client (z.B. Webbrowser) nun via HTTPS mit dem Webserver kommunizieren, signalisiert der Webserver den Besitz des privaten Schlüssels und übergibt das Zertifikat. Der Webbrowser (z.B. Firefox) überprüft das Zertifikat. Es sollte von einer vertrauenswürdigen Zertifizierungsstelle stammen und entsprechend signiert sein. Daneben wird sichergestellt, dass der private Schlüssel zum Server passt. Wenn alles korrekt ist, kann davon ausgegangen werden, mit dem Server eine sichere Verbindung hergestellt zu haben.

Vorreiter bei HTTPS – Facebook und Google

Vor allem die Webgiganten Facebook und Google treiben die Verbreitung des gesicherten Datenverkehrs voran. Im Jahr 2012 hat Google von HTTP auf HTTPS umgestellt. Seitdem werden Suchanfragen nur noch mit SSL/TLS gesicherten Ergebnisseiten beantwortet. Gegen Ende 2013 implementierte auch Facebook das SSL-Handshake-Protokoll, um den gewaltigen persönlichen Informationsaustausch für die User ein bisschen sicherer zu gestalten.

Nun geht Google noch einen Schritt weiter. Der mächtige Suchmaschinenanbieter will Webseiten belohnen, die über SSL/TLS gesichert sind. HTTPS soll also als Rankingfaktor dienen. Google argumentiert, jedem im Web besser schützen zu wollen. Außerdem wird der firmeneigene Chrome-Browser ab Januar 2017 einen Warnhinweis ausgeben, wenn eine unverschlüsselte Website die Eingabe eines Passworts oder von Kreditkarteninformationen fordert. Damit möchte man vor allem Phishing unterbinden.

 

Image Credits: ©Sean MacEntee/Flickr

Autor , ESET