Re: [Uta] Benjamin Kaduk's Discuss on draft-ietf-uta-smtp-require-tls-08: (with DISCUSS and COMMENT)

Jim Fenton <fenton@bluepopcorn.net> Wed, 31 July 2019 06:16 UTC

Return-Path: <fenton@bluepopcorn.net>
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 71C81120047; Tue, 30 Jul 2019 23:16:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=bluepopcorn.net
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 LlyT3z76JkFL; Tue, 30 Jul 2019 23:16:33 -0700 (PDT)
Received: from v2.bluepopcorn.net (v2.bluepopcorn.net [IPv6:2607:f2f8:a994::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B72A120019; Tue, 30 Jul 2019 23:16:33 -0700 (PDT)
Received: from [IPv6:2601:647:4300:2290:62a4:4cff:fe65:83dd] ([IPv6:2601:647:4300:2290:62a4:4cff:fe65:83dd]) (authenticated bits=0) by v2.bluepopcorn.net (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x6V6GVgx028599 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 30 Jul 2019 23:16:32 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bluepopcorn.net; s=supersize; t=1564553792; bh=6PUOOK7VIWZWtrQUTe4QG3EnnkJhoGS5WIN4zeGkTkk=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=GxZW22XZVly5gp4ub8VqLQ7pdxugkH5+kS9XhZTFFNGYf7lT7th4zNMV3QZgcdY75 ZRJD3HXpLDJ4qlwX5+Tz7CybDJOXzHaaM6CIZu00lD9lEfa1lYDdU6kYoqMwJth8lc RuaajR48kxq7zIGhTe8alHGmkcAsmgapmE/ttb7U=
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: The IESG <iesg@ietf.org>, uta@ietf.org, uta-chairs@ietf.org, valery@smyslov.net, draft-ietf-uta-smtp-require-tls@ietf.org
References: <156339110885.25873.1576291155471550816.idtracker@ietfa.amsl.com> <c2469336-c6ca-37e1-2a5a-12a9e3a3fec4@bluepopcorn.net> <20190731000222.GV47715@kduck.mit.edu>
From: Jim Fenton <fenton@bluepopcorn.net>
Message-ID: <58bed186-4130-7023-b124-37749e4512ef@bluepopcorn.net>
Date: Tue, 30 Jul 2019 23:16:25 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <20190731000222.GV47715@kduck.mit.edu>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/uta/Ao7XTUjJzxQQXiCtxdhyY6mFiQg>
Subject: Re: [Uta] Benjamin Kaduk's Discuss on draft-ietf-uta-smtp-require-tls-08: (with DISCUSS and COMMENT)
X-BeenThere: uta@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 31 Jul 2019 06:16:35 -0000

On 7/30/19 5:02 PM, Benjamin Kaduk wrote:
> On Tue, Jul 30, 2019 at 04:11:36PM -0700, Jim Fenton wrote:
>> On 7/17/19 12:18 PM, Benjamin Kaduk via Datatracker wrote:
>>
>>> The following paragraph (unchanged from my ballot on -07) received only minimal
>>> discussion so far:
>>> I'm also concerned about the apparent new burden placed on senders in
>>> Section 4.3 to actively decide whether every outgoing message requires
>>> end-to-end TLS protection or is safe to forward without TLS ("when TLS
>>> is to be required, [...].  When TLS is not to be required, [...]"), where both
>>> "[...]" require new behavior not present in a client that does not implement
>>> this specification.  To some extent this is an editorial matter of how the
>>> new mechanisms are portrayed, but I don't see much in this document to justify
>>> the stance that the default "don't care" option should be removed (for clients
>>> that implement this specification at all).
>>
>> The justification here is much the same as for MTA-STS (RFC 8461).
>> Paragraph 2 of the introduction of RFC 8461 presents the justification,
>> and paragraph 3 of the introduction to this draft says much the same thing.
>>
>> This work was inspired by a paper, "Neither Snow Nor Rain Nor MITM ...An
>> Empirical Analysis of Email Delivery Security"
>> http://conferences2.sigcomm.org/imc/2015/papers/p27.pdf that there was a
>> presentation about at an IETF meeting a few years ago (can't find it on
>> datatracker currently). If you think the draft would benefit from
>> additional motivation, I could mention this paper and add an informative
>> reference to it.
> This makes it sound like your stance is roughly, "we want to make TLS on by
> default but have to deal with deployed reality in order to get there",
> which would seem to have the consequence that "MTAs implementing
> require-TLS should default to requiring TLS and only request no-TLS in
> special cases".  I would support such a position, and in that case would be
> less concerned about the apparent lack of a "don't care" option, since
> there is less of a decision burden when there is a clear default behavior.
>
> That would also make this very solidly an editorial matter, in which case I
> am happy to suggest text modifications but cannot put a blocking Discuss
> position in place...


I'm confused by your comment (as was Viktor). My comment above was 
motivation for having a REQUIRETLS option. Nobody is suggesting that we 
get rid of or otherwise change the default "don't care" -- REQUIRETLS is 
an option, and SMTP will continue to work the way it currently does when 
REQUIRETLS is not applied to a message.


>
>>> It seems that we are in agreement that it's okay to have a "don't care" option,
>>> which is indicated by not using the extension at all.  That said, I still think that
>>> the specific text of Section 4.3 conveys an impression that there is a requirement
>>> to actively decide, with the language about "has the authority to decide whether to
>>> require TLS", "when TLS is  to be required", "when TLS is not to be required", and
>>> "in either case, the decision [...] MAY be done based on [...]".   Perhaps I'm just misreading
>>> the text, but I haven't seen any signals to that effect yet.  I'd suggest (but am open
>>> to further refinement" changing to "has the option to decide whether to require TLS"
>>> and "if one of these cases is selected, the decision [...]" as a way to clarify the language used.
>>
>> Here's a revision to that paragraph that I think makes it clearer that
>> it's OK not to decide:
>>
>> An MUA or other agent making the initial introduction of a message has
>> the option to decide whether to require TLS. If TLS is to be required,
>> it MUST do so by negotiating STARTTLS and REQUIRETLS and include the
>> REQUIRETLS option on the MAIL FROM command, as is done for message relay.
>>
>> Does that convey this adequately?
> ...whereas this goes in a different direction, and makes a different
> editorial clarification.  So, yes, this is fine, but if we want to go the
> other direction we can talk about that, too.


This was the intended direction of the clarification.

>
>>> [discussion of "de facto part of the core SMTP spec" removed, on  indications
>>> that this is not the intent]
>>>
>>> We had some good discussion about the three potential cases for authenticating
>>> the TLS connection:
>>> (1) Dane per RFC 7672
>>> (2) MTA-STS per RFC 8461
>>> (3) DNSSEC-validated MX records + WebPKI authentication of the MX hosts
>>>
>>> I think a little more specificity is needed for the (3) case; we do say to use
>>> the RFC 6125 procedures but still need to specify (e.g.) that the DNS-ID name
>>> type is used and (IIRC) that the hostname resulting from the MX lookup is
>>> used as the DNS-ID to be validated.
>>
>> How about if I add the following text to 4.2.1 step 4:
>>
>> The hostname from the MX record lookup (or the domain name in the
>> absence of an MX record where an A record is used directly) MUST match
>> the DNS-ID or CN-ID of the certificate presented by the server.
> That would work pretty well.  I do have to ask/check whether deployed
> reality means we have to keep CN-ID or could try to ditch it, as is slowly
> happening in the web world, though.


The RFC 7672 definition of Reference Identifier includes the CN-ID, so 
it would be more consistent to include it when referencing 6125 as well.

-Jim