Quelle est la sécurité de la messagerie pour les contrats intelligents?

Trevor Oakley

Quelle est la sécurité de la messagerie pour les contrats intelligents?


Si j’ai envoyé un message via http à un contrat intelligent, est-ce sécurisé? Si je ne peux pas utiliser TLS, quelqu’un pourrait-il écouter sur le port, puis intercepter le message, puis détourner le message vers une blockchain inconnue?

Andrey

Pouvez-vous donner le scénario exact où vous vous inquiétez de SSL? Qu’essayez-vous de faire?

Réponses


 Ismael

Toutes les données de la blockchain sont publiques et quiconque en a une copie peut lire les transactions envoyées à un contrat et faire tout ce qu’il veut faire avec.


Cela dépend où sont stockées vos clés:

  1. les clés sont stockées dans le côté client (c.-à-d. métamask, portefeuille matériel): les transactions sont signées et ne peuvent pas être modifiées sans altérer la signature.

  2. les clés sont stockées sur le serveur (c’est-à-dire à l’intérieur d’un client comme geth ou parité): vous devez sécuriser la communication entre votre interface utilisateur et le serveur, par exemple avec des certificats SSL ou un tunnel SSH.

Trevor Oakley

Oui, mais le problème pour moi était la messagerie HTTP entre le contrat et l’interface utilisateur; et si quelqu’un pouvait interférer avec ça.

Ismael

@TrevorOakley J’ai ajouté mis à jour ma réponse avec quelques notes à ce sujet lorsque vous devez sécuriser la communication.


 btc4cash

Ce que je ferais, c’est créer un dapp pour interagir avec le contrat, et mettre ce dapp sur un serveur sécurisé avec https ou un VPN. De cette façon, les données de dapp au contrat seraient en sécurité. Mais je suppose que si entre vous dans le dapp est compromis (disons avec un malware ou un enregistreur de frappe) alors il ne le sera pas

Trevor Oakley

Cela semble que nous n’utilisons plus de blockchains mais un serveur sécurisé et une application normale. Si nous avons besoin d’un seul serveur à utiliser, nous avons les mêmes problèmes avec un service serveur centralisé.

btc4cash

Si vous vous connectez avec la méthode X directement à la blockchain, vous aurez toujours ce problème.

btc4cash

Ma façon sécurise la demande de dapp à la blockchain mais pas de l’utilisateur au dapp. Utiliser comme un métamask ou myetherwallet sur un appareil compromis serait en tout cas mauvais.


 Andrey

Vous devez soit trouver un nœud qui accepte SSL, soit exécuter un nœud local et configurer ngnix avec SSL, comme décrit ici:

Comment SSL Ethereum Geth Node?

Trevor Oakley

Et si quelqu’un utilise simplement un autre nœud? Pouvons-nous vraiment exiger d’un utilisateur qu’il utilise un seul nœud? Je pensais que ce n’était pas possible car tous les nœuds exécuteraient le contrat en même temps.

Andrey

Ok, alors comment cela fonctionne: lorsque vous soumettez une transaction à ethereum, elle va à un nœud et s’y exécute, et de là, elle va à un tas d’autres nœuds et s’y exécute pour s’assurer que le résultat est le même. Vous pouvez contrôler la connexion entre votre application et la première note (si vous hébergez ce nœud) mais vous ne pouvez pas contrôler la communication entre les nœuds (et vous n’en avez pas besoin). Si vous ne pouvez pas forcer votre application à se connecter à votre propre nœud où vous pouvez configurer un proxy inverse avec SSL, alors elle se connecte à des nœuds réguliers via son protocole rcp qui ne prend pas en charge SSL.

Trevor Oakley

C’est intéressant de se connecter à un seul nœud uniquement.

 

#de, #la, #pour, contrats, est, intelligents, Les, messagerie, quelle, sécurité?

 

yahoo

Laisser un commentaire

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