Quelle longueur de clé RSA dois-je utiliser pour mes certificats SSL?

95

Je suis en train de créer un CSR et je me demande quelle est sans doute la meilleure longueur pour ma clé RSA.

Bien sûr, 384 est probablement trop faible et 16384 est probablement trop lent.

Existe-t-il un consensus sur la longueur de clé à utiliser, en fonction de la durée de vie du certificat?

Edit: Comme la plupart des gens, je veux que ma clé soit raisonnablement forte. Je ne crains pas que la NSA puisse peut-être casser ma clé en 2019. Je veux juste savoir quelle est la meilleure pratique quand on envisage de faire des affaires normales (par exemple un site de commerce électronique)

Brann
la source

Réponses:

102

À partir de 2020, les clés RSA devraient être de 2048 bits.

1024 bits

  • Les certificats RSA 1024 bits sont obsolètes et non acceptés par les navigateurs.
  • Firefox a cessé d'accepter les certificats RSA 1024 bits en 2014.
  • Les autorités de certification ont cessé de délivrer des certificats RSA 1024 bits en 2014 ou avant. Voir la notice GlobalSign ou Comodo .
  • Les clés de 1024 bits étaient obsolètes car elles pouvaient être fissurées avec un petit centre de données (des milliers de CPU ou des centaines de GPU, peut-être dans quelques mois). Cela peut sembler beaucoup, mais c'était bien à la portée de toute grande organisation ou gouvernement.

2048 bits

  • Les certificats RSA de 2048 bits sont actuellement la norme acceptée en usage.
  • Référence par défaut fournie par CA et utilisée par le logiciel.
  • Sera éventuellement fissuré aussi. Je ne sais pas quand mais cela pourrait prendre des décennies.
  • Doubler la taille nécessite de nombreux ordres de grandeur plus de puissance de calcul pour craquer. Voir la question de savoir à quel point RSA 2048 est plus fort que 1024 .

4096 bits

  • Les certificats RSA 4096 bits sont la prochaine étape
  • Largement disponible et pris en charge. Tous les principaux CA peuvent fournir à la fois 2048 et 4096 bits RSA, y compris Let's encrypt .
  • Le coût de calcul n'est pas linéaire avec la taille de la clé. 4096 n'est pas deux fois plus lent que 2048, il est peut-être 10 fois plus lent à traiter. Ne mettez pas à niveau aveuglément les certificats vers 4096 bits sans tenir compte de l'impact sur les performances .
  • Le "web" reste en grande partie sur des certificats de 2048 bits car il ne peut pas supporter le coût du matériel pour 4096 bits. Considérez les grands acteurs comme Google, CloudFlare, NetFlix avec un trafic et une empreinte matérielle immenses.

3072 bits

  • 3072 bits, ce n'est pas une chose. Passez directement à 4096 bits.
  • Il est tout à fait possible de faire de la cryptographie 3072 bits, c'est juste qu'aucun logiciel ne l'implémente, ne le supporte et ne le publie officiellement.
  • Historiquement, il y a eu une tentative vers 2010-2015 de lancer 3072 pour des cas d'utilisation où le coût de calcul supplémentaire de 4096 n'est pas idéal. Il s'est estompé mais il y a encore de vieux articles qui diffusent les mérites de (plus rapide) 3072.

Supplémentaire

  • Le RSA a été décrit publiquement pour la première fois en 1977 et il est toujours fort près de 50 ans plus tard. Il suffit d'augmenter le nombre de bits pour suivre le rythme des ordinateurs plus rapides.
  • Il existe une autre méthode de cryptographie à clé publique basée sur des courbes elliptiques, voir ECDSA (1992).
  • Il y a une énorme déconnexion entre la capacité d'un utilisateur et d'un attaquant. Un serveur Web ou un client mobile possède un processeur (faible consommation). Un attaquant peut avoir tout un centre de données, pour référence un centre de données AWS nouvellement construit héberge environ 60 000 serveurs.
  • Il est incroyable qu'un seul appareil mobile puisse calculer des calculs en quelques secondes ... que des millions d'ordinateurs ne pourraient pas rêver de deviner dans une vie.
Georg Schölly
la source
13
Les différences ("256 bits fonctionnera pour toujours" d'une part, et "1024 bits déjà merdiques" de l'autre) sont dues aux différences entre les algorithmes symétriques et asymétriques , et aux types de clés utilisées dans chacun. Avec n'importe quel "niveau de sécurité équivalent" donné, vous verrez des nombres bruts très différents pour les longueurs de clé en symétrique par rapport à asymétrique.
Ti Strga
1
Depuis septembre 2015, il semble que le secteur n'accepte pas les CSR de moins de 2048 bits. Voir ci-dessous les réponses et l' article de support Comodo
angularsen
2
@anjdreas, S'il est vrai que 2048 est le strict minimum , je ferai très attention de citer des points d'articles de CA.
Pacerier
Le lien RSA Labs est un 404 maintenant, btw
jocull
1
Remarque: a entièrement réécrit la réponse après 11 ans, avec des recommandations et des références à jour. les commentaires ci-dessus étaient des commentaires sur les révisions précédentes.
user5994461
12

