Mega was second: The first client-encrypted file sharing service, Securesha.re
blog.strml.net
blog.strml.net
"Oh, you're creating a zero-knowledge cloud service? Tell us all about how revolutionary it is."
(I cofounded SpiderOak in 2007.)
I'm glad it's happening though. The industry needs more awareness of privacy and more choices for privacy respecting products. This will undoubtedly grow the market for cloud services with meaningful encryption.
We do not use HTTPS at the moment. As all file transmissions are encrypted, we did not consider it necessary at the moment. A snooper could see the URL of files you have uploaded; however, the password will not be seen.
It's not best idea to share sensitive documents without using HTTPS.
A good read on the matter is Matasano's JavaScript Cryptography Considered Harmful: http://www.matasano.com/articles/javascript-cryptography/
Just curious, do you see any other red flags in the system?
There have been many encrypted cloud storage systems which worked according to this philosophy. Allmydata.com (now defunct) and Tahoe-LAFS come to mind:
In the case of Wuala, they actually were totally available via web browsers [1]; they used Java, however, instead of Flash, as seemingly their desktop client was already written in Java, so this was convenient. (Additionally, Java came pre-installed on most systems, albeit Windows shipped with the ancient 1.1 version, of course, due to that lawsuit.) You can find presentations from 2009 discussing the technical issues that went into this [2].
[1]: http://www.wuala.com/en/launch/
[2]: http://jazoon.com/portals/0/Content/ArchivWebsite/jazoon.com...
This method did, of course, involve getting pulled out of the web browser, but AFAIK that was not a technical requirement of Java for this purpose. (They claim in the presentation that a "Web App", even with Flash, wasn't capable of client-side encryption, which doesn't make much sense to me; maybe they just didn't want to implement the encryption algorithm? I also do not see them considering embedding the Applet into the website as opposed to just using it to launch their external app, but again: convenience to their existing codebase is likely a strong factor.)
Well, actually - it only seems to work fully on Chrome.
The better version of this post likely would have been a "state of browser-based encryption"; we're so close to really being there but any possible implementation is still a slow hack that won't work on all systems.
"128-bit client-side Rabbit encryption"
obsolete practice? Doesn't mega use 2048? This is kind of big deal. And, of course, mega interface is a lot more than a simple "cryptolink" service. I actually feel that if mega will come up with good APIs (as well as with a client for dummies), and nobody will raid Kim for a second time, dropbox and alikes are gonna have bad times.
In the case of Mega, the claim of 'military-grade encryption' sounds too much of snake oil as I would want to try the service. Kim Schmitz' past isn't a reason to trust him either.
In order to brute force it (and you will have to, there are no known vulnerabilities in Rabbit), you need to try up to 3.410^38 keys.
The fastest supercomputers in the world would take about 1.0210^18 years to crack 128-bit encryption.
See more on this topic (article is about AES, but the basics apply): http://www.eetimes.com/design/embedded-internet-design/43724...
> As of 2003 RSA Security claims that 1024-bit RSA keys are equivalent in strength to 80-bit symmetric keys, 2048-bit RSA keys to 112-bit symmetric keys and 3072-bit RSA keys to 128-bit symmetric keys.
-- http://en.wikipedia.org/wiki/Key_size
(Although, this is almost certainly ignoring mathematical attacks, as those would make things highly variable: one could imagine a really lame cypher that doesn't effectively utilize the key, or which leaks the key into the cyphertext. The choice "Rabbit" is thereby important, and Wikipedia mentions that if you want to break a large number of keys, such as for a large number of related files/accounts on a file-storage service, and just need to break any one, a 128-bit key is only about as effective as a 96-bit one.)
> Rabbit claims 128-bit security against attackers whose target is one specific key. If, however, the attacker targets a large number of keys at once and does not really care which one he breaks, then the small IV size results in a reduced security level of 96 bit. This is due to generic TMD trade-off attacks.
Kim Dotcom is giving away a lot more free space, than Dropbox. But he has a bit of a reputation problem, and no one has independently checked his algorithm yet?
I suppose it wasn't really for sharing, but still, the fact that neither amazon nor his server had the keys is one of the things that made me interested in it.
Passworded zips predate them all I think.
var passphrase = Math.uuid(16);
We're done here.You've made me aware that this could possibly make brute forcing easier, as it is nearly equivalent to a 96-bit key length.
While even a brute-forcing 96-bit key would theoretically take about 230 million years on today's top-of-the-line hardware and therefore is not (currently) insecure, it does not make sense to introduce that weak point. Therefore, I've updated the current random passwords to be 24 characters in length from now on, which pushes it far above 2^128.
https://github.com/STRML/securesha.re-client/commit/d5228650...