Re: [TLS] Spencer Dawkins' No Objection on draft-ietf-tls-tls13-26: (with COMMENT)

Eric Rescorla <ekr@rtfm.com> Thu, 08 March 2018 13:11 UTC

Return-Path: <ekr@rtfm.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 1F7FA126CD6 for <tls@ietfa.amsl.com>; Thu, 8 Mar 2018 05:11:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
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 GTh-kMfauMvH for <tls@ietfa.amsl.com>; Thu, 8 Mar 2018 05:11:29 -0800 (PST)
Received: from mail-qt0-x22d.google.com (mail-qt0-x22d.google.com [IPv6:2607:f8b0:400d:c0d::22d]) (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 0AA2B126D0C for <tls@ietf.org>; Thu, 8 Mar 2018 05:11:27 -0800 (PST)
Received: by mail-qt0-x22d.google.com with SMTP id r16so6623457qtm.4 for <tls@ietf.org>; Thu, 08 Mar 2018 05:11:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=BhBJHrb/oA2fWblEvnhJYKhiKfGeZzhU1TAaC/TaNXs=; b=tZ6ztiXmZtcMkzGcuOZTi0QzVWdICo2B+IAS9bczTCnFNl6Q5dw/RSZVa9D2pGBCaG VjJY4g5r6DUvZj2UDHUMYrWv+svGUqCG9I8rOhj6gKM35zpWdW+ricyReYKQcCZcNhxF Ko/FXbxanDNZGZYJKOESD7cw9D0McnZpxgYGHKBTo735HbQ4OYbXG20d2gXL+1LAhILW kEzuO8XCqYbWivKFYdJ2N/Cb+JE5EBGH0AhxV5hC1fKWXX43eDzWbQWNgcSoRyIZME2E FU6wR3QSSh3F4xjyCYqPk/3t70FkVQKXANAm9t0NoXFE1Khg4RI+IVuSOBFf4CCQ1zky 1jEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=BhBJHrb/oA2fWblEvnhJYKhiKfGeZzhU1TAaC/TaNXs=; b=ZkXc8Psc5J9AsiI97ubdYYnPIFH7aGfBTWIzvH9af4VBAm7/b5JXdyvnPviE8jbdsJ NSArTntDHkKbHFqoRbwh7lx7pe7e9EhP6zoBKzya8yW8j13+Wd8mfmjcgxEwnVcL3sfD iN30Ft3mown4TNrtde/3knMmJkPGevA9eiMhA++Oor/IgDmeawTNyY/hjSsPTxZxe3ns lX8rXi3X04hBVsi86LNJu50d5+r+2zdS7HjLqYGmssoP+fhGjPOpxahf1ZCH5pujXT17 i2zLPzu/+TwChk2MtWaPDvaYIZpNGbabiQ5q2tIsS5PiwwjjEsVU4LQ3/IRJhUSVM4tI pSjg==
X-Gm-Message-State: AElRT7HfyjI+mPKsYhUUg4kiHMZIkZffQJ1874DULn97+TQfYzg/glc8 I3nMCUtpFKDJi6m6nSHtH6mI+kq1jRrIYMC+aqvCAA==
X-Google-Smtp-Source: AG47ELsarOWwvsBV2BpPrr3v4DevWrkK0oqXOpijd42rVmM9rqLsJFDDanlfr+vg9D8DS9eRXEqfxU3/ngAEj2yn5Mc=
X-Received: by 10.200.42.177 with SMTP id b46mr40462437qta.321.1520514685920; Thu, 08 Mar 2018 05:11:25 -0800 (PST)
MIME-Version: 1.0
Received: by 10.200.37.176 with HTTP; Thu, 8 Mar 2018 05:10:45 -0800 (PST)
In-Reply-To: <152048673810.21351.933470084847190231.idtracker@ietfa.amsl.com>
References: <152048673810.21351.933470084847190231.idtracker@ietfa.amsl.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Thu, 08 Mar 2018 05:10:45 -0800
Message-ID: <CABcZeBNSyTcm07wF82-amxWaWQyxnVZHd76_=9+CB-9ap_nVTg@mail.gmail.com>
To: Spencer Dawkins <spencerdawkins.ietf@gmail.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-tls-tls13@ietf.org, Sean Turner <sean@sn3rd.com>, tls-chairs <tls-chairs@ietf.org>, "<tls@ietf.org>" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="001a113b0328bb08110566e669ea"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/TgL58I3epwszWYhD5eVaxxOS10k>
Subject: Re: [TLS] Spencer Dawkins' No Objection 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: Thu, 08 Mar 2018 13:11:32 -0000

On Wed, Mar 7, 2018 at 9:25 PM, Spencer Dawkins <
spencerdawkins.ietf@gmail.com> wrote:

> Spencer Dawkins has entered the following ballot position for
> draft-ietf-tls-tls13-26: No Objection
>
> 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:
> ----------------------------------------------------------------------
>
> Nice work. Of course, no one reads a 150-page document without wondering
> about
> a few things ...
>
> I suspect that
>
>    Because
>    TLS 1.3 changes the way keys are derived it updates [RFC5705] as
>    described in Section 7.5 it also changes how OCSP messages are
>    carried and therefore updates [RFC6066] and obsoletes [RFC6961] as
>    described in section Section 4.4.2.1.
>
> is a run-on sentence. Perhaps a period after "section 7.5"?
>

Thanks, yes.



Is "forward secrecy" (the term used in this draft) the same thing as
> "perfect
> forward secrecy" (the term I hear most often, and it does appear in one
> reference title)?
>

