Live data from Hacker News

Build your own private, encrypted, open-source Dropbox clone

gist.github.com

41–50 of 64 posts

Re: Build your own private, encrypted, open-source Dropbox clone

#41

> $ cat ~/.ssh/id_rsa.pub | ssh encbox@your.vps.com "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys" $ ssh-copy-id encbox@your.vps.com Much easier, IMO.

Doesn't exist on all machines which would be capable of using this - namely OSX

Re: Build your own private, encrypted, open-source Dropbox clone

#42

> $ cat ~/.ssh/id_rsa.pub | ssh encbox@your.vps.com "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys" $ ssh-copy-id encbox@your.vps.com Much easier, IMO.

Doesn't exist on all machines which would be capable of using this - namely OSX

Good point. It is installed on my MBP but it looks like I installed it via brew.

Re: Build your own private, encrypted, open-source Dropbox clone

#44
post #43

Or, you know, just use Dropbox. And add encryption on top with these two commands: mkdir ~/Dropbox/_ ~/Dropsafe encfs ~/Dropbox/_ ~/Dropsafe Yes, it's as easy as that. On OSX you'll have to 'brew install encfs' first.

Interesting, does this allow for incremental updates while encrypted?

Re: Build your own private, encrypted, open-source Dropbox clone

#45
post #43

Or, you know, just use Dropbox. And add encryption on top with these two commands: mkdir ~/Dropbox/_ ~/Dropsafe encfs ~/Dropbox/_ ~/Dropsafe Yes, it's as easy as that. On OSX you'll have to 'brew install encfs' first.

Interesting, does this allow for incremental updates while encrypted?

Encfs is pretty opaque -- afaik modifying a file will at least change an entire block, possibly the entire file. Two identical files will look completely different (per file IVs) -- so no deduplicaton is possible.

But adding and removing files works as expected, so adding a few files to the encfs system, should translate to the same number of files added to the underlying folder.

Re: Build your own private, encrypted, open-source Dropbox clone

#46
post #35

Earlier quoted context omitted.

There is nothing particularly special about Backupsy as far as I can see. Just cheap simple servers with a bunch of disks in them. This type of hardware is very cheap. The software layer is equally simple - seems like just KVM and a dashboard, nothing fancy. So then low cost, low price right. Good combo. However as you can see from the SLA (99.9%), you do have to pay something in the form of reduced redundancy and av…

DigitalOcean is not really comparable, they only give you 20 GB of disk. I can't use the 250 GB Backupsy gives you, but 100 GB for $5 or 50 for $3, I would sign up yesterday.

If you're fine with OpenVZ and being in the USA, RamNode (http://www.ramnode.com/index.php) offer 50gb for 2$/month and 120gb for 7.50$/month (And it's ssd-cached space). You can even use a coupon like "leb35' to get 35% discount forever.

Note: Not affiliate in any way with RamNode, just an happy client.

Re: Build your own private, encrypted, open-source Dropbox clone

#47
post #38

Earlier quoted context omitted.

Err I don't think this would stop me. But let me preface this by saying I learn something new about security quite frequently, so if there's a major premise I'm missing, I am both interested in learning about it and not completely surprised. The main issue here is that your Javascript can potentially be owned by XSS or other approaches. If you own the javascript, you can send plaintext passwords or keys (which should…

> Err I don't think this would stop me. On the contrary go right ahead. Learning through doing is the way to go. I'm just saying there's a big difference between testing/learning/prototyping and releasing something that is claimed to be secure. Otherwise you end up with Cryptocat[1]. > Even with that possibility though, I still think using browser-based crypto creates a more secure environment than the server storing…

Additionally, it is almost impossible to verify the security of a system that uses encryption via javascript in the browser. The algorithms aren't that hard to verify, but making sure that keys are handled securely, and that you don't open yourself to timing and side channel attacks is really hard with such a big stack of things competing for scheduling, managing memory etc.

So there are two problems:

1) You get code from the server and execute it -- it might not be the code you think it -- it might not be the code you got yesterday (and there might be third party code injected, if there is an XSS vector -- or you know, your browser doesn't check to see if the servers ssl certificate has been revoked...).

2) Even if you run the code locally (say distribute it as html+js+css "app" in a zip file signed with gpg) -- it is still running on top of a pretty rickity rack of technologies, your javascript vm, the browser dom, a mess of ui toolkits and c/c++ routines that manage memory -- and has been seen again, and again -- it is really hard to actually implement crypto in such a way that there are no side channel attacks, no timing attacks and no information leaks.

Essentially 1) running random code isn't secure, and 2) implementing good crypto is hard. Really hard.

The only real solution is to get a good crypto-api into html5/browsers, but even then things aren't "safe". Say you could:

    plaintext = api.crypto.decrypt(AES-256-CBC, \
                  ciphertext, key)
Now, what happens with plaintext? Is it written to swap? Cahces? If you use that to show an image in the browser, is the image cached along with other files?

Re: Build your own private, encrypted, open-source Dropbox clone

#49
post #46

Earlier quoted context omitted.

DigitalOcean is not really comparable, they only give you 20 GB of disk. I can't use the 250 GB Backupsy gives you, but 100 GB for $5 or 50 for $3, I would sign up yesterday.

If you're fine with OpenVZ and being in the USA, RamNode ( http://www.ramnode.com/index.php ) offer 50gb for 2$/month and 120gb for 7.50$/month (And it's ssd-cached space). You can even use a coupon like "leb35' to get 35% discount forever. Note: Not affiliate in any way with RamNode, just an happy client.

Wow, $30 a year for 90 GB, that's amazing, thank you. You've been using them and you're satisfied? Basically, all I care about at the moment is that they don't silently corrupt my data, as it's backups.

Re: Build your own private, encrypted, open-source Dropbox clone

#50
After finding Backupsy (and RamNode, which a commenter suggested), I've found the holy grail of backup solutions. I will write a simple backup script that mounts a remote directory (through SSH or whatever), mounts an EncFS directory on that and rdiff-backups files onto it.

This will give you encrypted, snapshotted backups using open-source systems, that are better than Duplicity because you don't have to be creating full backups every so often. If you'd be interested, you can subscribe to my mailing list at http://bit.ly/stavroslist or follow me on Twitter or something, but please post comments below so I know what functionality to include.

Post reply on HN