SSL/TLS Grundlagen

6 Kernkonzepte
Die wichtigsten Konzepte der SSL/TLS-Verschlüsselung: PKI · X.509 · Handshake · Cipher Suites · Protokollversionen · Zertifikatskette SSL/TLS ist die Grundlage für sichere Kommunikation im Internet. Diese Cheatsheet erklärt die zentralen Konzepte, Protokolle und Komponenten für die Verschlüsselung von Web- und anderen Netzwerkverbindungen.

PKI & X.509 – Public Key Infrastructure

CA · Zertifikat · Schlüsselpaar
PKI = CA + RA + Zertifikate + Schlüssel X.509: Standard für Zertifikatsformat

Public Key Infrastructure (PKI) ist das System aus Richtlinien, Prozessen und Technologien für die Erstellung, Verwaltung und Überprüfung digitaler Zertifikate. X.509 ist der internationale Standard für das Zertifikatsformat.

PKI-Komponenten

Komponente Beschreibung
CA (Certificate Authority) Vertrauenswürdige Instanz, die Zertifikate ausstellt und signiert
RA (Registration Authority) Stellt die Identität des Antragstellers fest (oft Teil der CA)
CSR (Certificate Signing Request) Anfrage zur Ausstellung eines Zertifikats
Privater Schlüssel Geheimer Schlüssel (nur für den Besitzer)
Öffentlicher Schlüssel Im Zertifikat enthalten, für alle sichtbar
Zertifikat (X.509) Enthält öffentlichen Schlüssel + Informationen + Signatur der CA
Zertifikatskette Root-CA → Intermediate CA → Server-Zertifikat
Beispiele
# X.509-Zertifikatsfelder (vereinfacht)
Version: 3 (v3)
Serial Number: 01:23:45:67:89:AB:CD:EF
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=Let's Encrypt R3, O=Let's Encrypt
Subject: CN=example.com
Validity:
Not Before: 2025-01-01 00:00:00 UTC
Not After: 2026-01-01 23:59:59 UTC
Public Key: RSA (2048 bit)
Subject Alternative Name (SAN): DNS:example.com, DNS:www.example.com
Tipp: Subject Alternative Name (SAN) ist heute Pflicht für Zertifikate mit mehreren Domänen. Die meisten Browser akzeptieren keine Zertifikate mehr, die nur den Common Name (CN) enthalten.

Zertifikate – Typen & Validierung

DV · OV · EV · Wildcard · Self-Signed
Zertifikatstypen = DV | OV | EV | Wildcard | Self-Signed

Zertifikate werden je nach Validierungsgrad und Verwendungszweck in verschiedene Typen eingeteilt. Die Gültigkeit wird durch die Zertifikatskette und die Root-CA bestimmt.

Zertifikatstypen

