[TLS] Re: draft-ietf-tls-dtls-rrc-15 ietf last call Tsvart review
Colin Perkins <csp@csperkins.org> Mon, 16 June 2025 13:03 UTC
Return-Path: <csp@csperkins.org>
X-Original-To: tls@mail2.ietf.org
Delivered-To: tls@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id B3AA7357420B; Mon, 16 Jun 2025 06:03:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=csperkins.org
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id joMNMgbuxOHj; Mon, 16 Jun 2025 06:03:21 -0700 (PDT)
Received: from mx1.mythic-beasts.com (mx1.mythic-beasts.com [IPv6:2a00:1098:0:86:1000:0:2:1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id B4C38357404A; Mon, 16 Jun 2025 06:02:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=csperkins.org; s=mythic-beasts-k1; h=Date:Subject:To:From; bh=OVBPqfoTa6WwV3cMtz6lrwkv7JYMRxEUGJ/f+aNDHSg=; b=ib3tSk7OakU5/KuOpMbYu6I5Rb HK99U+Z7B1P63+96uqj7+AbpmefwrCVWWhhFAtC8ml5eY+hlLK9iApaN4la6+hdQy+F4pHzv/SiRi kEjT+FQUkWlKZAC6s5S6ywqBWQmxIzy+Xy8fi5P4uR7Bbfh0Pg38j/wV+2E24FlvdQrIFboZ0C5o9 h2wGNcrrs8EwSm48DrMJX5ivYk4a7E0PKNJpWRHjU5dYhYaRTtI15AB5dfcnEqrSxVtr2MTa01zUh C37J90ehtJmCmIGwzFB2CSt9Ob7tcX7XNU/orFjFHNGpYYggAnLOg+/WPogo1ENJU2Dl3lnKuZrmh DGo0j9gA==;
Received: by mailhub-cam-d.mythic-beasts.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <csp@csperkins.org>) id 1uR9TW-001m02-FO; Mon, 16 Jun 2025 14:02:10 +0100
From: Colin Perkins <csp@csperkins.org>
To: Thomas Fossati <thomas.fossati@linaro.org>
Date: Mon, 16 Jun 2025 14:02:06 +0100
X-Mailer: MailMate (2.0r6255)
Message-ID: <E35D3B4B-CF51-47FF-8D88-2C8B93F18342@csperkins.org>
In-Reply-To: <gbouwhtzpsic5j4yzzaiu3nl5lq3osd6ivuo7lom3wh4r7kdz2@iayeheoquqig>
References: <174973169765.4169355.2905346214627995584@dt-datatracker-59b84fc74f-84jsl> <gbouwhtzpsic5j4yzzaiu3nl5lq3osd6ivuo7lom3wh4r7kdz2@iayeheoquqig>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"; markup="markdown"
Content-Transfer-Encoding: quoted-printable
X-BlackCat-Spam-Score: 0
Message-ID-Hash: ZMG4E626MECFHCX3VXXEK2DBUKXUOYJV
X-Message-ID-Hash: ZMG4E626MECFHCX3VXXEK2DBUKXUOYJV
X-MailFrom: csp@csperkins.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tls.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: tsv-art@ietf.org, draft-ietf-tls-dtls-rrc.all@ietf.org, last-call@ietf.org, tls@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: draft-ietf-tls-dtls-rrc-15 ietf last call Tsvart review
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/LkXmjzZsLsQk0q_PVzAA6guUQiM>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Owner: <mailto:tls-owner@ietf.org>
List-Post: <mailto:tls@ietf.org>
List-Subscribe: <mailto:tls-join@ietf.org>
List-Unsubscribe: <mailto:tls-leave@ietf.org>
Hi, On 13 Jun 2025, at 14:34, Thomas Fossati wrote: > Hi Colin, thanks very much for your thorough review. > > On Thu, Jun 12, 2025 at 05:34:57AM +0100, Colin Perkins via Datatracker wrote: >> [...] >> >> Section 6 describes the basic and enhanced path validation procedures, >> and states that “The decision on what strategy to choose depends mainly >> on the threat model, but may also be influenced by other >> considerations. Examples of impacting factors include: the need to >> minimise implementation complexity, privacy concerns, and the need to >> reduce the time it takes to switch path. The choice may be offered as a >> configuration option to the user of the TLS implementation”. I agree >> that those factors influence the decision on what to implement, but I >> was surprised that the draft did not give clearer guidance on whether >> the basic or enhanced check was recommended. > > At present, we do not have sufficient operational experience to make a > recommendation. Okay, sure. I’d expect a new implementer to have less experience, so they might benefit from even preliminary guidance, but I’ll leave the decision to the working group. >> Section 6.3 states that the return_routability_check messages MAY be >> sent multiple times to account for packet loss. This is appropriate, >> but I would expect to see some guidance on how often and how frequently >> these packets should be resent. For example, should the initiator send >> the message when the timer expires, or after one RTT, or more often? >> Appropriate timing is likely to be application dependent, since some >> applications are more sensitive to path change latency than others, but >> some guidance (perhaps once per RTT, up to the anti-amplification >> limit?) might be appropriate. > > Great suggestion. > > https://github.com/tlswg/dtls-rrc/pull/94/commits/cfd08fac2fc4f44104f4f Look good, thanks! >> Section 6.3 states that “Each path_challenge message MUST contain >> random data”. I presume the intent is that each path_challenge message >> contains a new cookie with random contents, rather than a single random >> cookie being generated once and resent in each retransmission, but it >> would be helpful to clarify. > > Both should work fine. Okay. >> Section 6.4 states “The initiator MUST NOT enforce this behaviour”, but >> I didn’t understand how the initiator could enforce the behaviour, >> since it seems that the responder that makes the decision. Suggest to >> either remove or clarify the intent. > > Good catch! What happened is that very early in the history of the > document, we had that statement to mean that the initiator should keep > quiet if the responder was doing funky stuff (i.e., sending on another > path than the one from where it received the challenge.) To clarify it, > we added the line below: "The initiator MUST silently discard [...]" but > then forgot to remove that one :-( > > https://github.com/tlswg/dtls-rrc/pull/94/commits/d074a77565eb33d8885c8 Thanks. >> Section 6.4 states that “The initiator MUST silently discard any >> invalid path_response or path_drop it receives” – this is appropriate, >> but I wonder what would happen if another NAT rebinding occurred while >> the check was ongoing, such that the path_response arrived from neither >> the original address nor the new address but rather from a third >> address? Would this be counted as invalid, would it move the path to >> the third address, or would it trigger another check? > > The current algorithm is not designed to handle nested rebindings. > If this occurs (hopefully rarely), the path_response message is dropped, > and path validation eventually times out. The address is not updated, > and a new path validation will be triggered when new data is received. I’d also expect this to be an uncommon occurrence, so there’s likely to need to optimise the behaviour further. It might be helpful to include the above explanation though, just to be clear that the protocol doesn’t fail in that case? >> In Section 6.5, clarify whether the “active path” refers to the old >> path or the new path. > > It's the old. > > https://github.com/tlswg/dtls-rrc/pull/94/commits/43ff37957017e123ee154 > > > You can take a look at the rfcdiff of the cumulative changes here: > https://author-tools.ietf.org/api/iddiff?doc_1=draft-ietf-tls-dtls-rrc&url_2=https://tlswg.github.io/dtls-rrc/tsvart/draft-ietf-tls-dtls-rrc.txt > > cheers, thanks again! Thanks! Cheers, Colin
- [TLS] draft-ietf-tls-dtls-rrc-15 ietf last call T… Colin Perkins via Datatracker
- [TLS] Re: draft-ietf-tls-dtls-rrc-15 ietf last ca… Thomas Fossati
- [TLS] Re: draft-ietf-tls-dtls-rrc-15 ietf last ca… Colin Perkins
- [TLS] Re: draft-ietf-tls-dtls-rrc-15 ietf last ca… Thomas Fossati
- [TLS] Re: draft-ietf-tls-dtls-rrc-15 ietf last ca… Colin Perkins