Pourquoi blockchain security est-elle essentielle et comment est-elle mise en œuvre ?

Ce tutoriel traite des bases de la sécurité blockchain. Il explique également comment fonctionnent le chiffrement, les signatures numériques, le hachage, les clés privées et publiques pour protéger les données :

Dans le précédent tutoriel Blockchain ETF de la série de tutoriels Blockchain , nous avons appris le fonctionnement de Blockchain ETF avec leur comparaison avec d’autres ressources.

La sécurité des données est essentielle aux blockchains et à leur fonctionnement.Par exemple, la sécurité de premier ordre empêche la duplication ou la destruction de ressources numériques telles que les crypto-monnaies sur une blockchain.

Plusieurs méthodes garantissent une sécurité maximale des données et des informations au sein de la blockchain, y compris des techniques de cryptage avancées et des modèles mathématiques de comportement et de prise de décision.

Dans ce tutoriel sur la sécurité blockchain, nous allons apprendre les concepts de base de la sécurité au sein d’une blockchain pour comprendre ce qui rend la blockchain et les bases du chiffrement sécurisées.Nous verrons également comment la décentralisation, le consensus et la cryptoéconomie garantissent la sécurité des blockchains.

Nous examinerons également quelques conseils sur la façon de rendre la blockchain plus sûre, les bases de la sécurité quantique et le concept de blockchain résistante aux quants.

Ce que vous apprendrez:

  • Pourquoi la sécurité de la blockchain est-elle primordiale ?
  • Facteurs contribuant à la sécurité de la blockchain
    • #1) Consensus et immuabilité
    • #2) Le chiffrement et son rôle dans la sécurité des blockchains
      • Algorithmes cryptographiques
    • #3) Comment fonctionnent les clés privées et publiques pour protéger les données?
    • #4) Création de signatures numériques
    • #5) Comment le hachage aide-t-il à protéger les données dans la blockchain ?
    • #6) Crypto-économie et sécurité blockchain
    • 7) Ordinateurs quantiques et blockchain résistants aux quantités
  • Conclusion
    • Lecture recommandée

Pourquoi la sécurité de la Blockchain est-elle primordiale ?

Nous essayons de comprendre l’importance de la sécurité pour les blockchains et nous voyons les zones qui doivent être protégées.

  • Prenons l’exemple des crypto-monnaies, si la blockchain n’est pas sécurisée, les crypto-monnaies peuvent être copiées, détruites ou volées.Il en va de même pour tous les messages ainsi cryptés.
  • De plus, les informations ainsi protégées ne resteraient plus privées ou confidentielles.Cela signifierait plus d’insécurité, de vol et de détournement, par exemple lorsque l’on connaît les propriétaires d’énormes quantités de crypto-monnaies.
  • Les contrats intelligents sans confiance seraient difficiles à réaliser sans la garantie que l’accord écrit ne sera pas modifié.

Facteurs contribuant à la sécurité de la Blockchain

#1) Consensus et immuabilité

le consensus et l’immuabilité contribuent à la sécurité de la blockchain

Le consensus et l’immuabilité contribuent à la sécurité de la blockchain de la manière suivante:

  • Le consensus , étant donné que les nœuds du réseau blockchain peuvent convenir de l’état du réseau, garantit le respect des règles de protection du réseau.
  • L’algorithme de consentement définit ces règles et comment elles doivent être suivies par toute personne partageant le réseau.Un aspect important du consensus est le codage de ces règles pour s’assurer que les utilisateurs adhèrent aux règles sans avoir à se faire confiance.
  • L’immuabilité , d’autre part, est la capacité des données transactionnelles sur une blockchain à ne pas être modifiés ou supprimés.Il s’agissait d’une fonctionnalité technologique de la blockchain.La connexion des blocs dans une blockchain garantit que ces modifications sont transmises à chaque nœud et opérateur de nœud grâce au code de l’algorithme de consentement.Les opérateurs du nœud peuvent refuser ou accepter technologiquement ces modifications.
  • Si les modifications sont rejetées, le bloc modifié est passé comme orphelin ou libéré de la chaîne principale la plus longue.La personne qui extrait le bloc ne reçoit même pas la récompense.

