Live data from Hacker News

Scramble.io: secure email for everyone

dcposch.github.io

61–70 of 142 posts

Re: Scramble.io: secure email for everyone

#61

Unvetted cryptography is worth 1 cereal packet sekrit decoder ring.

Precisely which vetted, client side, JS crypto library would you prefer the authors use to satisfy your concerns? I haven't looked at the code, and only recently started paying attention to the JS-Crypto space. I'm aware of implementations where scrypt was compiled to target the asm.js subset, however, this doesn't really mean the resulting JS running on platform x, in browser y is as secure as the resulting binary on the platform/OS it was targeted for.

Scramble has not been widely vetted, so don't rely on it to protect you just yet.

The authors put the above line as part of the very first bit of marketing you encounter. Until the JS has full (vetted, industry standard) crypto functions designed to be secure for the each target platform, vetting this kind of crypto is going to be hard. The addition of a cryptographically sound PRNG is a big move in the right direction. That said, I believe the authors got it right with what is currently available: Inform the user in such a way that there is no confusion, open source the code so others can participate in vetting, get some attention to the project so others are motivated to participate in vetting, and continue to improve as problems are discovered. That's really the best you can do, IMHO. In security, the author of a library needs to be correct 100% of the time while an attacker needs to be correct only once.

Re: Scramble.io: secure email for everyone

#62
post #23

Earlier quoted context omitted.

I'm not a programmer. Why can't you just digest or hash the JS?

Just curious : what does a non-programmer come to HN for? Everything seems fairly programming centric to me here...

Apart from a large portion of posted articles not being specifically about programming, there are many great posters here who are non-programmers such as tokenadult. Discussions and articles are not limited to programming. Moreover, the spirit of HN seems to be discuss what the community deems worthy (upvoting) with a few restrictions.

Re: Scramble.io: secure email for everyone

#63
post #56
post #52

Earlier quoted context omitted.

PS: Most users are not power users, and won't download the extension and manually check signatures. As mentioned in the writeup, there's a beautiful way you can protect even non-power-users. Because the extension downloads and verifies the webapp HTML, CSS and JS every time it runs, the web app is constantly being validated. As long as you have a critical mass of power users who installed the extension, an adversary…

WAT. This is a PGP application that works as long as a specific user isn't targeted. PGP did better than that in 1995 : keep your key safe, and if the NSA has a 50 foot poster of your head shot hanging in the lobby of Fort Meade, they still can't decrypt the message. When you build and promote a system like this, you are assuming a responsibility on behalf of your users. You should take that responsibility more serio…

This is also a PGP application that most people can benefit from immediately (compared to using Hotmail), and one that can be used by even the most targeted users if their environment is set up correctly once the extension is out.

Re: Scramble.io: secure email for everyone

#64
post #63
post #56

Earlier quoted context omitted.

WAT. This is a PGP application that works as long as a specific user isn't targeted. PGP did better than that in 1995 : keep your key safe, and if the NSA has a 50 foot poster of your head shot hanging in the lobby of Fort Meade, they still can't decrypt the message. When you build and promote a system like this, you are assuming a responsibility on behalf of your users. You should take that responsibility more serio…

This is also a PGP application that most people can benefit from immediately (compared to using Hotmail), and one that can be used by even the most targeted users if their environment is set up correctly once the extension is out.

You say that because you want it to be true, not because you have any real confidence that it is true.

Re: Scramble.io: secure email for everyone

#65
post #46
post #40

Earlier quoted context omitted.

Yeah, I read your Matasano post, "Javascript crypto considered harmful", and I agree-- Javascript crypto is hard! But it's not impossible. The reason I chose that route is because I want to make it as easy as possible for users to try out and adopt. Just testing it out? No installation required. I think that security is at least equal parts a technical problem and an adoption problem. The status quo is that nearly al…

It is impossible. The features required to make browser Javascript safe for crypto aren't even on the roadmaps of browser vendors. Your reason for using browser Javascript for crypto --- here, Recurity's JS PGP implementation --- is the same as every other JS crypto project's reason: doing everything in the browser makes it easier for users to adopt your project. You are not the first person to point this out and you…

