Thanks for your response, Dan. Comments inline.

On 10/19/18 10:40 AM, Daniel Margolis wrote:
Hey Jim,

I've been too busy to follow along on REQUIRETLS closely, unfortunately, so I may be missing some context. Feel free to ignore:

One caveat on your last statement is that, /alone/, you cannot assume the certificate will validate the MX. A significant number (some data points here: https://static.googleusercontent.com/media/research.google.com/de//pubs/archive/43962.pdf <https://static.googleusercontent.com/media/research..google.com/de//pubs/archive/43962.pdf>) of MXs present certs that do not match their hostname.

So it sounds like what you are proposing is that if REQUIRETLS is true, the MX MUST present a cert which is non-expired/chains to a trusted CA/is valid /for the hostname in the MX/, which will fail a meaningful amount of time in the wild. That may or may not be desired behavior.

Yes, or alternatively the certificate MUST be validated by DANE for that hostname. That is desired behavior, and I realize that it currently fails a meaningful amount of time in the wild. Not long ago, email STARTTLS negotiation failed a meaningful amount of time as well.


At the risk of derailing the conversation, I can think of the following broad options on /authentication:/

1.. Specify nothing, as in the status quo. REQUIRETLS only means "STARTTLS" and says nothing about checking MX authentication. Upside: simplicity; punts on the (already complex) question of authentication. Downside: risk of active MITM.

Given that a lot of the attacks on STARTTLS are active attacks (interfering with STARTTLS negotiation), an active MITM seems like it should be part of our threat model.


2. REQUIRETLS also means the MX records must have DNSSEC and the hostnames must match the identity presented by the (valid, signed-by-a-trusted-CA) MX. Upside: authenticates the MX. Downside: yet another specification on MX identity (though one which is compatible with MTA-STS, which imposes the same constraint on certificates); imposes requirements additional to both MTA-STS (requires DNSSEC) and DANE (requires a CA).

If the destination domain has MTA-STS, DNSSEC isn't required because the MTA-STS policy (which in turn is served by an authenticated server) can be used to confirm that the MX record hasn't been forged. The MX record needs DNSSEC if MTA-STS isn't available.


3. REQUIRETLS also means MTA-STS /or/ DANE. Upside: compatible with existing protocols, authenticates the MX. Downside: maybe complexity (requires sending MTAs--optionally?--support both protocols).

Close, but this conflates two issues: (1) making sure that the MX record hasn't been forged (which MTA-STS or DNSSEC in the mailbox domain will do) and authenticating the mail server (which the certificate chain or DANE in the mail server's domain will do).

4. REQUIRETLS also means the MX MUST present a cert which is non-expired/chains-to-a-trusted-CA /and/ is valid /for the mailbox domain/ (after the @). Upside: Super simple and authenticates the MX; pushes the ecosystem in a (IMO) mostly sane direction. Downside: sort of an additional requirement to MTA-STS or DANE; won't work for some scenarios (e..g. hosted mail).

This represents a large change to legacy behavior. The identity the certificate matches always represents the hostname of the mail server, not that of the mailbox domain. As you point out, this doesn't scale for hosted mail, which I consider to be a showstopper.


4 seems to me to be the simplest to reason about ("validate my MTA!") but the least realistic. 3 seems reasonable enough to me. 2 seems pretty barbaric (force MX admins to understand three protocols?!). 1 seems reasonable to me.

tl;dr: I'd probably keep the status quo. At risk of overengineering, REQUIRETLS could also imply either DANE or MTA-STS, but, in my opinion, not /merely /DNSSEC.

Hopefully my answers to each of your options clarifies what I think we want to do here, but feel free to follow up if I'm not being clear enough.

-Jim

_______________________________________________
Uta mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/uta

Reply via email to