4 ms·
Matasano are experts here; I'm not; but here's my argument: There's parts of their post that I don't like: "If you don't trust the network to deliver a passwo
by feral 13y ago
Matasano are experts here; I'm not; but here's my argument:
There's parts of their post that I don't like:
"If you don't trust the network to deliver a password, or, worse, don't trust the server not to keep user secrets, you can't trust them to deliver security code."
"How can you do that without SSL? And if you have SSL, why do you need Javascript crypto? Just use the SSL."
I wonder about the implicit threat model. Its too black-and-white for me. In it, you either trust the server or you don't.
But security and privacy, for me, for large numbers of users, is all tradeoffs and games, shades of grey.
Consider: maybe our computers are uploading the private files of everyone who runs Windows to Microsoft. I don't know for sure, but I'd gamble that they aren't. I don't think MS would they take the risk of some security researcher catching the anomalous traffic on the network. The threat of the resulting PR storm would help keep MS honest, at that scale. So I'd expect MS would try pretty hard to fight a government leaning on them to do that.
Lets say that, in future, all data on the worlds most popular social network is encrypted client side. My ID is just a public key, and my browser encrypts all my traffic, using a JS package the social network securely delivers me. (Over SSL. With great care.)
That'd be a similar scenario to MS. I'd be trusting them when I enter my password into the JS they sent me, that is running in my browser. But, again, I'd figure that if they were injecting JS to steal my password, or subtly poison my RNG, and if they were doing that to everyone, probably some security researcher would call them on it. And so, they'd be incentivised not to.
That's a fundamentally different situation to the current one, where if Facebook gives all our data away, its pretty hard for someone outside their organisation to find out. Probably they could gamble on keeping it secret.
So that's why I think the 'Javascript Considered Harmful' post is too strong, in its "you either trust the server or you don't" attitude.
I also think that we aren't going to get anyone using crypto, unless its delivered seamlessly in the browser.
There has been good crypto available for years (e.g. GPG on the deskop plugged into thunderbird). But I think we've learned that if its even slightly harder to use, then end users are going to ignore it.
And the way to deliver seamless ease-of-use to a wide audience is on the web. And we badly need easy-to-use privacy these days. So I think it'd be a shame if posts like that discouraged research into JS crypto.
(I can think of other arguments:
e.g. where you want to trust a server now (e.g. to encrypt and backup a document) but decide not to trust it later (decide to abandon the document because in the years since you uploaded it, you think the server/company is compromised - or you ask to be e-mailed the ciphertext)
or regulatory differences: I don't think its the same thing legally to demand or steal a copy of someones server side data, and any server side keys, as it is to demand that the javascript be changed to snoop future passwords as users enter them into their browser application?)
Again, I'm no expert in this area; corrections welcome.
- graue 13y agoThis is where you lose me: "...I'd figure that if they were injecting JS to steal my password, or subtly poison my RNG, and if they were doing that to everyone..." To everyone — maybe that would get found out, maybe it wouldn't. But it doesn't have to be done to everyone. That backdoor in the JS could be served to only you. Maybe only certain times of day. How are you going to know?
- visarga 13y agoWe are all open to that. Google, MS and Apple send us software updates that have root privileges on our computers. They hold the keys to our digital houses. We allow them to enter and fix our plumbing and electrical wiring almost every week, and rarely can see or understand what they "fixed". We are with our pants down.
- masonlee 13y agoAnd it's pants all the way down! Can we even trust our chips? But we stagger on.
- feral 13y agoIf its targeted just at you, its a different class of attack. Of course, no technology can protect against all classes of attack. I'm just saying that there are situations where JS crypto might be useful, such as increasing the difficulty of conducting mass surveillance in secret. Secret mass surveillance being, of course, a big topic recently. What people need is not security that defends perfectly against every threat in theory, but no one uses in practice.