Passa al contenuto principale

4.3 Public Key Length (Lunghezza della chiave pubblica)

4.3 Public Key Length (Lunghezza della chiave pubblica)

Quando si utilizzano le cipher suite raccomandate in questo documento, vengono normalmente utilizzate due chiavi pubbliche nell'handshake TLS: una per l'accordo di chiavi Diffie-Hellman e una per l'autenticazione del server. Quando viene utilizzato un certificato client, viene aggiunta una terza chiave pubblica.

Con uno scambio di chiavi basato su gruppi Diffie-Hellman a esponente modulare (MODP) (cipher suite "DHE"), sono RACCOMANDATE lunghezze di chiavi DH di almeno 2048 bit.

Motivazione: Per varie ragioni, in pratica, le chiavi DH sono tipicamente generate in lunghezze che sono potenze di due (ad esempio, 2^10 = 1024 bit, 2^11 = 2048 bit, 2^12 = 4096 bit). Poiché una chiave DH di 1228 bit sarebbe approssimativamente equivalente solo a una chiave simmetrica di 80 bit [RFC3766], è meglio utilizzare chiavi più lunghe per la famiglia di cipher suite "DHE". Una chiave DH di 1926 bit sarebbe approssimativamente equivalente a una chiave simmetrica di 100 bit [RFC3766] e una chiave DH di 2048 bit potrebbe essere sufficiente per almeno i prossimi 10 anni [NIST.SP.800-56A]. Vedere Sezione 4.4 per informazioni aggiuntive sull'uso di MODP Diffie-Hellman in TLS.

Come notato in [RFC3766], correggendo per l'emergenza di una macchina TWIRL implicherebbe che le chiavi DH a 1024 bit producano circa 65 bit di forza equivalente e che una chiave DH a 2048 bit produca circa 92 bit di forza equivalente.

Per quanto riguarda le chiavi ECDH, il "EC Named Curve Registry" di IANA (all'interno del registro "Transport Layer Security (TLS) Parameters" [IANA-TLS]) contiene curve ellittiche di 160 bit che sono considerate approssimativamente equivalenti solo a una chiave simmetrica di 80 bit [ECRYPT-II]. Le curve di meno di 192 bit NON DOVREBBERO essere utilizzate.

Quando si utilizza RSA, i server DOVREBBERO autenticarsi utilizzando certificati con almeno un modulo di 2048 bit per la chiave pubblica. Inoltre, è RACCOMANDATO l'uso dell'algoritmo di hash SHA-256 (vedere [CAB-Baseline] per maggiori dettagli). I client DOVREBBERO indicare ai server che richiedono SHA-256, utilizzando l'estensione "Signature Algorithms" definita in TLS 1.2.