Par conséquent, le consensus protège ainsi la blockchain car il permet aux vérificateurs et aux nœuds d’être en désaccord avec les changements inacceptables, même s’ils s’entendent sur ceux qui sont acceptables pour assurer la continuité de la chaîne.L’immuabilité garantit la traçabilité de toutes les données et informations protégées sur une blockchain, ce qui signifie que tout type de changement serait remarqué.

#2) Le chiffrement et son rôle dans la sécurité des blockchains

Le chiffrement est le principal système de sécurité de la blockchain.Il permet le stockage et l’échange de données dans un format caché à des tiers et seule la personne qui a la permission technologique pour démêler le sens du message peut recevoir et décoder le message qui lui a été envoyé.

L’algorithme de hachage convertit les données facilement lisibles en données qui ne peuvent être comprises sans décryptage : Le chiffrement et son rôle dans la sécurité des blockchains Le chiffrement fonctionne par hachage et utilise les méthodes de sécurité des paires de clés publiques et privées.

Le chiffrement à clé publique asymétrique et symétrique est le principal moyen de protéger les données dans une blockchain.Dans le chiffrement à clé symétrique, une clé est utilisée pour chiffrer et déchiffrer les données et les informations.DES et AES sont des exemples de chiffrement à clé publique symétrique.

Ceux-ci sont utilisés dans les méthodes de cryptage du courrier électronique et d’Internet telles que TLS et SSL, bien qu’ils utilisent parfois une combinaison de chiffrement à clé symétrique et asymétrique.

(i) Les blockchains utilisent le chiffrement à clé publique asymétrique , qui est plus sécurisé et utilise plusieurs clés privées et publiques pour chiffrer et déchiffrer les données et les informations.Les clés publiques sont accessibles au public, par exemple via des certificats numériques.L’expéditeur d’informations ou de crypto-monnaies ou autre utilisera la clé publique du destinataire pour chiffrer les données.Le destinataire aura la clé pour démêler les données en les déchiffrant avec la clé privée liée à la clé publique.

(ii) Bien entendu, un tiers ne peut pas accéder au message car il est envoyé dans un format crypté ou illisible.

(iii) Le titulaire de la clé privée est la personne ayant l’autorité et le droit de déchiffrer les informations qu’elle contient, comme preuve de la propriété.

(iv) Un générateur de clés est un programme informatique utilisé pour générer des clés publiques et privées en cryptage.Ces générateurs de nombres aléatoires (RNG) ou générateurs de nombres pseudo-aléatoires (PRNG) utilisent un degré de hasard pour protéger les données.

(v) Les clés protègent les données en étant plus difficiles à découvrir.Considérons la force brute, qui est l’un des moyens d’essayer de déchiffrer les données cryptées sans avoir les clés privées associées.La force brute fonctionne par tâtons et erreurs où le logiciel devine plusieurs combinaisons de caractères probables en faisant les clés qui commencent par le nombre minimum.

Ce logiciel est assez rapide et est utilisé pour pénétrer avec succès certaines techniques de cryptage et de pirater les systèmes en devinant les mots de passe et les clés, etc. La force brute est incapable de violer le chiffrement à clé publique asymétrique, principalement parce que la composition et la longueur de la clé le rendent difficile à deviner.

Non seulement il faudrait une éternité pour bien faire les choses, mais les ressources nécessaires seraient également insoutenables.Ainsi, alors que les systèmes de cryptage 128 bits qui produisent des clés longues 128 bits sont utilisés dans des algorithmes à clé symétrique difficiles à déchiffrer, 2048 bits.

(vi) Vous pouvez tester des générateurs de clés publiques et privées aléatoires sur bitcoinaddress.org en générant manuellement une adresse de portefeuille Bitcoin et sa clé privée.Les deux clés sont générées hors ligne, ce qui réduit le risque de compromis.

Cette méthode utilise des mouvements sporadiques de la souris de l’utilisateur pour générer des graines uniques et augmenter le degré de hasard qui rend plus difficile, voire impossible, de deviner les clés générées.Ce type de PRNG utilise l’entropie du système pour semer des données dans le processus aléatoire pour rendre les résultats difficiles à deviner en rendant difficile de deviner les conditions initiales du PRNG.

