Re: [Uta] General question on draft-ietf-uta-mta-sts-03

<Gerard.DRAPER-GIL@ec.europa.eu> Mon, 03 April 2017 09:23 UTC

Return-Path: <Gerard.DRAPER-GIL@ec.europa.eu>
X-Original-To: uta@ietfa.amsl.com
Delivered-To: uta@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8B65B129613 for <uta@ietfa.amsl.com>; Mon, 3 Apr 2017 02:23:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.698
X-Spam-Level:
X-Spam-Status: No, score=-4.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-2.796, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wGiA_7V-Zrye for <uta@ietfa.amsl.com>; Mon, 3 Apr 2017 02:23:33 -0700 (PDT)
Received: from out.mail.ec.europa.eu (out.mail.ec.europa.eu [147.67.11.11]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BDEFB1295E9 for <Uta@ietf.org>; Mon, 3 Apr 2017 02:23:30 -0700 (PDT)
Received: from S-DC-EMP016-E.net1.cec.eu.int (158.167.3.15) by S-DC-EDG039-Z.rcnet.cec.eu.int (147.67.11.11) with Microsoft SMTP Server (TLS) id 14.3.301.0; Mon, 3 Apr 2017 11:23:37 +0200
Received: from S-DC-EMP005-J.net1.cec.eu.int (158.167.2.166) by S-DC-EMP016-E.net1.cec.eu.int (158.167.3.15) with Microsoft SMTP Server (TLS) id 14.3.301.0; Mon, 3 Apr 2017 11:23:27 +0200
Received: from S-DC-ESTE03-B.net1.cec.eu.int ([169.254.2.152]) by S-DC-EMP005-J.net1.cec.eu.int ([158.167.2.166]) with mapi id 14.03.0301.000; Mon, 3 Apr 2017 11:23:27 +0200
From: Gerard.DRAPER-GIL@ec.europa.eu
To: Uta@ietf.org
Thread-Topic: [Uta] General question on draft-ietf-uta-mta-sts-03
Thread-Index: AQHSqTcY8jps5Nhu0EGU3v8+sjq0sKGtMv4AgAG4C9k=
Date: Mon, 03 Apr 2017 09:23:27 +0000
Message-ID: <2DB01F3A9898AE41BB3266315D9FDA2704902BE2@S-DC-ESTE03-B.net1.cec.eu.int>
References: <2DB01F3A9898AE41BB3266315D9FDA2704902822@S-DC-ESTE03-B.net1.cec.eu.int>, <CANtKdUd_Vj=Yab+hOeiH4fc+ukqTpuHsFGV4bq79yW2m3-QFnQ@mail.gmail.com>
In-Reply-To: <CANtKdUd_Vj=Yab+hOeiH4fc+ukqTpuHsFGV4bq79yW2m3-QFnQ@mail.gmail.com>
Accept-Language: en-GB, fr-LU, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [158.167.189.38]
Content-Type: multipart/alternative; boundary="_000_2DB01F3A9898AE41BB3266315D9FDA2704902BE2SDCESTE03Bnet1c_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/uta/eCXdvuY7RULpw0GFPiXvwPz29FQ>
Subject: Re: [Uta] General question on draft-ietf-uta-mta-sts-03
X-BeenThere: uta@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: UTA working group mailing list <uta.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/uta>, <mailto:uta-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/uta/>
List-Post: <mailto:uta@ietf.org>
List-Help: <mailto:uta-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/uta>, <mailto:uta-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 03 Apr 2017 09:23:37 -0000

>The point is not to allow larger policy bodies but rather to leverage existing authentication of HTTPS server certificates. We want some form of authentication for two reasons:
>
>1. We want it to be relatively hard to induce a DoS (as discussed in "Security Considerations"); requiring a policy to be authenticated helps mitigate that risk slightly. (Otherwise we're creating a variant of the inject-a-bad-MX-record DoS but with a really >long TTL!)
>
>2. More importantly, we want to allow recipient domains to update a policy on demand, outside of expirations, so that they can signal a new MX is trusted (and similar).
>
>The authentication mechanism need not be HTTPs, and in fact when I started drafting this originally I suggested we just stick the policy + signature + cert chain in a DNS record--but that implies big DNS records, and that people figure out how to fetch >and validate them plus the whole cert chain, and ultimately, using HTTPS just seemed a lot easier and well-understood than that.
>
>Hopefully that makes sense, but I will note that there are some slight relevancies for the parallel thread going on about SAN vs MX host matching--namely that the motivator for HTTPS (to leverage well-understood existing protocols) is also an argument >for host matching, as Alberto has pointed out.
>
>Dan

First of all, thank you for the quick answer. And I hope you don't mind sending my thoughts to the list.

Regarding the policy validation, would't the use of DNSSEC fix both the validation and update on demand problem? The TTL would allow you to control how often the DNS record needs to be refreshed, and the max_age could tell the client MTAs how often to fetch the policy. I guess it is a question of what is more complex? deploying DNSSEC or adding an HTTPS service. I hope I am not getting too much out of topic, asking about DNSSEC.

In the SAN vs MX discussion, if I'm not wrong, the discussion is either to use the mx parameter from the policy to filter MX hostnames, or to use it to filter against the SAN within the certificate received. Since the section 4.2 (https://tools.ietf.org/html/draft-ietf-uta-mta-sts-03#section-4.2) defines that "... presented by the receiving MX MUST be valid for the MX hostname and chain to a root CA that is trusted by the sending MTA ...", the result of any of the two options would be the same (we assume that an attacker cannot forge a certificate that would pass certificate validation).
But, using the mx parameter to filter the MX records, would create somehow an alternative way of discovering the list of MX for a domain, why would I fetch the MX records from the DNS, if I know that the valid list is in the mx parameter of the MTA-STS policy?
Therefore I think that using the mx parameter to filter against the SAN list would be a better option.

Finally, about the use of JSON or pairs of values to describe the policy, I think that if the use of JSON has to be an added complication for implementing the MTA-STS, it is better to use pairs of values. So far the policy is not that complex. The JSON format can be added in future versions when the policy description become more complex.

Gerard Draper Gil