I know this because I designed such a scheme and it was hilariously, fantastically broken.
I know this because I designed such a scheme and it was hilariously, fantastically broken.
Cryptocat moved away from delivering its crypto code over JS to a browser plugin: http://www.forbes.com/sites/jonmatonis/2012/07/30/cryptocat-...
Do you think a dedicated native client would work? Something like a lightweight site-specific browser with Crypton libs. The same way you can appify sites with Chrome.
That's what I did in my own design. My protocol's purpose is different from cryptocat's, but the problem that in-browser javascript is untrustworthy is the same.
I designed my protocol so that it needn't be embedded in the browser at all -- or for that matter, piggybacked on HTTP.
I'm sure they are very careful about the security of their system, but they are still one step away from having all of your passwords (a simple extension update, or site javascript modification). If I use a program like keepassx, I know when it's updated, and can verify that it doesn't attempt to communicate with a remote server.