Rejoignez-Nous sur

BIP 324: Un protocole de transport de message qui pourrait protéger les homologues Bitcoin

News

BIP 324: Un protocole de transport de message qui pourrait protéger les homologues Bitcoin

Plus de 10 ans d'expérience dans le monde du Bitcoin nous ont montré que les développeurs de Bitcoins avaient encore un long chemin à parcourir. Le BIP 324, créé en mars 2019, pourrait être la prochaine étape importante dans cette direction.

Le BIP a été rédigé par un développeur et co-fondateur de Bitcoin basé en Suisse. Shift Cryptosecurity Jonas Schnelli pour aider à répondre à une préoccupation perçue concernant les messages échangés entre pairs Bitcoin.

«Bitcoin: un système de paiement électronique entre homologues» est le titre du livre blanc sur le Bitcoin et, comme il le suggère, la couche P2P est un composant majeur du réseau Bitcoin, mais aussi celui qui présente des inefficacités importantes et des vecteurs d'attaque théoriques existants. . L'un des principaux domaines de recherche potentielle et de mise à niveau de Bitcoin se situe dans ce réseau P2P et certains des développements importants qui ont eu lieu récemment dans ce domaine ont suscité beaucoup d'attention, notamment des propositions telles que Pissenlit (BIP 156) et Erlay.

Alors, quelle est l'architecture du réseau P2P? Avant Bitcoin, l’application pour services de partage de fichiers était l’implémentation la plus réussie du réseau P2P: à l’origine, Napster (avec centralisation partielle par catalogue de serveurs centraux) et, plus tard, BitTorrent.

Dans la configuration idéale, les réseaux P2P ne doivent pas avoir de hiérarchie (tous les nœuds sont égaux) et les nœuds doivent partager la charge du réseau de manière uniforme. Cette couche de base d'un maillage de nœuds interconnectés est ce qui aide Bitcoin à résister à la censure. Comme avec les réseaux de torrent, les gouvernements ont pris des mesures pour les bloquer au niveau du moteur de recherche. On ne peut que bloquer les moteurs de recherche torrent, mais il est beaucoup plus difficile, voire impossible, de tuer le réseau de torrents P2P. La principale question à poser à ces réseaux est la suivante: dans quelle mesure est-il privé de les utiliser?

Problèmes avec la couche P2P de Bitcoin

L’un des problèmes de la mise en œuvre P2P actuelle de Bitcoin est l’absence de cryptage forcé sur la couche de transport de messages. Cela rend Bitcoin vulnérable aux attaques de type homme au milieu (MITM). Les attaques MITM sont effectuées en se connectant secrètement aux deux pairs et en relayant les communications entre eux, de sorte que les deux parties pensent qu'elles se parlent directement lorsque la communication est réellement contrôlée par l'attaquant. Il existe des attaques MITM «passives» et «actives», les attaquants MITM passifs observant uniquement l'état du réseau et les attaquants actifs manipulant son trafic.

Les messages envoyés entre les nœuds du protocole Bitcoin ne sont pas cryptés, ils sont simplement envoyés en texte brut, ce qui ouvre l'ensemble du protocole aux vecteurs d'attaque. Les fournisseurs de services Internet (FAI), les fournisseurs WiFi ou d'autres adversaires peuvent lancer une attaque MITM afin de lire toutes vos connexions entrantes et sortantes, sans avoir à vous connecter en tant qu'homologue. En théorie, cela pourrait être exploité pour intercepter ou même bloquer le relais de données spécifiques, telles que les transactions à destination et en provenance d'entités sanctionnées.

En raison de l’absence de cryptage des messages sur Bitcoin, les fournisseurs de services Internet d’un pays peuvent être en mesure de détecter un paquet de transactions bitcoin en tant que MITM, de voir les données brutes qu’ils contiennent, puis de les bloquer. Ils pourraient potentiellement attaquer les mineurs et retarder leur validation des blocs. Ou un programme de surveillance comme PRISME peut choisir d’observer passivement tout le trafic bitcoin lors d’une attaque MITM et, lorsqu’il trouve une transaction qu’il n’approuve pas, s’efforce de l’intercepter ou de le bloquer. Des attaques coordonnées sur le réseau P2P pourraient même segmenter le réseau Bitcoin au niveau du continent ou du pays, appelé "attaque par partitionnement".

