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é:
-
DOIT implémenter:
- TLS_RSA_WITH_AES_128_CBC_SHA
-
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
-
PEUT implémenter:
- D'autres suites de chiffrement selon les exigences de l'application
-
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.