Évaluer la force d’une protection
- Accueil
- Cryptographie
- Évaluer la force d’une protection
Évaluer la force d’une protection
Section intitulée « Évaluer la force d’une protection »« Chiffré en 256 bits » figure sur les plaquettes commerciales comme « lavé à 90 degrés » sur une étiquette : c’est vrai, rassurant, et cela ne dit presque rien de la protection réelle. La force d’un mécanisme cryptographique se mesure en coût d’attaque, se rapporte à la durée pendant laquelle le secret doit tenir, et dépend autant du protocole qui emploie la clé que de sa longueur. Ce chapitre donne les outils pour raisonner en bits de sécurité, comparer des ordres de grandeur, tenir compte des attaques par anniversaire et de l’informatique quantique, puis choisir un niveau en fonction de l’adversaire et de la longévité des données.
Un cadenas se juge au temps qu’il faut pour l’ouvrir sans la clé, et à ce qu’il protège : quelques secondes de résistance suffisent pour un casier de piscine, pas pour un coffre qui doit tenir vingt ans. Ce chapitre apprend à estimer ce temps et ce coût pour une protection numérique, au lieu de se fier seulement à la taille de la clé.
→ Lire l’explication complète de la marmotte
Deux sens du mot impossible
Section intitulée « Deux sens du mot impossible »Le mot « impossible » recouvre deux réalités très différentes en cryptographie.
La sécurité inconditionnelle, ou information-théorique, signifie que l’attaquant n’a tout simplement pas l’information nécessaire. Claude Shannon a démontré en 1949 que le masque jetable (one-time pad), où chaque bit du message est combiné à un bit de clé véritablement aléatoire, aussi long que le message et jamais réutilisé, offre un secret parfait : le chiffré est compatible avec tous les messages de même longueur, et une puissance de calcul infinie n’y change rien. Le partage de secret de Shamir offre une garantie du même ordre : en dessous du seuil, les parts ne révèlent rien. Le prix est connu : des clés aussi longues que les données, à transporter et à ne jamais réutiliser, ce qui réserve ces techniques à des usages très particuliers.
La sécurité calculatoire, celle de presque tout le reste, signifie que l’attaque est possible en principe, mais demanderait des ressources hors de portée. AES-128 se casse en essayant 2^128 clés ; personne ne le fera jamais. Cette sécurité repose sur des hypothèses de calcul : qu’il n’existe pas de raccourci meilleur que la force brute contre AES, que factoriser un grand nombre RSA reste difficile, que le logarithme discret sur courbe elliptique n’a pas d’algorithme rapide. Ce sont des conjectures étayées par des décennies d’efforts infructueux, pas des théorèmes.
Elle dépend aussi de l’évolution du matériel. Une marge confortable en 1977 ne l’est plus aujourd’hui : la clé de 56 bits du DES a été cassée publiquement en 1998 par la machine Deep Crack de l’EFF (Electronic Frontier Foundation), construite pour environ 250 000 dollars, en quelques jours. Un raisonnement en sécurité calculatoire doit donc toujours préciser la date à laquelle il s’applique.
Compter en bits
Section intitulée « Compter en bits »Un mécanisme offre n bits de sécurité si la meilleure attaque connue demande environ 2^n opérations élémentaires. Ce n’est pas la longueur de la clé, c’est une mesure du travail de l’attaquant.
Pour fixer les idées, supposons un adversaire capable de 10^18 essais par seconde, soit un parc de circuits spécialisés de taille considérable entièrement dédié à la tâche. Pour 2^128 essais :
2^128 ≈ 3,4 × 10^38 essais3,4 × 10^38 / 10^18 = 3,4 × 10^20 secondes ≈ 1,1 × 10^13 annéesâge de l'Univers ≈ 1,4 × 10^10 annéesIl faudrait environ huit cents fois l’âge de l’Univers, et en moyenne la moitié pour tomber sur la bonne clé. Multiplier la puissance de l’attaquant par mille n’y change rien d’utile. 128 bits sert donc d’ordre de grandeur de référence : au-delà, la force brute n’est plus le sujet.
| Bits de sécurité | Essais | Durée à 10^18 essais/s | Lecture |
|---|---|---|---|
| 56 | 7,2 × 10^16 | moins d’une seconde | cassé (DES) |
| 80 | 1,2 × 10^24 | environ deux semaines | insuffisant face à un adversaire équipé |
| 128 | 3,4 × 10^38 | environ 10^13 ans | hors de portée |
| 192 | 6,3 × 10^57 | environ 10^32 ans | marge pour longue durée |
| 256 | 1,2 × 10^77 | environ 10^51 ans | marge face au quantique |
La taille de clé et le niveau de sécurité coïncident pour un bon chiffrement symétrique, pas pour la cryptographie à clé publique, dont les attaques exploitent la structure mathématique. Les équivalences couramment admises, notamment par le NIST (National Institute of Standards and Technology) dans sa publication SP 800-57, sont les suivantes :
| Sécurité | Symétrique | RSA ou Diffie-Hellman sur corps fini | Courbe elliptique |
|---|---|---|---|
| 112 bits | 3DES à trois clés | 2048 bits | 224 bits |
| 128 bits | AES-128 | 3072 bits | 256 bits |
| 192 bits | AES-192 | 7680 bits | 384 bits |
| 256 bits | AES-256 | 15360 bits | 512 bits |
Le paradoxe des anniversaires introduit la deuxième règle : dès qu’une attaque consiste à trouver deux valeurs identiques parmi beaucoup, et non une valeur imposée, son coût tombe à la racine carrée de l’espace. Un condensé de n bits n’offre que n/2 bits contre les collisions. SHA-256 en offre 128, ce qui suffit ; un identifiant tronqué à 64 bits n’en offre que 32, soit environ quatre milliards de tirages. La même logique s’applique aux blocs de chiffrement : avec un bloc de 64 bits, comme 3DES ou Blowfish, des collisions entre blocs apparaissent après environ 2^32 blocs, soit 32 Gio. L’attaque Sweet32 (2016) l’a exploité contre des connexions HTTPS de longue durée pour récupérer des cookies, après avoir capturé de l’ordre de 785 Go de trafic.
Les marges de sécurité couvrent enfin ce qu’on ne sait pas encore. Le chiffrement symétrique se cryptanalyse lentement : les meilleures attaques connues sur AES gagnent quelques bits à peine sur la force brute. Viser 128 bits nominaux laisse une marge raisonnable, viser 256 bits une marge très large.
Reste l’informatique quantique. L’algorithme de Grover accélère la recherche exhaustive de façon quadratique : une clé de n bits se trouverait en environ 2^(n/2) évaluations quantiques. Sur le papier, AES-128 tomberait à 64 bits. En pratique, ces évaluations doivent s’enchaîner séquentiellement sur un calculateur quantique tolérant aux fautes, et l’algorithme se parallélise très mal : le NIST considère toujours AES-128 comme le niveau de référence de sa première catégorie de sécurité post-quantique. Pour les données qui doivent durer, AES-256 supprime la question à peu de frais. L’algorithme de Shor, lui, casse entièrement RSA et les courbes elliptiques ; ce n’est plus une affaire de marge mais de migration, voir Préparer la migration post-quantique.
Coût réel et coût asymptotique
Section intitulée « Coût réel et coût asymptotique »Un nombre d’opérations n’est pas encore un coût. Le coût total d’une attaque combine le temps, le matériel, l’énergie et le degré de parallélisme possible. La force brute est parfaitement parallèle : mille machines vont mille fois plus vite. Les fonctions de dérivation de mots de passe à mémoire élevée, comme Argon2id, existent précisément pour rendre chaque essai cher en mémoire, ce qui pénalise les circuits spécialisés. Inversement, une attaque de complexité asymptotique modeste peut exiger une quantité de mémoire ou de données irréaliste : une attaque « en 2^100 » qui demande 2^90 octets de stockage n’est pas plus menaçante qu’une force brute en 2^128.
Comparer à une puissance de calcul existante aide à garder les pieds sur terre. L’ensemble du réseau Bitcoin, la plus grande infrastructure de calcul spécialisé jamais assemblée, calcule moins de 2^100 condensés SHA-256 par an. Atteindre 2^128 lui demanderait au moins des centaines de millions d’années.
Longévité des données
Section intitulée « Longévité des données »Le niveau requis dépend de la durée pendant laquelle le secret doit rester secret. Un secret de session TLS ne protège qu’une conversation : s’il tombe dans dix ans, le préjudice est souvent nul. Une archive personnelle, des photographies ou une correspondance, doit tenir une vie. Un secret industriel, formule ou plan, a une valeur qui décroît mais sur des décennies. Une donnée réglementée, comme une donnée judiciaire, doit être protégée tant que la personne concernée vit, et souvent au-delà.
La menace qui rend cette réflexion urgente porte un nom : collecter maintenant, déchiffrer plus tard (harvest now, decrypt later). Un adversaire enregistre aujourd’hui des échanges chiffrés qu’il ne sait pas lire, en pariant sur une faiblesse ou un calculateur quantique futurs. Michele Mosca en a tiré une règle simple : si x est la durée de confidentialité requise, y le temps nécessaire pour migrer et z le délai avant qu’une attaque devienne praticable, alors il faut agir dès que x + y > z. Pour une donnée qui doit rester secrète vingt-cinq ans et une migration qui en prend cinq, il suffit qu’une attaque devienne réalisable dans moins de trente ans pour être déjà en retard.
Choisir un niveau
Section intitulée « Choisir un niveau »Le choix croise plusieurs critères. Face à une menace opportuniste, qui cherche les cibles faciles, le niveau standard de 128 bits avec des protocoles modernes suffit largement : l’attaquant passera son chemin bien avant d’envisager la force brute. Face à un attaquant bien financé, capable de financer du matériel dédié ou de stocker du trafic sur le long terme, on vise 192 ou 256 bits pour les données durables et on traite les chemins d’attaque non cryptographiques, souvent moins coûteux. La migration future pèse sur les choix d’aujourd’hui : un format qui ne sait pas changer d’algorithme impose une marge plus grande dès le départ. Les contraintes de performance comptent sur les objets contraints ou les volumes énormes, mais la différence entre AES-128 et AES-256 est d’environ 40 % de tours supplémentaires, rarement décisive. L’interopérabilité enfin impose parfois le niveau du partenaire le plus ancien, ce qu’il faut documenter et borner dans le temps.
Les référentiels publics, NIST, ANSSI (Agence nationale de la sécurité des systèmes d’information) ou BSI (Bundesamt für Sicherheit in der Informationstechnik), publient des tailles minimales et des dates de fin de validité. Ils donnent un plancher défendable ; ils ne dispensent pas d’estimer la durée de vie des données que l’on protège.
Exemples et ateliers
Section intitulée « Exemples et ateliers »Évaluer la durée utile d’une clé de sauvegarde. Une entreprise chiffre ses sauvegardes de dossiers du personnel, conservées dix ans, avec une clé RSA de 2048 bits qui protège une clé AES-128. Le maillon symétrique offre 128 bits, le maillon asymétrique 112 bits seulement, et le niveau de la chaîne est celui du maillon le plus faible. De plus, RSA est exposé à l’algorithme de Shor, et une sauvegarde volée aujourd’hui peut être attaquée dans dix ans. Recommandation : AES-256 pour les données, un mécanisme d’encapsulation hybride post-quantique dès que l’outillage le permet, et une date de réévaluation inscrite dans le registre des clés.
Calculer l’impact d’une attaque d’anniversaire sur une valeur courte. AES-GCM utilise un nonce de 96 bits ; s’il est tiré au hasard, la probabilité d’une collision après q messages vaut environ q² / 2^97. Pour q = 2^32 messages, on obtient 2^64 / 2^97 = 2^-33, environ une chance sur huit milliards, raison pour laquelle le NIST plafonne à 2^32 le nombre de messages chiffrés avec des nonces aléatoires sous une même clé. Si un développeur tronque le nonce à 64 bits, la collision devient probable dès 2^32 messages, et une collision de nonce en GCM livre la clé d’authentification.
from math import expdef p_collision(q, bits): # approximation des anniversaires return 1 - exp(-q * q / 2 ** (bits + 1))print(p_collision(2**32, 96)) # environ 1,2e-10print(p_collision(2**32, 64)) # environ 0,39Pièges classiques
Section intitulée « Pièges classiques »Additionner naïvement les tailles de clés : chiffrer deux fois avec deux clés de 56 bits ne donne pas 112 bits, car l’attaque par rencontre au milieu (meet-in-the-middle) ramène l’effort à environ 2^57 opérations, au prix d’une grande quantité de mémoire. C’est pourquoi le 3DES à trois clés de 168 bits n’offre que 112 bits. Penser qu’une clé longue compense un mauvais protocole : une clé AES-256 réutilisée avec le même nonce en mode compteur laisse lire le XOR des messages sans toucher à la clé. Oublier les collisions dans les hash courts : un identifiant de 64 bits n’en offre que 32. Garder une clé au-delà de la durée prévue : le calcul de marge fait à la création ne vaut que jusqu’à la date qu’il supposait.
À ne pas confondre
Section intitulée « À ne pas confondre »La taille de clé est un paramètre ; le niveau de sécurité est le coût de la meilleure attaque. Le coût asymptotique compte des opérations ; le coût réel compte des machines, de la mémoire, de l’énergie et des années. La résistance aux collisions vaut n/2 bits ; la résistance à la préimage en vaut n. La sécurité post-quantique désigne des algorithmes classiques résistant aux attaques quantiques ; la sécurité quantique, ou distribution quantique de clés, utilise la physique quantique pour échanger des clés, avec des contraintes matérielles très différentes. Pour le vocabulaire des garanties, voir Lire une garantie sans la surinterpréter.
🐝 Ce qui arrive si on s’en passe
Section intitulée « 🐝 Ce qui arrive si on s’en passe »Sans cette évaluation, le niveau de protection se choisit par habitude ou par surenchère, et les deux échouent de façon différente. Par habitude, un paramètre dimensionné pour un secret de quelques heures finit par protéger une archive censée rester confidentielle des décennies, et personne ne sait à quelle date elle cessera de l’être. Par surenchère, des tailles maximales appliquées partout ralentissent les traitements au point que certaines équipes désactivent la protection là où elle gêne, ce qui ramène le niveau réel à zéro sur les chemins les plus fréquentés. Dans les deux cas, la ruche ignore combien de temps sa porte tiendra, ce qui revient à ne pas savoir quand elle tombera.
🦫 Explication de la marmotte 🍫
Section intitulée « 🦫 Explication de la marmotte 🍫 »Il existe deux sortes de sécurité. La première est inconditionnelle : l’attaquant n’a pas assez d’information pour trouver le secret, même avec un temps infini. La seconde, la plus courante, est calculatoire : trouver le secret est possible en théorie, mais demanderait trop de calcul avec des ressources réalistes. On mesure cette difficulté en bits de sécurité : 128 bits signifient qu’il faudrait essayer de l’ordre de 2 puissance 128 possibilités, un nombre hors de portée. La taille d’une clé ne donne pas directement ce niveau : une clé publique doit être bien plus longue qu’une clé symétrique pour offrir la même résistance. Certaines attaques vont aussi plus vite que l’essai de toutes les possibilités. La plus connue, l’attaque des anniversaires, trouve deux entrées donnant le même résultat en environ la racine carrée du nombre de possibilités : une empreinte courte de 64 bits ne résiste alors qu’à environ 2 puissance 32 essais. Un futur ordinateur quantique réduirait aussi la résistance des clés symétriques, ce qui impose des marges. Pour choisir un niveau, on estime le coût réel d’une attaque (temps, matériel, énergie, calcul en parallèle), l’adversaire probable, les contraintes de performance, et surtout la durée pendant laquelle les données doivent rester secrètes, car un attaquant peut les enregistrer aujourd’hui pour les déchiffrer plus tard.
À lire aussi
- Comprendre la cryptanalyse sans perdre le fil pratiqueExpliquer comment lire une attaque cryptographique: modèle, coût, données nécessaires, marge et impact opérationnel.
- Chiffrer par blocs : de l’héritage DES à AESPrésenter les chiffrements par blocs comme des permutations paramétrées par clé, expliquer AES et traiter les anciens algorithmes comme matériau historique et de migration.
- Choisir, combiner et migrer les algorithmes symétriquesRegrouper les décisions pratiques: choix d’algorithme, combinaison, surchiffrement, compatibilité matérielle et retrait des options faibles.
- RSA : trappe, padding et usages restreintsTraiter RSA comme une primitive encore rencontrée mais exigeante, où la sécurité dépend autant du padding, de la génération et de l’implémentation que du module.
Pages voisines
La citent
- Choisir, combiner et migrer les algorithmes symétriques
- Condensés cryptographiques : propriétés, constructions et familles
- Les problèmes difficiles qui rendent la clé publique possible
Évaluer la force d’une protection
Elle cite