But doesn't this approach if implemented the best we can , at least blocks dragnet surveillance ? isn't that valuable ?

Re: Scramble.io: secure email for everyone

#66
post #56
post #52

Earlier quoted context omitted.

PS: Most users are not power users, and won't download the extension and manually check signatures. As mentioned in the writeup, there's a beautiful way you can protect even non-power-users. Because the extension downloads and verifies the webapp HTML, CSS and JS every time it runs, the web app is constantly being validated. As long as you have a critical mass of power users who installed the extension, an adversary…

WAT. This is a PGP application that works as long as a specific user isn't targeted. PGP did better than that in 1995 : keep your key safe, and if the NSA has a 50 foot poster of your head shot hanging in the lobby of Fort Meade, they still can't decrypt the message. When you build and promote a system like this, you are assuming a responsibility on behalf of your users. You should take that responsibility more serio…

Great is the enemy of good. Especially when great is not even possible to achieve (wide public adoption of PGP).

EDIT: And you seem to be saying that this is actively bad, which I think is just jumping the gun without identifying any actual issues. Having it be only partially secure until you install a browser extension and then having it properly secure most certainly falls into 'good' and not 'bad' or 'great'.

Re: Scramble.io: secure email for everyone

#67

If you just expose your service as an API then you don't have to worry about users trusting code given to them by the site. Then use a native client app that doesn't suck to interact with the service...all of the encryption is done client side with all of the messages being encrypted end to end. JavaScript encryption just isn't really valid in browsers...the browser runtime is to blame. Its funny that people have to…

Its [sic] funny that people have to all learn the same lessons over and over again

That pretty much defines what the field of computer security is. From DES to AES, we learned the same lesson: As things designed to be secure are put out in the real world, with sufficient enough time, they're broken. It's important not to make the same mistakes again and again, and that's nearly impossible to do with JS-Crypto since there are so many permutations of platform X on implementation (browser) Y. As long as the numbers of platforms is large and the numbers of browsers are large, having one implementation that works properly in all platforms isn't practical.

However, a specific implementation targeted at a specific browser/platform could be vetted provided the JS engine handles random numbers in a cryptographically sound manner. Ideally, the browsers would expose ways to call vetted cryptographic APIs directly via JS.

Re: Scramble.io: secure email for everyone

#68
post #27

Earlier quoted context omitted.

Because when the JS files are updated the browser extension will have to fetch a new hash from the server, but how can that hash be trusted? The usual mechanism would be to RSA or DSA sign the JS files and have the extension validate the signature against a public key. However, we're still choosing to trust the server and hope that it's key is not compromised.

That's actually not the big reason.

I presume your big reason is that the JS runtime is full of untrusted code of a dynamic nature?

Re: Scramble.io: secure email for everyone

#69
post #65
post #46

Earlier quoted context omitted.

It is impossible. The features required to make browser Javascript safe for crypto aren't even on the roadmaps of browser vendors. Your reason for using browser Javascript for crypto --- here, Recurity's JS PGP implementation --- is the same as every other JS crypto project's reason: doing everything in the browser makes it easier for users to adopt your project. You are not the first person to point this out and you…

But doesn't this approach if implemented the best we can , at least blocks dragnet surveillance ? isn't that valuable ?

How are you going to block dragnet surveillance if they can surveil the method of your delivering encrypted messages? NSA can already see, and modify, the JS used to create encrypted messages (because they've owned the HTTPS gateways), so they can see, and modify, the encrypted messages.

Re: Scramble.io: secure email for everyone

#70
post #40

Earlier quoted context omitted.

Yeah, I read your Matasano post, "Javascript crypto considered harmful", and I agree-- Javascript crypto is hard! But it's not impossible. The reason I chose that route is because I want to make it as easy as possible for users to try out and adopt. Just testing it out? No installation required. I think that security is at least equal parts a technical problem and an adoption problem. The status quo is that nearly al…

Two big questions: 1. How do you revoke a compromised signature comitee certificate embedded in the browser extension? 2. How can you prevent a hostile browser extension from hijacking the validation process?

3. How do you prevent secret agents from looking in your window with binoculars?
Post reply on HN