D’autres systèmes dérivent les clés privées de manière déterministe à l’aide d’une phrase de passe et d’une fonction de dérivation de clé.Ces méthodes sont utilisées dans les portefeuilles HD modernes qui simplifient la génération et la gestion des adresses des portefeuilles.Toutes les clés privées pour toutes les adresses du portefeuille dans le portefeuille HD sont générées en utilisant la même fonction de dérivation de clé et peuvent être récupérées avec une seule phrase de passe.

Algorithmes cryptographiques

Le chiffrement peut être fort ou faible, mesuré par le temps et la quantité de ressources nécessaires pour récupérer le texte en clair de son texte chiffré.

1) Le chiffrement conventionnel fait un bon travail de protection des données stockées, mais il peut être très coûteux lors de la protection des données en transit.

#2) Le chiffrement moderne à clé publique et privée asymétrique résout le problème de la distribution des clés.Des méthodes telles que OpenPGP utilisent un hybride de chiffrement à clé publique (cryptage asymétrique) et de chiffrement conventionnel.

Les cyphers sont des fonctions mathématiques qui permettent le chiffrement et le décryptage des informations. Utilisez une clé, qui est un mot, un nombre ou une phrase, pour chiffrer un texte en clair.Différentes clés apparaîtront dans différents textes chiffrés ou hachés.

#3) Un algorithme cryptographique recueille des données aléatoires à injecter dans sa fonction mathématique et les entrées de message simple pour produire un texte crypté.

L’image suivante explique le fonctionnement de l’algorithme de chiffrement : Algorithms cryptographiques 4) Les chiffrements fonctionnent en utilisant différentes stratégies pour masquer les messages.

Ils peuvent le combiner avec des données supplémentaires, l’inverser ou le transposer, ce ne sont là que quelques exemples.

#5) Par exemple, dans le chiffrement à clé symétrique, l’algorithme peut utiliser des chiffrements de transposition où l’ordre des unités dans un texte simple est réorganisé régulièrement pour masquer le message.La fonction ou le chiffre utilisé est appelé fonction biunivoce.Le texte chiffré constitue une permutation du texte en clair.Dans ce cas, pour déchiffrer le message, une fonction inverse est appliquée au texte chiffré pour rétablir l’ordre d’origine du texte et revenir au texte en clair.

#3) Comment fonctionnent les clés privées et publiques pour protéger les données?

Comment les clés privées et publiques travaillent à sécuriser les données

(i) Le chiffrement par paires de clés publiques et privées est un processus mathématique.Une fois que la clé privée a été utilisée pour créer une signature numérique, la transaction est unique à toute autre et ne peut être copiée par personne à l’extérieur ou à l’intérieur de la blockchain.

(ii) Une signature pour une transaction donnée ne peut pas ressembler à une signature pour une transaction différente même lorsque la même clé privée est utilisée pour générer les deux signatures.

(iii) En outre, outre le fait que les clés sont mathématiquement cachées par hachage, la relation entre elles est difficile à démêler.Il est donc difficile de trouver le message original si protégé.

(iv) La protection des données, des informations et des transactions à clé privée et publique repose sur l’idée que, s’il est facile de trouver le produit de deux grands nombres premiers, il est de plus en plus difficile et impossible de trouver des facteurs d’un nombre élevé si l’on n’a que de très grands facteurs premiers.

(v) C’est parce qu’il faudrait plusieurs milliers d’années pour calculer, avec n’importe quelle méthode possible actuellement inclus l’ordinateur le plus rapide, les facteurs du nombre.

Deux nombres sont dits congruents dans le formulaire si leur différence est divisible par le module.Le numéro 30 est conforme à 9 module 7 car la différence entre 30 et 7 est divisible par 7.

En d’autres termes, il est exprimé comme; >> à modulus b (mod l) si et seulement si a = kl + b où k est un entier, aeb sont conformes et module entre eux.

