Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Streaming file encryption #15

Open
feross opened this issue Dec 31, 2014 · 7 comments
Open

Streaming file encryption #15

feross opened this issue Dec 31, 2014 · 7 comments

Comments

@feross
Copy link
Member

feross commented Dec 31, 2014

No description provided.

@feross
Copy link
Member Author

feross commented Jul 3, 2015

Going to punt on this feature for now. I want to get the basics of webtorrent/instant.io as quickly as possible and this feature is a distraction.

The WebRTC transport is already encrypted, and if users really want they can encrypt their files before sending them with instant.io.

@feross feross closed this as completed Jul 3, 2015
@feross
Copy link
Member Author

feross commented Dec 17, 2015

Re-opening, since this feature is a requirement for #18.

@feross feross reopened this Dec 17, 2015
@rugk
Copy link

rugk commented Aug 27, 2016

FYI there is a lib developed, which uses NaCl encryption on top of WebRTC (which is already quite secure) to encrypt files end-to-end in a secure way (so the signalling servers cannot do MITM attacks): https://github.com/saltyrtc

@dominictarr
Copy link

hey, just saw this - I have a module that would be suitable,
https://github.com/dominictarr/pull-box-stream

but ideally, we might want to modify that a little bit, so that encrypted blocks are a) aligned to bit torrent blocks, and seekable. currently pull-box-stream can just encrypts streaming blocks, but makes them whatever length the source provides the buffers as. That means you could still seek from the beginning, but it would be much more neat to be able to seek from any point.

what we'd have is some size block that was nice for eg video, so that you can start streaming, that aligned with the bit torrent block size, because you need to jump to the encrypted blocks to decrypt them.

Hmm, actually, since fixed sized blocks work best with bit torrent, you can have something simpler than box-stream. Anyway, happy to help with this if you decide it's time.

@feross
Copy link
Member Author

feross commented Mar 23, 2017

@dominictarr I don't have time at the moment for this, but thanks for sharing the link to pull-box-stream. I didn't know that there was a way to run libsodium in the browser via chloride, so that's good to know!

@dominictarr
Copy link

cool, I think the question is just: is there a way to predict the blocks that will be requested? if yes, then this is easy.

@dominictarr
Copy link

the block boundries, i mean

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants