Rejoignez-Nous sur

L'évolution du chiffrement à clé publique-privée dans les systèmes blockchain

linkedin new

News

L'évolution du chiffrement à clé publique-privée dans les systèmes blockchain

vczuIqcV9EX7MaX7fv5oBCMurEf2 3k7n3uhu
Photo de profil de l'auteur

@alymadhavjiAly Madhavji 穆亚霖

Managing Partner chez Blockchain Founders Fund et LP chez Loyal VC

Il existe de nombreuses méthodes différentes pour vérifier l’identification d’un utilisateur. Bien que la gestion de l'authentification et des sessions actives ait parcouru un long chemin, une simple authentification par mot de passe n'a pas été en mesure de fournir une sécurité suffisante pour prendre en charge la croissance rapide des données, les progrès des technologies mobiles et cloud et les volumes croissants de failles de sécurité.

L'exposition des données de session n'est qu'un exemple des cas où cette méthode d'authentification peut échouer. Après l'authentification d'un mot de passe utilisateur, l'utilisateur est exposé à une brève période de vulnérabilité où les données de session peuvent être copiées ou volées.

Blockchain utilise un cryptosystème à clé publique pour l'identification plutôt qu'un processus traditionnel de nom d'utilisateur et de mot de passe. L'utilisation d'un cryptosystème à clé publique pour l'identification n'est pas un concept nouveau. RSA ou Rivest-Shamir-Adleman a été créé et adopté dans les années 1970 par les institutions gouvernementales américaines.

RSA a été mis à la disposition du public en 1997. L'algorithme RSA permet aux données d'être chiffrées par une clé privée et déchiffrées par une clé publique. Une clé privée crypte d'abord les données, puis les envoie au récepteur. Le récepteur décrypte les données à l'aide d'une clé publique.

Cette méthode protège les clés privées sauf si l'utilisateur expose accidentellement sa clé privée.

Systèmes blockchain avec systèmes de clés privé-public fonctionnent de la même manière. Lorsqu'une transaction est initiée, l'identité du demandeur doit être vérifiée à l'aide d'une signature numérique.

Les mineurs utilisent le Clé publique décrypter le signature numérique pour afficher la sortie de hachage. Une fois que identification est vérifié, les mineurs valider le dernier montant non dépensé.

Les systèmes de blockchains alternatifs sont similaires mais fonctionnent selon des mécanismes de consensus différents pour garantir que les dépenses sont légitimes. Pour cet article, nous nous concentrerons sur autorisation plutôt que des modèles de consensus.

vczuIqcV9EX7MaX7fv5oBCMurEf2 su2j3uyd

La clé privée joue un rôle important dans la blockchain

La clé privée est l'élément d'information le plus crucial pour identifier l'action d'un utilisateur. Les personnes détenant de grandes quantités de crypto-monnaie peuvent avoir peur de perdre, d'égarer ou de divulguer involontairement leurs clés privées.

Le système de gestion des clés du dépositaire a été créé pour résoudre ce problème. Ce système utilise un tiers ou un fournisseur de gestion des clés de chiffrement pour gérer les clés.

Les pirates qui récupèrent les fuites de données publiques et exécutent des programmes malveillants de masse parcourant Internet et les appareils à la recherche de clés privées constituent une autre menace.

Le fournisseur de gestion des clés de chiffrement assume la responsabilité de contrecarrer les attaques, d'assurer la redondance et la disponibilité, et de rendre cette expérience transparente pour les clients.

Le fournisseur aide à compenser les risques et assume la responsabilité de maintenir l'intégrité de ses systèmes pour s'assurer que les acteurs malveillants ne sont pas en mesure de compromettre ou d'accéder aux données des utilisateurs.

Alors que ce système décharge un certain degré de responsabilité et de risque pour les propriétaires clés, le dépositaire devient un pot de miel pour les pirates à cibler. Cela soulève des inquiétudes quant à la quantité de contrôle et de visibilité sur la façon dont les clés sont gérées et sécurisées.

