Re: [TLS] John Scudder's No Objection on draft-ietf-tls-dtls-connection-id-11: (with COMMENT)
Eric Rescorla <ekr@rtfm.com> Tue, 20 April 2021 21:32 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 E1C443A1CE0 for <tls@ietfa.amsl.com>; Tue, 20 Apr 2021 14:32:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.895
X-Spam-Level:
X-Spam-Status: No, score=-1.895 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_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 cXshvd0a3S0j for <tls@ietfa.amsl.com>; Tue, 20 Apr 2021 14:32:27 -0700 (PDT)
Received: from mail-il1-x12b.google.com (mail-il1-x12b.google.com [IPv6:2607:f8b0:4864:20::12b]) (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 149163A1CDA for <tls@ietf.org>; Tue, 20 Apr 2021 14:32:27 -0700 (PDT)
Received: by mail-il1-x12b.google.com with SMTP id c15so33303868ilj.1 for <tls@ietf.org>; Tue, 20 Apr 2021 14:32:27 -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=okVWfNG7RKkU9c8NLKb+5Ukufz+XuZo9qnRXmdy2W1s=; b=u1ZHhJzL0KhOanIFV5liT9cSEzyCho+g19kWrUGxS/Ufd2+RNVJwdr2aN4UIK1aahf JKNY3TCSqL0Jj4vPXBdKJ+xaeVjsj0/XSmVWTPo/HYC0gwUDsx/XPjBsyiD/w9kGHzx/ HRegDbUv4x5oYXzntTjSqSS/gYGj9Ufga1HIGmBWl2PG/NnXKeCPcBVUb2FjVVk521V8 rfOJcgAAQgavMlcO8N9nzaTzzUDt5NkPvyUrR+MwkaeYxdrRKweZ5Un04i9k92/fXFOK x45g2kelCMi2FlNrzfvRXMTUg4nAhyuQQDFzWLLFJ9tKduHteoyUCCferpQqIbw3Clt4 WFmA==
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=okVWfNG7RKkU9c8NLKb+5Ukufz+XuZo9qnRXmdy2W1s=; b=FA/xUNm56P3TQUxDPM6mep2KKAf1tip1BRb9fXolQ2sCPlJFW32CMoNDzFI6L1oP09 40SzMs6Gt1UA4dOasLeuvRwdhT6RVQBoMKTG/tX+wRt5ZVjK8vDNxJ+KRInd+Lr6wh2O HEGgSB2k1Rkpjci4FYN6yaHwVvyaL+ROjvshq6JIpz8jsog9BOul+bR8RGjjtWsaCgBt We8oDAHNPlJT9XlSpn5JM+9/4Hs8bLZYfi9z4JypSzy7LpfrckExaOXQrwfUFPCYwEwI JvKtr9OlblF+CM42VNZOWqtWwsQ/GMeOEbDvkT8CtE8l0A4SnwyfvxAHNzmY1/OTueG8 dv2w==
X-Gm-Message-State: AOAM533hcORDmKPapZ22J0BBIPwUhXp1fzSl4Qjxmmg9WT4bBR2B9zMF aWoSjWufTYrsg5ys2VZC681KkT817rtufDmE0mW6RQ==
X-Google-Smtp-Source: ABdhPJwvOQuAA5oMxy9L651CRUUo8CIfLurDHgP2pF3BttEKS7GHIR4SPtUSV5wZtHMOl+H1m/9uC/7DAy2oXEOz2G4=
X-Received: by 2002:a05:6e02:20ef:: with SMTP id q15mr24571420ilv.167.1618954345543; Tue, 20 Apr 2021 14:32:25 -0700 (PDT)
MIME-Version: 1.0
References: <161895297137.8190.2910970787366433858@ietfa.amsl.com>
In-Reply-To: <161895297137.8190.2910970787366433858@ietfa.amsl.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Tue, 20 Apr 2021 14:31:49 -0700
Message-ID: <CABcZeBNZOd2ophiubxkLSuvZXyuSRJKQCxjqm3J=9-fWpWWg2A@mail.gmail.com>
To: John Scudder <jgs@juniper.net>
Cc: The IESG <iesg@ietf.org>, draft-ietf-tls-dtls-connection-id@ietf.org, tls-chairs <tls-chairs@ietf.org>, "<tls@ietf.org>" <tls@ietf.org>, Joseph Salowey <joe@salowey.net>
Content-Type: multipart/alternative; boundary="000000000000ac96ff05c06e2e97"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/uZUBu-rQtx2LECVx8OPeIXKaTTg>
Subject: Re: [TLS] John Scudder's No Objection on draft-ietf-tls-dtls-connection-id-11: (with 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: Tue, 20 Apr 2021 21:32:32 -0000
On Tue, Apr 20, 2021 at 2:09 PM John Scudder via Datatracker < noreply@ietf.org> wrote: > John Scudder has entered the following ballot position for > draft-ietf-tls-dtls-connection-id-11: 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 DISCUSS and COMMENT positions. > > > The document, along with other ballot positions, can be found here: > https://datatracker.ietf.org/doc/draft-ietf-tls-dtls-connection-id/ > > > > ---------------------------------------------------------------------- > COMMENT: > ---------------------------------------------------------------------- > > I found this document heavy sledding but once I was through it, it all came > together, with the exception of my #3, below. The “heavy sledding” part I > think > would be largely fixed by addressing my #1, below. > > 1. Section 3: > > This pseudocode is a little too pseudo for me: > > struct { > opaque cid<0..2^8-1>; > } ConnectionId; > > What does the content of the angle brackets mean? At first I took it to > mean > “this can take on a value from 0 to 255” [*] but parts of the spec that go > on > about variable lengths made me think that couldn’t be right. Eventually, by > paging through RFC 5246, I found some explanations of what this stuff is > supposed to mean; in §4.3 of that RFC I found out that > > Variable-length vectors are defined by specifying a subrange of legal > lengths, inclusively, using the notation <floor..ceiling>. When > these are encoded, the actual length precedes the vector's contents > in the byte stream. The length will be in the form of a number > consuming as many bytes as required to hold the vector's specified > maximum (ceiling) length. > > I assume this is what’s going on in DTLS as well. This cleared up my main > source of confusion, which was regarding just how you were encoding these > variable-length CIDs anyway. (And oh by the way, that definition doesn’t > say > what the units of length are. Bytes seems implied but isn’t explicit.) > > While I don’t expect you to supply these definitions again, it would be > courteous to your readers to have a sentence or two explaining that > pseudo-code > conventions are found in RFC 5246, special extra credit for section > references > as well. And yes, I did notice "This document assumes familiarity with > DTLS 1.2 > [RFC6347].” That’s well and good, but I don’t think “familiarity” is the > same > as “we have adopted the same notational conventions” > This seems like a pretty basic assumption. These aren't just notational conventions or pseudo-code. They're the protocol description language that TLS is defined in. If one isn't familiar with how to read this syntax, then you really don't have much of a hope of correctly implementing this specification. > [*] By the way, why not just use “255” in the text instead of “2^8-1”? > Eschew > obfuscation! > Which one of these is clearer seems like a question of taste, I should think. It's worth noting that because the length prefix is determined by the ceiling, arguably 2^8-1 is clearer. 2. Section 3: > > If DTLS peers have negotiated the use of a non-zero-length CID for a > given direction, then once encryption is enabled they MUST send with > the record format defined in {{dtls-ciphertext} with the new MAC > computation defined in Section 5 and the content type tls12_cid. > Plaintext payloads never use the new record type and the CID content > type. > > What’s “{{dtls-ciphertext}”? I’m guessing just a botched xref? > Yes, presumably. Looks like I forgot a }}. Also, the first sentence seems to have no object. (What MUST they send?) > send anything, but I suppose "send records". I can make a change. 3. Section 6: > > * There is a strategy for ensuring that the new peer address is able > to receive and process DTLS records. No such strategy is defined > in this specification. > > This is a little mind-boggling to me. I understand this to mean I can’t > send > the new address a DTLS record unless I’ve already ensured it can receive > and > process that record, right? This seems almost like a classic Catch-22. I > feel > like I must be missing something. This specification *only* allows you to mux, but doesn't allow you to migrate. We could probably make this point clearer. -Ekr
- [TLS] John Scudder's No Objection on draft-ietf-t… John Scudder via Datatracker
- Re: [TLS] John Scudder's No Objection on draft-ie… Eric Rescorla
- Re: [TLS] John Scudder's No Objection on draft-ie… John Scudder
- Re: [TLS] John Scudder's No Objection on draft-ie… Eric Rescorla
- Re: [TLS] John Scudder's No Objection on draft-ie… Rob Sayre
- Re: [TLS] John Scudder's No Objection on draft-ie… John Scudder
- Re: [TLS] John Scudder's No Objection on draft-ie… John Scudder
- Re: [TLS] John Scudder's No Objection on draft-ie… Achim Kraus
- Re: [TLS] John Scudder's No Objection on draft-ie… Hannes Tschofenig
- Re: [TLS] John Scudder's No Objection on draft-ie… Hannes Tschofenig
- Re: [TLS] John Scudder's No Objection on draft-ie… Hannes Tschofenig