4.2 Recommended Cipher Suites (Empfohlene Cipher-Suiten)
4.2 Recommended Cipher Suites (Empfohlene Cipher-Suiten)
Angesichts der vorstehenden Überlegungen wird die Implementierung und der Einsatz der folgenden Cipher-Suiten EMPFOHLEN:
-
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 -
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 -
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 -
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Diese Cipher-Suiten werden nur in TLS 1.2 unterstützt, da es sich um authenticated encryption (AEAD) Algorithmen [RFC5116] handelt.
Typischerweise muss die Reihenfolge der Suiten explizit in der Server-Software konfiguriert werden, um diese Suiten zu bevorzugen. (Siehe [BETTERCRYPTO] für hilfreiche Einsatzrichtlinien, beachten Sie jedoch, dass seine Empfehlungen in einigen Details von dem aktuellen Dokument abweichen.) Es wäre ideal, wenn Server-Software-Implementierungen diese Suiten standardmäßig bevorzugen würden.
Einige Geräte haben Hardware-Unterstützung für AES-CCM, aber nicht für AES-GCM, sodass sie den vorstehenden Empfehlungen bezüglich Cipher-Suiten nicht folgen können. Es gibt sogar Geräte, die Public-Key-Kryptografie überhaupt nicht unterstützen, aber diese liegen vollständig außerhalb des Geltungsbereichs.
4.2.1 Implementation Details (Implementierungsdetails)
Clients SOLLTEN TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 als ersten Vorschlag an jeden Server einschließen, es sei denn, sie haben vorherige Kenntnis davon, dass der Server nicht auf eine TLS 1.2 client_hello Nachricht antworten kann.
Server MÜSSEN diese Cipher-Suite gegenüber schwächeren Cipher-Suiten bevorzugen, wann immer sie vorgeschlagen wird, auch wenn sie nicht der erste Vorschlag ist.
Clients steht es natürlich frei, stärkere Cipher-Suiten anzubieten, z.B. unter Verwendung von AES-256; wenn sie dies tun, SOLLTE der Server die stärkere Cipher-Suite bevorzugen, es sei denn, es gibt zwingende Gründe (z.B. ernsthaft verschlechterte Leistung), anders zu wählen.
Dieses Dokument ändert nicht die mandatory-to-implement TLS-Cipher-Suite(s), die von TLS vorgeschrieben werden. Um die Interoperabilität zu maximieren, schreibt RFC 5246 die Implementierung der TLS_RSA_WITH_AES_128_CBC_SHA Cipher-Suite vor, die deutlich schwächer ist als die hier empfohlenen Cipher-Suiten. (Der GCM-Modus leidet nicht unter derselben Schwäche, die durch die Reihenfolge von MAC-then-Encrypt in TLS [Krawczyk2001] verursacht wird, da er einen AEAD-Betriebsmodus verwendet.) Implementierer sollten den Interoperabilitätsgewinn gegen den Verlust an Sicherheit bei der Bereitstellung der TLS_RSA_WITH_AES_128_CBC_SHA Cipher-Suite abwägen. Andere Anwendungsprotokolle spezifizieren andere Cipher-Suiten als mandatory to implement (MTI).
Beachten Sie, dass einige Profile von TLS 1.2 unterschiedliche Cipher-Suiten verwenden. Zum Beispiel definiert [RFC6460] ein Profil, das die Cipher-Suiten TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 und TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 verwendet.
[RFC4492] erlaubt Clients und Servern, ECDH-Parameter (Kurven) zu verhandeln. Sowohl Clients als auch Server SOLLTEN die "Supported Elliptic Curves" Erweiterung [RFC4492] einschließen. Für Interoperabilität SOLLTEN Clients und Server die NIST P-256 (secp256r1) Kurve [RFC4492] unterstützen. Darüber hinaus SOLLTEN Clients eine ec_point_formats Erweiterung mit einem einzelnen Element, "uncompressed", senden.