Live data from Hacker News

How to make e-mail encrypted for everyone

friendlybit.com

21–30 of 47 posts

Re: How to make e-mail encrypted for everyone

#21
To make sure I fully understand the proposal, it is to:

1. Generate public/private key pairs for all mailboxes at a given domain 2. Publish the public key in a DNS record at the mailbox domain 3. Encrypt message bodies with that public key in the MUA at send-time

A few comments (assuming I understand correctly):

First, this sounds a lot like SMIMEA (https://tools.ietf.org/html/draft-ietf-dane-smime-00) or OPENPGPKEY (https://tools.ietf.org/html/draft-ietf-dane-openpgpkey-02) DNS records.

One requirement in this approach (not mentioned in the linked article) is that this only makes sense if you use DNSSEC. If you don't use DNSSEC, all the threats that apply to opportunistic STARTTLS apply.

There are pros and cons of DNSSEC, and various deployment issues, but in general SMIMEA and OPENPGPKEY are both basically workable. (Another option, widely discussed but as far as I know not specified in a formal protocol, is to use HTTPS and webfinger with CA-signed certs for key discovery.)

Second, I think there are a number of smaller errors in this blog post.

1. The primary issue with STARTTLS is not the two listed here (lack of encryption at rest, downgrades on "the whole chain") but rather the fact that it is opportunistic and enforces no certificate authentication. So active MITM attacks (DNS injection or stripping, to name a few) work. But they work on the proposed scheme as well, since nowhere is it specified that we must use DNSSEC!

2. I don't understand how server-side key management avoids the encrypted-at-rest issue, since the keys are stored on the server!

3. The focus on client-to-server (i.e. MUA to MTA) connections seems spurious to me, since (as others noted here) the vast majority of users use a handful of MUAs that do enforce SSL (mainly web browsers, Apple Mail, and mobile mail clients like iOS Mail or Android's Mail app). The real issue is server-to-server (i.e. MTA-to-MTA) connections.

4. Encrypting message bodies leaks header metadata. Given the fact that this proposal seems to primarily suggest server-side key management, it's not really "end-to-end" encryption anyway, so it sacrifices metadata leaks to gain...nothing. Doing transport-layer encryption between servers is effectively a better option.

So tl;dr:

In broad strokes, the proposal makes sense and reads like a slightly less-detailed version of a couple of existing IETF proposals. But as with everything, the devil is in the details.

Hope that makes sense.

Re: How to make e-mail encrypted for everyone

#22
post #4

DNS-based key discovery has already been invented twice: PKA and OPENPGPKEY. Nobody is using it. It has an obvious problem: DNS is not secure. There is DNSSEC, but it's practically undeployed on clients, therefore building on it doesn't make sense. GPG recently added support for key discovery via HTTPS (Web Key Service, WKS). That goes in the right direction, because it takes the best deployed working authentication…

I don't think this is about inventing a new protocol. It's about getting Gmail and Thunderbird on board. Has anyone put them in a room together?

Yes, we all got together this week in Paris.

Re: How to make e-mail encrypted for everyone

#23
post #21

To make sure I fully understand the proposal, it is to: 1. Generate public/private key pairs for all mailboxes at a given domain 2. Publish the public key in a DNS record at the mailbox domain 3. Encrypt message bodies with that public key in the MUA at send-time A few comments (assuming I understand correctly): First, this sounds a lot like SMIMEA ( https://tools.ietf.org/html/draft-ietf-dane-smime-00 ) or OPENPGPKE…

What you're missing is the proposal to have the email provider generate public key/private key pairs and somehow communicate that detail to the email client. (Presumably via some IMAP or POP query?). The current IETF drafts have no provision for how to communicate public keys and private keys to the email provider.

I'll also point out that S/MIME 3.1 lets you encrypt message headers by including an entire message/rfc822 inside an encrypted section. I don't think any email client actually supports doing anything reasonable about that.

Re: How to make e-mail encrypted for everyone

#24
post #4

DNS-based key discovery has already been invented twice: PKA and OPENPGPKEY. Nobody is using it. It has an obvious problem: DNS is not secure. There is DNSSEC, but it's practically undeployed on clients, therefore building on it doesn't make sense. GPG recently added support for key discovery via HTTPS (Web Key Service, WKS). That goes in the right direction, because it takes the best deployed working authentication…

I don't think this is about inventing a new protocol. It's about getting Gmail and Thunderbird on board. Has anyone put them in a room together?

See also: https://www.mailvelope.com/

Re: How to make e-mail encrypted for everyone

#25

The goal of encryption in email boils down to preventing your email provider from being able to read the email. (If you don't want to prevent that, then your email is already encrypted from everyone else if you and your recipient uses SSL and you use major email providers that try SSL over the internet backbone). Keeping your email provider away means your email provider can't have your private key, which means you n…

Exactly, but the author of the post didn't realize that.

Instead

> Some may frown reading that I suggest leaving the private key in the hands of your e-mail provider. I agree that this means you lose some privacy to your e-mail provider.

It completely defeats the purpose of encrypting the message. If you are sending encrypted email from (example) your Gmail account to another Gmail account, the message must be totally protected from Google to read, index, possibly giving it to any third party. So, no encryption and decryption using sw made by Google which could be changed in every moment to spy on you.

I just don't see how encryption could work in a web mail. Only client side will do.

Re: How to make e-mail encrypted for everyone

#26
post #2

> When you send an e-mail today it’s sent in plaintext. This means that when you connect to your local coffee shop’s WiFi they can intercept all e-mail that is sent through their router. This is probably not the relationship you have with your barista… Um, how many users use native clients on unencrypted ports as opposed to https based web-clients or TLS?

I manage e-mail servers used by "smaller" government users (individual agencies/offices, municipalities, and counties), schools, businesses and individuals -- those who are typically using a "real" mail client (e.g. Outlook) over web-based mail (although we offer that as well).

I haven't ran any type of extensive usage statistics but from what I see daily plain-text POP3 (i.e. 110/TCP) is overwhelmingly more popular than anything else. STARTTLS (with both POP3 and IMAP4) is a bit behind that, followed by {POP3,IMAP4}-over-TLS (i.e. 99{5,3}/TCP).

This is probably due to a mostly stable user base that doesn't reconfigure or set up new mail clients often. As new mail clients are installed / configured, they typically use "native TLS" (not STARTTLS) but I think this is likely because of the autoconfig/autodiscovery that most mail clients (especially mobile) support nowadays.

We will hopefully be completely doing away with plain-text mail "soon" but it will require a LOT of reconfiguring of mail clients.

Re: How to make e-mail encrypted for everyone

#27
post #18

Earlier quoted context omitted.

I don't have any stats, but I imagine lots of users still connect over unencrypted ports directly to their ISP. We have to remember that most users are not like the HackerNews demographics. If you have stats that points to this conclusion being wrong I'm happy to change my mind.

...and how many people still use their ISP's mail as opposed to the "big" providers?

Probably many more than you expect.

I was certainly surprised by how many users there were when I took over responsibility for such mail systems five years or so ago.

In our case the answer is "thousands" -- and we're relatively small.

Re: How to make e-mail encrypted for everyone

#28
post #25

The goal of encryption in email boils down to preventing your email provider from being able to read the email. (If you don't want to prevent that, then your email is already encrypted from everyone else if you and your recipient uses SSL and you use major email providers that try SSL over the internet backbone). Keeping your email provider away means your email provider can't have your private key, which means you n…

Exactly, but the author of the post didn't realize that. Instead > Some may frown reading that I suggest leaving the private key in the hands of your e-mail provider. I agree that this means you lose some privacy to your e-mail provider. It completely defeats the purpose of encrypting the message. If you are sending encrypted email from (example) your Gmail account to another Gmail account, the message must be totall…

I can see huge problems i educating people to look after their private keys. Imagine how many people would lose their keys and their entire mail archive is unreadable.

Just this week I had TWO colleagues separately losing their respektive 2FA for github. And they both work in IT, one had saved the recovery codes, but couldn't make them work, the other not.

In a time of cloud convenience, people are actually less and less inclined to understand the concept of public key crypto and the importance of backing up private keys.

Even if you trust say, apple's icloud keychain (which isn't necessarily a great idea), it still requires access to a trusted device, and it's locked in.

So I think the biggest nut to crack is a unified cloud based private key backup that seamlessly integrates with everything from web applications to every OS and then get Microsoft/Apple/Google on board to support it every where.

Not easy to pull off.

Re: How to make e-mail encrypted for everyone

#30
Keep a close eye at the pretty Easy Privacy (p≡p) project.

It provides an engine (written in C99) and adapters for the most important environments, in order to automatize key management and message transport.

It'll be the default way to automatically encrypt e-mails in Enigmail, where most OpenPGP traffic emerges from, anyways: https://twitter.com/pEpCouncil/status/791948659378106368

But that's just a start, as p≡p wants to transfer all text-based communications anyhow into the censorship-resistant, peer-to-peer GNUnet (using OTR or Axolotl crypto).

Cf. White Paper of p≡p: https://pep.foundation/docs/pEp-whitepaper.pdf

(Wikipedia article on p≡p showing its broad approach: https://en.wikipedia.org/wiki/Pretty_Easy_privacy)

Post reply on HN