Question:
Pourquoi ne pas utiliser des clés de chiffrement plus grandes?
Koning
2012-12-13 17:48:53 UTC
view on stackexchange narkive permalink

RSA Security utilise généralement des clés de tailles 1024 bits, 2048 bits ou même 3072 bits. Et la plupart des algorithmes symétriques uniquement entre 112 et 256 bits. Je me rends compte que les clés actuelles sont suffisamment sécurisées pour le matériel d'aujourd'hui, mais à mesure que les ordinateurs deviennent plus rapides, ne devrions-nous pas envisager une taille de clé incroyablement grande comme un million des bits ou plus pour nous protéger contre les super systèmes informatiques qui n’ont pas encore été inventés?

Alors en d’autres termes, quelles sont les conséquences du choix d’une clé de chiffrement trop volumineuse et pourquoi tout le monde limite-t-il la taille de ses clés?

Il y a la page 32 de ce [document] (http://www.enisa.europa.eu/activities/identity-and-trust/library/deliverables/algorithms-key-sizes-and-parameters-report/at_download/fullReport «Rapport sur les algorithmes, les tailles de clés et les paramètres») du [enisa] (http://www.enisa.europa.eu «Agence de l'Union européenne pour la sécurité des réseaux et de l'information») sur la valeur des clés plus longues dans le cas du RSA.
Huit réponses:
#1
+303
lynks
2012-12-13 21:53:26 UTC
view on stackexchange narkive permalink

J'ai extrait ma copie de Cryptographie appliquée pour répondre à cette question concernant la cryptographie symétrique, 256 c'est beaucoup et le sera probablement pendant longtemps. Schneier explique:

Des longueurs de clé plus longues sont meilleures, mais seulement jusqu'à un certain point. AES aura des longueurs de clé de 128 bits, 192 bits et 256 bits. C'est beaucoup plus long que nécessaire dans un avenir prévisible. En fait, nous ne pouvons même pas imaginer un monde où les recherches par force brute de 256 bits sont possibles. Cela nécessite des percées fondamentales en physique et notre compréhension de l'univers.

L'une des conséquences de la deuxième loi de la thermodynamique est qu'une certaine quantité d'énergie est nécessaire pour représenter l'information. Pour enregistrer un seul bit en changeant l’état d’un système, il faut une quantité d’énergie non inférieure à kT , où T est la température absolue du système et k est la constante de Boltzman. (Restez avec moi; la leçon de physique est presque terminée.)

Étant donné que k = 1,38 × 10 −16 erg / K, et que le la température ambiante de l'univers est de 3,2 Kelvin, un ordinateur idéal fonctionnant à 3,2 K consommerait 4,4 × 10 -16 ergs à chaque fois qu'il se mettrait ou s'effacerait un peu. Pour faire fonctionner un ordinateur plus froid que le rayonnement de fond cosmique, il faudrait une énergie supplémentaire pour faire fonctionner une pompe à chaleur.

Désormais, la production annuelle d'énergie de notre soleil est d'environ 1,21 × 10 41 ergs. Cela suffit pour alimenter environ 2,7 × 10 56 changements de bit unique sur notre ordinateur idéal; suffisamment de changements d'état pour placer un compteur de 187 bits sur toutes ses valeurs. Si nous construisions une sphère Dyson autour du soleil et capturions toute son énergie pendant 32 ans, sans aucune perte, nous pourrions alimenter un ordinateur pour compter jusqu'à 2 192 . Bien sûr, il ne lui resterait pas l'énergie nécessaire pour effectuer des calculs utiles avec ce compteur.

Mais ce n'est qu'une étoile, et une misérable en plus. Une supernova typique libère quelque chose comme 10 51 ergs. (Environ cent fois plus d'énergie serait libérée sous forme de neutrinos, mais laissez-les partir pour l'instant.) Si toute cette énergie pouvait être canalisée dans une seule orgie de calcul, un compteur de 219 bits pourrait être de ses états.

Ces chiffres n'ont rien à voir avec la technologie des appareils; ce sont les maximums que la thermodynamique permettra. Et ils impliquent fortement que les attaques par force brute contre des clés 256 bits seront irréalisables tant que les ordinateurs ne seront pas construits à partir d'autre chose que la matière et occuperont autre chose que l'espace.

L'audace est mon propre ajout.

Remarque: Notez que cet exemple suppose qu'il existe un algorithme de chiffrement «parfait». Si vous pouvez exploiter les faiblesses de l'algorithme, l'espace des clés pourrait diminuer et vous vous retrouveriez avec effectivement moins de bits de votre clé.

Cela suppose également que la génération de clé est parfaite - produisant 1 bit d'entropie par bit de clé. Ceci est souvent difficile à réaliser dans un contexte de calcul. Un mécanisme de génération imparfait peut produire 170 bits d'entropie pour une clé de 256 bits. Dans ce cas, si le mécanisme de génération de clé est connu, la taille de l'espace de force brute est réduite à 170 bits.

En supposant que les ordinateurs quantiques sont réalisables, cependant, toute clé RSA sera cassée en utilisant l'algorithme de Shor . (Voir https://security.stackexchange.com/a/37638/18064)

Qu'en est-il de l'informatique quantique?
N'est-ce pas juste la limite d'énergie pour un calcul irréversible? Si vous calculez avec des portes réversibles, vous pouvez théoriquement utiliser beaucoup moins d'énergie.
@tzs la physique impliquée représente le strict minimum d'énergie nécessaire juste pour représenter l'information dans le sens le plus efficace que la mécanique quantique permettra, bien au-delà même de la technologie théorique, sans même compter l'énergie pour le calcul, les portes, et tout ça.
Il y a de fortes chances que vous n'ayez pas besoin de parcourir toutes les possibilités.
@opensourcechris correct, vous auriez à parcourir exactement la moitié d'entre eux en moyenne, donc 2 ^ 255 clés doivent être vérifiées, ce qui est toujours environ 10 ^ 12 fois plus que l'énergie libérée dans une supernova.
@tylerl Ce besoin d'énergie minimum est par opération irréversible. Puisque les ordinateurs quantiques font plus avec une seule opération, vous devez doubler le nombre de bits. Ensuite, il y a la question de l'informatique réversible. Si vous construisez un ordinateur où chaque opération est réversible, vous pouvez aller au-delà de ces limites. Mais on ne sait absolument pas si des ordinateurs réversibles peuvent être construits et s'ils peuvent être appliqués à des problèmes de cryptographie comme celui-ci.
OK tout le monde, plus de vote là-dessus. Un vote net +256 est parfait!
@MichaelKjörling - Je ne suis pas disposé à voter pour quelque chose comme redescendre à 256, donc je suppose que c'est perdu parce que ... à moins que ... Dites-vous quoi: j'attendrai et si jamais je le remarque à 257, je Je vais lancer un vote négatif à sa manière - j'espère que c'est le bienvenu :-P
@tylerl: tzs et CodesInChaos soulignent le fait que l'analyse de Schneier semble être basée sur le principe de Landauer qui stipule, en effet, qu'il y a une limite minimale sur la quantité d'énergie nécessaire pour effacer un bit d'information.Il ne s'agit en effet que de la manipulation irréversible des bits.La «limite de Landauer» a fait l'objet de recherches considérables. Si Schneier est brillant, personne n'a de boule de cristal.Les résultats récents de Miquel López-Suárez et al.suggèrent qu'en effet il n'y a pas de limite inférieure à l'énergie requise pour le calcul: http://www.nature.com/articles/ncomms12068
@tylerl Le résultat de López-Suárez (ci-dessus) a motivé la recherche sur le «calcul à puissance nulle» et implique que les arguments basés sur la physique pour la sécurité absolue des clés de 128 bits (c'est-à-dire les clés de 256 bits à réduction quantique) pourraient devoir êtrerevisité.Voir: http://iopscience.iop.org/article/10.1088/0957-4484/26/22/222001/meta. Personne ne peut le deviner si l'informatique à puissance nulle se réalisera, mais l'argument de la thermodynamique ne semble plus hermétique.
Même AES-256 peut ne pas être sûr longtemps.Consultez ces deux articles: [TEMPEST Attacks Against AES] (https://www.fox-it.com/en/insights/blogs/blog/tempest-attacks-aes/) et [Experts récupèrent la clé de chiffrement AES256 à partir d'un ordinateurÉmissions] (https://www.bleepingcomputer.com/news/security/experts-recover-aes256-encryption-key-from-a-pcs-electromagnetic-emissions/).
Incidemment, cela me semble une excellente preuve de l'existence d'un Créateur, puisque même les organismes les plus «simples» à partir desquels l'abiogenèse propose que nous ayons tous évolué comprennent bien plus de 256 bits d'information.
Pourquoi auriez-vous besoin d'une pompe en tas pendant le calcul?Pourrait-on construire une pièce, la drainer à 0K (ici vous avez besoin de HP), puis l'isoler complètement avant l'informatique (maintenant vous n'avez plus besoin de HP)?En supposant que l'ordinateur utilise parfaitement l'énergie que vous lui donnez (pour qu'il n'augmente pas la température ambiante), cela signifierait-il kT = 0 et que le physique disparaît?
#2
+78
Fredefl
2012-12-13 18:00:43 UTC
view on stackexchange narkive permalink

La raison pour laquelle les clés RSA sont si petites est que:

Avec chaque doublement de la longueur de la clé RSA, le déchiffrement est 6 à 7 fois plus lent.

Voici donc un autre des compromis sécurité-commodité. Voici un graphique: RSA Decryption time by key length

Source: http://www.javamex.com/tutorials/cryptography/rsa_key_length. shtml

+1. L'utilisation de grandes longueurs de clé pour la cryptographie asymétrique "hors ligne" (comme PGP) est souvent appliquée, mais pour les échanges de clés "en ligne", une clé de 2048 bits pour une sécurité de 30 ans est suffisante pour la plupart des applications et n'ennuie pas l'utilisateur avec une attente de 2 minutes pendant la négociation SSL.
Gardez à l'esprit que les cyphers asymétriques ne sont généralement utilisés que pour protéger les clés de session symétriques, donc cette augmentation du temps de décryptage asymétrique n'est pas * si * dramatique en pratique.
Mais lorsque vous gardez à l'esprit que les navigateurs ont déjà recours à de sales trucs comme la prélecture DNS et la compilation de javascript juste à temps, vous vous rendrez compte que le coût du passage de clés de 4096 bits à des clés de 65536 bits est important. Et aussi, étant donné que les attaques les plus connues sur RSA 2048 bits représentent plus de travail que le forçage brutal de la clé AES-256, il n'y a aucun avantage cryptographique à le faire non plus.
@SecurityMatt Une source pour cette affirmation? Les affirmations que j'ai entendues sont que casser le RSA 2048 bits est à peu près aussi difficile que de casser un algorithme symétrique de 112 bits, pas plus difficile que de casser le cryptage 256 bits.
@SecurityMatt * encore ... *
Avez-vous des graphiques similaires pour EEC et AES?
#3
+66
user11869
2012-12-13 18:30:42 UTC
view on stackexchange narkive permalink

Pour un AES est construit pour trois tailles de clé 128, 192 ou 256 bits .

Actuellement, le forçage brutal de 128 bits n'est même pas presque faisable. En théorie, si une clé AES avait 129 bits, il faudrait deux fois plus de temps pour forcer brutalement une clé de 129 bits qu'une clé de 128 bits. Cela signifie que des clés plus grandes de 192 bits et 256 bits prendraient beaucoup plus de temps à attaquer. Il faudrait tellement de temps pour forcer brutalement l'une de ces clés que le soleil arrêterait de brûler avant que la clé ne soit réalisée.

2 ^ 256 = 115792089237316195423570985008687907853269984665640564039457584007913129639936

C'est un grand nombre effrayant. C'est le nombre de clés possibles. En supposant que la clé est aléatoire, si vous divisez cela par 2, vous avez alors combien de clés il faudra en moyenne pour AES-256 en force brute

Dans un sens, nous avons les très grosses clés de chiffrement que vous êtes parler de. L'intérêt d'une clé symétrique est de la rendre impossible à la force brute. À l'avenir, si l'attaque d'une clé de 256 bits devient possible, la taille des clés augmentera sûrement, mais c'est un long chemin à parcourir.

La raison pour laquelle les clés RSA sont beaucoup plus volumineuses que les clés AES est qu'il s'agit de deux types de chiffrement complètement différents. Cela signifie qu'une personne n'attaquerait pas une clé RSA de la même manière qu'elle attaquerait une clé AES.

Attaquer des touches symétriques est facile.

  1. Commencez avec une chaîne de bits 000...
  2. Décryptez le texte chiffré avec cette chaîne de bits.
  3. Si vous pouvez le lire , vous avez réussi.
  4. Si vous ne pouvez pas le lire, incrémentez la chaîne de bits

Attaquer une clé RSA est différent ... car le chiffrement / déchiffrement RSA fonctionne avec de gros semi- nombres premiers ... le processus est mathy . Avec RSA, vous n'avez pas à essayer toutes les chaînes de bits possibles. Vous essayez beaucoup moins de chaînes de bits 2 ^ 1024 ou 2 ^ 2048 ... mais il n'est toujours pas possible de brutaliser. C'est pourquoi les clés RSA et AES diffèrent en taille. [ 1]

Pour tout résumer et répondre à votre question en 1 phrase. Nous n'avons pas besoin de clés symétriques ridiculement grandes parce que nous avons déjà des clés symétriques ridiculement grandes. Le cryptage 256 bits semble faible comparé à quelque chose comme une clé RSA de 2048 bits, mais les algorithmes sont différents et ne peuvent pas vraiment être comparés `` bit à bit '' comme ça. À l'avenir, si des clés plus longues sont nécessaires, de nouveaux algorithmes seront développés pour gérer des clés plus grandes. Et si nous avons toujours voulu aller plus loin sur le matériel actuel, c'est simplement un compromis de temps. Une clé plus grande signifie un temps de décryptage plus long signifie une communication plus lente. Ceci est particulièrement important pour un chiffrement puisque votre navigateur Internet établira puis utilisera une clé symétrique pour envoyer des informations.

@Lightness: dans le cas moyen, pas le pire des cas. Et le meilleur cas est tellement improbable que le soleil arrêterait de brûler avant que vous ne l'ayez traversé :)
@MarkHubbart: Sauf dans les cas où ce n'est pas le cas!
#4
+8
AJ Henderson
2012-12-13 20:09:33 UTC
view on stackexchange narkive permalink

Temps de traitement, pur et simple. Tout dans la sécurité est un équilibre entre le besoin de sécurité (empêcher les mauvaises personnes d'entrer) et la facilité d'utilisation (laisser entrer les bonnes personnes). Le chiffrement est une opération de traitement coûteuse même avec du matériel dédié pour effectuer les calculs.

Cela ne vaut tout simplement pas la peine d'aller au-delà d'un certain niveau de sécurité dans la plupart des cas, car les compromis deviennent exponentiellement plus difficiles à utiliser tout en n'offrant presque aucun avantage tangible (puisque la différence entre un milliard d'années et cent milliards ans n'est pas si important en termes pratiques).

Aussi, comme pour RSA vs AES, c'est la nature de la cryptographie symétrique par rapport à asymétrique. En termes simples, avec la cryptographie symétrique (où il y a une clé partagée), il n'y a rien à deviner, c'est donc très difficile. Pour la cryptographie asymétrique telle que RSA, vous divulguez une information (la clé publique) liée à la clé de déchiffrement (la clé privée). Bien que la relation soit «très difficile» à calculer, elle est beaucoup plus faible que de ne pas avoir d'informations sur lesquelles travailler. Pour cette raison, des tailles de clé plus importantes sont nécessaires pour rendre le problème d'obtention d'une clé privée à partir d'une clé publique plus difficile tout en essayant de limiter à quel point les problèmes mathématiques sont plus difficiles pour le cryptage et le décryptage.

#5
+7
a CVn
2012-12-13 22:20:41 UTC
view on stackexchange narkive permalink

D'une certaine manière, des algorithmes utilisant de telles clés "incroyablement grandes" existent déjà. Cela s'appelle tampons à usage unique . Personne ne les utilise vraiment dans la pratique, cependant, car ils nécessitent une clé de la longueur du message que vous souhaitez crypter et le matériel clé ne peut jamais être réutilisé (à moins que vous ne souhaitiez que le texte chiffré devienne trivialement cassable). Étant donné que le but du chiffrement est de convertir un grand secret (le texte en clair) en un petit secret (la clé), les OTP ne sont utiles que dans des scénarios très spécifiques et hautement spécialisés. Vous pouvez aussi bien transmettre le texte en clair en toute sécurité, car vous aurez besoin d'un canal de transmission tout aussi sécurisé pour le matériel clé.

En toute honnêteté, les OTP ont un cas d'utilisation spécifique. C'est-à-dire lorsque vous avez besoin d'une sécurité prouvable dans un environnement où vous avez accès à un canal de communication sécurisé à un moment donné, mais devez transmettre un message en toute sécurité ultérieurement.

L'OTP est prouvé sécurisé car correctement utilisé et avec du matériel clé correctement généré, tout texte en clair déchiffré est également probable, et rien sur une partie du matériel clé (n'est censé) vous donner un aperçu des autres parties du matériel clé ou comment déchiffrer d'autres parties du message. C'est facile en théorie, mais terriblement difficile à réaliser en pratique. Vous recherchez des secrets militaires courts et de haut niveau ou éventuellement diplomatiques, tout au plus.

Pour la plupart des gens, 128 à 256 bits symétriques ou 2048 à 4096 bits (en supposant quelque chose comme RSA) les clés asymétriques suffisent largement, pour les raisons déjà décrites par Rell3oT, Alexander Shcheblikin, lynks, et d'autres. Quiconque veut attaquer une clé équivalente à 256 bits va attaquer le cryptosystème, pas la cryptographie, de toute façon. ( Lien XKCD obligatoire.) Les attaques PRNG ont déjà brisé des systèmes de cryptage par ailleurs correctement mis en œuvre et théoriquement sécurisés auparavant, et il serait stupide de penser que cela s'est produit pour la dernière fois.

#6
+5
Cyrus
2012-12-13 20:30:01 UTC
view on stackexchange narkive permalink

En ajoutant plus de preuves aux réponses «parce que cela ralentit inutilement les choses», il semble que le temps d'exécution d'AES ne croît pas aussi vite que RSA lorsque la longueur de clé augmente (et que RC6 augmente encore plus lentement), mais c'est toujours un Augmentation de 16% du temps d'exécution pour doubler la longueur de la clé, selon http://www.ibimapublishing.com/journals/CIBIMA/volume8/v8n8.html.

AES-128 est de 10 tours, AES-192 est de 12 tours et AES-256 est de 14 tours. Le calendrier des clés d'AES étant trivial, le temps d'exécution est presque exactement linéaire en fonction du nombre de tours et de la quantité de données à traiter. Par conséquent, passer d'AES-128 à AES-256 devrait réduire le débit (en termes de quantité de données par période) de presque exactement 40%.
Sur l'algorithme RSA, l'algorithme fonctionne de la même manière quelle que soit la taille de la clé.C'est l'avantage commun des algorithmes travaillant en groupe: il suffit d'agrandir le champ.Pour la cryptographie symétrique, la plupart des algorithmes contiennent des étapes qui ne peuvent pas être mises à l'échelle pour une taille de clé différente, sans modifier de manière significative l'algorithme.Par exemple, la taille de clé minimale AES est de 128 bits et la taille maximale est de 256 bits.L'algorithme AES amélioré qui acceptait les clés de 512 bits serait peut-être sensiblement différent de AES (ou Rijndael).
#7
+4
guidot
2012-12-13 21:38:01 UTC
view on stackexchange narkive permalink

Le temps de traitement a déjà été mentionné. Même à cet égard, le temps nécessaire pour générer une clé RSA doit être mentionné séparément, car il est BEAUCOUP plus coûteux pour des clés plus longues, car vous devez trouver des nombres premiers d'environ la moitié de la taille de la clé RSA souhaitée.

Un autre sujet est l'espace, i. e. la quantité de données générées. Les chiffrements asymétriques et symétriques fonctionnent sur des blocs. Même une signature sur un octet a besoin du nombre de bits de la clé RSA, i. e. 256 octets pour une clé de 2048 bits. Même situation avec les tailles de bloc des algorithmes symétriques, qui augmentent également avec la longueur de clé. Bien que cela ne semble pas non plus un argument à première vue, certains périphériques sévèrement restreints comme les cartes à puce sont censés gérer cela (toujours le conteneur le plus sécurisé pour la clé privée) et il existe de nombreuses applications qui doivent stocker beaucoup de signatures, de certificats, cryptogrammes, etc. En fait, c'est l'une des raisons de la cryptographie à courbe elliptique, car elle rassemble plus de sécurité en moins de bits.

* "la taille des blocs des algorithmes symétriques, qui augmente également avec la longueur de la clé" * Ce n'est pas nécessaire. DES: clé de 64 bits (moins huit bits ignorés), bloc de 64 bits. IDÉE: clé de 128 bits, bloc de 64 bits. AES: clé de 128, 192, 256 bits, bloc fixe de 128 bits. Blowfish: clé jusqu'à 448 bits, bloc fixe de 64 bits. RC5: jusqu'à 2040 bits * clé symétrique *, bloc 32/64/128 bits (sélectionnable, bloc 64 bits suggéré). Etc.
@MichaelKjörling: En fait, je ne peux pas reconnaître l'avantage d'un argument de taille de bloc si toute la famille d'algorithmes est modifiée. Au sein d'une même famille d'algorithmes, des tailles de clé plus importantes signifient des tailles de bloc plus grandes, mais ce n'est pas non plus une augmentation stricte. La question initiale portait sur les tailles des clés et ne suggérait pas de modifier également les algorithmes, alors quel est votre point?
OK, eh bien, même dans exactement le même algorithme (et parmi les exemples déjà cités), nous avons toujours AES qui peut utiliser plusieurs tailles de clés différentes mais toujours la même taille de bloc. Ou Blowfish, qui a une taille de clé variable et une taille de bloc fixe.
#8
+2
brandtrock
2012-12-17 20:49:00 UTC
view on stackexchange narkive permalink

L'OP a demandé: " Donc, en d'autres termes, quelles sont les conséquences du choix d'une clé de chiffrement trop grande ...? " Une clé de 256 bits est très puissante, comme le prouve le commentaires ici; cependant, une clé très sécurisée (ce qui est une bonne chose) amènera simplement une ou plusieurs personnes malveillantes à trouver une faiblesse ailleurs dans le système.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...