La banque décentralisée est un concept construit dans le sillage de la crypto-monnaie. Les plates-formes décentralisées devraient fournir aux individus le pouvoir et la capacité de stocker, de dépenser et de rendre compte de leurs propres finances sans un tiers tel qu'une banque ou un gouvernement.

En quoi un fournisseur de gestion de clés de chiffrement est-il différent d'une banque? Le gouvernement va-t-il interférer ou suspendre des opérations telles que des ordonnances judiciaires?

Dans quelle juridiction le dépositaire doit-il exercer ses activités et des normes et normes et réglementations sont-elles nécessaires pour régir ces entités? Quelles sont les implications pour le client?

L'histoire de Quadriga est un cas extrême où le système de gestion du dépositaire a mal tourné. Les clients de Quadriga n’ont pas pu accéder à leurs propres actifs. Janvier 2019, au moment où la bourse canadienne était sous contrôle juridique, le PDG, Gerald Cotten, a été déclaré mort.

À l'époque, Quadriga gérait des clés qui accédaient à 195 millions de dollars en Bitcoin et autres crypto-monnaies, qui résidaient toutes dans un portefeuille froid crypté par mot de passe sur l'ordinateur portable personnel de Cotten. Cotten était le seul à avoir pu accéder aux actifs.

L'entreprise a fermé ses portes en raison d'un seul point de défaillance. Quadriga est la troisième plus grande perte mystérieuse de l'histoire de la crypto-monnaie.

Les plans de gouvernance et de succession doivent viser à éliminer tous les points de défaillance uniques et prendre en compte les contrôles internes et les processus de gestion pour la gestion des actifs des clients.

vczuIqcV9EX7MaX7fv5oBCMurEf2

Existe-t-il de meilleures solutions pour la gestion des clés publiques-privées?

Cela commence par la manière dont une clé privée est générée. La génération de clés privées est encore plus importante que la clé elle-même. Si une clé privée est basée sur un ensemble aléatoire de nombres, le nombre réel lui-même peut être difficile à mémoriser.

C'est pourquoi une phrase de départ est utilisée pour générer un nombre pseudo-aléatoire lors de la création d'un portefeuille.

Une clé privée ressemble à:

xprv9s21ZrQH143K3J7pTYok3GWwggXKo81gKYnEzAW6658TK8nZA6GZYK5aLtNdMRHsZc9J5q627oW2G2FYcNYKLmTLxmb5hqpZfYca7cderKU

Phrase de départ:

Corps mystère artiste mélange mère lent traiter ressource chat annuel reconstruire olympique

qui est la graine qui peut être utilisée pour générer la clé privée.

Que peut-on faire pour rendre les transactions encore plus sécurisées et les clés plus sûres?

Adi Shamir, le co-inventeur de RSA, a développé un algorithme, populairement connu sous le nom de Partage secret de Shamir, pour diviser les secrets en parties attribuées à différents utilisateurs. Ceci est connu sous le nom de signatures multiples, où un nombre spécifié de clés est nécessaire pour signer une seule transaction.

Le partage de secret de Shamir divise la clé privée en fragments. La clé peut être recréée lorsque le nombre minimum de fragments est présent. Le plus petit nombre de fragments valides pour recréer la clé secrète ou privée est appelé le numéro de seuil.

Si les fragments sont présentés individuellement, ils sont inutiles car aucune action ne sera entreprise ou exécutée. Aucune information n'est accessible avec les fragments individuels en eux-mêmes.

Pour créer une action, lorsque les fragments valides sont supérieurs au nombre de seuil, il y a une action pour recréer la clé privée secrète pour lancer une réponse. Les signatures multiples sont un élément crucial dans la création d'un système décentralisé où les organismes autonomes possèdent différentes autorisations et délégations.

Pour démontrer cela, nous allons diviser un nombre aléatoire en 7 fragments et utiliser au moins 4 de ces fragments pour régénérer le nombre aléatoire.

