Ce dont je vais parler dépend surtout d’autres projets donc il n’y a pas forcément à s’en préoccuper dans l’immédiat, mais il est bon de faire une veille sur le sujet.
Il y a 2 ans on riait encore des ordinateurs quantiques, maintenant il n’est pas exclu que dans quelques années ils parviennent à casser la cryptographie classique.
Explications sur quantique/post-quantique
La cryptographie à clé publique classique (utilisée pour HTTPS, la blockchain, les distributions Linux) risque d’être définitivement attaquable par des ordinateurs quantiques assez puissants, qui n’existent pas encore mais peut-être bientôt.
La crypto post-quantique (PQC ) représente les systèmes crypto qui sont a priori résistants à une attaque par un ordinateur quantique.Les fonctions de hachage (SHA) et le chiffrement symétrique (AES, Chacha) restent sûrs. Au pire il suffira de doubler la taille des clés.
Avec les compétitions du NIST, on a une bonne (mais restreinte) sélection d’algos qui pourraient remplacer les algos actuels, et il y a désormais des implémentations en logiciel libre. Certains projets libres grand public se lancent déjà dans le post-quantique (Signal, CryptPad). TLS post-quantique est en travaux aussi.
Les algos post-quantiques étant souvent assez récents, il peut être plus sûr de les utiliser conjointement avec un algo classique. (crypto hybride)
Message intéressant : Post-quantum signatures - Tech Talk - Polkadot Forum
Les risques
Que pourrait faire un attaquant quantique à la Ğ1 ?
Casser Ed25519 et d’autres algos utilisés dans Substrate.
- Lire les messages chiffrés en Ed25519 (messagerie Cesium+)
- Tous les messages chiffrés en asymétrique peuvent être récoltés par un attaquant et déchiffrés quand l’ordinateur quantique sera là.
- Publier des transactions ou des blocs en usurpant des signatures
- Ce ne sera pas un problème avant que l’attaquant quantique existe : on ne peut pas réécrire le passé.
- Pister les transactions anonymes (si on utilise les signatures en anneau ou ĞMixer)
- On n’en a pas encore, tout va bien.
Les solutions
On va surtout devoir attendre que le travail soit fait côté Substrate.
Pour les signatures, le seul algo post-quantique utilisable en pratique (et finaliste de la compétition du NIST) est Falcon. Il est assez rapide, mais les clés publiques et signatures font de l’ordre de 1ko (contre 32 octets pour Ed25519). Il pourrait remplacer Ed25519 sans rien changer d’autre, à part que les adresses ne pourront plus être directement des clés publiques (ce qui en fait est un gros changement).
Pour la messagerie chiffrée, déjà il faut utiliser un protocole avec échange de clés éphémères à la Signal. Ensuite il faudrait passer à un échange de clés post-quantique. Signal a publié une documentation.
Pour les transactions anonymes, il existe des schémas de signature en anneau post-quantiques mais trop lourds pour le runtime. Je ne sais pas encore comment faire.
Je vais essayer de finir mon travail sur la messagerie chiffrée avant d’y ajouter le post-quantique. C’est le plus urgent à mon avis.