TLS-Versionen, Cipher Suites und Perfect Forward Secrecy
Konfigurieren Sie TLS 1.2/1.3, wählen Sie starke Cipher Suites aus und aktivieren Sie Perfect Forward Secrecy, damit aufgezeichneter Datenverkehr nicht nachträglich entschlüsselt werden kann.
TLS-Versionen, Cipher Suites und Perfect Forward Secrecy ist eine kostenlose Security+ Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Security+ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Security+ Academy-Kurs umfasst insgesamt 4 Lektionen.
Überblick über das TLS-Protokoll
TLS (Transport Layer Security) ist das kryptografische Protokoll, das den Großteil der Internetkommunikation absichert – HTTPS, SMTPS, IMAPS, LDAPS und VPNs nutzen TLS. TLS stellt drei Sicherheitseigenschaften bereit: Vertraulichkeit (Verschlüsselung verhindert das Abhören), Integrität (MAC verhindert Manipulationen) und Authentifizierung (Zertifikate überprüfen die Identität des Servers). TLS hat sich aus SSL (Secure Sockets Layer) entwickelt, das inzwischen veraltet ist. Die aktuellen Versionen sind TLS 1.2 (weit verbreitet) und TLS 1.3 (schneller und sicherer, für alle neuen Bereitstellungen empfohlen).
Versionsgeschichte und veraltete TLS-Versionen
TLS wurde in mehreren Versionen weiterentwickelt, wobei ältere Versionen kritische Schwachstellen enthielten. SSL 2.0/3.0: veraltet und anfällig für POODLE- und DROWN-Angriffe. TLS 1.0: 2020 von NIST und PCI-DSS für veraltet erklärt (anfällig für BEAST und POODLE bei Blockchiffren). TLS 1.1: zusammen mit TLS 1.0 für veraltet erklärt. TLS 1.2: aktueller Mindeststandard; bei korrekter Konfiguration mit starken Cipher-Suites sicher. TLS 1.3: 2018 veröffentlicht; entfernt alle schwachen Algorithmen, schreibt Forward Secrecy vor, bietet einen deutlich schnelleren Handshake (1-RTT statt 2-RTT) und verhindert Downgrade-Angriffe. PCI-DSS 4.0 verlangt mindestens TLS 1.2 und empfiehlt TLS 1.3.
# TLS version timeline
SSL 2.0 1995 DEPRECATED (DROWN)
SSL 3.0 1996 DEPRECATED (POODLE)
TLS 1.0 1999 DEPRECATED 2020 (BEAST, POODLE)
TLS 1.1 2006 DEPRECATED 2020 (no improvements over 1.0)
TLS 1.2 2008 MINIMUM STANDARD (strong ciphers required)
TLS 1.3 2018 RECOMMENDED (mandatory PFS, faster, secure)
# Check which TLS versions a server supports
nmap --script ssl-enum-ciphers -p 443 example.com
# Or:
openssl s_client -connect example.com:443 -tls1_2
openssl s_client -connect example.com:443 -tls1_3Cipher-Suites
Eine Cipher-Suite ist eine Gruppe kryptografischer Algorithmen, die in einer TLS-Sitzung gemeinsam verwendet werden. Jede Cipher-Suite legt Folgendes fest: einen Schlüsselaustauschalgorithmus (wie Sitzungsschlüssel eingerichtet werden), einen Authentifizierungsalgorithmus (wie der Server überprüft wird), einen Algorithmus für die symmetrische Verschlüsselung (womit die Daten verschlüsselt werden) und einen Message-Authentication-Code-(MAC-)Algorithmus (wie die Integrität überprüft wird). Client und Server handeln während des TLS-Handshakes aus, welche Cipher-Suite verwendet wird – der Server wählt die stärkste Suite aus, die beide Seiten unterstützen.
# TLS cipher suite naming format (TLS 1.2)
# TLS_[KeyExchange]_WITH_[Cipher]_[MAC]
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
ECDHE = Elliptic Curve Diffie-Hellman Ephemeral
RSA = Server certificate authentication
AES_256_GCM = 256-bit AES in Galois/Counter Mode
SHA384 = HMAC with SHA-384 for integrity
# TLS 1.3 simplified format (fewer components)
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256Schlüsselaustauschalgorithmen
In der Phase des Schlüsselaustauschs wird der Sitzungsschlüssel eingerichtet, ohne ihn zu übertragen. RSA-Schlüsselaustausch (TLS 1.2): Der Client verschlüsselt ein Pre-Master-Secret mit dem öffentlichen Schlüssel des Servers. Wird der private Schlüssel später kompromittiert, können alle vergangenen Sitzungen entschlüsselt werden. DHE (Diffie-Hellman Ephemeral): Erzeugt für jede Sitzung ein neues Schlüsselpaar und bietet Forward Secrecy, ist jedoch langsam. ECDHE (Elliptic Curve DHE): Erreicht dieselbe Forward Secrecy wie DHE, jedoch mit kleineren Schlüssellängen und besserer Leistung – dies ist sowohl in TLS 1.2 als auch in TLS 1.3 der bevorzugte Schlüsselaustausch. TLS 1.3 schreibt ECDHE oder DHE vor und entfernt den RSA-Schlüsselaustausch vollständig.
Perfect Forward Secrecy (PFS)
Perfect Forward Secrecy (PFS) stellt sicher, dass aufgezeichnete vergangene Sitzungen auch dann nicht entschlüsselt werden können, wenn der langfristige private Schlüssel des Servers später kompromittiert wird. PFS wird durch einen ephemeren Schlüsselaustausch (ECDHE oder DHE) erreicht, bei dem für jede Sitzung ein neues temporäres Schlüsselpaar erzeugt und nach der Verwendung verworfen wird. Ohne PFS (beim RSA-Schlüsselaustausch) kann ein Angreifer heute alle verschlüsselten TLS-Sitzungen aufzeichnen und sie später rückwirkend entschlüsseln, sobald er den privaten Schlüssel erlangt. Die Überwachungsstrategie der NSA „jetzt sammeln, später entschlüsseln“ geht davon aus, dass Ziele später auf stärkere Schlüssel umsteigen oder Quantencomputer die heutigen Schlüssel brechen werden.
# Cipher suites WITH perfect forward secrecy
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 # Good
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 # Good
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 # OK (slower)
# Cipher suites WITHOUT perfect forward secrecy
TLS_RSA_WITH_AES_256_CBC_SHA256 # NO PFS - avoid
TLS_RSA_WITH_3DES_EDE_CBC_SHA # NO PFS + weak
# Key: look for ECDHE or DHE prefix
# RSA alone as key exchange = no forward secrecyZu vermeidende schwache Chiffrieralgorithmen
Mehrere veraltete Chiffrierkomponenten sind kryptografisch gebrochen und müssen deaktiviert werden. NULL-Chiffren: überhaupt keine Verschlüsselung. Export-Chiffren (FREAK-Angriff): wurden absichtlich geschwächt, um die US-amerikanischen Exportbestimmungen der 1990er-Jahre einzuhalten. RC4: Stromchiffre mit statistischen Verzerrungen, die bei Angriffen ausgenutzt werden. DES und 3DES: Blockchiffren mit zu kleinen Blockgrößen (SWEET32-Angriff) oder unzureichenden Schlüssellängen. MD5 und SHA-1 für MACs: anfällig für Kollisionen. Anonyme Chiffren (aNULL): keine Serverauthentifizierung. Moderne TLS-Konfigurationen sollten als symmetrische Chiffren nur AES-GCM, ChaCha20-Poly1305, AES-CCM zulassen.
# nginx: disable weak ciphers, enforce strong only
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:
ECDHE-RSA-AES256-GCM-SHA384:
ECDHE-ECDSA-CHACHA20-POLY1305:
ECDHE-RSA-CHACHA20-POLY1305:
ECDHE-ECDSA-AES128-GCM-SHA256:
ECDHE-RSA-AES128-GCM-SHA256';
ssl_prefer_server_ciphers on;
# Explicitly disable weak ciphers in Apache
SSLCipherSuite 'HIGH:!aNULL:!MD5:!3DES:!RC4:!EXPORT'Verbesserungen in TLS 1.3
TLS 1.3 bietet gegenüber TLS 1.2 mehrere wesentliche Sicherheitsverbesserungen. Vorgeschriebene PFS: Der RSA-Schlüsselaustausch wurde entfernt – alle Sitzungen verwenden ECDHE oder DHE. Weniger Cipher-Suites: Es sind nur 5 AEAD-Cipher-Suites zulässig; die Aushandlung schwacher Chiffren ist nicht möglich. Schnellerer Handshake: 1 Round-Trip (1-RTT) statt 2-RTT bei TLS 1.2 sowie 0-RTT bei der Sitzungswiederaufnahme (wobei 0-RTT hinsichtlich Replay-Angriffen besondere Überlegungen erfordert). Verschlüsselter Handshake: Das Serverzertifikat wird während des Handshakes verschlüsselt, sodass passive Beobachter nicht erkennen können, welches Zertifikat und damit welche Website der Client aufruft.
# TLS 1.3 handshake (simplified)
Client -> Server: ClientHello (supported ciphers, key shares)
Server -> Client: ServerHello (chosen cipher, key share)
{EncryptedExtensions}
{Certificate}
{CertificateVerify}
{Finished}
Client -> Server: {Finished}
# Both sides now have session keys
# Total: 1 round-trip before application data
# (TLS 1.2 required 2 round trips)
# Note: {} = encrypted (cert is hidden from observers)Downgrade-Angriffe und POODLE
Downgrade-Angriffe bringen einen TLS-Server und einen TLS-Client dazu, eine ältere, schwächere TLS-Version oder Cipher-Suite zu verwenden, obwohl beide eine höhere Version unterstützen. POODLE (Padding Oracle On Downgraded Legacy Encryption) nutzte aus, dass TLS-Implementierungen bei Verbindungsfehlern auf SSL 3.0 zurückfielen. Die Gegenmaßnahme bestand darin, SSL 3.0 zu deaktivieren. FREAK und Logjam nutzten Export-Chiffren aus. TLS_FALLBACK_SCSV ist eine Pseudo-Cipher-Suite, die Clients mitsenden, um zu signalisieren: „Dies ist nicht meine bevorzugte Version.“ Erkennt ein Server dieses Signal und unterstützt er eine höhere Version, bricht er den Downgrade-Versuch ab.
Zertifikatsüberprüfung und Zertifikat-Pinning
Die TLS-Serverauthentifizierung basiert darauf, dass der Client die Zertifikatskette des Servers bis zu einer vertrauenswürdigen Stammzertifizierungsstelle überprüft. Zu den wichtigen Prüfungen gehören: Gültigkeitsdauer (das Zertifikat muss innerhalb seines Gültigkeitszeitraums liegen), Widerruf (eine CRL- oder OCSP-Prüfung bestätigt, dass das Zertifikat nicht widerrufen wurde), Hostname (SAN oder CN muss mit der aufgerufenen Domain übereinstimmen) und Signaturkette (die Signaturen der Zwischen-CA und der Root-CA sind gültig). Certificate Transparency (CT) verlangt, dass alle öffentlich vertrauenswürdigen Zertifikate in unveränderlichen CT-Logs protokolliert werden. Dadurch lassen sich fehlerhaft ausgestellte Zertifikate innerhalb weniger Minuten nach ihrer Ausstellung erkennen.
# Check TLS certificate details
openssl s_client -connect example.com:443 \
-showcerts 2>/dev/null | openssl x509 -noout \
-text | grep -E 'Subject:|Issuer:|Not After:|SAN'
# Verify certificate chain
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt \
server.crt
# Check OCSP status
openssl ocsp -issuer intermediate.crt \
-cert server.crt \
-url http://ocsp.ca.example.com \
-text -noverifySSL Labs und Konfigurationstests
Qualys SSL Labs (ssllabs.com/ssltest) ist das Standardwerkzeug zur Bewertung der TLS-Konfiguration eines Webservers. Es bewertet Server von A+ (hervorragend) bis F (kritische Probleme) anhand der unterstützten TLS-Versionen, der Stärke der Cipher-Suites, der Gültigkeit des Zertifikats, der HSTS-Konfiguration, der Unterstützung von Forward Secrecy und der Widerstandsfähigkeit gegen bekannte Angriffe. Für eine A+-Bewertung sind erforderlich: ausschließlich TLS 1.2 oder höher, ausschließlich ECDHE-Chiffren, ein gültiges Zertifikat und HSTS mit Preload. Organisationen sollten SSL-Labs-Tests nach der Erstkonfiguration und erneut nach jeder Änderung am TLS-Stack durchführen. Viele Compliance-Frameworks (PCI-DSS) verlangen regelmäßige Bewertungen der TLS-Konfiguration.
Best Practices für die Verwaltung von TLS-Zertifikaten
Abgelaufene TLS-Zertifikate verursachen Ausfälle und Warnungen, die das Vertrauen der Benutzer beeinträchtigen und von Angreifern ausgenutzt werden können. Das Lebenszyklusmanagement von Zertifikaten umfasst: die Erfassung aller Zertifikate in einem Zertifikatsinventar, die Konfiguration von Ablaufwarnungen mindestens 30 Tage vor dem Ablauf, die Automatisierung der Erneuerung mit dem ACME-Protokoll (Let's Encrypt, Certbot), die Verwendung kurzer Zertifikatslaufzeiten (90 Tage für öffentliche Zertifikate), um das Risikofenster bei einer Kompromittierung zu verkleinern, sowie den sorgfältigen Einsatz von Wildcard-Zertifikaten (*.example.com), da ein kompromittiertes Wildcard-Zertifikat alle Subdomains betrifft. Plattformen für die Zertifikatsverwaltung (Venafi, DigiCert CertCentral) automatisieren Erkennung und Lebenszyklusmanagement auch bei großen Zertifikatsbeständen.
# Auto-renew Let's Encrypt cert with Certbot
# Install Certbot
apt install certbot python3-certbot-nginx
# Issue certificate
certbot --nginx -d example.com -d www.example.com
# Certbot auto-renewal (runs twice daily via systemd timer)
systemctl status certbot.timer
# Test renewal without actually renewing
certbot renew --dry-run
# Verify cert expiry date
openssl x509 -enddate -noout -in /etc/ssl/certs/example.crt
# Output: notAfter=Feb 20 12:00:00 2025 GMTSchnelltest
Testen Sie Ihr Verständnis der CompTIA-Security+-Konzepte (SY0-701) aus dieser Lektion.
Zusammenfassung der Lektion
In dieser Lektion haben Sie Folgendes gelernt: TLS 1.0/1.1 sind veraltet, TLS 1.2 ist der Mindeststandard und TLS 1.3 wird bevorzugt, da es PFS und verschlüsselte Handshakes zwingend vorschreibt; Cipher-Suites legen den Schlüsselaustausch (bevorzugt ECDHE), die symmetrische Verschlüsselung (AES-GCM, ChaCha20) und MAC-Algorithmen fest; und Perfect Forward Secrecy erfordert einen ephemeren Schlüsselaustausch (DHE/ECDHE), damit vergangene Sitzungen auch nach einer Kompromittierung des Schlüssels nicht entschlüsselt werden können. Als Nächstes befassen wir uns mit sicherem DNS: DNSSEC und DNS over HTTPS.
Häufig gestellte Fragen
Ist die Lektion „TLS-Versionen, Cipher Suites und Perfect Forward Secrecy“ kostenlos?
Ja — der vollständige Text von „TLS-Versionen, Cipher Suites und Perfect Forward Secrecy“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Security+ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Security+ Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „TLS-Versionen, Cipher Suites und Perfect Forward Secrecy“?
Konfigurieren Sie TLS 1.2/1.3, wählen Sie starke Cipher Suites aus und aktivieren Sie Perfect Forward Secrecy, damit aufgezeichneter Datenverkehr nicht nachträglich entschlüsselt werden kann. Du übst Security+ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Security+ Academy zu starten?
Keine Vorkenntnisse erforderlich. Security+ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „TLS-Versionen, Cipher Suites und Perfect Forward Secrecy“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Security+ Academy-Lektion Code schreiben und ausführen?
Ja. Jede Security+ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Unsichere Protokolle ersetzen: Telnet vs. SSH, FTP vs. SFTP
- TLS-Versionen, Cipher Suites und Perfect Forward Secrecy
- Sicheres DNS: DNSSEC und DNS over HTTPS (DoH)
- IPsec, VPN-Protokolle und Sicherheit beim Remotezugriff