En cryptographie , la taille ou la longueur de la clé fait référence au nombre de bits d'une clé utilisée par un algorithme cryptographique (tel qu'un chiffrement ).
La longueur de la clé définit la limite supérieure de la sécurité d'un algorithme (c'est-à-dire une mesure logarithmique de l'attaque la plus rapide connue contre un algorithme), car la sécurité de tous les algorithmes peut être violée par des attaques par force brute . Idéalement, la limite inférieure de la sécurité d'un algorithme est par conception égale à la longueur de la clé (c'est-à-dire que la conception de l'algorithme ne porte pas atteinte au degré de sécurité inhérent à la longueur de la clé).
La plupart des algorithmes à clé symétrique sont conçus pour avoir une sécurité égale à la longueur de leur clé. Cependant, après la conception, une nouvelle attaque peut être découverte. Par exemple, Triple DES a été conçu pour avoir une clé de 168 bits, mais une attaque de complexité 2 112 est maintenant connue (c'est-à-dire que Triple DES n'a plus que 112 bits de sécurité, et sur les 168 bits de la clé, l'attaque en a rendu 56 « inefficaces » pour la sécurité). Néanmoins, tant que la sécurité (entendue comme « la quantité d'efforts qu'il faudrait pour obtenir l'accès ») est suffisante pour une application particulière, il importe peu que la longueur de la clé et la sécurité coïncident. Ceci est important pour les algorithmes à clé asymétrique , car aucun algorithme de ce type n'est connu pour satisfaire cette propriété ; la cryptographie à courbe elliptique s'en rapproche le plus avec une sécurité effective d'environ la moitié de sa longueur de clé.
Importance
Les clés sont utilisées pour contrôler le fonctionnement d'un chiffrement de sorte que seule la clé correcte puisse convertir un texte chiffré ( texte chiffré ) en texte clair . Tous les chiffrements couramment utilisés sont basés sur des algorithmes connus du public ou sont open source et c'est donc uniquement la difficulté d'obtenir la clé qui détermine la sécurité du système, à condition qu'il n'y ait pas d'attaque analytique (c'est-à-dire une « faiblesse structurelle » dans les algorithmes ou les protocoles utilisés), et en supposant que la clé ne soit pas disponible autrement (par exemple via un vol, une extorsion ou une compromission des systèmes informatiques). L'idée largement acceptée selon laquelle la sécurité du système ne devrait dépendre que de la clé a été explicitement formulée par Auguste Kerckhoffs (dans les années 1880) et Claude Shannon (dans les années 1940) ; ces affirmations sont connues respectivement sous le nom de principe de Kerckhoffs et de maxime de Shannon.
Une clé doit donc être suffisamment grande pour qu'une attaque par force brute (possible contre n'importe quel algorithme de chiffrement) soit impossible, c'est-à-dire qu'elle prendrait trop de temps et/ou occuperait trop de mémoire pour s'exécuter. Les travaux de Shannon sur la théorie de l'information ont montré que pour atteindre ce que l'on appelle le « secret parfait », la longueur de la clé doit être au moins aussi grande que le message et n'être utilisée qu'une seule fois (cet algorithme est appelé le bloc-notes à usage unique ). À la lumière de cela, et de la difficulté pratique de gérer des clés aussi longues, la pratique cryptographique moderne a abandonné la notion de secret parfait comme exigence de chiffrement, et se concentre plutôt sur la sécurité informatique , en vertu de laquelle les exigences informatiques de décryptage d'un texte chiffré doivent être impossibles pour un attaquant.
Taille de la clé et système de cryptage
Les systèmes de chiffrement sont souvent regroupés en familles. Les familles courantes comprennent les systèmes symétriques (par exemple AES ) et les systèmes asymétriques (par exemple RSA et la cryptographie à courbe elliptique [ECC]). Ils peuvent être regroupés en fonction de l' algorithme central utilisé (par exemple ECC et chiffrements de Feistel ). Étant donné que chacun de ces systèmes présente un niveau de complexité cryptographique différent, il est courant d'avoir des tailles de clé différentes pour le même niveau de sécurité , en fonction de l'algorithme utilisé. Par exemple, la sécurité disponible avec une clé de 1024 bits utilisant RSA asymétrique est considérée comme à peu près égale en termes de sécurité à une clé de 80 bits dans un algorithme symétrique.
Le degré de sécurité atteint varie au fil du temps, à mesure que la puissance de calcul et les méthodes d'analyse mathématique deviennent plus puissantes. Pour cette raison, les cryptologues ont tendance à examiner les indicateurs indiquant qu'un algorithme ou une longueur de clé présente des signes de vulnérabilité potentielle, pour passer à des tailles de clé plus longues ou à des algorithmes plus difficiles. Par exemple, en mai 2007 , un entier de 1039 bits a été factorisé avec le tamis de champ de nombre spécial en utilisant 400 ordinateurs sur 11 mois. Le nombre factorisé était d'une forme spéciale ; le tamis de champ de nombre spécial ne peut pas être utilisé sur des clés RSA. Le calcul équivaut à peu près à casser une clé RSA de 700 bits. Cependant, cela pourrait être un avertissement préalable que les clés RSA de 1024 bits utilisées dans le commerce en ligne sécurisé devraient être déconseillées , car elles peuvent devenir cassables dans un avenir prévisible. Le professeur de cryptographie Arjen Lenstra a observé que « la dernière fois, il nous a fallu neuf ans pour généraliser d'un nombre spécial à un nombre non spécial, difficile à factoriser » et lorsqu'on lui a demandé si les clés RSA de 1024 bits étaient mortes, il a déclaré : « La réponse à cette question est un oui sans réserve. »
L' attaque Logjam de 2015 a révélé des dangers supplémentaires dans l'utilisation de l'échange de clés Diffie-Hellman lorsqu'un ou quelques modules premiers communs de 1024 bits ou moins sont utilisés. Cette pratique, assez courante à l'époque, permet de compromettre de grandes quantités de communications au détriment de l'attaque d'un petit nombre de premiers.
Attaque par force brute
Même si un chiffrement symétrique est actuellement incassable en exploitant les faiblesses structurelles de son algorithme, il peut être possible de parcourir l'ensemble de l' espace de clés dans ce que l'on appelle une attaque par force brute. Étant donné que les clés symétriques plus longues nécessitent exponentiellement plus de travail pour effectuer une recherche par force brute, une clé symétrique suffisamment longue rend cette ligne d'attaque impraticable.
Avec une clé de longueur n bits, il existe 2 n clés possibles. Ce nombre augmente très rapidement à mesure que n augmente. Le grand nombre d'opérations (2 128 ) nécessaires pour essayer toutes les clés possibles de 128 bits est largement considéré comme hors de portée des techniques informatiques numériques conventionnelles dans un avenir prévisible. Cependant, un ordinateur quantique capable d'exécuter l'algorithme de Grover serait capable de rechercher les clés possibles plus efficacement. Si un ordinateur quantique de taille appropriée réduisait une clé de 128 bits à une sécurité de 64 bits, soit à peu près l' équivalent de DES . C'est l'une des raisons pour lesquelles AES prend en charge des longueurs de clé de 256 bits et plus.
Longueurs de clés d'algorithmes symétriques
Le chiffrement Lucifer d'IBM a été choisi en 1974 comme base de ce qui allait devenir la norme de chiffrement des données . La longueur de la clé de Lucifer a été réduite de 128 bits à 56 bits , ce qui, selon la NSA et le NIST, était suffisant pour la protection non gouvernementale à l'époque. La NSA dispose de ressources informatiques importantes et d'un budget important ; certains cryptographes, dont Whitfield Diffie et Martin Hellman, se sont plaints du fait que cela rendait le chiffrement si faible que les ordinateurs de la NSA seraient capables de casser une clé DES en une journée grâce à un calcul parallèle par force brute . La NSA a contesté cette affirmation, affirmant que le forçage brutal du DES leur prendrait « quelque chose comme 91 ans ».
Cependant, à la fin des années 90, il est devenu évident que DES pouvait être craqué en quelques jours avec du matériel personnalisé tel que celui que pouvaient acheter une grande entreprise ou un gouvernement. Le livre Cracking DES (O'Reilly and Associates) raconte la capacité réussie en 1998 à casser DES 56 bits par une attaque par force brute montée par un groupe de défense des droits civiques en ligne avec des ressources limitées ; voir EFF DES cracker . Même avant cette démonstration, 56 bits étaient considérés comme une longueur insuffisante pour les clés d'algorithmes symétriques à usage général. Pour cette raison, DES a été remplacé dans la plupart des applications de sécurité par Triple DES , qui dispose de 112 bits de sécurité lors de l'utilisation de clés de 168 bits (clé triple).
La norme de chiffrement avancée publiée en 2001 utilise des tailles de clé de 128, 192 ou 256 bits. De nombreux observateurs considèrent que 128 bits suffisent dans un avenir prévisible pour des algorithmes symétriques de la qualité d' AES jusqu'à ce que les ordinateurs quantiques soient disponibles. Cependant, depuis 2015, l' Agence de sécurité nationale américaine a publié des directives indiquant qu'elle prévoyait de passer à des algorithmes résistants à l'informatique quantique et exige désormais des clés AES de 256 bits pour les données classées jusqu'au niveau Top Secret .
En 2003, l'Institut national américain des normes et de la technologie (NIST) a proposé de supprimer progressivement les clés de 80 bits d'ici 2015. En 2005, les clés de 80 bits n'étaient autorisées que jusqu'en 2010.
Depuis 2015, les directives du NIST stipulent que « l'utilisation de clés offrant moins de 112 bits de sécurité pour l'accord de clé est désormais interdite ». Les algorithmes de chiffrement symétrique approuvés par le NIST incluent Triple DES à trois clés et AES . Les approbations pour Triple DES à deux clés et Skipjack ont été retirées en 2015 ; l' algorithme Skipjack de la NSA utilisé dans son programme Fortezza utilise des clés de 80 bits.
Longueurs de clés d'algorithmes asymétriques
L'efficacité des systèmes de cryptographie à clé publique dépend de la complexité (informatique et théorique) de certains problèmes mathématiques tels que la factorisation d'entiers . Ces problèmes prennent du temps à résoudre, mais sont généralement plus rapides que d'essayer toutes les clés possibles par la force brute. Ainsi, les clés asymétriques doivent être plus longues pour une résistance équivalente aux attaques que les clés d'algorithmes symétriques. On suppose que les méthodes les plus courantes seront faibles face à des ordinateurs quantiques suffisamment puissants à l'avenir.
Depuis 2015, le NIST recommande un minimum de clés de 2048 bits pour RSA , une mise à jour de la recommandation largement acceptée d'un minimum de 1024 bits depuis au moins 2002.
Les clés RSA de 1024 bits sont équivalentes en termes de force aux clés symétriques de 80 bits, les clés RSA de 2048 bits aux clés symétriques de 112 bits, les clés RSA de 3072 bits aux clés symétriques de 128 bits et les clés RSA de 15360 bits aux clés symétriques de 256 bits. En 2003, RSA Security a affirmé que les clés de 1024 bits étaient susceptibles de devenir craquables entre 2006 et 2010, tandis que les clés de 2048 bits sont suffisantes jusqu'en 2030. En 2020, la plus grande clé RSA connue publiquement pour avoir été craquée est RSA-250 avec 829 bits.
L' algorithme Diffie-Hellman à corps finis a à peu près la même résistance de clé que RSA pour les mêmes tailles de clé. Le facteur de travail pour briser Diffie-Hellman est basé sur le problème du logarithme discret , qui est lié au problème de factorisation des entiers sur lequel repose la résistance de RSA. Ainsi, une clé Diffie-Hellman de 2048 bits a à peu près la même résistance qu'une clé RSA de 2048 bits.
La cryptographie à courbe elliptique (ECC) est un ensemble alternatif d'algorithmes asymétriques qui est tout aussi sécurisé avec des clés plus courtes, ne nécessitant qu'environ deux fois plus de bits que l'algorithme symétrique équivalent. Une clé Diffie-Hellman à courbe elliptique (ECDH) de 256 bits a à peu près le même facteur de sécurité qu'une clé AES de 128 bits . Un message chiffré avec un algorithme à clé elliptique utilisant une clé longue de 109 bits a été cassé en 2004.
La NSA recommandait auparavant un ECC de 256 bits pour protéger les informations classifiées jusqu'au niveau SECRET, et de 384 bits pour les informations TOP SECRET ; En 2015, elle a annoncé son intention de passer à des algorithmes résistants aux attaques quantiques d'ici 2024, et jusqu'à cette date, elle recommande 384 bits pour toutes les informations classifiées.
Effet des attaques informatiques quantiques sur la résistance des clés
Les deux attaques informatiques quantiques les plus connues sont basées sur l'algorithme de Shor et l'algorithme de Grover . Des deux, celui de Shor présente le plus grand risque pour les systèmes de sécurité actuels.
Les dérivés de l'algorithme de Shor sont largement considérés comme efficaces contre tous les algorithmes à clé publique courants, notamment RSA , Diffie-Hellman et la cryptographie à courbe elliptique . Selon le professeur Gilles Brassard , expert en informatique quantique : « Le temps nécessaire pour factoriser un entier RSA est du même ordre que le temps nécessaire pour utiliser ce même entier comme module pour un seul chiffrement RSA. En d'autres termes, il ne faut pas plus de temps pour casser RSA sur un ordinateur quantique (à une constante multiplicative près) que pour l'utiliser légitimement sur un ordinateur classique. » Le consensus général est que ces algorithmes à clé publique ne sont pas sûrs quelle que soit la taille de la clé si des ordinateurs quantiques suffisamment grands capables d'exécuter l'algorithme de Shor deviennent disponibles. L'implication de cette attaque est que toutes les données chiffrées à l'aide des systèmes de sécurité basés sur les normes actuelles, tels que le SSL omniprésent utilisé pour protéger le commerce électronique et les services bancaires sur Internet et le SSH utilisé pour protéger l'accès aux systèmes informatiques sensibles, sont en danger. Les données cryptées protégées à l'aide d'algorithmes à clé publique peuvent être archivées et peuvent être décryptées ultérieurement, ce que l'on appelle communément le décryptage rétroactif/rétrospectif ou « récolter maintenant, décrypter plus tard ».
Les chiffrements symétriques classiques (tels que AES ou Twofish ) et les fonctions de hachage résistantes aux collisions (telles que SHA ) sont largement supposés offrir une plus grande sécurité contre les attaques informatiques quantiques connues. On pense généralement qu'ils sont les plus vulnérables à l' algorithme de Grover . Bennett, Bernstein, Brassard et Vazirani ont prouvé en 1996 qu'une recherche de clé par force brute sur un ordinateur quantique ne peut pas être plus rapide qu'environ 2 n /2 invocations de l'algorithme cryptographique sous-jacent, contre environ 2 n dans le cas classique. Ainsi, en présence de grands ordinateurs quantiques, une clé à n bits peut fournir au moins n /2 bits de sécurité. La force brute quantique est facilement vaincue en doublant la longueur de la clé, ce qui a peu de coût de calcul supplémentaire en utilisation ordinaire. Cela implique qu'au moins une clé symétrique de 256 bits est nécessaire pour atteindre un niveau de sécurité de 128 bits contre un ordinateur quantique. Comme mentionné ci-dessus, la NSA a annoncé en 2015 qu'elle prévoyait de passer à des algorithmes résistants aux attaques quantiques.
Dans une FAQ sur l'informatique quantique de 2016, la NSA a affirmé :
« Un ordinateur quantique suffisamment grand, s'il était construit, serait capable de saper tous les algorithmes à clé publique largement déployés utilisés pour l'établissement de clés et les signatures numériques. [...] Il est généralement admis que les techniques d'informatique quantique sont beaucoup moins efficaces contre les algorithmes symétriques que contre les algorithmes à clé publique actuellement largement utilisés. Alors que la cryptographie à clé publique nécessite des changements dans la conception fondamentale pour se protéger contre un éventuel futur ordinateur quantique, les algorithmes à clé symétrique sont considérés comme sûrs à condition qu'une taille de clé suffisamment grande soit utilisée. [...] Les algorithmes à clé publique ( RSA , Diffie-Hellman , [Elliptic-curve Diffie–Hellman] ECDH et [Elliptic Curve Digital Signature Algorithm] ECDSA ) sont tous vulnérables aux attaques d'un ordinateur quantique suffisamment grand. [...] Bien qu'un certain nombre d'algorithmes à clé publique résistants aux quantiques intéressants aient été proposés en dehors de la NSA, rien n'a été normalisé par le NIST , et la NSA ne spécifie aucune norme commerciale résistante aux quantiques pour le moment. La NSA espère que le NIST jouera un rôle de premier plan dans l'effort visant à développer un ensemble d'algorithmes résistants aux attaques quantiques largement accepté et normalisé. [...] Étant donné le niveau d'intérêt de la communauté cryptographique, nous espérons que des algorithmes résistants aux attaques quantiques seront largement disponibles au cours de la prochaine décennie. [...] Les algorithmes AES-256 et SHA-384 sont symétriques et considérés comme à l'abri des attaques d'un grand ordinateur quantique. »
Dans un communiqué de presse de 2022, la NSA a notifié :
« Un ordinateur quantique pertinent en cryptanalyse (CRQC) aurait le potentiel de casser les systèmes à clé publique (parfois appelés cryptographie asymétrique) qui sont utilisés aujourd'hui. Compte tenu des efforts étrangers en matière d'informatique quantique, il est désormais temps de planifier, de préparer et de budgétiser une transition vers des algorithmes QR [résistants aux attaques quantiques] afin d'assurer une protection durable des NSS [systèmes de sécurité nationale] et des actifs associés dans le cas où un CRQC deviendrait une réalité réalisable. »
Depuis septembre 2022, la NSA est passée de la suite d'algorithmes de sécurité nationale commerciale (désormais appelée CNSA 1.0), lancée à l'origine en janvier 2016, à la suite d'algorithmes de sécurité nationale commerciale 2.0 (CNSA 2.0), toutes deux résumées ci-dessous :
CNSA 2.0
CNSA 1.0