Ce qui peut être le plus crucial pour la confidentialité de Bitcoin telle qu’elle est actuellement mise en œuvre: Même si une attaque MITM se produisait, les pairs affectés n’auraient aucun moyen de la confirmer.

Mais pourquoi ne pouvons-nous pas, en tant que communauté Bitcoin, être satisfaits d’utiliser des outils tels que VPN ou Tor obscurcir ou chiffrer le trafic? Tor étant un réseau crypté et acheminé par des oignons, il masque les extrémités des transactions. En théorie, il est donc impossible pour les FAI de suivre l'activité de cette façon. Cependant, l’utilisation de services P2P chiffrés par Tor présente des inconvénients, principalement en raison de recherches insuffisantes sur l’intégration de Tor sur des couches autres que HTTP (S), possibilité d'attaques théoriques et quelques problèmes de dépendance avec le logiciel Bitcoin Core qui peuvent introduire vecteurs d'attaque.

Une solution potentielle pour la couche P2P de Bitcoin

C’est pourquoi Schnelli a créé un ensemble de propositions d’amélioration du bitcoin (BIP) pour résoudre ce problème. BIP 151 couvre le cryptage du trafic entre les nœuds, tandis que BIP 150 décrit une authentification facultative pour le nœud et est basée sur la cryptographie à clé privée / publique à algorithme de signature numérique à courbe elliptique.
Pour un lecteur avide, une recommandation serait de commencer par ceci Article BIP 151 par Aaron van Wirdum, car ce BIP a été le premier à proposer une solution au manque de confidentialité sur la couche P2P. Depuis la publication de cette proposition, certaines parties ont commencé à implémenter la solution dans différentes implémentations de clients Bitcoin et Schnelli a décidé de s’en tenir à une nouvelle version mise à niveau. BIP, numéroté 324.

BIP 324 est conçu pour que les pairs de Bitcoin puissent dire s’ils sont victimes d’une attaque MITM. Bien que les mauvais acteurs puissent toujours se connecter au pair A et prétendre être le pair B et se connecter au pair B et prétendre être le pair A, les pairs réels A et B peuvent voir qu'ils ne possèdent pas les mêmes identifiants de session et qu'un attaquant du MITM intercepte leur communication. Bien que ces pairs veuillent probablement également utiliser des mécanismes d’authentification supplémentaires, cela n’entre pas dans le champ d’application du BIP 324.

«Avec le transport actuel de messages non chiffrés, le détournement de BGP, les attaques par délai de blocage et la falsification des messages sont peu coûteux et peuvent être exécutés à découvert (MITM indétectable)», Résumé BIP le met. «L'ajout d'un cryptage opportuniste présente un risque élevé d'être détecté par les attaquants. Les opérateurs homologues peuvent comparer les identifiants de session de chiffrement ou utiliser d'autres formes de schémas d'authentification pour identifier les attaques. ”

En fin de compte, un attaquant potentiel de MITM sera toujours en mesure de lire les données non chiffrées qui se trouvent sur la blockchain Bitcoin, car elles sont ouvertes et décentralisées. Donc, dans la pratique, cette solution serait probablement plus utile pour la protection contre des entités spécifiques qui ne sont pas des homologues, comme les FAI et les fournisseurs de WiFi ouvert, qui peuvent filtrer des transactions spécifiques et les intercepter ou les bloquer. Bien entendu, PRISM pourrait observer le trafic Bitcoin en devenant simplement un pair sur le réseau. Bien qu’il soit plus facile pour des attaquants potentiels d’écouter du trafic non chiffré: s’il est possible de surveiller les attaques MITM, ces observateurs passifs du blockchain devront soupeser les avantages de la surveillance des messages P2P avec les inconvénients de la capture.

Néanmoins, BIP 324 n’est en réalité qu’un élément fondamental du renforcement de la couche P2P de Bitcoin contre les attaques malveillantes de MITM. Déterminer si les attaques par MITM constituent une menace réelle pour Bitcoin peut s'avérer une étape critique dans les travaux de développement, ou non. Mais il est difficile de collecter ces données sans outils tels que ceux proposés par BIP 324.