Si Tom veut recevoir un message de Harry, il est le seul à pouvoir décoder le message, même si tout le monde est capable d’écrire le message en code.Tom choisira deux nombres premiers très grands aeb, puis écrira k = ab et codera le message en utilisant k mais aeb sont nécessaires pour décoder le message.

Tom choisit deux nombres aeb où k = ab tandis que l = minimum commun multiple {a-1, b-1}
Tom, qui veut recevoir un message privé et sûr de Harry choisit d où c>1 et c est co- premier avec l ce qui signifie c, je n’ai pas de facteurs communs.
Tom trouvera également t unique inférieur à l, où ct = 1 (mod l).
Tom montre publiquement l’identité de c et k en gardant a, b, t privé.

Harry envoie alors le numéro unique comme message à Tom; L et k sont couverts et maintiennent la condition 0<L<k.
Harry trouve L d où L d = L c (mod k) et envoie le message L d à Tom.
Après avoir reçu le message L d de Harry, Tom le décode en utilisant a, b, c, t, l, k pour trouver L d .

Pour décoder, Tom utilisera le théoreme qui; (L d t modulus L (mod k). 

Exemple;

  • Harry envoie le message L à Tom; Tom choisit a = 17, b = 23; ce qui signifie k = 39, l = 176, c = 3 et t = 59
  • Tom dit à Harry k = 391 et c = 3 (personne ne peut trouver t même s’il a k et c).
  • Harry calcule L d = 180 en utilisant L d = L c (mod k) avec la connaissance de c et k.
  • Tom reçoit le message en code 180.
  • Tom calcule L d ) tL modulus (mod k). lmodulus180 59 (mod 391) et décode le message secret de Harry.
  • L’ordinateur utilise le modulemodulusus calcul pour déterminer les résultats de la fonction ci-dessus.

Idéalement,

  • Si unmodulusb (mod n), n divise ab et si n divise a –b alors n divise (ab)c = ac-bc signifiant acmodulusbc(mod n); et
  • comme un k modulus b k (mod n)
  • La solution suit cet exemple; Pour trouver x dans l’équation 0modulusXmodulus100; et 17 3modulusx(mod 101);
  • Puisque 17 3 est trop grand pour la plupart des ordinateurs, nous commençons par 17 6 = 24137569 et premier dividende par 101, nous trouvons que 17 6 = (238985) (101) + 84 donc nous savons 17 6modulus84 (mod 101), utilisable pour faire face utilisé

17 13 , qui est = (17 6 ) 2 x 17 qui estmodulus84 2 x 17modulus 119952 (mod.10)modulus65 (mod.101).

Donc x = 65.

#4) Création de signatures numériques

Nous essayons maintenant de comprendre comment les signatures numériques sont créées dans la blockchain et leur rôle dans la confidentialité.

Les clés publiques sont utilisées publiquement, mais de manière sûre, puis par le biais de certificats numériques, par exemple dans le jargon du chiffrement des sites Web et du courrier électronique.Les certificats sont délivrés par les autorités de certification ou les autorités de certification. Le certificat numérique contient des informations personnelles de la même manière que la clé publique.

L’authenticité d’une signature numérique, elle-même signée, est prouvée par la vérification de sa signature.Dans le chiffrement du courrier électronique et du Web, les clés publiques des ca sont utilisées pour vérifier les signatures des certificats numériques émis avant de vérifier l’authenticité des informations et du message.

Dans les blockchains, la clé privée est utilisée pour signer numériquement une transaction.La clé publique correspondante est ensuite utilisée pour vérifier que les messages ainsi créés avec les clés privées correspondantes sont authentiques en vérifiant l’authenticité des signatures numériques sur ces messages.C’est ce qui arrive lorsque vous envoyez une transaction de votre portefeuille privé au système blockchain.

Les clés privées garantissent ainsi la confidentialité des données envoyées.

La création de signatures numériques est un processus informatique mathématique et suit les processus suivants: Comment les signatures numériques sont créées dans la blockchain et leur rôle dans la confidentialité Dans la dernière étape, les deux hachages sont identiques lorsque le message ou la transaction n’est pas altéré ou modifié.