Comme de nombreux clients exigent la conformité aux normes cryptographiques NIST, j'utilise les conseils de la publication spéciale NIST 800-57, Recommandation pour la gestion des clés, partie 1, §5.6. La plupart de nos applications conviennent bien à 112 "bits" de sécurité, ce qui correspond à un triple DES (ou une petite bosse jusqu'à 128 bits AES) pour les chiffrements symétriques et une clé de 2048 bits pour RSA. Voir le tableau 2 pour une équivalence approximative.

Valide ou non, le fait de pouvoir les référer à une publication du NIST aide les clients à se sentir mieux en matière de sécurité (s'ils prennent la peine de demander).

Erickson
la source
L'article mentionné dans cette réponse est révisé en Recommandation pour la gestion des clés: Partie 1: Généralités (Révision 3) . La révision actuelle est juillet 2012
AaA
Je vois que la page du NIST a été supprimée et remplacée par un message: "En raison de la défaillance du financement gouvernemental, csrc.nist.gov et toutes les activités en ligne associées seront indisponibles jusqu'à nouvel ordre."
wu-lee
Il y a cette page qui compare quelques recommandations de longueurs clés keylength.com/en/compare
wu-lee
10

Les autorités de certification ne signeront pas csrs d'une taille inférieure à 2048 bits, vous devez donc générer votre csr à 2048 bits.

Yogi
la source
6
[la citation nécessaire]
CodesInChaos
2
Source - answers.ssl.com/877/… - certaines autorités de certification comme Affirmtrust / Trend Micro intègrent déjà des racines de 4096 bits, nous allons donc probablement les changer dans les années à venir
Yogi
Je viens d'essayer Comodo et ils n'acceptent pas moins de 2048 bits .
angularsen
7

En août prochain, Microsoft va déployer un correctif sur le serveur 2003/2008, Win7 ect .. qui nécessitera l'utilisation d'une clé RSA minimale de 1024 bits. Vous pourriez donc tout aussi bien commencer à en faire votre norme du «strict minimum».

nourris
la source
6

Pour les certificats SSL utilisés sur les sites Web, ce texte du site Web Thawte.com (au 22/07/2014) est important à noter:

Les normes de l'industrie établies par le forum de l' autorité de certification / navigateur (CA / B) exigent que les certificats émis après le 1er janvier 2014 DOIVENT avoir une longueur de clé d'au moins 2048 bits.

Mike
la source
Mouais, Facebook est toujours sur la longueur de clé 256 => b3.ms/XmWn0e1BMYOk
Thomas Decaux
Pour clarifier Facebook n'utilise pas RSA, il utilise ECDHE_ECDSA, d'où la plus petite longueur de clé.
Michael
5

J'avais besoin de créer plusieurs nouveaux certificats SSL et je n'étais pas satisfait des réponses ci-dessus car elles semblaient vagues ou dépassées, j'ai donc creusé un peu. En bout de ligne, la réponse choisie est correcte, utilisez "clés de 2048 bits ... plus longtemps n'a pas de sens" .

L'augmentation de la longueur en bits à 4096 ajoute une charge potentiellement significative à votre serveur (en fonction de votre charge existante) tout en offrant essentiellement une mise à niveau de sécurité insignifiante

Si vous êtes dans une situation où vous avez besoin d'une clé plus longue qu'une clé de 2048 bits, vous n'avez pas besoin d'une longueur de bits plus longue, vous avez besoin d'un nouvel algorithme

SemanticZen
la source
1

Je pense que 4096 est correct pour RSA

Vérifiez ce lien

La fin de la signature SHA-1 n'a rien de nouveau, mais Google a accéléré le processus du chrome. Dans les prochaines semaines, vous devriez vérifier leurs certificats SSL.

Cela peut être utile

Vigueur
la source
1
Pourriez-vous également publier des liens en anglais? Mon allemand est plutôt faible.
Wai Ha Lee
De juro, les clés RSA ne peuvent avoir qu'une longueur de 1024, 2048 ou 3072 bits (selon PKCS # 1 2.2 et FIPS 186-4).
aprelev le
La flamme a montré que les attaquants attaqueraient le hachage plutôt que le plus grand module. Si vous utilisez SHA-1, alors vous pouvez également utiliser un module de 1024 bits puisque le hachage et le module fournissent une sécurité équivalente. Le module de 1024 bits permettra des opérations plus rapides que le plus grand module de 4096.
jww
0

L'ENISA recommande 15360 bits. Jetez un œil au PDF (page 35)

http://www.enisa.europa.eu/activities/identity-and-trust/library/deliverables/algorithms-key-sizes-and-parameters-report/at_download/fullReport

Micha
la source
4
Pas exactement. La recommandation pour le court terme (au moins dix ans) est 3072. Le RSA 15360 est pour le long terme (trente à cinquante ans) et n'a de sens que si vous prévoyez être en mesure de garder la clé privée secrète pendant aussi longtemps.
Henrick Hellström