Ein Transport Layer Protokoll der neusten Version
Dieser Artikel stellt Informationen bereit und beantwortet die Frage “Wofür steht TLS 1.3 überhaupt”.
TLS 1.3 (Transport Layer Security 1.3) ist die neueste Version des TLS-Protokolls, das für die Sicherung von Datenübertragungen im Internet verwendet wird. Es bringt mehrere wichtige Verbesserungen und Änderungen gegenüber früheren Versionen wie TLS 1.2 mit sich. Hier sind einige der wichtigsten Neuerungen:
- Vereinfachter Handshake:
- TLS 1.3 hat den Handshake-Prozess erheblich vereinfacht und beschleunigt. Der Handshake kann nun in nur einem Round-Trip-Time (RTT) abgeschlossen werden, was die Latenzzeit reduziert und die Verbindungsherstellung beschleunigt.
- Verbesserte Sicherheit:
- TLS 1.3 hat mehrere unsichere und veraltete Algorithmen und Funktionen entfernt, die in früheren Versionen verwendet wurden. Dazu gehören unsichere Verschlüsselungsalgorithmen und Hash-Funktionen.
- Es wurden neue, stärkere kryptografische Algorithmen eingeführt, um die Sicherheit zu erhöhen.
- 0-RTT (Zero Round-Trip Time) Resumption:
- TLS 1.3 unterstützt 0-RTT Resumption, was bedeutet, dass eine Verbindung sofort wiederhergestellt werden kann, ohne dass ein vollständiger Handshake erforderlich ist. Dies kann die Latenzzeit weiter reduzieren und die Leistung verbessern.
- Entfernung unsicherer Funktionen:
- TLS 1.3 hat viele unsichere und wenig genutzte Funktionen entfernt, wie z.B. renegotiation, unsichere Cipher Suites und Kompression. Dies verringert die Angriffsfläche und erhöht die Sicherheit.
- Forward Secrecy:
- TLS 1.3 stellt sicher, dass alle Verbindungen Forward Secrecy (Perfect Forward Secrecy, PFS) bieten. Das bedeutet, dass selbst wenn ein langfristiger Schlüssel kompromittiert wird, vergangene Sitzungen nicht entschlüsselt werden können.
- Verbesserte Leistung:
- Durch die Vereinfachung des Handshake-Prozesses und die Entfernung unsicherer Funktionen ist TLS 1.3 effizienter und performanter als frühere Versionen.
- Bessere Kompatibilität:
- TLS 1.3 ist so gestaltet, dass es besser mit modernen Netzwerken und Anwendungen kompatibel ist. Es unterstützt neue Anwendungsfälle und Technologien besser als frühere Versionen.
Diese Verbesserungen machen TLS 1.3 zu einer sichereren und effizienteren Wahl für die Sicherung von Datenübertragungen.
Welche Algorithmen unterstützt TLS 1.3?
TLS 1.3 hat die Liste der unterstützten Algorithmen im Vergleich zu früheren Versionen erheblich vereinfacht und modernisiert, wobei weitere Cipher Suiten akzeptiert werden. Hier sind einige der wichtigsten Algorithmen und Mechanismen, die TLS 1.3 unterstützt:
- Cipher Suites:
- TLS 1.3 hat die Anzahl der unterstützten Cipher Suites stark reduziert und konzentriert sich auf moderne, sichere Algorithmen. Die unterstützten Cipher Suites sind:
- TLS_AES_128_GCM_SHA256
- Verwendet AES-128 im GCM-Modus (Galois/Counter Mode) für die Verschlüsselung und SHA-256 für die Integritätsprüfung.
- TLS_AES_256_GCM_SHA384
- Verwendet AES-256 im GCM-Modus für die Verschlüsselung und SHA-384 für die Integritätsprüfung.
- TLS_CHACHA20_POLY1305_SHA256
- Verwendet ChaCha20-Poly1305 für die Verschlüsselung und SHA-256 für die Integritätsprüfung. Diese Cipher Suite ist besonders nützlich auf Plattformen, die keine Hardwarebeschleunigung für AES bieten.
- TLS_AES_128_CCM_SHA256
- Verwendet AES-128 im CCM-Modus (Counter with CBC-MAC) für die Verschlüsselung und SHA-256 für die Integritätsprüfung.
- TLS_AES_128_CCM_8_SHA256
- Verwendet AES-128 im CCM-Modus mit einer 8-Byte-Authentifizierungstag für die Verschlüsselung und SHA-256 für die Integritätsprüfung.
- TLS_AES_128_GCM_SHA256
- TLS 1.3 hat die Anzahl der unterstützten Cipher Suites stark reduziert und konzentriert sich auf moderne, sichere Algorithmen. Die unterstützten Cipher Suites sind:
- Key Exchange Algorithms:
- TLS 1.3 unterstützt nur sichere Key Exchange Algorithms, die Forward Secrecy bieten. Dazu gehören:
- Elliptic Curve Diffie-Hellman (ECDHE)
- Diffie-Hellman Ephemeral (DHE)
- TLS 1.3 unterstützt nur sichere Key Exchange Algorithms, die Forward Secrecy bieten. Dazu gehören:
- Hash Functions:
- TLS 1.3 verwendet moderne und sichere Hash-Funktionen:
- SHA-256
- SHA-384
- TLS 1.3 verwendet moderne und sichere Hash-Funktionen:
- Signature Algorithms:
- TLS 1.3 unterstützt folgende Signatur-Algorithmen:
- RSA mit PSS (Probabilistic Signature Scheme)
- ECDSA (Elliptic Curve Digital Signature Algorithm)
- EdDSA (Edwards-curve Digital Signature Algorithm)
- TLS 1.3 unterstützt folgende Signatur-Algorithmen:
- HKDF (HMAC-based Extract-and-Expand Key Derivation Function):
- TLS 1.3 verwendet HKDF für die Schlüsselableitung, was eine sichere und effiziente Methode zur Erzeugung kryptografischer Schlüssel ist.
- AEAD (Authenticated Encryption with Associated Data):
- TLS 1.3 verwendet AEAD-Cipher, die sowohl Verschlüsselung als auch Authentifizierung in einem einzigen Vorgang bieten. Die unterstützten AEAD-Cipher sind:
- AES-GCM (Galois/Counter Mode)
- ChaCha20-Poly1305
- AES-CCM (Counter with CBC-MAC)
- TLS 1.3 verwendet AEAD-Cipher, die sowohl Verschlüsselung als auch Authentifizierung in einem einzigen Vorgang bieten. Die unterstützten AEAD-Cipher sind:
Durch die Konzentration auf diese modernen und sicheren Algorithmen bietet TLS 1.3 eine robuste Sicherheitsgrundlage für die Verschlüsselung und Authentifizierung von Datenübertragungen.
Welcher Signature Algorithms ist unter TLS 1.3 zu empfehlen?
Unter TLS 1.3 gibt es mehrere empfohlene Signatur-Algorithmen, die jeweils ihre eigenen Vorteile bieten. Die Wahl des besten Algorithmus hängt von verschiedenen Faktoren ab, einschließlich Sicherheitsanforderungen, Leistung und Kompatibilität. Hier sind die empfohlenen Signatur-Algorithmen unter TLS 1.3:
- ECDSA (Elliptic Curve Digital Signature Algorithm):
- ECDSA ist ein weit verbreiteter und gut unterstützter Algorithmus, der auf elliptischen Kurven basiert. Er bietet starke Sicherheit bei relativ kleinen Schlüsselgrößen, was ihn effizient und leistungsfähig macht.
- Empfohlene Kurven sind P-256, P-384 und P-521.
- EdDSA (Edwards-curve Digital Signature Algorithm):
- EdDSA ist ein moderner Signatur-Algorithmus, der auf Edwards-Kurven basiert. Er bietet starke Sicherheit und ist bekannt für seine hohe Leistung und Einfachheit.
- Die empfohlene Kurve ist Ed25519, die für ihre Sicherheit und Effizienz bekannt ist.
- RSA mit PSS (Probabilistic Signature Scheme):
- RSA mit PSS ist eine sichere Variante des RSA-Algorithmus, die zusätzliche Sicherheitsmerkmale bietet. Es ist eine gute Wahl für Umgebungen, in denen RSA bereits weit verbreitet ist.
- Empfohlene Schlüsselgrößen sind 2048 Bit oder größer.
Empfehlungen:
- Für maximale Sicherheit und Leistung: EdDSA (Ed25519) ist eine hervorragende Wahl. Es bietet starke Sicherheit bei hoher Leistung und ist einfach zu implementieren.
- Für breite Kompatibilität: ECDSA (P-256 oder P-384) ist eine gute Wahl, da es weit verbreitet und gut unterstützt ist.
- Für Umgebungen, die RSA bevorzugen: RSA mit PSS (2048 Bit oder größer) bietet eine sichere und bewährte Option.
Letztendlich hängt die Wahl des besten Signatur-Algorithmus von den spezifischen Anforderungen und Einschränkungen deiner Anwendung ab. Es ist jedoch wichtig, sicherzustellen, dass der gewählte Algorithmus den aktuellen Sicherheitsstandards entspricht und unterstützt wird.
Welche elliptischen Kurven sollten mit TLS 1.3 verwendet werden?
Bei der Verwendung von TLS 1.3 mit elliptischen Kurven (Elliptic Curve Cryptography, ECC) gibt es mehrere empfohlene Kurven, die sowohl sicher als auch effizient sind. Hier sind die wichtigsten elliptischen Kurven, die mit TLS 1.3 verwendet werden sollten:
- NIST P-256 (secp256r1):
- Diese Kurve ist weit verbreitet und gut unterstützt. Sie bietet ein gutes Gleichgewicht zwischen Sicherheit und Leistung.
- Sicherheitsniveau: Vergleichbar mit RSA 3072-Bit.
- NIST P-384 (secp384r1):
- Diese Kurve bietet ein höheres Sicherheitsniveau als P-256 und ist ebenfalls gut unterstützt.
- Sicherheitsniveau: Vergleichbar mit RSA 7680-Bit.
- NIST P-521 (secp521r1):
- Diese Kurve bietet das höchste Sicherheitsniveau unter den NIST-Kurven, ist jedoch weniger leistungseffizient.
- Sicherheitsniveau: Vergleichbar mit RSA 15360-Bit.
- Curve25519:
- Diese Kurve ist bekannt für ihre hohe Sicherheit und Effizienz. Sie wird häufig in modernen kryptografischen Protokollen verwendet.
- Sicherheitsniveau: Vergleichbar mit RSA 3072-Bit.
- Curve448 (Ed448):
- Diese Kurve bietet ein höheres Sicherheitsniveau als Curve25519 und ist ebenfalls effizient.
- Sicherheitsniveau: Vergleichbar mit RSA 7680-Bit.
Empfehlungen:
- Für allgemeine Anwendungen: NIST P-256 und Curve25519 sind ausgezeichnete Wahlmöglichkeiten. Sie bieten ein gutes Gleichgewicht zwischen Sicherheit und Leistung und sind weit verbreitet.
- Für höhere Sicherheitsanforderungen: NIST P-384 und Curve448 bieten ein höheres Sicherheitsniveau und sind ebenfalls gut unterstützt.
- Für maximale Sicherheit: NIST P-521 bietet das höchste Sicherheitsniveau, ist jedoch weniger leistungseffizient.
Es ist wichtig, sicherzustellen, dass die gewählte Kurve sowohl von den Client- als auch von den Server-Implementierungen unterstützt wird, um Kompatibilitätsprobleme zu vermeiden. Die meisten modernen TLS-Implementierungen unterstützen die oben genannten Kurven, was sie zu einer sicheren Wahl für die Verwendung mit TLS 1.3 macht.
Zertifikate und das Thema TLS 1.3
Damit Zertifikate mit TLS 1.3 funktionieren, müssen sie bestimmte Eigenschaften und Anforderungen erfüllen. Hier sind die wichtigsten Anforderungen:
- Unterstützte Signatur-Algorithmen:
- Zertifikate müssen mit einem der unterstützten Signatur-Algorithmen signiert sein. TLS 1.3 unterstützt die folgenden Signatur-Algorithmen:
- RSA mit PSS (Probabilistic Signature Scheme)
- ECDSA (Elliptic Curve Digital Signature Algorithm)
- EdDSA (Edwards-curve Digital Signature Algorithm)
- Zertifikate müssen mit einem der unterstützten Signatur-Algorithmen signiert sein. TLS 1.3 unterstützt die folgenden Signatur-Algorithmen:
- Schlüssellängen:
- Für RSA-Zertifikate: Mindestens 2048-Bit-Schlüssel werden empfohlen, um ein angemessenes Sicherheitsniveau zu gewährleisten.
- Für ECDSA-Zertifikate: Empfohlene Kurven sind P-256, P-384 und P-521.
- Für EdDSA-Zertifikate: Die empfohlene Kurve ist Ed25519.
- X.509-Format:
- Zertifikate müssen dem X.509-Standard entsprechen, der das Format und die Struktur von öffentlichen Schlüsselzertifikaten definiert.
- Zertifikatsketten:
- Zertifikate müssen Teil einer gültigen Zertifikatskette sein, die von einer vertrauenswürdigen Zertifizierungsstelle (CA) ausgestellt wurde. Die gesamte Kette, einschließlich des Endzertifikats und aller Zwischenzertifikate, muss gültig und vertrauenswürdig sein.
- Gültigkeitsdauer:
- Zertifikate müssen innerhalb ihrer Gültigkeitsdauer liegen. Abgelaufene oder noch nicht gültige Zertifikate werden nicht akzeptiert.
- Erweiterungen:
- Zertifikate können verschiedene Erweiterungen enthalten, die zusätzliche Informationen bereitstellen. Einige wichtige Erweiterungen sind:
- Subject Alternative Name (SAN): Diese Erweiterung listet alternative Namen (z.B. Domainnamen, IP-Adressen) auf, die mit dem Zertifikat assoziiert sind.
- Key Usage: Diese Erweiterung definiert die zulässigen Verwendungen des öffentlichen Schlüssels (z.B. digitale Signatur, Schlüsselverschlüsselung).
- Extended Key Usage (EKU): Diese Erweiterung definiert zusätzliche Verwendungen des öffentlichen Schlüssels (z.B. Server-Authentifizierung, Client-Authentifizierung).
- Zertifikate können verschiedene Erweiterungen enthalten, die zusätzliche Informationen bereitstellen. Einige wichtige Erweiterungen sind:
- Revocation Checking:
- Zertifikate sollten regelmäßig auf Widerruf überprüft werden, um sicherzustellen, dass sie nicht widerrufen wurden. Dies kann durch Certificate Revocation Lists (CRLs) oder Online Certificate Status Protocol (OCSP) erfolgen.
- Kompatibilität mit TLS 1.3:
- Zertifikate müssen mit den spezifischen Anforderungen und Einschränkungen von TLS 1.3 kompatibel sein. Dies umfasst die Unterstützung der oben genannten Signatur-Algorithmen und Schlüssellängen.
Durch die Einhaltung dieser Anforderungen stellest du sicher, dass deine Zertifikate mit TLS 1.3 kompatibel sind und eine sichere und vertrauenswürdige Verbindung ermöglichen.