Re: [TLS] John Scudder's Discuss on draft-ietf-tls-dtls13-41: (with DISCUSS and COMMENT)

Eric Rescorla <ekr@rtfm.com> Thu, 25 March 2021 03:42 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 95EBA3A0AB7 for <tls@ietfa.amsl.com>; Wed, 24 Mar 2021 20:42:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] 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 CIYech5l8P4G for <tls@ietfa.amsl.com>; Wed, 24 Mar 2021 20:42:33 -0700 (PDT)
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) (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 1654E3A0AB4 for <tls@ietf.org>; Wed, 24 Mar 2021 20:42:33 -0700 (PDT)
Received: by mail-lj1-x231.google.com with SMTP id r20so1345669ljk.4 for <tls@ietf.org>; Wed, 24 Mar 2021 20:42:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GZwQ8e5esECWzVzl3k2gyaqhFrUHz66lWjllgM6HJ+M=; b=t7MQoPaSgiZHNcAGeMvlJOCJQes3lS7ydT3c74Nji65gXsH5y0fsIWbXGqmKXJIU4D Ms3CuM+PhxN/3q/R7lMFaezgVSxYh7Ht5iTmdXpra2rcMXr2A6ZN22J/o7YCCsRyc5Nz TVadOabloL5VUeuAobSrBUKm3PrrYJwSwVuiB0r4Vj0nZi18bHHEeT4BKfzJyi12M53t qlqoc5brn5u9euD8DwF+8bAmMz+sbcgKs6uOyO0ESM6Z4Psk3gBbx4KMFONfrwkfFyO7 pPZfJON6yfMdK0mtOvYHXbJKLft4rKcPfDgRJtPfQdE5E5+K3zPQcW7uIeNrpFvfkVc2 px1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GZwQ8e5esECWzVzl3k2gyaqhFrUHz66lWjllgM6HJ+M=; b=n54YiVaHkkw6OxouPh1z6y7SoFBxhwKsGNv6oEncZE8zE8xRvyFuEE7cCgOQCxdAGE rZafvJ/pkjMdrrS+EHkmPgxZV3kVFrdrCdOThIBEqAQEYZtdIFYLI9/EvLmUQSw2CAYN rJegtRlc3MsuuxPzpyjaRHCiYBi1aATHpqvGgtAbwCxj8gqmS0QV/tBBnSgP3U369IwI +hvOj8tkb4A1TJ75mA5b48pTsDMmJbKsdagQF/6k4SLa0QIb6hsorBAn8UAQZ9C79mFC 7Vxjey3ad/kKd2jwxAuocZM/5n3ukmXuwvj1bjRnusPDdHKvY/GSi7+swLxuUnNZMHAz eQfA==
X-Gm-Message-State: AOAM530HNdd+NI8bzRMj266RJBjqVKEaz1zUdLRchx05E3Qmvb5HQhQ9 UU8mEzHubWEJsWrxY+CWu9alv/cTY5qG6JXGMpAdug==
X-Google-Smtp-Source: ABdhPJz6CwRH9z3ER0NfCk9jB84zVKLLPw2ACJxqFFsKKXUv74WmfUdo150RhZfecTPIOrnFxDh/pfBxw29kPt0NZFw=
X-Received: by 2002:a2e:9c12:: with SMTP id s18mr4079649lji.383.1616643749646; Wed, 24 Mar 2021 20:42:29 -0700 (PDT)
MIME-Version: 1.0
References: <161663872232.13687.13134368143187916628@ietfa.amsl.com>
In-Reply-To: <161663872232.13687.13134368143187916628@ietfa.amsl.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Wed, 24 Mar 2021 20:41:53 -0700
Message-ID: <CABcZeBNKin+5xeC-_+jBHTP_Bb56cbZHna10kZGo5Vnwcn7J7Q@mail.gmail.com>
To: John Scudder <jgs@juniper.net>
Cc: The IESG <iesg@ietf.org>, draft-ietf-tls-dtls13@ietf.org, tls-chairs <tls-chairs@ietf.org>, "<tls@ietf.org>" <tls@ietf.org>, Sean Turner <sean@sn3rd.com>
Content-Type: multipart/alternative; boundary="0000000000006d278905be543438"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/cevd9iH4R8TW-NJu_6Kpok2t0Ks>
Subject: Re: [TLS] John Scudder's Discuss on draft-ietf-tls-dtls13-41: (with DISCUSS and COMMENT)
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
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, 25 Mar 2021 03:42:38 -0000

On Wed, Mar 24, 2021 at 7:18 PM John Scudder via Datatracker <
noreply@ietf.org> wrote:

> John Scudder has entered the following ballot position for
> draft-ietf-tls-dtls13-41: Discuss
>
> 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-dtls13/
>
>
>
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
>
> Section 4.5.2:
>
>    Implementations which choose to generate an alert instead, MUST
>    generate error alerts to avoid attacks where the attacker repeatedly
>    probes the implementation to see how it responds to various types of
>    error.  Note that if DTLS is run over UDP, then any implementation
>
> I just don’t understand this, despite having hopped over to RFC 8446
> Sections 6
> and 6.2. Is the intention that “error alert” implies closure of the
> association? That doesn’t seem to be exactly what 8446 says — it says the
> receiver of the alert closes the connection, but it doesn’t mandate this
> for
> the sender (except in the case of “fatal alert” messages, where “fatal”
> seems
> like the exception that proves the rule).
>

> It may be that “everyone knows” an error alert is the same as termination,
> but
> it’s not obvious in the plain English of the text I reviewed. Or maybe I’m
> barking up the wrong tree and this isn't what the text quoted above is even
> driving at.
>

You're right. This should say "fatal alert".
https://github.com/tlswg/dtls13-spec/pull/219

-Ekr




>
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> Thanks for the well-written document. In particular I thought it was
> helpful
> that you noted important divergences from DTLS 1.2 in line and not just at
> the
> end.
>
> COMMENTS:
>
> Section 3.1:
>
> I found the explanatory text to be confusing. You start with a figure
> illustrating a lost HelloRetryRequest. Then you tell me the server
> maintains a
> rexmit timer:
>
>    The server also maintains a retransmission timer and retransmits when
>    that timer expires.
>
> But then you immediately tell me that it actually doesn’t:
>
>    Note that timeout and retransmission do not apply to the
>    HelloRetryRequest since this would require creating state on the
>    server.  The HelloRetryRequest is designed to be small enough that it
>    will not itself be fragmented, thus avoiding concerns about
>    interleaving multiple HelloRetryRequests.
>
> I presume that if I added some more words to this, your intent is that the
> server maintains a retransmission timer *for messages other than
> HelloRetryRequest*. As written, it gave me some whiplash.
>
> Section 4.2.1:
>
>    In general,
>    implementations SHOULD discard records from earlier epochs, but if
>    packet loss causes noticeable problems implementations MAY choose to
>    retain keying material from previous epochs for up to the default MSL
>    specified for TCP [RFC0793] to allow for packet reordering.
>
> It seems to me as though “if packet loss causes noticeable problems” is
> saying
> either too much, or not enough. Not enough: problems for whom? Noticeable
> by
> whom? How is this determined? Do you really mean I’m supposed to work this
> out
> dynamically as the text sort-of implies? Too much: if you’re not going to
> answer the foregoing, maybe don’t taunt me, and omit the clause entirely?
> Or,
> possibly a less vague rewrite could be in the nature of “if providing
> service
> to an application that is especially sensitive to packet loss”.
>
> NITS:
>
> Section 2:
>
> “The reader is also as to be familiar” s/as/assumed/
>
> Section 11:
>
>    Although the cookie must allow the server to produce the right
>    handshake transcript, they
>
> “It” not “they” (agreement in number)
>
> and
>
>    DTLS with connection IDs allow for endpoint addresses to
>    change during the association;
>
> “allows” not “allow” (agreement in number)
>
>
>
>