Anhang C. Cipher-Suite-Definitionen (Cipher Suite Definitions)
Dieser Anhang definiert Cipher Suites, die in TLS 1.2 neu hinzugefügt oder aktualisiert wurden.
C.1. AES-Cipher-Suites
Die folgenden Cipher Suites verwenden den AES-Algorithmus:
CipherSuite TLS_RSA_WITH_AES_128_CBC_SHA = { 0x00,0x2F };
CipherSuite TLS_DH_DSS_WITH_AES_128_CBC_SHA = { 0x00,0x30 };
CipherSuite TLS_DH_RSA_WITH_AES_128_CBC_SHA = { 0x00,0x31 };
CipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA = { 0x00,0x32 };
CipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_SHA = { 0x00,0x33 };
CipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA = { 0x00,0x34 };
CipherSuite TLS_RSA_WITH_AES_256_CBC_SHA = { 0x00,0x35 };
CipherSuite TLS_DH_DSS_WITH_AES_256_CBC_SHA = { 0x00,0x36 };
CipherSuite TLS_DH_RSA_WITH_AES_256_CBC_SHA = { 0x00,0x37 };
CipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_SHA = { 0x00,0x38 };
CipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_SHA = { 0x00,0x39 };
CipherSuite TLS_DH_anon_WITH_AES_256_CBC_SHA = { 0x00,0x3A };
C.2. AES-Cipher-Suites mit SHA-256
TLS 1.2 führt AES-Cipher-Suites ein, die SHA-256 verwenden:
CipherSuite TLS_RSA_WITH_AES_128_CBC_SHA256 = { 0x00,0x3C };
CipherSuite TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = { 0x00,0x3E };
CipherSuite TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = { 0x00,0x3F };
CipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = { 0x00,0x40 };
CipherSuite TLS_RSA_WITH_AES_256_CBC_SHA256 = { 0x00,0x3D };
CipherSuite TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = { 0x00,0x68 };
CipherSuite TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = { 0x00,0x69 };
CipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = { 0x00,0x6A };
CipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = { 0x00,0x6B };
CipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA256 = { 0x00,0x6C };
CipherSuite TLS_DH_anon_WITH_AES_256_CBC_SHA256 = { 0x00,0x6D };
Zum Beispiel sind die Cipher-Spezifikationsparameter für TLS_DHE_RSA_WITH_AES_128_CBC_SHA256:
- Schlüsselaustausch: DHE_RSA
- Bulk-Verschlüsselungsalgorithmus: AES_128_CBC
- MAC-Algorithmus: HMAC-SHA256
- Pseudozufallsfunktion: PRF (SHA-256)
C.3. NULL-Cipher-Suites
Die folgenden Cipher Suites verwenden NULL-Verschlüsselung (nur für Testzwecke; SOLLTE NICHT in Produktionsumgebungen verwendet werden):
CipherSuite TLS_RSA_WITH_NULL_SHA256 = { 0x00,0x3B };
C.4. Benennungskonventionen für Cipher Suites
TLS-Cipher-Suite-Namen folgen diesem Format:
TLS_{Schlüsselaustausch}_{Authentifizierung}_WITH_{Verschlüsselung}_{MAC}
Zum Beispiel:
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256- Schlüsselaustausch: DHE (Ephemeral Diffie-Hellman)
- Authentifizierung: RSA
- Verschlüsselung: AES_128_CBC
- MAC-Algorithmus: SHA256
C.5. Implementierungsempfehlungen
Für TLS 1.2-Implementierungen wird empfohlen:
-
MUSS implementieren:
- TLS_RSA_WITH_AES_128_CBC_SHA
-
SOLLTE implementieren:
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
-
KANN implementieren:
- Andere Cipher Suites basierend auf Anwendungsanforderungen
-
SOLLTE NICHT implementieren:
- Anonyme (DH_anon) Cipher Suites (außer wenn für spezifische Anwendungsszenarien erforderlich)
- NULL-Verschlüsselungs-Cipher-Suites (außer nur für Testzwecke)
C.6. Sicherheitsüberlegungen
Bei der Auswahl von Cipher Suites sollte Folgendes berücksichtigt werden:
- Forward Secrecy: DHE- oder ECDHE-Cipher-Suites bevorzugen
- Schlüssellänge: AES-256 wird gegenüber AES-128 bevorzugt
- MAC-Stärke: SHA-256 oder stärker wird gegenüber SHA-1 bevorzugt
- Schwache Algorithmen vermeiden: Algorithmen mit bekannten Schwächen wie RC4, DES, MD5 vermeiden
Hinweis: Für vollständige Cipher-Suite-Definitionen und detaillierte Spezifikationen siehe den vollständigen Text von RFC 5246 Anhang C.