Re: [TLS] Ben Campbell's Yes on draft-ietf-tls-tls13-26: (with COMMENT)

Ben Campbell <ben@nostrum.com> Wed, 07 March 2018 21:35 UTC

Return-Path: <ben@nostrum.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9BFBD1277BB; Wed, 7 Mar 2018 13:35:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.889
X-Spam-Level:
X-Spam-Status: No, score=-1.889 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=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 pU2tlzhYtCa1; Wed, 7 Mar 2018 13:35:40 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D188412422F; Wed, 7 Mar 2018 13:35:40 -0800 (PST)
Received: from [10.99.34.8] (mobile-166-175-60-217.mycingular.net [166.175.60.217]) (authenticated bits=0) by nostrum.com (8.15.2/8.15.2) with ESMTPSA id w27LZdlT021356 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Wed, 7 Mar 2018 15:35:40 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host mobile-166-175-60-217.mycingular.net [166.175.60.217] claimed to be [10.99.34.8]
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (1.0)
From: Ben Campbell <ben@nostrum.com>
X-Mailer: iPad Mail (15D100)
In-Reply-To: <43224E51-EBF9-4471-B133-B118DA1CE05A@sn3rd.com>
Date: Wed, 07 Mar 2018 15:35:33 -0600
Cc: The IESG <iesg@ietf.org>, draft-ietf-tls-tls13@ietf.org, tls-chairs@ietf.org, tls@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <362DB102-B772-4797-80A6-E043F8A3BFEF@nostrum.com>
References: <152035726289.28354.15009436908256456026.idtracker@ietfa.amsl.com> <43224E51-EBF9-4471-B133-B118DA1CE05A@sn3rd.com>
To: Sean Turner <sean@sn3rd.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/cDC1G0DTLkv5AkCPo3119j2cmWY>
Subject: Re: [TLS] Ben Campbell's Yes on draft-ietf-tls-tls13-26: (with COMMENT)
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Mar 2018 21:35:43 -0000


> On Mar 7, 2018, at 2:49 PM, Sean Turner <sean@sn3rd.com> wrote:
> 
> 
> 
>> On Mar 6, 2018, at 12:27, Ben Campbell <ben@nostrum.com> wrote:
>> 
>> Ben Campbell has entered the following ballot position for
>> draft-ietf-tls-tls13-26: Yes
>> 
>> When responding, please keep the subject line intact and reply to all
>> email addresses included in the To and CC lines. (Feel free to cut this
>> introductory paragraph, however.)
>> 
>> 
>> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
>> for more information about IESG DISCUSS and COMMENT positions.
>> 
>> 
>> The document, along with other ballot positions, can be found here:
>> https://datatracker.ietf.org/doc/draft-ietf-tls-tls13/
>> 
>> 
>> 
>> ----------------------------------------------------------------------
>> COMMENT:
>> ----------------------------------------------------------------------
>> 
>> There has clearly been a lot of work put into this. It's a surprisingly
>> understandable document, given its length and the complexity of the subject. I
>> am balloting yes, but I have a few minor comments and nits. None of these are
>> showstoppers, so please do with them as you will.
>> 
>> *** Substantive Comments:
>> 
>> §4.1.2, first paragraph: " When a client first connects to a server, it is
>> REQUIRED to send the
>>  ClientHello as its first message. "
>> 
>> Is that intended to prohibit the use of STARTTLS or similar application layer
>> patterns? (To be clear, this is not an objection, just a clarification request.)
> 
> No - this is just how it works TLS - clients send the ClientHello message first ;)

I assume your response to mean that the point is merely that ClientHello is the first message of the TLS handshake. As worded, I think some readers might interpret this to mean that the client can send no other data at any layer prior to ClientHello.

