Curious TechieDev Toolbox
Alle Leitfäden/Kryptographie9 min read

Was ist SSL/TLS und wie funktionieren HTTPS-Zertifikate?

Leitfaden zu TLS 1.3, asymmetrischen Handshakes, X.509-Zertifikatsketten und Certificate Transparency (CT).

Wichtigste Erkenntnisse
  • TLS ist der moderne kryptographische Nachfolger des veralteten SSL und sichert HTTPS-Webverkehr ab.
  • TLS garantiert drei Kernziele: Vertraulichkeit (symmetrische Verschlüsselung), Integrität und Authentizität (X.509-Zertifikate).
  • TLS 1.3 (RFC 8446) senkt die Latenz auf einen Roundtrip (1-RTT) und entfernt unsichere Cipher-Suiten.
  • PKI basiert auf hierarchischen Vertrauensketten, die bei vorinstallierten Root-Zertifizierungsstellen (CAs) verankert sind.
  • Certificate Transparency (CT, RFC 6962) schreibt unveränderliche Merkle-Tree-Logs für alle vertrauenswürdigen Zertifikate vor.

1. Was unterscheidet SSL von TLS?

Obwohl die Bezeichnung SSL umgangssprachlich fortlebt, wurden SSL 2.0 und 3.0 vor Jahren wegen gravierender Schwachstellen verworfen.

Moderner Datenverkehr wird mit TLS (Transport Layer Security 1.3, RFC 8446) verschlüsselt und schützt HTTP-Daten nahtlos über TCP/QUIC.

2. Der TLS 1.3 Handshake (1-RTT)

TLS 1.3 verkürzt den Schlüsselaustausch auf einen einzigen Round-Trip (1-RTT) via ECDHE:

1. Client Hello: Der Client übermittelt unterstützte Chiffren und ECDHE-Schlüsselanteile.
2. Server Hello: Der Server wählt die Suite, sendet Zertifikat X.509, Schlüsselanteil und Signatur.
3. Sitzungsschlüssel abgeleitet: Beide Seiten berechnen den symmetrischen Sitzungsschlüssel.
4. Verschlüsselte Daten: Der gesicherte HTTP-Datenaustausch beginnt unmittelbar.

3. X.509-Zertifikate und CA-Vertrauensketten

Browser verifizieren die Identität des Servers über hierarchische Signaturketten:

  • Root CA: Selbstsigniertes Stammzertifikat im Betriebssystem-/Browser-Speicher.
  • Intermediate CA: Zwischeninstanz zur Ausstellung, schützt den privaten Wurzelschlüssel.
  • Serverzertifikat: Verknüpft den Domänennamen mit dem öffentlichen Serverschlüssel.

4. Certificate Transparency (CT) Logs

Gemäß RFC 6962 müssen alle öffentlichen TLS-Zertifikate in append-only Merkle-Trees protokolliert werden.

Browser brechen Verbindungen ab, wenn keine gültigen SCT-Zeitstempel vorliegen.

5. TLS-Hardening-Checkliste für die Produktion

1. Nur TLS 1.3 und 1.2 erlauben: Deaktivieren Sie alte Protokolle (TLS 1.0, 1.1) und schwache Chiffren ausnahmslos.
2. HSTS mit Preload aktivieren: Setzen Sie Strict-Transport-Security: max-age=31536000; includeSubDomains; preload.
3. Automatische ACME-Erneuerung: Erneuern Sie Zertifikate via Let’s Encrypt alle 60 Tage vollautomatisch.