HTTPS (Hypertext Transfer Protocol Secure) ist die sichere Variante von HTTP, bei der der Webverkehr verschlüsselt und die Website über das Protokoll TLS authentifiziert wird.
Wie HTTPS funktioniert
HTTPS ist gewöhnliches HTTP, das innerhalb einer TLS-Verbindung übertragen wird, standardmäßig über TCP-Port 443 (ursprünglich in RFC 2818 beschrieben). Ruft ein Browser eine https://-Adresse auf, führt er einen TLS-Handshake durch, prüft, ob das digitale Zertifikat des Servers für diese Domain gültig und von einer vertrauenswürdigen Zertifizierungsstelle signiert ist, und tauscht dann verschlüsselte Anfragen und Antworten aus. Das Schloss-Symbol zeigt an, dass diese Prüfung erfolgreich war. HTTP/3 bietet denselben Schutz über QUIC.
Warum HTTPS wichtig ist
Ohne Verschlüsselung kann jeder auf dem Übertragungsweg – ein Nutzer im öffentlichen WLAN, ein kompromittierter Router oder ein Provider – den Verkehr mitlesen und verändern. 2010 zeigte die Browsererweiterung Firesheep, wie leicht sich Sitzungscookies unverschlüsselter Websites im geteilten WLAN stehlen ließen. HTTPS schützt Passwörter, Cookies und Formulardaten und verhindert, dass Werbung oder Malware in Seiten eingeschleust wird. Seit 2018 kennzeichnet Chrome reine HTTP-Seiten als „Nicht sicher“, und kostenlose Zertifikate von Let’s Encrypt haben HTTPS zum Standard für den Großteil des Webverkehrs gemacht.
HTTPS hat jedoch Grenzen:
- Es belegt nur, dass man mit der Domain in der Adresszeile verbunden ist – auch Phishing-Seiten haben gültige Zertifikate.
- SSL-Stripping, 2009 mit dem Werkzeug sslstrip demonstriert, stuft Nutzer bei einem Man-in-the-Middle-Angriff auf HTTP herab, wenn eine Website HTTPS nicht erzwingt.
- Es schützt keine Daten, die einen kompromittierten Server oder Browser erreicht haben.
Best Practices
- Jede Seite über HTTPS ausliefern und HTTP-Anfragen umleiten.
- HTTP Strict Transport Security (HSTS, RFC 6797) aktivieren und HSTS-Preloading in Betracht ziehen.
- Cookies als Secure markieren und gemischte Inhalte vermeiden.
- Nutzer sollten den Domainnamen prüfen, nicht nur das Schloss-Symbol.