web-dev-qa-db-fra.com

Générer une nouvelle clé - ECC vs RSA

J'ai l'intention de recommencer à utiliser GnuPG. Je ne l'ai pas utilisé depuis 2 ans et j'ai été surpris qu'il y ait maintenant l'option pour [~ # ~] rsa [~ # ~] et [~ # ~] ecc [~ # ~] touches.

Après avoir lu un peu sur [~ # ~] ecc [~ # ~], il me semble qu'il y a un peu d'incertitude sur la direction à prendre et les courbes à utiliser. Il y a eu par exemple des discussions pour savoir si les NIST courbes sont ou non compromises. GnuPG 2.1.11 et libgcrypt 1.6.5 ne pouvaient que choisir entre NIST - et Brainpool-Curves ( Quel ECC choisir avec GPG? ) et c'était il y a seulement 8 mois. Maintenant, nous pouvons également choisir la 25519-Curve (GnuPG 2.1.18).

Mes questions sont est-il sûr de commencer à utiliser [~ # ~] ecc [~ # ~] ou devrait-on s'en tenir à [~ # ~] rsa [~ # ~] pendant au moins quelques années de plus? Je suppose que j'utiliserais la 25519-Curve. Mais cette courbe est-elle compatible avec les anciennes versions de GnuPG et d'autres systèmes ou y a-t-il des problèmes? Sera-ce quelque chose que nous pourrons utiliser pour les prochaines années ou devrais-je m'attendre à des changements constants en termes de courbes standardisées et restant longtemps (comme [~ # ~] rsa [~ # ~]) et pris en charge par tous les systèmes, mais certaines courbes peuvent disparaître car elles ne sont pas fiables? Je suis également tombé sur un article où le [~ # ~] nsa [~ # ~] recommande de continuer à utiliser [~ # ~] rsa [~ # ~] = et attendez Cryptographie post-quantique au lieu d'utiliser [~ # ~] ecc [~ # ~].

Je ne suis qu'un utilisateur moyen de GnuPG, mais il me semble qu'il existe une sorte d'incertitude sur la façon dont la cryptographie se développera au cours des prochaines années.

12
prankenandi

C'est bien de s'en tenir à RSA. ECC est plus économe en espace, mais il n'est pas pris en charge partout.

Mes questions sont: est-il sûr de commencer à utiliser ECC ou faut-il s'en tenir à RSA pendant au moins quelques années de plus?

Lors de l'utilisation de curve25519, ECC est considéré plus sûr . Il est rapide et à l'abri de diverses attaques latérales par conception. Le RSA n'est pas moins sûr mais en termes pratiques, et est également considéré comme incassable par la technologie moderne. Il est suffisamment rapide pour être utilisé par GnuPG.

Mais cette courbe est-elle compatible avec les anciennes versions de GnuPG et d'autres systèmes ou y a-t-il des problèmes?

Il est incompatible avec les anciens systèmes. Il est nécessaire que toutes les parties prennent en charge le même algorithme. Vous pouvez cependant avoir plusieurs sous-clés. Vous pouvez avoir une seule sous-clé plus récente avec ECC, et une ancienne avec RSA ordinaire qui pourrait être révoquée plus tard une fois que le support ECC est omniprésent.

Ce sera également quelque chose que nous pouvons utiliser pour les prochaines années ou devrais-je m'attendre à ce que certains changements constants en termes de certaines courbes soient standardisés et restent pendant longtemps (comme RSA) et pris en charge par tous les systèmes et certaines courbes pourraient disparaître parce que ils ne sont pas dignes de confiance?

ECC est vieux. Pas aussi vieux que RSA, mais il est toujours vieux et bien étudié. Il est peu probable que la courbe 25519 disparaisse en raison de la fiabilité, car elle n'utilise que des chiffres sans faille. C'est un courbe sûre . Curve25519 utilise modulo p = 2255 - 19 et y2 = x3 + 486662x2 + x. Comparez cela avec une courbe NIST standard comme P-256 où ces valeurs sont ... au mieux inexpliquées, conduisant les gens à spéculer qu'elles ont été conçues intentionnellement pour les affaiblir à des classes d'attaques connues seulement des NSA ( NOBUS). La seule raison pour laquelle il tomberait en disgrâce est si une attaque majeure contre cette classe de courbes est trouvée.

Je suis également tombé sur un article où le NSA recommande de continuer à utiliser RSA et d'attendre la cryptographie post-quantique au lieu d'utiliser ECC.

C'est en partie parce que ECC nécessite une taille de clé plus petite. Pour la sécurité classique, c'est tout à fait correct, et une clé ECC 256 bits peut être plus forte qu'une clé classique 2048 bits. Ces deux types de clés peuvent être brisés par des ordinateurs quantiques crypto-analytiques fonctionnels. Pour qu'un ordinateur quantique fonctionne, il a besoin d'un certain nombre de qubits (l'équivalent quantique des transistors). Il est très difficile d'obtenir une grande quantité de qubits pour travailler ensemble en raison d'un phénomène connu sous le nom de décohérence quantique, donc le nombre de peut être limité pendant un certain temps. Il est possible qu'un ordinateur quantique cryptoanalytique ait suffisamment de qubits pour casser une clé ECC de 256 bits, mais pas une clé RSA de 2048 bits. Il vaut peut-être mieux attendre la cryptographie post-quantique comme SIDH, NTRU ou NewHope qui résiste à toutes ces attaques.

Je ne suis qu'un utilisateur moyen de GnuPG, mais il me semble qu'il existe une sorte d'incertitude sur la façon dont la cryptographie se développera au cours des prochaines années.

Il est parfaitement acceptable de continuer à utiliser RSA. Une fois ECC mieux pris en charge, vous pouvez y migrer sous la forme d'une nouvelle sous-clé. Clés et signatures ECC sont beaucoup plus petites, donc si c'est une priorité pour vous, vous voudrez peut-être commencer à utiliser ECC. Les clés et les signatures RSA sont volumineuses et peuvent être assez lourdes.

6
forest

L'avantage des courbes elliptiques est qu'elles permettent des touches beaucoup plus petites pour un niveau donné de sécurité présumée *.

Cependant, au meilleur de ma connaissance.

  1. Certaines courbes populaires ont été créées par le gouvernement américain sans aucune indication sur la raison pour laquelle les paramètres ont été choisis. Parmi les types les plus paranoïaques, le gouvernement américain peut avoir "détourné" la courbe en choisissant les paramètres de manière à les aider à pirater la cryptographie en fonction de la courbe.
  2. Il existe des courbes "rien dans ma manche" qui sont plus récentes mais le support logiciel devient alors plus problématique.
  3. ECDSA traditionnel (comme DSA mais contrairement à RSA) dépend de manière critique du générateur de nombres aléatoires sur les systèmes utilisés pour la signature. EdDSA corrige cela, mais c'est une option assez nouvelle (lire: peut ne pas être prise en charge dans les environnements utilisant des logiciels plus anciens mais toujours pris en charge) et ne semble être prise en charge qu'avec la courbe 25519.
  4. La courbe 25519 est une courbe "rien dans ma manche" d'un cryptographe non gouvernemental respecté mais elle est "uniquement" destinée au niveau de sécurité 128 bits.
  5. ECC en général est assez nouveau pour autant que je sache, il n'est pas du tout pris en charge par GnuPG 1.x. Certaines versions de distribution encore prises en charge sont toujours sur 1.x comme leur principale implémentation GnuPG.
  6. Bien que l'informatique quantique soit une menace pour toute la cryptographie classique, il semble qu'elle soit plus une menace pour ECC que RSA (compte tenu des longueurs de clé de la pratique actuelle pour les deux).

Compte tenu de tout ce qui précède, je m'en tiens à RSA 4096 bits.

* C'est le moment de casser la clé compte tenu des meilleures attaques actuellement connues.

1
Peter Green