4.3. Longueur de clé publique
Lors de l'utilisation des suites de chiffrement recommandées dans ce document, deux clés publiques sont normalement utilisées dans la poignée de main TLS: une pour l'accord de clé Diffie-Hellman et une pour l'authentification du serveur. Lorsqu'un certificat client est utilisé, une troisième clé publique est ajoutée.
Avec un échange de clés basé sur des groupes Diffie-Hellman exponentiels modulaires (MODP) (suites de chiffrement "DHE"), des longueurs de clé DH d'au moins 2048 bits sont RECOMMANDÉES.
Justification: Pour diverses raisons, en pratique, les clés DH sont généralement générées en longueurs qui sont des puissances de deux (par exemple, 2^10 = 1024 bits, 2^11 = 2048 bits, 2^12 = 4096 bits). Parce qu'une clé DH de 1228 bits serait à peu près équivalente à seulement une clé symétrique de 80 bits [RFC3766], il est préférable d'utiliser des clés plus longues pour la famille de suites de chiffrement "DHE". Une clé DH de 1926 bits serait à peu près équivalente à une clé symétrique de 100 bits [RFC3766] et une clé DH de 2048 bits pourrait être suffisante pour au moins les 10 prochaines années [NIST.SP.800-56A]. Voir la Section 4.4 pour des informations supplémentaires sur l'utilisation de MODP Diffie-Hellman dans TLS.
Comme noté dans [RFC3766], en corrigeant l'émergence d'une machine TWIRL, cela impliquerait que les clés DH de 1024 bits donnent environ 65 bits de force équivalente et qu'une clé DH de 2048 bits donnerait environ 92 bits de force équivalente.
En ce qui concerne les clés ECDH, le registre IANA "EC Named Curve Registry" (dans le registre "Transport Layer Security (TLS) Parameters" [IANA-TLS]) contient des courbes elliptiques de 160 bits qui sont considérées comme à peu près équivalentes à seulement une clé symétrique de 80 bits [ECRYPT-II]. Les courbes de moins de 192 bits NE DEVRAIENT PAS être utilisées.
Lors de l'utilisation de RSA, les serveurs DEVRAIENT s'authentifier en utilisant des certificats avec au moins un module de 2048 bits pour la clé publique. De plus, l'utilisation de l'algorithme de hachage SHA-256 est RECOMMANDÉE (voir [CAB-Baseline] pour plus de détails). Les clients DEVRAIENT indiquer aux serveurs qu'ils demandent SHA-256, en utilisant l'extension "Signature Algorithms" définie dans TLS 1.2.