> 
>> §4.1.2, legacy_compression_methods: "Note that TLS 1.3 servers might receive
>> TLS 1.2 or prior
>>     ClientHellos which contain other compression methods and MUST
>>     follow the procedures for the appropriate prior version of TLS."
>> 
>> Is that intended to require TLS 1.3 servers to always be willing and able to
>> negotiate 1.2? §4.2.1 has a similar assertion:
>> 
>> "If this extension is not present, servers which are compliant with
>>  this specification MUST negotiate TLS 1.2 or prior as specified in
>>  [RFC5246], even if ClientHello.legacy_version is 0x0304 or later."
>> 
>> But §4.2.3 says:
>> 
>> "Note that TLS 1.2 defines this extension differently.  TLS 1.3
>>  implementations willing to negotiate TLS 1.2 MUST behave in
>>  accordance with the requirements of [RFC5246] when negotiating that
>>  version."
>> 
>> ... which seems inconsistent (noting that this paragraph talks about
>> "implementations" rather than "servers", so perhaps there's a subtle difference?
> 
> In short kinda, sorta yes: §s4.2.1 includes the following:
> 
>   Implementations of TLS 1.3 which choose to support prior versions of
>   TLS SHOULD support TLS 1.2.

That still says “which choose to support”

> 
> Not sure it’s inconsistent given that the 2nd quote is about the server needs to do with the information it’s getting from the client.

I’m still confused. Is the server allowed to refuse to negotiate 1.2? Or is the exception in §4.2.1 supposed to apply to all of the related MUSTs?

> 
>> §4.2.1.1: The section is marked for removal. Do you expect that RFC
>> implementations will ever need to interop with draft implementations? If so,
>> the information in this section may continue to be useful for some time.
> 
> I think it’ll be useful for about as long as it takes for them to rev their code bases, which I am sure hoping is faster than the 6 or so weeks it’ll take for this draft to get to through the RFC editor’s queue.

Okay.

> 
>> §D.5: This section has a lot of normative requirements that seem important. I
>> wonder why it has been relegated to an appendix.
> 
> §D.5 is about backward compatibility and though we negotiations with 1.2 is a SHOULD we say nada about earlier versions.  And, we don’t want to say anything about earlier versions.   And, some of this is technically repeated from other RFCs, eg. 5768 and 6176 saying don’t do SSL2/3. So, it ended up in an appendix.

Okay.

> 
>> *** Editorial Comments and nits:
>> 
>> §2: "If (EC)DHE key establishment
>>  is in use, then the ServerHello contains a "key_share" extension with
>>  the server’s ephemeral Diffie-Hellman share which MUST be in the same
>>  group as one of the client’s shares. "
>> 
>> missing comma prior to "which”.
> 
> (grammar police are banging on my door as we speak)

Well, my comment was labeled as editorial or nit :-)

> So is the which clause restrictive or non restrictive?  I’m going with this this clause being restrictive (hence no comma).

I’ll let the grammar police at your door debate the merits of “which” vs “that” for restrictive clauses :-)

> 
>> §4.1.1: "Note that if the PSK can be used without (EC)DHE then non-
>>  overlap in the "supported_groups" parameters need not be fatal, as it
>>  is in the non-PSK case discussed in the previous paragraph."
>> 
>> I read "need not be fatal" to mean that it may still be fatal at times. Is that
>> the intent?
> 
> Yes that is the intent.

Okay. Would it be reasonable to offer guidance about when might want to treat this as fatal even though it would have been possible to use the PSK without (EC)DHE?

> 
>> §11: The IANA considerations have a number of constructions similar to "SHALL
>> update/has updated". Is that text expected to collapse to "has updated" at some
>> point?
> 
> Yes - once we’ve gotten the a-okay from IANA, well as the RFC editor to make it just say “has updated” etc.

Okay.

> 
>> §E.2.1: [BDFKPPRSZZ16]  : Best citation anchor evar
> 
> :)

I am trying to decide if that should sound like a “Bill the Cat” utterance or a sound effect for cartoon violence involving high voltage :-)

>