Zum Hauptinhalt springen

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:

  1. MUSS implementieren:

    • TLS_RSA_WITH_AES_128_CBC_SHA
  2. 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
  3. KANN implementieren:

    • Andere Cipher Suites basierend auf Anwendungsanforderungen
  4. 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.