Close enough. The basic problem is that people get hung up on "perfect".
So, consider the case where you generate a fresh DH key every hour or
so, but you reuse it for that period. It's clear you get forward secrecy
once that key s deleted but is that "perfect" because you have a window
of exposure uring that hour? So, we just decided to use "forward secret"

The use of "mandatory" as the name of a vector in
>
>   In the following example, mandatory is a vector that must contain
>    between 300 and 400 bytes of type opaque.
>
> was pretty hard to parse until I read further. Did anyone else find that
> confusing?
>

I don't :)


In this text,
>
>   When multiple extensions of different types are present, the
>    extensions MAY appear in any order, with the exception of
>    "pre_shared_key" Section 4.2.11 which MUST be the last extension in
>    the ClientHello.  There MUST NOT be more than one extension of the
>    same type in a given extension block.
>
> I didn't see what to do if the MUST NOT is violated. Is that worth
> mentioning?
>

I don't think it's necessary. In general, you can always abort on a protocol
violation like this, but there's no known reason you would *need* to, other
than it would create interop problems if (say) A thinks extension #1 matters
and B thinks #2 matters, but of course there are lots of possible causes
of interop. This is different from cases where there are clear security
problems if you don't check some value or something.


> In this text,
>
>    An
>    implementation which receives any other change_cipher_spec value or
>    which receives a protected change_cipher_spec record MUST abort the
>    handshake with an "unexpected_message" alert.  A change_cipher_spec
>    record received before the first ClientHello message or after the
>    peer's Finished message MUST be treated as an unexpected record type.
>
>    Implementations MUST NOT send record types not defined in this
>    document unless negotiated by some extension.  If a TLS
>    implementation receives an unexpected record type, it MUST terminate
>    the connection with an "unexpected_message" alert.  New record
>    content type values are assigned by IANA in the TLS Content Type
>    Registry as described in Section 11.
>
> I wondered if there was a difference between an unexpected record type and
> and
> unexpected message.
>

Ah, good. One alert for two conditions:

1. An unexpected record type at the record layer.
2. An unexpected handshake message.


I wondered why
>
>    Newer
>    clients or servers, when communicating with newer peers, SHOULD
>    negotiate the most preferred common parameters.
>
> was not a MUST.
>

Ugh, this is actually not even a normative statement, It's just a statement
of
what the protocol is supposed to do. Good catch!

-Ekr