Le protocole nonce blinding est un protocole conçu pour améliorer la sécurité de nos portefeuilles matériels ou portefeuilles multi-appareils, en ajoutant un mécanisme cryptographique capable de minimiser l'impact des vulnérabilités telles que les attaques de canal secondaire ou les attaques de la chaîne d'approvisionnement.
Là la sécurité dans le monde de blockchain est toujours avancé, et la preuve en est la création du Protocole de non-aveuglement. Ceci est un protocole créé par la communauté du projet Bitcoin, où il semble que rien ne suffit à assurer la sécurité totale de la blockchain et celle des portefeuilles des utilisateurs.
Le Protocole Nonce Blinding était Presentado enfin à la communauté le 28 février 2020, sur la liste de développement Bitcoin. En fait, votre premier test pull (code source envoyé au projet) a été effectué le 15 de Février 2019. Il a été présenté comme une amélioration du schéma de signature et de son application en portefeuilles de matériel et autres appareils secondaires. L'idée de base du protocole est; créer un bouclier qui empêche les violations de données et les attaques de canaux secondaires sur Bitcoin et d'autres schémas de signature de crypto-monnaie.
Tout cela est parti d'une idée que Satoshi Nakamoto lui-même a partagée en 2010 sur le forum Bitcointalk, dans lequel dit:
La cryptographie peut offrir un moyen de faire du "key blinding". J'ai fait quelques recherches et c'était obscur, mais il y a peut-être quelque chose là-dedans. les « signatures de groupe » peuvent être liées.
Les crypto-monnaies peuvent offrir un moyen de faire "l'aveuglement des clés". J'ai fait quelques recherches et ce n'était pas clair, mais il y a peut-être quelque chose là-bas. Les "signatures de groupe" peuvent être liées.
Mais qu'est-ce qu'une attaque par canal secondaire et pourquoi constituent-elles une menace pour notre sécurité? Que fait exactement le protocole Nonce Blinding? Apprenons un peu plus sur ces sujets et d'autres.
Attaques secondaires, le cauchemar de la sécurité de la blockchain
Un attaque latérale ou attaque par canal latéral, est un type de cyberattaque qui Il permet de transférer tous les mécanismes de sécurité d'un logiciel ou d'un matériel, en utilisant les mêmes fonctions dudit matériel, logiciel. Vous pouvez même utiliser des fonctions tierces associées pour en effectuer une analyse médico-légale et obtenir les informations souhaitées.
Pour le dire en termes plus simples, une attaque par canal secondaire utilise le même logiciel, matériel ou d'autres moyens connexes pour trouver des failles dans ce logiciel ou matériel et exploiter ces failles. Surprenant, non? Cela ressemble à quelque chose d'un film de science-fiction, mais c'est réel. En fait, c'est quelque chose qui est avec nous depuis de nombreuses années et qui nous a permis de créer des choses très folles.
Par exemple, un renifleur de son pour votre clavier qui permet à une personne dans une autre pièce de savoir que vous tapez sur votre ordinateur. Et si cela ne vous inquiète pas, que pensez-vous d'un cookie (le type utilisé par les sites Web) capable de charger un programme dans la mémoire de votre PC, et à partir de là d'extraire des données de vos clés privées Bitcoin, ou autre. utilisez crypto. Même une analyse électrique ou électromagnétique peut compromettre votre sécurité, en utilisant des attaques par canaux secondaires.
Vous pouvez penser que ces attaques sont très élaborées, coûteuses à faire et possibles uniquement dans des conditions très spécifiques. Mais la vérité est qu'en ce moment même, votre ordinateur peut être vulnérable à ces attaques sans que vous le sachiez. Par exemple, la plupart des processeurs pour les ordinateurs Intel, AMD et ARM (qui sont pour les smartphones) sont vulnérables aux attaques par canal latéral (telles que Spectre ou Meltdown) et ces problèmes de sécurité ne sont pas complètement corrigés et d'autres ne peuvent pas être corrigés.
Vous vous demandez sûrement si ce genre de chose a été prémédité? Les entreprises ont-elles créé ces failles pour violer la sécurité de nos systèmes au cas où elles en auraient besoin? Nous ne le savons pas avec certitude, mais c'est possible, surtout si l'on considère les antécédents de nombreuses entreprises pour générer ces problèmes et les vendre à des prix élevés aux gouvernements et à leurs organisations d'espionnage.
Dans ce cas, parce que nous dépendons de cette technologie pour notre quotidien, nous devons créer des mécanismes qui nous aident à rendre plus difficile ou impossible pour eux d'obtenir les informations qu'ils veulent. C'est là que le protocole Nonce Blinding entre en jeu et nous allons maintenant vous expliquer comment il parvient à protéger notre sécurité contre ce type d'attaque.
Comment fonctionne le protocole Nonce Blinding?
Le but du protocole Nonce Blinding Protocol est de prévenir ou de rendre plus complexes les attaques de canaux secondaires sur les portefeuilles de crypto-monnaie, en particulier les portefeuilles matériels. Pour y parvenir, le protocole génère une série de conditions qui empêchent le filtrage des clés du portefeuille.
Tout d'abord, un plus grand caractère aléatoire est généré dans le dispositif de signature, ce qui donne un niveau de sécurité plus élevé au logiciel de portefeuille. Cependant, pour qu'un tel caractère aléatoire soit vraiment imprévisible, l'hôte (portefeuille matériel) et le client (un ordinateur ou un autre appareil connecté à l'hôte) doivent assurer un canal de communication sécurisé (le protocole de confirmation-divulgation) qui fonctionne comme suit façon:
- L'hôte génère un pool de caractère aléatoire, en calcule un hachage et envoie ledit hachage au client (généralement SHA-256 est utilisé) avec un engagement cryptographique indiquant que c'est le caractère aléatoire qui sera utilisé pour le processus de signature.
- Le client reçoit les informations de l'hébergeur, et accepte d'utiliser ce paramètre pour la création du système de signature. De plus, le client dispose également d'un pool aléatoire qu'il utilisera pour la signature numérique. Toutes ces informations sont envoyées à l'hébergeur pour sa connaissance.
- L'hôte répond avec le caractère aléatoire généré à l'étape 1, confirmant la réception des informations.
- Le client effectue ensuite une signature en utilisant le caractère aléatoire fourni par l'hôte. Après ce point, le client envoie les informations de signature à l'hôte.
- L'hôte reçoit les informations et les vérifie. Si les informations reçues sont correctes, l'hôte prendra alors le caractère aléatoire généré par les deux parties, et à partir de là, il créera une signature valide pour la transaction. Si, au contraire, la vérification échoue, le protocole avertit de l'échec.
Ce protocole simple permet ce qui suit:
- Établissez un environnement de génération et de validation de signature sécurisé.
- Générez une signature valide pour une transaction à l'aide de deux pools aléatoires différents. De cette manière, les informations de signature ne peuvent pas être traitées par une seule partie qui peut ou non être compromise.
En termes simples, cette méthode divise la génération des signatures en deux parties distinctes, qui sont ensuite jointes pour finalement générer la signature valide de la transaction. Le seul moyen de corrompre un tel système est que les deux parties soient affectées en même temps. De plus, le mécanisme est extensible, c'est-à-dire qu'un schéma auquel plus de deux parties participent peut être utilisé, ce qui augmente encore la sécurité du protocole.
Que savez-vous, cryptonuta?
La mise en œuvre du protocole Nonce Blinding sera-t-elle un excellent ajout à la sécurité du portefeuille?VRAI!
L'une des fonctions du protocole Nonce Blinding Protocol est de nous offrir une couche supplémentaire de sécurité contre les attaques externes qui cherchent à prendre le contrôle de nos devises. Cela dit, sa mise en œuvre dans les portefeuilles matériels (et la prise en charge des portefeuilles logiciels) sera un excellent ajout à la sécurité de nos crypto-monnaies.
Avantages et inconvénients du protocole nonce Blinding
Désormais, le principal avantage du protocole Nonce Blinding est qu'il améliore considérablement la sécurité de nos transactions de crypto-monnaie. Ceci est réalisé en utilisant divers mécanismes d'entropie qui aident à réduire le risque d'attaque de canal secondaire ou d'attaque de chaîne d'approvisionnement. Autrement dit, vous pouvez avoir un appareil qui est partiellement ou complètement compromis et il serait toujours sûr de l'utiliser à ce stade pour effectuer des transactions Bitcoin car la génération de clés et de signatures dépend d'autres appareils.
Le prochain avantage du protocole est qu'il ne rompt pas la compatibilité du schéma de signature Bitcoin actuel. En fait, l'implémentation initiale prend en charge ECDSA, Schnorr et PSBT sans qu'il soit nécessaire de modifier quoi que ce soit. Cela permet au protocole d'être implémenté en tant que fonction ajoutée aux portefeuilles, sans que cela entraîne des changements significatifs.
D'un autre côté, l'inconvénient du protocole Nonce Blinding Protocol est qu'il nécessite un processus plus intensif d'envoi et de réception de données, ce qui peut ralentir les opérations lorsque vous travaillez avec des appareils distants.
Implémentations actuelles du protocole Nonce Blinding
Aujourd'hui, Nonce Blinding est une caractéristique de la conception. Cependant, il a déjà été testé avec succès sur des réseaux de test au sein de Bitcoin. Cela nous donne une idée claire que la technologie fonctionne et qu'elle peut être appliquée dans le projet sans problèmes majeurs.
Mais au-delà des tests, le protocole est toujours en cours de développement et les développeurs ont prêté attention à la standardisation de cette fonctionnalité de sécurité. En fait, dans Trezor, il y a déjà des discussions pour implémenter cette fonctionnalité dans leurs portefeuilles. De même dans Ledger, où ils ont également choisi d'implémenter des fonctions avec cette capacité sous leur propre concept.
Tout cela démontre le grand intérêt des développeurs Bitcoin pour l'application de ces fonctionnalités sur le protocole, et les développeurs de portefeuille, leur intérêt à prendre en charge ces fonctionnalités. Tout cela pour la sécurité et la confidentialité de ses utilisateurs.