HTTPS - Das Schloss im Browser
IETF-Standard für sichere Webkommunikation
HTTPS
Hypertext Transfer Protocol Secure
Der Sicherheitsstandard für verschlüsselte Kommunikation im Web – das grüne Schloss in der Browser-Adressleiste
1. Was ist HTTPS?
Definition
HTTPS (Hypertext Transfer Protocol Secure) ist die sichere Version von HTTP. Es verschlüsselt die gesamte Kommunikation zwischen Browser und Webserver.
Standard: IETF RFC 2818 (HTTP Over TLS)
Port: 443 (statt 80 bei HTTP)
Protokoll: HTTP over TLS/SSL
Was wird geschützt?
- Vertraulichkeit: Niemand kann mitlesen (Verschlüsselung)
- Integrität: Daten können nicht unbemerkt verändert werden
- Authentizität: Man kommuniziert mit dem echten Server (Zertifikate)
Historie
- 1994: SSL 1.0 (Netscape, nie veröffentlicht)
- 1995: SSL 2.0 (erste öffentliche Version)
- 1996: SSL 3.0 (große Verbreitung)
- 1999: TLS 1.0 (IETF Standard, RFC 2246)
- 2008: TLS 1.2 (RFC 5246, bis heute weit verbreitet)
- 2018: TLS 1.3 (RFC 8446, aktuellster Standard)
2. TLS-Handshake – So entsteht eine sichere Verbindung
Bevor Daten übertragen werden können, müssen sich Client und Server auf Verschlüsselungsparameter einigen.
Schritt 1: Client Hello
Der Client sendet:
- Höchste unterstützte TLS-Version
- Liste der unterstützten Cipher Suites
- Zufallszahl (Client Random)
- Session-ID (falls vorhanden)
- SNI (Server Name Indication) – welche Domain?
Schritt 2: Server Hello
Der Server antwortet mit:
- Gewählte TLS-Version
- Gewählte Cipher Suite
- Eigene Zufallszahl (Server Random)
- Session-ID
- Server-Zertifikat (X.509)
- Optional: Schlüsselaustausch-Parameter
Schritt 3: Schlüsselaustausch
Der Client verifiziert das Zertifikat und sendet:
- RSA: Verschlüsselter Pre-Master-Secret
- Diffie-Hellman (ECDH): Öffentlichen DH-Schlüssel
- Beide Seiten berechnen daraus den Master Secret
- Daraus werden die Session-Keys abgeleitet
Schritt 4: Change Cipher Spec
Beide Seiten teilen mit, dass ab jetzt verschlüsselt kommuniziert wird. Ein "Finished"-Paket prüft, ob der Handshake erfolgreich war.
Ab hier ist die Verbindung verschlüsselt.
3. Zertifikate und Public-Key-Infrastruktur (PKI)
Damit der Client sicher sein kann, dass er mit dem richtigen Server spricht, werden digitale Zertifikate verwendet.
Zertifikatskette (Chain of Trust)
Root-Zertifikate sind im Browser oder Betriebssystem fest eingebaut. Sie signieren Intermediate-Zertifikate, die wiederum Server-Zertifikate signieren. So entsteht eine Vertrauenskette.
X.509-Zertifikat (Inhalt)
- Version: 1, 2 oder 3
- Seriennummer: Eindeutige ID
- Signaturalgorithmus: z.B. sha256WithRSA
- Issuer: Aussteller (CA)
- Gültigkeit: Not Before / Not After
- Subject: Inhaber (Common Name = Domain)
- Public Key: Öffentlicher Schlüssel
- Erweiterungen: SAN (Subject Alternative Names), Key Usage
Bekannte Certificate Authorities (CA)
- Let's Encrypt – Kostenlos, automatisiert
- DigiCert – Großer kommerzieller Anbieter
- Sectigo (früher Comodo)
- GlobalSign
- GoDaddy
- IdenTrust
Zertifikats-Typen
- DV (Domain Validation): Nur Domains bestätigt
- OV (Organization Validation): Firma wurde geprüft
- EV (Extended Validation): Strengste Prüfung (grüne Adressleiste früher)
- Wildcard: *.beispiel.de gültig für alle Subdomains
4. TLS-Versionen im Vergleich
| Version | Jahr | Status | Neuerungen / Probleme |
|---|---|---|---|
| SSL 2.0 | 1995 | ❌ Unsicher (verboten) | Schwere Sicherheitslücken, kein Schutz vor Man-in-the-Middle |
| SSL 3.0 | 1996 | ❌ Unsicher (verboten) | POODLE-Angriff (2014), schwache Cipher Suites |
| TLS 1.0 | 1999 | ❌ Unsicher (verboten) | BEAST-Angriff (2011), veraltet |
| TLS 1.1 | 2006 | ❌ Unsicher (verboten) | Verbesserungen, aber immer noch anfällig |
| TLS 1.2 | 2008 | ✅ Sicher (empfohlen) | Authenticated Encryption (GCM), SHA-256, weit verbreitet |
| TLS 1.3 | 2018 | ✅ Sicher (aktuell) | Schnellerer Handshake (1-RTT), Perfect Forward Secrecy obligatorisch, entfernte unsichere Algorithmen |
5. Cipher Suites – Die Zutaten der Verschlüsselung
Eine Cipher Suite definiert, welche Algorithmen für Schlüsselaustausch, Authentifizierung, Verschlüsselung und MAC verwendet werden.
| Beispiel | Schlüsselaustausch | Authentifizierung | Verschlüsselung | MAC/Hash |
|---|---|---|---|---|
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 |
ECDHE | RSA | AES-256-GCM | SHA-384 |
TLS_RSA_WITH_AES_128_CBC_SHA |
RSA | RSA | AES-128-CBC | SHA-1 |
TLS_AES_128_GCM_SHA256 |
(TLS 1.3 festgelegt) | (TLS 1.3) | AES-128-GCM | SHA-256 |
Schlüsselaustausch
- RSA: Klassisch, aber kein Perfect Forward Secrecy
- DH (Diffie-Hellman): Gemeinsames Geheimnis über unsicheren Kanal
- ECDH: Elliptic Curve Diffie-Hellman (schneller)
- ECDHE: Ephemeral ECDH (Perfect Forward Secrecy)
Verschlüsselung
- AES: Advanced Encryption Standard (128/256 Bit)
- CHACHA20: Schneller auf Mobilgeräten
- GCM: Galois/Counter Mode (authentisierte Verschlüsselung)
- CBC: Cipher Block Chaining (älter, anfällig)
Hash/MAC
- SHA-1: Unsicher (nicht mehr verwenden)
- SHA-256/384: Sicher und aktuell
- HMAC: Hash-based Message Authentication Code
6. Woran erkenne ich HTTPS im Browser?
Das Schloss-Symbol zeigt an: Die Verbindung ist sicher, das Zertifikat gültig und die Daten werden verschlüsselt übertragen.
7. Praxisbeispiele
Mit OpenSSL testen
Verbindung zu einem HTTPS-Server testen:
Zeigt das Zertifikat und die ausgehandelten Cipher Suites.
Mit curl testen
Zeigt den TLS-Handshake und die Zertifikatsinformationen.
SSL Labs Test
Der SSL Server Test von Qualys SSL Labs analysiert die HTTPS-Konfiguration eines Servers:
https://www.ssllabs.com/ssltest/
Bewertung von A+ bis F, mit detaillierten Informationen zu Zertifikaten, Protokollen und Cipher Suites.
8. Häufige Fragen (FAQ)
❓ Warum bekomme ich eine „Nicht sicher“-Warnung?
Mögliche Gründe:
- Zertifikat ist abgelaufen
- Zertifikat ist für eine andere Domain ausgestellt
- Zertifikat wurde von einer nicht vertrauenswürdigen CA signiert (z.B. selbst signiert)
- Die Seite mischt unsichere (http) Inhalte
❓ Was ist Perfect Forward Secrecy (PFS)?
Bei PFS wird für jede Sitzung ein temporärer Schlüssel verwendet. Wird der private Schlüssel des Servers später gestohlen, können damit keine früheren Sitzungen entschlüsselt werden. Erreicht wird das durch (EC)DHE-Schlüsselaustausch.
❓ Was ist HSTS (HTTP Strict Transport Security)?
Ein HTTP-Header, der dem Browser mitteilt, dass die Seite nur über HTTPS aufgerufen werden darf. Der Browser merkt sich das für eine bestimmte Zeit und leitet automatisch um.
❓ Was ist der Unterschied zwischen SSL und TLS?
SSL (Secure Sockets Layer) ist der Vorgänger von TLS (Transport Layer Security). Heute spricht man oft noch von "SSL", meint aber eigentlich TLS. Die aktuellen Versionen sind TLS 1.2 und TLS 1.3.
Verwandte Standards
Die Basis ohne Verschlüsselung – das Fundament des Webs.
Zu HTTPSichere Verbindung zum Server – das Gegenstück für die Kommandozeile.
Zu SSHSicherheit schon beim Hochfahren des Computers.
Zu Secure Boot