Étant donné que la plupart des blockchains utilisent la cryptographie à clé publique pour définir leur identité avec des nombres aléatoires, où des nombres aléatoires sont utilisés
largement pour créer des paires de clés et les humains sont intrinsèquement terribles à trouver des nombres vraiment aléatoires, alors nous pouvons arriver à un nombre aléatoire en lançant des dés avec un mouvement haptique ou par des séquences aléatoires sur un clavier plutôt que d'évoquer un nombre par la pensée qui est probablement prévisible par quelqu'un d'autre si c'est mémorable de quelque manière que ce soit.

Ce principe sous-jacent de la cryptographie à clé asymétrique est indépendant de la blockchain. Toute blockchain utilisant des nombres aléatoires à sa base pour générer des paires de clés asymétriques peut utiliser les secrets de Shamir pour atténuer les risques et offrir une expérience meilleure et plus sûre à ses utilisateurs.

vczuIqcV9EX7MaX7fv5oBCMurEf2 6c493ufv

Dans cet exemple, nous utilisons le référentiel secrets.js de Grempe pour tester le mécanisme secret de Shamir. Les paires de clés peuvent aller de 128 à 4096 bits.

Génère un nombre aléatoire

const randomNumber = secrets.random(64);
Returns: 223744e2c3c5b9c0

Divisez le nombre aléatoire en X fragments: 7 avec un seuil de 4

const shardArray = secrets.share(randomNumber, 7, 4);
Returns:
( '801fb99c927eff4e03958103c8e2da9a84c',
'802d07658f70fbf675819dd7f7a56d64dbe',
'803a30f89313da55c760f2036c834466b69',
'804239436380b8f66326c3acaec9b44b865',
'805cf77af631025667e63fb147e7a1a1b2e',
'806c7b1ae94a21397db104e64ca1ae4e9f9',
'807a3b22f2e64574c8173558b8677467de9' )

Recréez le randomNumber à l'aide des fragments

const resurrect = 
secrets.combine(( 804239436380b8f66326c3acaec9b44b865',
'805cf77af631025667e63fb147e7a1a1b2e',
'806c7b1ae94a21397db104e64ca1ae4e9f9',
'807a3b22f2e64574c8173558b8677467de9' ));
Returns: 223744e2c3c5b9c0

Les multi-signatures sont natives de Bitcoin, Ethereum et de la plupart des blockchains publiques existantes. Les signatures multiples exigent que toutes les parties requises signent une transaction avant qu'une transaction ne soit approuvée.

Les blockchains nécessitent que les signatures soient prouvées en chaîne pour les mineurs du réseau. Cependant, les signatures multiples peuvent également être validées hors chaîne.

Les secrets de Shamir peuvent être implémentés au niveau du produit, découplés de la blockchain elle-même. Cela le rend nettement moins cher puisque la validation de l'autorisation de l'utilisateur se déroule à deux endroits – le gardien et les mineurs. Plus de signatures impliquent que la transaction a une plus grande taille.

Les mineurs sont incités à maximiser les frais, intégrant ainsi autant de transactions que possible dans un bloc. Étant donné que la taille des blocs est limitée dans le bitcoin, les mineurs optimiseraient probablement les transactions de plus petite taille avec des frais plus élevés.

Les secrets de Shamir peuvent être utilisés pour recréer des clés privées indépendantes qui peuvent ou non être des clés privées impliquées dans la signature d'une transaction à signatures multiples. Combinaison des secrets de Shamir, déterministe hiérarchique (HD)
les portefeuilles et la multi-signature créent une architecture hiérarchique où les organismes autonomes possèdent les autorisations et les délégations.

Étude de cas:

Un bel exemple de cette mise en œuvre se trouve dans le portefeuille de clés Casa. Ils implémentent des portefeuilles multi-signatures 2/3 et 3/5. Ceci est en coordination avec plusieurs portefeuilles matériels et Casa détient un jeu de clés en cas d'urgence.

