3 ms·
Gmail, and webapps in general, should support efficient client-side encryption and signing.
by cxseven 11y ago
Gmail, and webapps in general, should support efficient client-side encryption and signing.
- vbezhenar 11y agoWeb platform is not suited for client side cryptography, because server can serve a customized scripts to you and there's no practical way to find that.
- x5n1 11y agoit could be if that was an open source extension provided as a plugin that you could use a custom version of... so that the encryption script was not being served by the webapp. Say the EFF maintained such an extension.
- dest 11y agosuch as Mailvelope for example? https://www.mailvelope.com/ https://www.mailvelope.com/
- edelans 11y ago+1 for mailvelope, it's really easy to use. The problem is that you need to know a public key of your recipient to encrypt your mail... Good news is I discovered a few weeks ago that github provides that ! Just take a look at https://github.com/<username_of_your_recipient>.keys https://github.com/<username_of_your_recipient>.keys (assuming your recipient use github...)
- Freak_NL 11y agoMost people who have an OpenPGP key upload their public key to one of the on-line key-servers. These key-servers sync keys with each other, so you can find any published public key from any one of them. Try https://pgp.mit.edu/ https://pgp.mit.edu/ for instance. Enigmail in Thunderbird offers a way to search these key-server from within the mail application, perhaps Mailvelope has this feature as well?
- dogma1138 11y agoThat's not quite true you can validate the scripts the server is sending you, various hashing algorithms are sufficient and although not prevalent today you can always use the "archive" attribute[0] in your script tags to provide an archive with digital signatures (this was a feature in Netscape and even early IE) it was used in the mid to late 90's when SSL wasn't that prevalent. But this isn't that relevant today mainly because of SSL, and while it's true that the server can serve you a modified script even over SSL but it can only do that in such cases when the server has been compromised (excluding any attacks that break/MITM SSL) in which case if you can't trust the content that is served by the server you can't trust the content stored on it either. But lets say that it's still not enough then well a client side encryption in the browser either natively or via an addon can provide the required functionality to make web apps work properly even without providing all the functionality over the wire. There are quite a few hybrid webapps for Chrome that do not work without an addon or those for which the addon adds allot of functionality that could not be efficiently offered by current web only standards. [0]https://msdn.microsoft.com/en-us/library/ms970704.aspx https://msdn.microsoft.com/en-us/library/ms970704.aspx
- Freak_NL 11y agoThe problem here is that there is no way for the average user to tell if the server itself is serving you client-side code that will actually encrypt your data before sending it to the server. The browser security model explicitly depends on trusting the remote server (whose identity you verified using TLS, and with whom you can communicate securily) with whatever data you enter client-side. With end-to-end encryption of e-mail, the server is not part of the immediate trust model; it is to act only as a transfer agent. This is why end-to-end e-mail encryption is easy with a dedicated mail user agent (MUA) such as Thunderbird with Enigmail, but awkward with webmail, where you need a third party browser plugin (such as Mailvelope) to provide the encryption step.
- vbezhenar 11y agoI'll give you an example. There's a software that was audited: Truecrypt. I know hash of the executable that was audited, so I can download that executable, verify it's hash signature and use it for my purposes. But if I use crypto in browser, it's like I'm downloading Truecrypt every time from the website. And there's no easy way to determine that I downloaded exactly that binary that was audited and used by everyone else. So if FBI (or narco cartel) reached authors of that software and they want to attack me, they have a perfect attack vector: identify me and serve me a modified code. There could be an addon providing that functionality, but I'm not aware of any. And installing additional addon isn't much easier than just installing a separate software. Web apps are only good because they are easy to launch.
- DanBC 11y ago> should support efficient client-side encryption and signing. Did Google release "End to End" yet? https://github.com/google/end-to-end https://github.com/google/end-to-end What's current best practice for people using gmail who want client side encryption? Google understandably comply with narrowly defined validly formed legal requests. https://www.google.com/transparencyreport/userdatarequests/legalprocess/ https://www.google.com/transparencyreport/userdatarequests/l... > What does Google do when it receives a legal request for user data? > Respect for the privacy and security of data you store with Google underpins our approach to producing data in response to legal requests. When we receive such a request, our team reviews the request to make sure it satisfies legal requirements and Google's policies. Generally speaking, for us to produce any data, the request must be made in writing, signed by an authorized official of the requesting agency and issued under an appropriate law. If we believe a request is overly broad, we'll seek to narrow it. There are rare narrowly defined circumstances when Google will voluntarily hand over data without those legal checks: > Sometimes we voluntarily disclose user information to government agencies when we believe that doing so is necessary to prevent death or serious physical harm to someone. The law allows us to make these exceptions, such as in cases involving kidnapping or bomb threats. Emergency requests must contain a description of the emergency and an explanation of how the information requested might prevent the harm. Any information we provide in response to the request is limited to what we believe would help prevent the harm. Here are the numbers for US and UK. https://www.google.com/transparencyreport/userdatarequests/countries/?t=table https://www.google.com/transparencyreport/userdatarequests/c... A B C United Kingdom 3,146 75% 6,056 United States 12,002 78% 31,343 A = User data requests B = Percentage of requests where some data produced C = Users/Accounts specified
- Freak_NL 11y ago> What's current best practice for people using gmail who want client side encryption? Use OpenPGP and access GMail through IMAP with a mail user agent (MUA) such as Thunderbird with Enigmail, or one of the other mail clients that support OpenPGP (either directly or by means of a plugin). By doing this you strictly separate mail transfer (which GMail does for you) and encryption (which you and the receiver perform locally with OpenPGP key-pairs). GMail sees only strongly encrypted data for which it has no keys.
- dade_ 11y agoClient side encryptions has been available for some time, for example https://cloudmask.com/ https://cloudmask.com/