Le message est vérifié comme authentique; dans le cas contraire, elle est rejetée comme altérée ou non authentique.

Ainsi, si une transaction dans une blockchain est modifiée, elle aboutit à un hachage différent de celui formé par l’expéditeur ou sa machine lors de l’envoi, où la transaction originale est d’abord déchiffrée avec la clé privée du destinataire.

Cette idée est utilisée dans le trading de crypto-monnaies d’avant en arrière et pour effectuer des paiements en crypto-monnaie.

D’autres stratégies de sécurité liées aux clés dans les blockchains sont les suivantes:

  • Le protocole d’adresse de portefeuille multi-signature au sein de la blockchain permet la production de copies des clés pour chaque propriétaire de portefeuille.Par exemple, elle s’applique lorsqu’un portefeuille appartient à une famille ou à une entreprise et que trois parties ou plus doivent signer une transaction pour être autorisée.
  • Avec un portefeuille multi-signatures, une partie ne peut pas dépenser des crypto-monnaies sans que d’autres en soient témoins.La transaction doit être signée par plus d’une partie détenant la clé, pour dépenser les fonds.
  • Certains portefeuilles en ligne et systèmes blockchain utilisent un protocole multi-signatures dans lequel une clé privée est stockée sur l’appareil d’un utilisateur, l’autre enregistrée par l’utilisateur hors ligne ou dans un endroit distinct et l’autre laissée au fournisseur de services.Chacun peut déverrouiller son portefeuille ou son service si l’un d’eux est perdu ou perdu.

En passant à la sécurité en ligne, certains systèmes permettent de générer des clés privées en tant que liens ponctuels pour chaque session; connu sous le nom de secret avancé.

#5) Comment le hachage aide-t-il à protéger les données dans la blockchain ?

En hachage, les données d’entrée passent par une fonction mathématique ou une formule appelée fonction de hachage.La fonction convertit l’entrée en une sortie qui n’a aucun sens à moins qu’elle ne soit retournée au message d’origine.

  • La sortie doit être de la même longueur quelle que soit la longueur de l’entrée.Par exemple, dans une blockchain Bitcoin, qui utilise l’algorithme Proof of Work, SHA-256 est l’algorithme utilisé et produit un hachage de 256 bits ou 64 caractères de long.
  • Deux entrées différentes, même légèrement différentes, par exemple pour les lettres majuscules et minuscules, ne peuvent pas avoir une sortie similaire.
  • La même entrée rend la même sortie toujours sans aucune variation pour assurer la cohérence, quel que soit le nombre de fois où le hachage est effectué via la fonction.
  • Le processus est irréversible.Cela signifie commencer par la sortie et le hachage ne produit pas l’entrée qui la produit.

Pour en revenir à la blockchain, qui est une chaîne de blocs contenant chacun un ensemble de données, le bloc a un hachage ou une sortie générée liée aux données dans la blockchain.Toute modification des données signifierait l’obligation de modifier le hachage.En outre, comme chaque hachage de bloc est également généré par rapport au hachage du bloc précédent, tous les blocs sont interconnectés.

Par conséquent, une modification des données dans un bloc signifierait la modification de tous les hachages du bloc.Il s’agit d’un aspect important de la protection des données dans une blockchain car les données sont interconnectées en toute sécurité dans une blockchain est immuable.

Connexion de données de blocage, d’identifiants de bloc/hachage et de blocs dans une blockchain : Comment hacher aide à sécuriser les données dans une blockchain Les identificateurs de hachage sont donc interconnectés et garantissent la sécurité et l’immuabilité des données dans une blockchain.

Le processus de vérification des transactions utilise ce mécanisme de hachage.En cela, la personne qui a réussi à hachage un bloc, l’extrait et reçoit la récompense.Le mineur tente à plusieurs reprises de trouver la valeur de hachage qui produit le hachage de sortie souhaité requis pour extraire un bloc valide dans la chaîne.

#6) Crypto-économie et sécurité blockchain

