There are two very good reasons why nobody should bother doing this. First: browser Javascript is the most hostile possible environment in which to implement cryptography. From actual experience: you are better off trying to implement crypto in a microcontroller, with kilobyte-denominated space for code storage, no cold-start entropy, and a few tens of bytes headroom for negotiation. Seriously: do that first, before…
Ask HN: Why doesn't someone provide JS encrypted webmail
51–60 of 65 posts
Re: Ask HN: Why doesn't someone provide JS encrypted webmail
#52The conscientious/paranoid people who care enough to engage in encrypted correspondence will want to run their own client software. (Typing their passphrase into the hoster's provided JS/DOM, even in a browser under their own control, is essentially the same as sending it to their server. Maybe you could work out something with a bookmarklet, which scrapes ciphertext from one page but then displays the plaintext in a…
Re: Ask HN: Why doesn't someone provide JS encrypted webmail
#53Earlier quoted context omitted.
I think people don't use pgp because you have to install a client. People want to be able to access their mail from their home PC, work PC, laptop, friend's laptop and the library. Also, we want to remember our own pass-phrase rather than a private/public key.
But then the described service is useless, because you can only trust the confidentiality of your mail in so far as you can trust the honesty of the service provider not to hide backdoors in the js they send to your browser. But then you can just do away with the clunky client side cryptograpy and talk plain https with their server that does the encryption.
Re: Ask HN: Why doesn't someone provide JS encrypted webmail
#54Because crypto in JavaScript would likely be vulnerable to side channel attacks (timing, processor use analysis, power analysis, etc). Even FIPS certified java and .net libraries call into c code. There's a reason. Also, the number of people who even know what you're talking about is vanishingly small, and few of them would pay.
Re: Ask HN: Why doesn't someone provide JS encrypted webmail
#55Earlier quoted context omitted.
It would be trivial for anyone with access to the webmail provider's server to steal your password and decrypt your mail. So you don't really gain much by having it encrypted there in the first place.
I was assuming that my private key would be stored locally. And the encryption code, too. As I said, doing this securely and usably would be hard.
Re: Ask HN: Why doesn't someone provide JS encrypted webmail
#56There are two very good reasons why nobody should bother doing this. First: browser Javascript is the most hostile possible environment in which to implement cryptography. From actual experience: you are better off trying to implement crypto in a microcontroller, with kilobyte-denominated space for code storage, no cold-start entropy, and a few tens of bytes headroom for negotiation. Seriously: do that first, before…
I'm not worried about Google being compromised by a third party. I believe my mail host should not be able to read my email. VPN to a private mail server is good, but I dont want to have to trust the mailserver. It might be a bad startup idea if you expect people to pay you 5 bucks a month for an account (may be). But what if it runs like any other mail host, and lives through advertising? Or better still is build on…
Re: Ask HN: Why doesn't someone provide JS encrypted webmail
#57Earlier quoted context omitted.
Take a look at Aldo Cortesi's AppHash for one impl of verification of code right when it loads on the page.
Cortesi doesn't have a solution to this problem for unmodified browsers. If you get to modify the browser, you're no longer talking about "web mail"; you might as well just write a real secure mail client, and use HTML5 for your cross-platform UI. I find Cortesi's promotion of his web crypto tools pretty close to the "dishonesty" line. He's not dishonest. But whether he knows it or not, he's coming as close to the li…
Re: Ask HN: Why doesn't someone provide JS encrypted webmail
#58Earlier quoted context omitted.
I was assuming that my private key would be stored locally. And the encryption code, too. As I said, doing this securely and usably would be hard.
If it's impossible to check your secure mail from a friend's computer, what's the point of having it web-based?
Re: Ask HN: Why doesn't someone provide JS encrypted webmail
#59What keeps the webmail company from supplying you with modified client-side JS code which forwards the keys you enter to $three_letter_agency?
Exactly, and I think that's a potential problem with hushmail (but those guys are to be commended for some honesty). How about a number of independent, hacker type, or FSF type communities certify the client side JS through md5 digests on the client side code or the like?
Now, someone just breaking into their servers, on the other hand, is another matter.
Re: Ask HN: Why doesn't someone provide JS encrypted webmail
#60Working on this exact problem myself: https://droplettr.com - the encryption uses Firefox Sync crypto module in an extension, so the crypto is done by the browser outside the scope of content JS. The rest of the app is pure JS and HTML, with a Python/Django REST-style server.