Appendice C. Definizioni delle suite di cifratura (Cipher Suite Definitions)
Questa appendice definisce le suite di cifratura nuove o aggiornate in TLS 1.2.
C.1. Suite di cifratura AES
Le seguenti suite di cifratura utilizzano l'algoritmo 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. Suite di cifratura AES con SHA-256
TLS 1.2 introduce suite di cifratura AES che utilizzano 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 };
Ad esempio, i parametri di specifica di cifratura per TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 sono:
- Scambio di chiavi: DHE_RSA
- Algoritmo di cifratura a blocchi: AES_128_CBC
- Algoritmo MAC: HMAC-SHA256
- Funzione pseudocasuale: PRF (SHA-256)
C.3. Suite di cifratura NULL
Le seguenti suite di cifratura utilizzano la cifratura NULL (solo per scopi di test; NON DOVREBBE essere utilizzata negli ambienti di produzione):
CipherSuite TLS_RSA_WITH_NULL_SHA256 = { 0x00,0x3B };
C.4. Convenzioni di denominazione delle suite di cifratura
I nomi delle suite di cifratura TLS seguono questo formato:
TLS_{ScambioChiavi}_{Autenticazione}_WITH_{Cifratura}_{MAC}
Ad esempio:
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256- Scambio di chiavi: DHE (Ephemeral Diffie-Hellman)
- Autenticazione: RSA
- Cifratura: AES_128_CBC
- Algoritmo MAC: SHA256
C.5. Raccomandazioni per l'implementazione
Per le implementazioni TLS 1.2, si raccomanda:
-
DEVE implementare:
- TLS_RSA_WITH_AES_128_CBC_SHA
-
DOVREBBE implementare:
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
-
PUÒ implementare:
- Altre suite di cifratura in base ai requisiti dell'applicazione
-
NON DOVREBBE implementare:
- Suite di cifratura anonime (DH_anon) (a meno che non siano necessarie per scenari applicativi specifici)
- Suite di cifratura NULL (tranne solo per scopi di test)
C.6. Considerazioni sulla sicurezza
Nella selezione delle suite di cifratura, considerare:
- Forward Secrecy: Preferire suite di cifratura DHE o ECDHE
- Lunghezza della chiave: AES-256 è preferito rispetto ad AES-128
- Forza del MAC: SHA-256 o più forte è preferito rispetto a SHA-1
- Evitare algoritmi deboli: Evitare algoritmi con debolezze note come RC4, DES, MD5
Nota: Per le definizioni complete delle suite di cifratura e le specifiche dettagliate, si prega di fare riferimento al testo completo dell'appendice C della RFC 5246.