GithubHelp home page GithubHelp logo

Prevent tampering about scuttlebutt HOT 7 OPEN

dominictarr avatar dominictarr commented on June 28, 2024
Prevent tampering

from scuttlebutt.

Comments (7)

dominictarr avatar dominictarr commented on June 28, 2024 1

oops. I didn't realize that this issue is on scuttlebutt. I thought we where talking about https://github.com/dominictarr/secure-scuttlebutt.

You are correct, this is insecure. We did experiment with securing this https://github.com/dominictarr/scuttlebutt/blob/master/security.js

Ideas which where further developed in the new project, secure-scuttlebutt which IS secure, as I described.

from scuttlebutt.

dominictarr avatar dominictarr commented on June 28, 2024

@pocesar secure-scuttlebutt uses signatures and hashes.
If you know the hash of my public key, then you can verify the messages I post.
Messages are arranged to a chain like in bitcoin, but with signatures instead of proof of work.
(so we each get our own personal chain) the first message in the chain contains the public key,
and every message after that contains the hash of the previous message.

Since a mitm cannot interfere with a message, because the signature would be wrong, and could not leave out a message, because there would be a gap in the chain of messages. They cannot just give you a different chain, because you already know the hash the public key would have.
The worst they could do, is pretend they don't know about new messages from a feed, this would only delay the time until you are able to get them, since you might hear about those messages from other nodes instead.

from scuttlebutt.

pocesar avatar pocesar commented on June 28, 2024

@dominictarr I see, so it would be able to hold encrypted personal data without having to worry about it being tampered? (using secure-scuttlebut that is). And does it have a way to use "authority" nodes, that have more height than another, to ensure integrity? or it's not needed?

from scuttlebutt.

dominictarr avatar dominictarr commented on June 28, 2024

Basically, secure-scuttlebutt (data layer) and scuttlebot (networking layer) and phoenix (user interface layer) are built on some of the ideas in this repo, and most importantly, add a lot of security.

Even in the original experiments (see the ./security.js file) messages where signed, but a mitm could still drop messages, so you can't know whether you have the entire set... However, in the new projects, this is not possible.

from scuttlebutt.

pocesar avatar pocesar commented on June 28, 2024

@dominictarr so secure-scuttlebut is enough to keep personal data encrypted but replicated?

from scuttlebutt.

dominictarr avatar dominictarr commented on June 28, 2024

@pocesar no, there is no encryption, just signatures and hashes. It's focus is on replicating data securely, and then privacy may be implemented atop of that, by encrypting the messages that are securely replicated.

from scuttlebutt.

pocesar avatar pocesar commented on June 28, 2024

@dominictarr thanks for the info, this is a clever piece of software ;) I'll be using secure-scuttlebut on a sidechain open source module, that's why all the questions, because blockchains per se are very secure the way they are designed, and I wouldn't want to add a layer on top of it just to be the weak side

from scuttlebutt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.