Les gens peuvent stocker leurs clés à différents endroits pour minimiser les risques de vol et de perte. Casa est utilisée par de nombreuses personnes qui possèdent des bitcoins d'une valeur de plus de 100 000 USD ou plus.

Cela minimise considérablement le risque, car les personnes sont moins susceptibles d'être ciblées, contraintes ou hameçonnées. Pour débloquer les fonds, non seulement il faudrait attaquer tous les points, mais ils devraient également déverrouiller vos portefeuilles matériels qui peuvent être protégés par des épingles ou stockés en toute sécurité.

Scénario pré-cas:

Il faudrait utiliser un seul jeu de clés et le garder de leur vie. Si du tout ils utilisaient des signatures multiples, ils devraient compter sur quelqu'un d'autre pour agir avec intégrité, sinon ils ne pourraient pas dépenser leur propre crypto. Dans les cas extrêmes, ils peuvent même être victimes après avoir compté sur quelqu'un.

Scénario post-cas:

Désormais, les utilisateurs disposent de diverses options pour stocker chacune de leurs clés. Un modèle courant est celui au travail, un à la maison, un sur votre ordinateur portable, un sur votre mobile et un avec Casa.

Si quelqu'un devait vous cibler et vous attaquer, il lui faudrait au moins trois des cinq clés stockées séparément. Cela rendrait l'ensemble du processus difficile pour l'auteur. De plus, étant donné que les clés matérielles peuvent être chiffrées et configurées pour être effacées après un certain nombre de tentatives infructueuses, l'auteur est moins susceptible d'attaquer quelqu'un utilisant une autre infrastructure.

Dans le protocole de conception de sécurité du patrimoine de Casa, ils stockent un minimum de données sur le client et prennent en charge les adresses et les noms pseudo-anonymes, offrant à leurs clients un tout nouveau niveau de confidentialité qui ne peut être invoqué par les gouvernements et autres agences juridiques.

Le processus intuitif de Casa permet d’échanger facilement les clés si certaines sont perdues ou irrécupérables, ce qui réduit le nombre de vecteurs d’attaque.

Rédigé par:

Aly Madhavji 穆亚霖
Aly Madhavji 穆亚霖 est Managing Partner chez
Fonds des fondateurs de la blockchain qui investit et crée des startups de premier plan. Il est un commanditaire de Loyal VC. Aly consulte des organisations sur les technologies émergentes telles que l'INSEAD et l'ONU sur des solutions pour aider à réduire la pauvreté. Il est Senior Blockchain Fellow à l'INSEAD et a été reconnu comme leader mondial «Blockchain 100» par Lattice80.

Aly détient une maîtrise en affaires mondiales en tant que boursière Schwarzman de l'Université Tsinghua (清华大学), une maîtrise en administration des affaires de l'INSEAD (Singapour et France) et un baccalauréat en commerce avec distinction de l'Université de Toronto.

David Zhao
David Zhao est le co-fondateur et directeur technique de InnoDT qui offre des avantages commerciaux pour les hedge funds et des informations pour les institutions financières et les régulateurs avec sa plate-forme d'analyse avancée de la blockchain.

David a plus de 20 ans d'expérience dans le développement de logiciels et gère une équipe de développeurs pour créer des outils pour analyser les actifs cryptographiques, y compris leur mouvement, leur consolidation et leur clustering, entre autres.

Auparavant, David était un architecte principal pour Kantar où il dirigeait la stratégie globale de l'entreprise et la vision de l'innovation technique. Il était responsable de la maintenance de tous les aspects de l'infrastructure technologique du produit et de la gestion d'une équipe de développeurs seniors.

Mots clés

La bannière Noonification

Abonnez-vous pour obtenir votre tour d'horizon quotidien des meilleures histoires technologiques!





Traduction de l’article de Aly Madhavji 穆亚霖 : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top