BIP 324 se concentre sur la fourniture d'outils permettant d'atténuer les attaques MITM passives, tandis que la co-implémentation avec BIP 150 offre des outils potentiels pour les attaques actives MITM.

Poignée de main

La première action décrite dans le BIP 324 est une «poignée de main». Il s’agit d’établir des protocoles pour la communication ultérieure entre homologues de la couche P2P.

Cette poignée de main doit être lancée si aucun autre message n'a été envoyé entre deux parties comme moyen de commencer le contact en envoyant la clé publique (dérivée de la fonction cryptographique éphémère de la courbe elliptique secp256k1) à la contrepartie. Comme le nom de ce type de schéma de clé le suggère (éphémère), les clés doivent être effacées de la mémoire (RAM) après chaque poignée de main réussie. Ainsi, un attaquant ne pourrait pas intercepter ces clés ni décoder les transferts de messages historiques pour cette connexion spécifique.
Ce vecteur d’attaque nécessite l’accès à la mémoire de la victime. Ce problème est donc probablement négligeable dans le cadre du chiffrement et de l’authentification P2P.

Le secret partagé est essentiel pour établir une communication cryptée de bout en bout et ne peut être calculé que si un attaquant s'empare de la clé privée et de la clé publique de la contrepartie. Ce dernier est plutôt trivial pour un attaquant, mais de par sa conception, les clés privées ne doivent pas être transmises. Ce composant de l’équation ne serait donc pas accessible à un attaquant.

La dernière étape de la prise de contact consiste à dériver des clés de chiffrement symétriques – le secret réel utilisé pour chiffrer les messages – et à calculer l'ID de session.

Chiffrement

À partir de maintenant, les parties peuvent échanger des messages entre elles, sans craindre que leur contenu ne soit regardé par une tierce partie.

Alors, que se passe-t-il lorsque le message est crypté? Semblable à BIP 151, cette proposition extrait les meilleures parties des primitives cryptographiques ChaCha20 et Poly1305. Le chiffrement n’a pas que des résultats positifs. Habituellement, cela ralentit la communication en rendant les messages plus gros et plus lourds à calculer. Sans entrer dans trop de détails, une nouvelle structure de message proposée peut même rendre le message crypté plus petit et plus rapide à calculer, en raison du choix des bonnes primitives cryptographiques mentionnées ci-dessus. À des fins de comparaison, le client Bitcoin Core non chiffré utilise actuellement la somme de contrôle double du hachage SHA-256 (standard cryptographique) d’un message envoyé (tronqué sur 4 octets). Il s’agit toujours d’une relique de la mise en œuvre originale de Satoshi.

Cette proposition n’est qu’un des piliers de l’effort visant à rendre Bitcoin plus privé et fongible. Cela n’a aucun impact sur les règles de consensus Bitcoin, cela suppose même le comportement d’adhésion. Comme pour les mises à jour de Bitcoin Core, certains nœuds peuvent ne pas être en mesure de renvoyer la poignée de main. En bref, le BIP 324 est compatible avec les versions antérieures, ce qui peut avoir un impact négatif sur sa capacité réelle à atténuer les attaques MITM.

Après avoir implémenté cette proposition (avec BIP 150) dans Bitcoin Core, nous pouvions espérer moins d’attaques MITM, ou du moins disposer d’un outil permettant de comparer les identifiants de session et d’identifier les attaques. En outre, il convient de mentionner que, bien que cette proposition ne couvre pas les systèmes permettant d’éviter les attaques MITM lors de l’initialisation du chiffrement (appelée Trust On First Use), BIP 150 l’a dans son champ d’application.

L'auteur tient à remercier Schnelli pour ses commentaires utiles sur l'article et tient à remercier les sources suivantes:

. (tagsToTranslate) BIP 324 (t) Jonas Schnelli (t) satoshis la mise en oeuvre et le montage originaux (t) en ajoutant un cryptage opportuniste (t) basé en Suisse, le développeur bitcoin (t) tire parti de l’authentification supplémentaire (t) des primitives cryptographiques mentionnées (t) des primitives cryptographiques chacha20 ( t) services de partage de fichiers à l'origine (t) identifier l'attaque finalement (t) renforcer les bitcoins p2p



Traduction de l’article de Tony Sanak : 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