Live data from Hacker News

Contact form encrypts message with PGP before sending

johannes-mittendorfer.com

11–20 of 37 posts

Re: Contact form encrypts message with PGP before sending

#11
post #9

Is there any benefit of doing this on the client side? The message is sent through HTTPS anyway. If HTTPS was compromised, the javascript code signing the message, and the signing key, and everything related to handling the clear text message would be compromised too anyway. This is redundant with HTTPS, but also useless if HTTPS is MITM.

Eh, it might be a bit useful if there's a passive adversary on the server. They can read traffic, but not change anything. Pretty unlikely scenario, so it doesn't really buy you much.

Re: Contact form encrypts message with PGP before sending

#12
post #9

Is there any benefit of doing this on the client side? The message is sent through HTTPS anyway. If HTTPS was compromised, the javascript code signing the message, and the signing key, and everything related to handling the clear text message would be compromised too anyway. This is redundant with HTTPS, but also useless if HTTPS is MITM.

This can protect against malicious browser extensions recording POST/GET-transmitted data (toolbars!!!), as the content will be encrypted at that stage.

Furthermore, this helps against content disclosure if the server is compromised.

Re: Contact form encrypts message with PGP before sending

#13
post #9

Is there any benefit of doing this on the client side? The message is sent through HTTPS anyway. If HTTPS was compromised, the javascript code signing the message, and the signing key, and everything related to handling the clear text message would be compromised too anyway. This is redundant with HTTPS, but also useless if HTTPS is MITM.

This can protect against malicious browser extensions recording POST/GET-transmitted data (toolbars!!!), as the content will be encrypted at that stage. Furthermore, this helps against content disclosure if the server is compromised.

If your browser is untrusted, you are doomed.

> Furthermore, this helps against content disclosure if the server is compromised.

If the server is compromised, openpgp.js is compromised too.

Re: Contact form encrypts message with PGP before sending

#15
The page loads jquery from google cdn, so at least google could inject js in the page and read the message before it gets encrypted.

I know, for a contact form this is very unlikely, but just from a security point of view, if I would write something like this, I would host js loaded by the page on my own server.

Re: Contact form encrypts message with PGP before sending

#16
post #13

Earlier quoted context omitted.

This can protect against malicious browser extensions recording POST/GET-transmitted data (toolbars!!!), as the content will be encrypted at that stage. Furthermore, this helps against content disclosure if the server is compromised.

If your browser is untrusted, you are doomed. > Furthermore, this helps against content disclosure if the server is compromised. If the server is compromised, openpgp.js is compromised too.

Presuming the private key for the messages is not on the server, then old messages will not be compromised.

A kind of perfect secrecy for messages.

Re: Contact form encrypts message with PGP before sending

#17
post #10

I'm not sure what this adds over applying PGP on the server? The way to intercept the message with the server doing PGP would be to either MITM the connection or breach into the server to intercept before encryption. In both cases you could just as well modify the javascript served to the browser to defeat the PGP done in the browser as well.

it adds not much. it does make it more complex to intercept because you need to serve diff js. il also means cleartext isnt on the server at all til compromised.

but yeah the design is bypassable. thus not really safe. clients should do it natively i guess.

Re: Contact form encrypts message with PGP before sending

#18

The page loads jquery from google cdn, so at least google could inject js in the page and read the message before it gets encrypted. I know, for a contact form this is very unlikely, but just from a security point of view, if I would write something like this, I would host js loaded by the page on my own server.

I've been wondering about web crypto, and how you can actually be protected from say Google getting your content before it's actually encrypted in the browser. Could Chrome's recent "packaged apps" help with that? Maybe if that part of the web app/extension was actually native/offline (but still inside the browser), it would be secure against that. Of course then you have to start wondering whether Google didn't implement a backdoor inside the browser itself...but maybe the fact that Chromium is open source can help there.

Re: Contact form encrypts message with PGP before sending

#20
post #13

Earlier quoted context omitted.

If your browser is untrusted, you are doomed. > Furthermore, this helps against content disclosure if the server is compromised. If the server is compromised, openpgp.js is compromised too.

Presuming the private key for the messages is not on the server, then old messages will not be compromised. A kind of perfect secrecy for messages.

No need to do this on the client side then (that was my point)
Post reply on HN