I'm not a cryptographer by any means, but my first thought when reading that is can we make non-terrible in-browser javascript crypto?
I'm not a cryptographer by any means, but my first thought when reading that is can we make non-terrible in-browser javascript crypto?
(Copied from http://news.ycombinator.com/item?id=3872007)
;)
Which is that it sounds rather complicated (which makes my security-sense go off, but certainly isn't a fatal indictment) and that I'd really need to either do an active evaluation of the system or get several reassurrances that someone else decent (ideally someone much smarter than me) did and it checked out before I'd be remotely comfortable using it or recommending it.
What? How does the machine -the machine not connected to the network- get the results off Amazon?
Data-dependent timings could conceivably allow a bad guy to deduce something about the data being sent.
Note that this is all highly speculative; I'm not convinced it's truly impossible, but it's one of those attack scenarios where "put a gun to the sysadmin's head" begins to look like a pleasant and trouble-free option...
Say, a signed webapp manifest, listing all files that are supposed to be used in that context and their hashes. On first execution, the associated key is stored, maybe compared with third party knowledge about the site (not tampered with) and key (known not-trustworthy).
After that, you know when someone else than the maintainer tampered with the code.
With that you're down to trusting the maintainer. Which makes it as good as any other code distribution scheme.