
Le calendrier de développement d'ordinateurs quantiques cryptographiquement pertinents a été considérablement raccourci en raison des récents développements du matériel quantique, tel que le processeur Willow de Google. Dans le contexte de la technologie blockchain, où les adresses et les normes de dérivation de clés telles que BIP32, BIP44 et SLIP-10 constituent l'infrastructure prédominante pour la gestion des portefeuilles, un ordinateur quantique exécutant l'algorithme de Shor a la capacité de récupérer n'importe quelle clé privée à courbe elliptique à partir de la clé publique correspondante. Cela constitue une menace pour tous les portefeuilles actuellement en production. Afin de migrer vers des schémas de signature post-quantiques, le format de la clé publique doit être modifié et la migration des adresses doit être forcée sur tous les réseaux participants. Cela représente un défi de taille pour les individus et les groupes impliqués dans la technologie blockchain.
Garder le format d'adresse existant complètement inchangé et remplacer l'étape de signature classique par une preuve de connaissance NIZK de la graine sous-jacente à l'adresse existante est l'approche orthogonale que nous présentons. Cette approche réduit la sécurité contre les adversaires quantiques à la dureté quantique supposée des fonctions de hachage sous-jacentes et à la solidité du NIZK contre les adversaires quantiques. De plus, cette approche ne nécessite pas de migration d’adresse ni d’enregistrement de clé. Le récent rapport a été rédigé par Vincenzo Botta, Michal Pospieszalski, Emanuele Ragnoli et Justus Ranvier.
Nous développons les résultats de Baldimtsi et al., qui déclarent que la graine est un témoin valide à connaissance nulle pour la clé publique en raison du mappage déterministe graine-clé d'EdDSA. De plus, nous étendons leur conclusion à un seul niveau à l’ensemble de la configuration du portefeuille déterministe hiérarchique. À partir de BIP32-Ed25519, nous remplaçons l'étape de signature classique par une preuve NIZK qui certifie la connaissance de la graine racine et de la chaîne de dérivation complète. Nous prouvons ensuite la sécurité EUF-CMA pour le schéma qui en résulte. On suppose que la sécurité post-quantique sera maintenue car toutes les primitives sous-jacentes dépendent uniquement de la difficulté des fonctions de hachage et de la robustesse du NIZK contre les adversaires quantiques.
Les systèmes actuels dérivent chacun leur témoin de sécurité quantique comme un sous-produit accidentel d'un format de clé spécifique à une courbe, et aucun d'entre eux ne fournit une norme de dérivation unique applicable de la même manière à toutes les courbes. En conséquence, nous proposons QBIP32, une nouvelle stratégie de dérivation de clé basée sur une fonction à clé HASH768 (instanciée à l'aide de KMAC256). Cette approche génère le scalaire de signature, un témoin explicite à sécurité quantique et le code de chaîne, le tout dans un seul appel. QBIP32 est conçu pour tout groupe de courbes elliptiques d'ordre premier avec un générateur fixe. Il ne nécessite aucune modification structurelle du système de dérivation ou de preuve entre les courbes. La même architecture est utilisée pour secp256k1, Ed25519 et toute courbe future qui sera utilisée dans l'infrastructure blockchain. La technique BIP32-Ed25519, quant à elle, dépend du format de clé étendu Ed25519 et n'a pas d'analogue pour les autres courbes. Cette universalité contraste avec l’approche évoquée précédemment.
Après cela, nous abordons le problème de l'efficacité, à savoir que le coût d'une preuve monolithique de l'ensemble de la chaîne de dérivation augmente de manière linéaire avec la profondeur de la dérivation. Notre contribution la plus importante est un système de signature appelé ZKPoSP, qui signifie Zero-Knowledge Proof of Seed Provenance. Ce schéma est considéré comme sécurisé contre les adversaires quantiques car il divise la preuve en deux parties : une preuve de dérivation générée une fois pour chaque paire de clés et une preuve de signature générée une fois pour chaque message. Cela réduit le coût de preuve de chaque message à une constante indépendante de la profondeur de la dérivation. Pour mieux caractériser les circonstances précises dans lesquelles la preuve de dérivation elle-même peut être raccourcie pour couvrir uniquement l'étape finale de la dérivation plutôt que la chaîne entière commençant par la graine racine, nous identifions l'existence d'une valeur privée liée à la graine par une fonction unidirectionnelle et ne pouvant être récupérée à partir de la clé publique comme critère précis. Ce critère est satisfait par les clés renforcées, mais il ne l'est pas par les clés non renforcées. Il s'agit d'une distinction structurelle partagée par tous les schémas : BIP32 secp256k1, SLIP-10/Ed25519, BIP32-Ed25519 et QBIP32 permettent tous une preuve de dérivation de dernière étape pour les clés renforcées, tandis que les clés non renforcées nécessitent une preuve qui remonte au dernier ancêtre renforcé. En tirant parti de cela, nous sommes en mesure de démontrer qu’une seule étape renforcée et le suffixe non renforcé peuvent être affichés dans une seule preuve pour les routes BIP44. Cela permet la suppression en toute sécurité de la graine de la racine.
Lorsque les preuves de dérivation et de signature sont séparées, le coût de chaque transaction est déjà réduit à une constante indépendante de la profondeur de la dérivation. C'est avant le jour Q. Après le jour Q, une fois que toutes les signatures non post-quantiques ont été rejetées par les réseaux, le scalaire feuille peut être transféré à la déclaration publique. Cela éliminera toutes les multiplications scalaires de courbes elliptiques du circuit de preuve, ce qui entraînera une réduction significative du temps requis pour la preuve de dérivation.
En plus d'instancier HASH768 avec KMAC256 et d'implémenter toutes les constructions dans Rust avec RISC Zero servant de backend NIZK, nous donnons également des références pour les preuves monolithiques, ZKPoSP sur l'ensemble des routes BIP44 et la version post-Q-day. Le temps requis pour la signature et la preuve est cohérent, à environ 12 à 13 secondes, tandis que le temps requis pour la vérification est cohérent à environ 9 à 10 millisecondes, quelle que soit la variation ou la profondeur.
Voir l’article original en anglais
