Passa al contenuto principale

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:

  1. DEVE implementare:

    • TLS_RSA_WITH_AES_128_CBC_SHA
  2. 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
  3. PUÒ implementare:

    • Altre suite di cifratura in base ai requisiti dell'applicazione
  4. 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.