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

IETF RFC 2818 TLS 1.3 (RFC 8446) X.509-Zertifikate Port 443

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.

Client Hello
Server
Client
Server Hello + Zertifikat
Client Key Exchange
Server
Change Cipher Spec
Change Cipher Spec
Encrypted Data
Encrypted Data

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 CA
Intermediate CA
Server-Zertifikat

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.01995❌ Unsicher (verboten)Schwere Sicherheitslücken, kein Schutz vor Man-in-the-Middle
SSL 3.01996❌ Unsicher (verboten)POODLE-Angriff (2014), schwache Cipher Suites
TLS 1.01999❌ Unsicher (verboten)BEAST-Angriff (2011), veraltet
TLS 1.12006❌ Unsicher (verboten)Verbesserungen, aber immer noch anfällig
TLS 1.22008✅ Sicher (empfohlen)Authenticated Encryption (GCM), SHA-256, weit verbreitet
TLS 1.32018✅ 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?

https://example.com
https://example.com (gemischte Inhalte)
http://example.com (unsicher)

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:

openssl s_client -connect example.com:443 -tls1_2

Zeigt das Zertifikat und die ausgehandelten Cipher Suites.

Mit curl testen

curl -vI https://example.com

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.

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

❓ 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

HTTP

Die Basis ohne Verschlüsselung – das Fundament des Webs.

Zu HTTP
SSH

Sichere Verbindung zum Server – das Gegenstück für die Kommandozeile.

Zu SSH
Secure Boot

Sicherheit schon beim Hochfahren des Computers.

Zu Secure Boot