Aller au contenu principal

Annexe C. Définitions des suites de chiffrement (Cipher Suite Definitions)

Cette annexe définit les suites de chiffrement nouvelles ou mises à jour dans TLS 1.2.

C.1. Suites de chiffrement AES

Les suites de chiffrement suivantes utilisent l'algorithme AES:

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. Suites de chiffrement AES avec SHA-256

TLS 1.2 introduit des suites de chiffrement AES utilisant SHA-256:

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 };

Par exemple, les paramètres de spécification de chiffrement pour TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 sont:

  • Échange de clés: DHE_RSA
  • Algorithme de chiffrement en bloc: AES_128_CBC
  • Algorithme MAC: HMAC-SHA256
  • Fonction pseudo-aléatoire: PRF (SHA-256)

C.3. Suites de chiffrement NULL

Les suites de chiffrement suivantes utilisent le chiffrement NULL (à des fins de test uniquement; NE DEVRAIT PAS être utilisé dans les environnements de production):

CipherSuite TLS_RSA_WITH_NULL_SHA256 = { 0x00,0x3B };

C.4. Conventions de dénomination des suites de chiffrement

Les noms de suites de chiffrement TLS suivent ce format:

TLS_{ÉchangeClés}_{Authentification}_WITH_{Chiffrement}_{MAC}

Par exemple:

  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
    • Échange de clés: DHE (Ephemeral Diffie-Hellman)
    • Authentification: RSA
    • Chiffrement: AES_128_CBC
    • Algorithme MAC: SHA256

C.5. Recommandations d'implémentation

Pour les implémentations TLS 1.2, il est recommandé:

  1. DOIT implémenter:

    • TLS_RSA_WITH_AES_128_CBC_SHA
  2. DEVRAIT implémenter:

    • TLS_RSA_WITH_AES_256_CBC_SHA
    • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
    • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  3. PEUT implémenter:

    • D'autres suites de chiffrement selon les exigences de l'application
  4. NE DEVRAIT PAS implémenter:

    • Suites de chiffrement anonymes (DH_anon) (sauf si nécessaire pour des scénarios d'application spécifiques)
    • Suites de chiffrement NULL (sauf à des fins de test uniquement)

C.6. Considérations de sécurité

Lors de la sélection des suites de chiffrement, considérez:

  • Confidentialité persistante (Forward Secrecy): Préférer les suites de chiffrement DHE ou ECDHE
  • Longueur de clé: AES-256 est préféré à AES-128
  • Force du MAC: SHA-256 ou plus fort est préféré à SHA-1
  • Éviter les algorithmes faibles: Éviter les algorithmes avec des faiblesses connues tels que RC4, DES, MD5

Note: Pour les définitions complètes des suites de chiffrement et les spécifications détaillées, veuillez vous référer au texte complet de l'annexe C de la RFC 5246.