Typ Validierung Beschreibung
DV (Domain Validation) Nur Domain-Kontrolle Günstig, schnell (Let's Encrypt)
OV (Organization Validation) Domain + Organisation Prüft die Firmenidentität
EV (Extended Validation) Domain + Organisation + Rechtsprüfung Höchster Vertrauensgrad (grüne Adressleiste)
Wildcard Wie DV/OV Gilt für *.domain.de und alle Subdomains
Self-Signed Keine CA Eigenes Zertifikat (nur für Tests)
SAN (Subject Alternative Name) Wie DV/OV Mehrere Domains in einem Zertifikat
Beispiele
# Wildcard-Zertifikat
CN: *.example.com
Gültig für: app.example.com, api.example.com, www.example.com
# SAN-Zertifikat (mehrere Domains)
CN: example.com
SAN: example.com, www.example.com, app.example.com, api.example.com
# Self-Signed Zertifikat (für Tests)
openssl req -x509 -newkey rsa:2048 -nodes -keyout server.key -out server.crt -days 365
Tipp: Let's Encrypt bietet kostenlose DV-Zertifikate mit automatischer Erneuerung. Für Produktivumgebungen sind OV- oder EV-Zertifikate empfehlenswert, um das Vertrauen der Nutzer zu erhöhen.

TLS Handshake – Verbindungsaufbau

ClientHello · ServerHello · Certificate · KeyExchange
ClientHelloServerHelloCertificateKeyExchangeFinished Der TLS-Handshake in 5 Schritten

TLS Handshake ist der Prozess, bei dem Client und Server eine sichere Verbindung aushandeln – inklusive Protokollversion, Cipher Suite, Authentifizierung und Schlüsselaustausch.

Handshake-Schritte (TLS 1.3)

Schritt Richtung Inhalt
1. ClientHello Client → Server Unterstützte TLS-Versionen, Cipher Suites, Random
2. ServerHello Server → Client Ausgewählte TLS-Version, Cipher Suite, Random
3. Certificate Server → Client Server-Zertifikat + Zertifikatskette
4. KeyExchange Server → Client DH/ECDH-Parameter (TLS 1.3)
5. Finished Beide Seiten Bestätigung der Verbindung
Beispiele
# TLS 1.2 Handshake (vereinfacht)
ClientHello:
TLS Version: TLS 1.2
Cipher Suites: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, ...
ServerHello:
TLS Version: TLS 1.2
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Certificate:
Server-Zertifikat: CN=example.com
Zertifikatskette: Root → Intermediate → Server
KeyExchange:
ServerKeyExchange: ECDH-Parameter + Signatur
Finished:
Verification: HMAC über gesamten Handshake
Tipp: TLS 1.3 reduziert die Anzahl der Roundtrips von 2 auf 1 (0-RTT mit Session Resumption) und verbessert die Sicherheit durch Entfernung älterer, unsicherer Cipher Suites.

Cipher Suites – Verschlüsselungsalgorithmen

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 Komponenten: Schlüsselaustausch · Authentifizierung · Verschlüsselung · MAC

Cipher Suites definieren den vollständigen Algorithmensatz für den TLS-Handshake – Schlüsselaustausch, Authentifizierung, symmetrische Verschlüsselung und Message Authentication Code (MAC).

Cipher Suite Komponenten

Komponente Mögliche Algorithmen Beschreibung
Schlüsselaustausch ECDHE, DHE, RSA ECDHE = Forward Secrecy, RSA = kein PFS
Authentifizierung RSA, ECDSA Signatur mit Server-Zertifikat
Verschlüsselung AES_128_GCM, AES_256_GCM, CHACHA20_POLY1305 GCM = Authenticated Encryption (AEAD)
MAC (Hash) SHA256, SHA384, SHA1 HMAC für Integrität
Beispiele
# Moderne Cipher Suites (TLS 1.3)
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
# Gute Cipher Suites (TLS 1.2)
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
# Veraltete/unsichere Cipher Suites (vermeiden)
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_AES_128_CBC_SHA # Kein PFS, CBC-Modus
Tipp: Forward Secrecy (PFS) ist entscheidend für die Sicherheit. Cipher Suites mit ECDHE oder DHE bieten PFS. Vermeiden Sie RSA-only Cipher Suites ohne PFS.

Protokollversionen – SSL vs. TLS

SSL 2.0 · SSL 3.0 · TLS 1.0 · TLS 1.1 · TLS 1.2 · TLS 1.3
SSL 2.0/3.0TLS 1.0 → 1.1 → 1.2 → 1.3 SSL ist veraltet und unsicher – heute wird nur noch TLS verwendet

Protokollversionen – SSL (Secure Sockets Layer) und TLS (Transport Layer Security) sind die Protokolle für verschlüsselte Kommunikation. TLS ist der Nachfolger von SSL und wird heute ausschließlich verwendet.

Versionen im Überblick

Version Jahr Status Bemerkung
SSL 2.0 1995 Veraltet Mehrere Sicherheitslücken, ab 2011 deaktiviert
SSL 3.0 1996 Veraltet POODLE-Angriff, seit 2014 unsicher
TLS 1.0 1999 Deprecated BEAST-Angriff, wird nicht mehr empfohlen
TLS 1.1 2006 Deprecated Veraltet, ab PCI DSS 3.2 nicht mehr erlaubt
TLS 1.2 2008 Aktuell Weit verbreitet, sicher bei richtiger Konfiguration
TLS 1.3 2018 Aktuell Schneller, sicherer, vereinfachter Handshake
Beispiele
# TLS 1.2 vs TLS 1.3 Unterschiede
TLS 1.2:
Handshake: 2 Roundtrips
Cipher Suites: Viele (auch unsichere)
MAC: HMAC (separat)
TLS 1.3:
Handshake: 1 Roundtrip (0-RTT möglich)
Cipher Suites: Nur AEAD (GCM, ChaCha20)
MAC: Integriert in AEAD
# Server-Konfiguration: TLS 1.2 und 1.3 aktivieren
nginx: ssl_protocols TLSv1.2 TLSv1.3;
Tipp: Deaktivieren Sie SSL 2.0/3.0 und TLS 1.0/1.1 auf allen Servern. Verwenden Sie mindestens TLS 1.2, bevorzugt TLS 1.3, um die Sicherheit zu maximieren.

Zertifikatskette – Vertrauensaufbau

Root CA · Intermediate · Server · Chain of Trust
Root CAIntermediate CAServer-Zertifikat Die Zertifikatskette für die Validierung eines Server-Zertifikats

Zertifikatskette (Chain of Trust) beschreibt den Vertrauenspfad vom Server-Zertifikat über eine oder mehrere Zwischen-CAs bis zur vertrauenswürdigen Root-CA im Browser/Client.

Beispiele
# Beispiel einer Zertifikatskette
Root CA (vertrauenswürdig):
CN: GlobalSign Root CA
Signiert: Intermediate CA
Intermediate CA:
CN: GlobalSign RSA OV SSL CA 2018
Signiert: Server-Zertifikat
Server-Zertifikat:
CN: example.com
Ausgestellt von: GlobalSign RSA OV SSL CA 2018
# Überprüfen der Kette mit OpenSSL
openssl verify -CAfile root.pem -untrusted intermediate.pem server.crt
# Fehlende Intermediate-CA erkennen
openssl s_client -connect example.com:443 -showcerts
Tipp: Viele Browser- und Betriebssystem-Updates enthalten aktualisierte Root-CAs. Wenn Ihre Zertifikatskette fehlerhaft ist, erhalten Sie Fehler wie "Zertifikat nicht vertrauenswürdig" oder "Zwischenzertifikat fehlt".

SSL/TLS im Überblick

PKI Public Key Infrastructure
CA, Zertifikate, Schlüssel
X.509 Zertifikatsformat
Standard für digitale Zertifikate
Handshake Verbindungsaufbau
TLS 1.3: 1-RTT
PFS Forward Secrecy
ECDHE / DHE
TLS 1.3 Aktuelle Version
Seit 2018
Chain Zertifikatskette
Root → Intermediate → Server

Quick Summary

PKI
Public Key Infrastructure
X.509
Zertifikatsformat
Handshake
Verbindungsaufbau
Cipher
Verschlüsselungsalgorithmen
TLS 1.3
Aktuelle Version
Chain
Zertifikatskette
TLS_AES_256_GCM_SHA384 · Forward Secrecy (PFS) · Root CA → Intermediate → Server