Secure Email

Sending email securely is such a mess. Even PGP isn't good enough because it leaks metadata about who I'm contacting, when, and how much I'm saying. I'm really bothered by that and I've been thinking about it a lot lately. I think my ideal setup would be something like this:

Suppose alice@a.example.com wants to email bob@b.example.com. Alice needs bob's PGP key, a.example.com's public key and b.example.com's public key.

Alice PGP encrypts her email to Bob, then encrypts that so it can only be read by b.example.com, then encrypts that so it can only be read by a.example.com.

When she sends her email to her SMTP server at a.example.com, her server can only read & decrypt enough to know that the message came from Alice and is intended for b.example.com. Her server does not know anything else about the email, including its final destination. Her SMTP server forwards the encrypted bundle to b.example.com.

b.example.com decrypts the message with their key, and only knows that the email came from a.example.com and is intended for Bob. The b.example.com server does not know that Alice sent the email.

Finally Bob receives the message and decrypts it using his PGP key. Bob can of course read everything, including who sent the message.

This system has the big advantage that snooping hardware at either a.example.com or b.example.com doesn't tell the NSA anything. (Just that Alice sent someone an email, or that Bob received an email).

They would need hardware at both endpoints to discover that Alice and Bob are even messaging each other. Further, if Alice and Bob are feeling particularly paranoid, once this infrastructure was in place it would be easy to TOR-style bounce the message through a few more intermediate mail servers to make snooping almost impossible. Once it was bounced through more locations, even if the NSA snooped on both endpoints, they wouldn't be able to match the messages together - They would just know that Alice sent an email and Bob received one.

Its a shame that email would need to be changed so much to implement this system. But long term, I think its something we should work towards.