Re: Benjamin Kaduk's Yes on draft-ietf-quic-invariants-12: (with COMMENT)
Benjamin Kaduk <kaduk@mit.edu> Wed, 06 January 2021 05:47 UTC
Return-Path: <kaduk@mit.edu>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A2E4C3A109A; Tue, 5 Jan 2021 21:47:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.919
X-Spam-Level:
X-Spam-Status: No, score=-1.919 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 DZEau2Fpx9XS; Tue, 5 Jan 2021 21:47:27 -0800 (PST)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B2BE53A0F0A; Tue, 5 Jan 2021 21:47:25 -0800 (PST)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 1065lHqK014816 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 6 Jan 2021 00:47:22 -0500
Date: Tue, 05 Jan 2021 21:47:17 -0800
From: Benjamin Kaduk <kaduk@mit.edu>
To: Lucas Pardue <lucaspardue.24.7@gmail.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-quic-invariants@ietf.org, WG Chairs <quic-chairs@ietf.org>, QUIC WG <quic@ietf.org>, Mark Nottingham <mnot@mnot.net>
Subject: Re: Benjamin Kaduk's Yes on draft-ietf-quic-invariants-12: (with COMMENT)
Message-ID: <20210106054717.GX93151@kduck.mit.edu>
References: <160982259946.30135.11719737696440125670@ietfa.amsl.com> <CALGR9oa4LmarMSMPPMbJtA-+yhEVRQedaVDD0EJo45N9VS8J2A@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CALGR9oa4LmarMSMPPMbJtA-+yhEVRQedaVDD0EJo45N9VS8J2A@mail.gmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/tKWeigSBU3h_6V6qOBFYuPFsXlM>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 06 Jan 2021 05:47:29 -0000
Hi Lucas, Martin, Due to a screw-up on my end with the datatracker "send mail" interstitial, my reballot to add a couple more comments didn't get sent out as planned (before you made your pass through them and sent this note). They are still available in the datatracker, but for simplicity I'll just paste them here. Hopefully my error did not cause too much disruption in your workflow, and thank you again for doing the translation into github issues. -Ben %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% I think we would benefit from some clarity about the client's response to a Retry. Specifically, is the client expected to use the same ClientHello from the first Initial, in the Initial generated in response to the Retry? I did not see any notes about, e.g., transport parameter values sent by the client changing in response to Retry, and since the Connection IDs change it seems that we might fall under the Random (and key share) reuse considerations for TLS. Abstract I think this document also specifies some generic bits about how QUIC uses cryptography, that are not directly related to TLS integration. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% On Wed, Jan 06, 2021 at 03:31:22AM +0000, Lucas Pardue wrote: > Hi Ben, > > Thanks for the review. I've captured your comments as issues on the QUIC WG > GItHub repository. Links to each are provided as in-line responses. > > On Tue, Jan 5, 2021 at 4:56 AM Benjamin Kaduk via Datatracker < > noreply@ietf.org> wrote: > > > Benjamin Kaduk has entered the following ballot position for > > draft-ietf-quic-invariants-12: 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-quic-invariants/ > > > > > > > > ---------------------------------------------------------------------- > > COMMENT: > > ---------------------------------------------------------------------- > > > > My PR at https://github.com/quicwg/base-drafts/pull/4473 > > contains one editorial suggestion for this document. > > > > Section 5.2 > > > > Should we call out that the short header admits a zero-length > > Destination Connection ID, implying that there will not always be a > > visible connection ID? > > > > https://github.com/quicwg/base-drafts/issues/4508 > > > > Section 5.3 > > > > In the discussion of DTLS 1.2 connection IDs we had a fair bit of > > discussion about what "opaque" means, whether any internal structure > > (e.g., when variable-length CIDs are used) must be self-delineating, > > which endpoint(s) need to know the self-delineating format, etc.. This > > was largely in the context of what data is used as input to the MAC for > > non-AEAD cipher modes (in the document as sent to the IESG by the WG, > > the party that does not know the CID structure could be convinced to > > generate a MAC using a modified CID and create a MAC value that would be > > valid for a different plaintext, leading to a change in where the > > cid_length field is placed in the input), and I don't expect the topics > > we discussed to lead to any change in the text here. The only possible > > thing I could think of is that the field is "opaque" at the protocol > > level but may have internal structure known to the endpoint that chooses > > it (but that's arguably self-evident). > > > > https://github.com/quicwg/base-drafts/issues/4509 > > > > Section 6 > > > > Only the most significant bit of the first byte of a Version > > Negotiation packet has any defined value. The remaining 7 bits, > > labeled Unused, can be set to any value when sending and MUST be > > ignored on receipt. > > > > What's the motivation behind leaving it totally free for the sender to > > pick values, as opposed to recommending or mandating that the bits be > > set to zero? > > > > Version Negotiation packets do not use integrity or confidentiality > > protection. Specific QUIC versions might include protocol elements > > that allow endpoints to detect modification or corruption in the set > > of supported versions. > > > > Are these protocol elements expected to be in the version negotiation > > packet or elsewhere? > > > > randomly selected by a client. Echoing both connection IDs gives > > clients some assurance that the server received the packet and that > > the Version Negotiation packet was not generated by an off-path > > attacker. > > > > (I agree with Martin D about the terminology question here and in > > Section 7, which is the location he remarked upon.) > > > > https://github.com/quicwg/base-drafts/issues/4510 > > > > Section 7 > > > > The Version Negotiation packet described in this document is not > > integrity-protected; it only has modest protection against insertion > > by off-path attackers. An endpoint MUST authenticate the contents of > > a Version Negotiation packet if it attempts a different QUIC version > > as a result. > > > > Can we give some indication of how this authentication might be done? > > > > https://github.com/quicwg/base-drafts/issues/4511 > > > > Appendix A > > > > * The Version field in a QUIC long header is the same in both > > directions > > > > (I note that this implicitly assumes there are only two directions. We do > > explicitly assume there are only two parties involved, so perhaps this > > is acceptable.) > > > > > https://github.com/quicwg/base-drafts/issues/4512 > > Cheers, > Lucas > On behalf of QUIC WG Chairs
- Benjamin Kaduk's Yes on draft-ietf-quic-invariant… Benjamin Kaduk via Datatracker
- Re: Benjamin Kaduk's Yes on draft-ietf-quic-invar… Lucas Pardue
- Re: Benjamin Kaduk's Yes on draft-ietf-quic-invar… Benjamin Kaduk
- Re: Benjamin Kaduk's Yes on draft-ietf-quic-invar… Benjamin Kaduk