Il est dit que l’ordinateur quantique va rendre inopérant le chiffrement en sécurité informatique. Qu’en est-il vraiment ? Notre chroniqueur Michel Juvin vous propose un tour complet de la question.
L’arrivée des ordinateurs quantiques sur le marché professionnel[1] laisse penser que certaines organisations étatiques et privées maitrisent déjà cette énorme puissance de traitement et annoncent des changements importants dans le chiffrement et la protection des données pour les administrations et les entreprises. Qu’en est-il vraiment ?
Alors oui, une puissance de 1000Qbits serait disponible en 2023. L’écart de capacité, en instructions par seconde, serait de l’ordre de 1020 soit la puissance cumulée de tous les micro-ordinateurs existant en 2007. Pour autant, il est difficile de comparer la puissance d’un ordinateur quantique à un ordinateur binaire sachant que le premier n’obtient sa puissance que lorsqu’un algorithme intelligent lui permettra d’utiliser toute cette puissance ainsi qu’une bonne maîtrise des qbits (comme l’a rappelé une récente émission d’Alliancy). Cette puissance correctement utilisée devrait toutefois permettre d’accélérer certains calculs qui sont longs aujourd’hui.
Mais en parallèle de cette « puissance disponible » potentielle, il est surtout nécessaire de comprendre les évolutions des techniques de hacking pour déchiffrer les messages, et obtenir la donnée source sans avoir à connaître la clef de chiffrement privé (attaque de type MitM[2]). Alors qu’est-ce qui a changé ces dernières décennies ?
Par le passé…
Tout d’abord, n’oublions pas que les données sont des nombres (les ordinateurs étant binaires). Le chiffrement n’est qu’une suite logique d’opérations plus en plus complexe sur des nombres ; d’où l’importance des fonctions mathématiques.
Les premiers logiciels développés pour trouver un mot de passe utilisent la méthode appelée « Brut Force Attack » en testant toutes les combinaisons possibles. Par le passé, la puissance des ordinateurs (un bon GPU) permettait de trouver les mots de passe simples. Mais le renforcement des mots de passe plus long et avec plus de caractères a allongé les temps de traitement.
Plusieurs optimisations des techniques de hacking ont alors été mises en œuvre et se sont révélées efficaces. En analysant les mots de passe couramment utilisés, les logiciels de déchiffrement ont balayé dans une premier temps les dictionnaires dans les différentes langues auquel il était ajouté un ou deux chiffres, pour obtenir une forme couramment utilisée de mots de passe.
Une deuxième évolution majeure a été la technique de comparaison des résultats issus du chiffrement des données (Hash). Les hackers ont appris à concevoir une base de données recensant tous les mots des dictionnaires chiffrés avec seulement un ou deux chiffres, afin de pouvoir ensuite comparer les Hash générés de cette façon avec celui d’un mot de passe réel. Cette comparaison étant très rapide, le temps de hacking d’un mot de passe est rapidement tombé sous le plafond très avantageux d’une poignée de secondes.
Cependant, plus la longueur du mot de passe est devenue importante (>= à 8 puis 12 caractères suivant les recommandations de l’ANSSI), plus les logiciels de hacking des mots de passe se sont appuyés sur la programmation par contrainte et sur des méthodes statistiques. Ainsi une troisième évolution s’est concentrée sur la fréquence des lettres dans les mots de passe les plus couramment utilisés : cette méthode indique par exemple, que le « e » est la lettre la plus fréquente avec 12% d’occurence, suivi du « a » à 7%, etc. Cela permet de réduire l’échantillon et donc trouver plus facilement la valeur recherchée.
Le quantique au service des techniques heuristiques
Enfin, il y a le cas particulier de la programmation par erreur. C’est notamment pour cette technique qu’une machine quantique revêt un fort intérêt, car le nombre de calculs possibles en parallèle est particulièrement important. code chiffré de 256 Bits passe alors de 1,1577 à… 1 ! Le temps nécessaire pour le hacking a donc été divisé par… plus d’un décilliard (soit au-delà des préfixes habituels utilisés pour les grands nombres)[3]
Ces techniques sont aussi appelées « heuristique » et permettent de réduire le temps de découverte des mots de passe. Elles ont vu le jour alors que les mathématiciens étaient confrontés à la résolution d’équations dont le nombre d’inconnues était supérieur au nombre d’équations. Une équation à une inconnue (x=3) est simple et directe, deux équations à deux inconnues sont un problème figurant dans le programme de 3e… au-delà, l’affaire se complique énormément ![4] Mais un algorithme utilisant la programmation par erreur et appliquant des heuristiques, trouve les valeurs très rapidement. Un ordinateur quantique n’était pas obligatoire pour y parvenir, mais il permet un passage à l’échelle très important.
Différents types de chiffrements utilisés actuellement
D’une manière pragmatique, il existe plusieurs manières de remplacer un code par un autre pour que le code d’origine soit incompréhensible pour tout autre personne que l’intéressée, tout en traversant un environnement non sécurisé (comme le Cloud). Le point clé est évidemment que la méthode choisie doit être réversible pour permettre l’accès à l’information.
Les méthodes actuelles sont : la transcodification (remplacement), la pseudomynisation (pour les identifiants), l’anonymisation (suppression ; non réversible), la stéganographie (dissimulation), le chiffrement AES, RSA et homomorphique et le chiffrement de la blockchain ; chacun de ces types de chiffrement correspond à une utilisation spécifique et ont des résistances différentes.
La transcodification et l’anonymisation s’appuient sur des tables de conversion de caractères qui sont plus ou moins complexes. Par contre, dans le cas de la stéganographie cette table de conversion n’est pas logique ; de fait, il sera difficile de trouver le code d’origine sans élément de contexte. Exemple : dans une assemblée, deux individus échangent et se disent : on se donne rendez-vous comme d’habitude ! On comprend que l’information traverse un environnement non sécurisé mais est quasiment impossible à trouver pour ceux qui l’écoutent sans éléments de contexte ; à l’exception de l’émetteur et du récepteur qui sont ici connus. Pour un ordinateur même très puissant c’est donc impossible. On pourrait presque croire que la stéganographie est « quantiquement » résistante… si elle est bien utilisée évidemment !
De son côté, le chiffrement symétrique ou AES permet de chiffrer et déchiffrer un message avec la même clef. La clef est donc échangée de manière sécurisée entre les personnes avant d’échange des données.
Le chiffrement homomorphe mis au point par les ingénieurs d’IBM permet, lui, de traiter des données chiffrées dans un espace de stockage ouvert sans les déchiffrer et obtenir le même résultat que si ces données n’avaient pas été chiffrées ; ce sera l’objet d’une prochaine chronique, consacrée au « confidential computing ».
Le cas particulier du chiffrement asymétrique
Attardons-nous un peu sur le cas du chiffrement asymétrique. Il gère une clef publique et une clef privée. Les clefs publiques sont échangées entre l’émetteur et le réceptionnaire. L’émetteur chiffre son message avec la clef publique du réceptionnaire et le réceptionnaire le déchiffre avec sa clef privée. Les deux clefs sont associées via une fonction mathématique réputée jusqu’alors inviolable, développée par trois chercheurs Rivest, Shamir et Adelman (RSA). Cette relation entre les deux clefs s’appuie sur la factorisation en deux nombres premiers d’un entier de 1024 ou 2048 bits. Dès 1994, le mathématicien américain Peter Shor, indiquait cependant qu’un ordinateur quantique pouvait théoriquement résoudre cette équation. Une récente publication chinoise, encore débattue par les experts, estime que cette prédiction était correcte.
Dès lors, on peut donc se poser la question de savoir si, depuis tout ce temps, les grandes agences d’espionnage mondiales ne savaient pas déjà casser les clefs asymétriques. En effet, les spécialistes chinois ne sont parvenus que récemment au même niveau d’expertise sur ces sujets que leurs homologues d’autres grandes puissances.
Cette annonce aurait dû faire beaucoup de bruit, car elle remet directement en question le chiffrement des messages HTTPS, TLS et SSL, VPN, SSH, PKI en entreprise, les papiers d’identités biométriques, les cartes bancaires, la blockchain, mais aussi les messageries Whatsapp ou Signal, rien que cela ! Cela n’a pourtant pas été le cas. Pourquoi ?
Initialement, les clefs de chiffrement étaient limitées à 56bits… notamment pour permettre à la NSA en 1970 de casser le chiffrement des communications privées. Puis, l’administration américaine a autorisé dès 1990 l’utilisation de clefs jusqu’à 128 bits. Était-ce une confirmation de leur capacité de déchiffrement des clefs de 128 bits ? Depuis, aucune recommandation sur la taille des clefs n’est imposée… peut-on du coup estimer que la NSA possède les solutions pour accéder aux messages chiffrés quels qu’ils soient ?
En fait, aujourd’hui, compte tenu des technologies développées pour « casser » les codes de chiffrement, on considère qu’une clef de type symétrique AES se doit d’être au minimum 256 bits. Et le chiffrement asymétrique est une technologie profondément remises en cause[5], en particulier parce que des ordinateurs quantiques équipent déjà certainement les principales agences d’espionnage ainsi que certaines très grandes entreprises privées. Autrement dit, l’état de faiblesse était anticipé depuis un moment déjà.
La blockchain a-t-elle les réponses ?
On peut répondre rapidement : non. Le chiffrement utilisé par la Blockchain n’a pas pour objectif initial de protéger les données mais de simplement les signer en utilisant un algorithme de chiffrement elliptique ECDSA pour protéger les écritures de la « chain » sur de multiples serveurs. L’objectif pour ces serveurs étant de déchiffrer le plus rapidement possible toutes les clefs de la « chain » pour y ajouter le nouveau message chiffré. La blockchain n’est donc pas absolument adaptée à la protection de l’information d’autant plus que l’effort nécessaire pour écrire un nouveau message est très consommateur de ressource de la planète, même si des améliorations notoires ont pu être apportée à partir de 2022.
Existe-t-il des algorithmes de chiffrement résistant aux ordinateurs quantiques ?
Suite à un appel à la communauté des experts en cryptographie en 2016, le NIST a sélectionné quatre algorithmes pour protéger les données des nouvelles capacités offertes par les ordinateurs quantiques : Krystal-Kyber pour le chiffrement à clef publique asymétrique ; Krystal-Dilithium pour la génération de signatures électroniques (intégrité d’un message)[6] ; et Falcon et Sphincs+ pour la génération de signatures électroniques.
Parmi ces quatre, Kyber, en particulier, décrit une méthode d’encapsulation qui a pour objectif d’être résistant aux calculs quantiques. A l’inverse, des experts ont cependant mis en doute l’efficacité de Falcon et Sphincs+.
Les méthodes Kyber et Dilithium
Pour ceux qui veulent un peu plus de détail technique sur les partis pris des algorithmes de chiffrement résistant aux ordinateurs quantiques : la méthode Kyber rend difficile de retrouver la clef privée à partir d’une clef publique qui est composée d’une matrice aléatoire de nombres polynomiaux, un vecteur polynomial et un vecteur d’erreur sachant que tous les résultats sont modulos un module arithmétique de congruence prenant la valeur d’un nombre entier. L’encapsulation n’a pour objectif que d’ajouter un protocole d’échange de clefs asymétriques.
Dilithium de son côté est une méthode de chiffrement dont l’objectif est d’éviter de pouvoir reproduire la signature d’un message ainsi que de reproduire une signature différente ; ce sont les deux cas de corruption de la donnée ou d’inaccessibilité à celle-ci indiquant que la donnée a été lue ou est perdue : rupture d’intégrité.
Et demain, comment protéger le capital informationnel des entreprises ?
L’ANSSI a communiqué en avril 2022 sur la nécessité d’évaluer une solution pour remplacer les clefs de chiffrement asymétrique actuelles et propose aussi de définir un environnement plus agile pour répondre à la potentielle arrivée d’algorithmes plus performant ne nécessitant pas forcément d’ordinateur quantiques !
En parallèle au renforcement du chiffrement, les attaques de type « Store Now & Decrypt later » laissent penser que des agences étatiques ou des entreprises privées, avec de grandes capacités de stockage, seraient en mesure capter les communications, les stocker puis les décrypter quand un ordinateur quantique suffisamment puissant sera disponible. C’est une menace avant tout pour les données critiques à valeur de long terme. Si in fine, certains experts pensent que le volume à stocker serait trop grand pour que cela soit possible ou intéressant, le risque existe pourtant bel et bien. Surtout que les investissements dans le quantique sont colossaux, avec plusieurs dizaines de milliards pour la NSA américaine et son alter-ego chinoise. La France quant à elle, a lancé un plan d’1,8 Mrd d’euros sur 5 ans.
Comme le propose le World Economic Forum, il serait sans doute préférable de réfléchir à une transition vers un avenir utilisant des clefs de chiffrement hybrides (clefs post-quantiques et clefs actuelles renforcées) en fonction de la nature et la sensibilité des informations à protéger[7].
Par ailleurs, comme le recommande la note de l’ANSSI, il serait intéressant de mettre en place une solution de chiffrement qui accepte une évolution de son algorithme de chiffrement pour se laisser la possibilité d’avoir un coup d’avance sur les technologies de hacking des messages. Une forme de « crypto-agilité » qui permette de progressivement utiliser une méthode de chiffrement post-quantique.
Enfin, une autre approche en rupture d’homothétie a été mise au point par des experts des centres de recherche français et propose avec SnowPack la fragmentation du message en « flocons » (des bruits anonymes complémentaires) dilués dans un nuage constitué des flocons de tous les autres utilisateurs, chiffrés et routés sur une multitude de chemins, rendant impossible la reconstruction du message d’origine. Cette approche, similaire à celle de Google, est particulièrement intéressante car elle ne repose pas sur le durcissement des clefs de chiffrement et de leur algorithme. Cependant, elle ne couvre encore que les données en transit.
En conclusion : comment les entreprises doivent-elles agir ?
En premier lieu, les clefs de chiffrement asymétriques en entreprise doivent être remplacées prochainement et une réflexion plus profonde est à faire sur toutes les clefs utilisées qu’il sera possible de décrypter[8] prochainement. L’enjeu est très important et ne doit pas être sous-estimé. Pour nous le rappeler, le prix des Assises de la Sécurité a été distribué en 2022 à CryptoNext, solution de sécurité post-quantique.
Mais au-delà de cela, il est nécessaire de définir le plan de l’évolution de tous les modes de chiffrement déjà en place dans les entreprises et leurs sous-traitants. Il ne suffira pas d’attendre, comme certains de mes pairs pourraient le penser, que son fournisseur propose une version post-quantique du mode de chiffrement : il est nécessaire de repenser l’architecture et la gestion des clefs de chiffrement pour qu’il soit possible d’évoluer vers des solutions post-quantiques.
Comme le résume l’éditeur Stormshield dans un récent article : il faut anticiper et « ne pas être des victimes, mais bien des acteurs de cette évolution technologique actuelle ».
L’Expert ou le Directeur cybersécurité ne peut pas attendre de ses fournisseurs une évolution vers des solutions basée sur des algorithmes Post-Quantique (ou « QSA » : Quantum-Safe Algorithms). Il doit engager dès maintenant une réflexion plus préventive autour des solutions sélectionnées par le NIST ou des acteurs français tel que Pasqal pour une ou plusieurs solutions de chiffrement « crypto-agile » et être en mesure de les implémenter progressivement.
[1] Machines quantiques déjà disponibles : Pasqal, IQM en Europe et IBM, AWS et D-Wave en Nord-Amérique
[2] MitM : attaque de type Man-in-the-Middle pouvant accéder aux données et modifier leur intégrité
[3] 177 Les temps de calcul d’un hacking est représenté par 1 suivi de 77 zéros
[4] Un exemple est l’addition de « SEND + MORE = MONNEY [4]» sachant que les lettres ont des valeurs comprises entre 0 et 9. Ce qui se traduit en 5 équations : ex :D+E=Y +R1 (car il peut y avoir une retenue inférieure ou égale à 1). Et ainsi de suite : on obtient 5 équations à 8 inconnues.
[5] Pour plus d’explications techniques, je vous propose de voir la présentation de Renaud Lifchitz qui présente les faiblesses des signatures RSA : https://speakerdeck.com/rlifchitz/a-common-weakness-in-rsa-signatures-extracting-public-keys-from-communications-and-embedded-devices?slide=7
[6] Plus de détails techniques sont disponibles sur les solutions de chiffrement Crystals
[7] Par exemple, l’algorithme de Grover propose des optimisations par la génération de collisions sur les fonctions de hachage nécessitant d’allonger les clefs ; utiliser AES 256 et SHA-2 et/ou SHA-3 à 384 bits et de même, des protocoles hybrides TLS 1.3 ou IKE v2.
[8] Pour les puristes, on dit décrypter lorsqu’il s’agit de casser un chiffre, sinon, légalement, il s’agit de déchiffrer.