La cryptoéconomie utilise les mêmes idéologies que la théorie des jeux où les règles et les récompenses prédéfinies déterminent mathématiquement les décisions à prendre dans différentes situations.En cryptoéconomie, le comportement des nœuds sur la blockchain est façonné par la cryptoéconomie.

  • Les idéologies économiques sont codées sur les protocoles blockchain, y compris le comportement des participants et les résultats possibles des comportements.
  • La cryptoéconomie encourage un comportement positif et honnête et récompense les participants qui se livrent à un tel comportement tout en décourageant les comportements nocifs ou défectueux.

Un exemple est de récompenser ceux qui soutiennent le réseau en engageant leur propre puissance de traitement informatique grâce à des prix miniers sur Bitcoin.Dans le même temps, les nœuds malhonnêtes ou inefficaces sont punis par l’expulsion du filet.

  • L’équilibre des primes par le biais d’algorithmes de consensus et de crypto-économie assure une sécurité accrue du réseau, car de nombreuses personnes sont motivées à soutenir et à participer positivement au réseau.Cela évite la possibilité que davantage d’autres commettent des taux de hachage dans des activités malveillantes envers un seul groupe ou entité qui pourrait conduire à des attaques de 51 %. Par exemple, la compétitivité du réseau Bitcoin réduit au minimum la probabilité d’attaques malveillantes.
  • La crypto-économie, en veillant à ce qu’une grande quantité de taux de hachage est engagé dans le réseau par tant de gens et assure que les insécurités telles que l’attaque de 51% sont difficiles et coûteuses, voire impossibles à exécuter. Par exemple, en Bitcoin, il serait très punitif en termes de coûts de mener une telle attaque pour une très petite récompense potentielle.

Par conséquent, les blockchains ont la caractéristique connue sous le nom de tolérance aux pannes byzantines (BFT).Cela définit la capacité du réseau à continuer à fonctionner normalement même lorsque certains nœuds sont compromis ou agissent de manière malveillante.C’est le cas tant que l’incitation à un comportement honnête demeure supérieure à celle des activités malveillantes qui seraient définies comme prohibitives.

Les petits réseaux blockchain avec des taux de hachage réduits peuvent, cependant, subir des attaques de 51% parce que les taux totaux de hachage sont très faibles et il est rentable d’engager une énorme quantité de taux de hachage pour attaquer 51% des nœuds et contrôler le réseau.

7) Ordinateurs quantiques et blockchain résistants aux quantités

En utilisant des algorithmes informatiques ultrarapides, il pourrait être plus simple et plus rapide de calculer, en quelques secondes, les facteurs d’un nombre élevé, même s’il a de très grands facteurs premiers.Cela signifie qu’il serait possible de violer les blockchains protégées avec les algorithmes de cryptage actuels.C’est parce qu’il serait possible de découvrir les clés cryptographiques en quelques secondes.

  • Pour répondre à cela, des débats et des travaux sur la blockchain ont commencé à émerger qui peuvent le contrer.Une blockchain aussi résistante aux nombreux rendrait encore plus difficile pour les ordinateurs quantiques de briser les chaînes.
  • Au lieu d’utiliser les algorithmes cryptographiques actuels qui ne peuvent résister aux ordinateurs quantiques, ces blockchains utiliseraient des algorithmes capables de générer des clés plus puissantes qui résistent au défi des ordinateurs quantiques.

Conclusion

Ce tutoriel a pris en compte les bases et le fonctionnement du chiffrement, du hachage, des signatures numériques, ainsi que du consentement et de la cryptoéconomie dans la protection des blockchains.Nous avons vu que si le chiffrement est la méthode centrale de protection des blockchains, d’autres techniques jouent également un rôle important dans la sécurisation des blockchains.

Nous avons vu que les signatures numériques aident à maintenir l’authenticité et la confidentialité des transactions, bien que le chiffrement par hachage et cryptage des clés garantisse que le secret joue un rôle important dans la sécurité de la blockchain.

Lecture recommandée =>> Meilleur logiciel DNS BlockchainNous avons vu que lacryptoéconomie et la décentralisation encouragent le plus grand nombre d’utilisateurs à consacrer leurs ressources à la promotion et au maintien et à la continuité du réseau plutôt que de s’efforcer davantage de le détruire.