Re: Andrew Alston's Discuss on draft-ietf-quic-bit-grease-04: (with DISCUSS)

Martin Thomson <mt@lowentropy.net> Mon, 04 July 2022 23:21 UTC

Return-Path: <mt@lowentropy.net>
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 9436FC14F73A; Mon, 4 Jul 2022 16:21:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.127
X-Spam-Level:
X-Spam-Status: No, score=-7.127 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_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b=wQfkb1Wx; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=Hx7qhhE+
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kX-COaXJVtmi; Mon, 4 Jul 2022 16:21:08 -0700 (PDT)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 33654C14F721; Mon, 4 Jul 2022 16:21:07 -0700 (PDT)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 3AAB75C00E7; Mon, 4 Jul 2022 19:21:07 -0400 (EDT)
Received: from imap41 ([10.202.2.91]) by compute3.internal (MEProxy); Mon, 04 Jul 2022 19:21:07 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=cc:cc:content-transfer-encoding:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1656976867; x= 1657063267; bh=BGe1nZFaLEbdtitV0BaQMpX9VzFhp8q5ef97UCT/Uio=; b=w Qfkb1Wx7vc8xm4qEBHtB7Ct80VUOyaMB9av6QBWjO8TUsM4/t9TmNiLULsnPGYOd vzA1r6/YBm0Tl4deteGYxcmz7QxKfJr58yFpekT+qPP8N+9T4XcaFseWmboSm7uk s2HKpW5y9wTxpmWZA0SSUg0ea1C3vaJbXIRvCIKmfnDe8Chjs0LJPTRoR90a0/13 k6xxWGPIG74whm8tphDrgDKfQvSW6ocHAW9DwP0t2s/0ivxdYBHd2+hmQNTZotUC DMZt23QOEHUZiz7EO4vM6i7xmMm+NrOfm3ffRIk+FbmagesenSrU/AehzET7CK8W n4EcnjyoJwVsiDls+fGAg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1656976867; x= 1657063267; bh=BGe1nZFaLEbdtitV0BaQMpX9VzFhp8q5ef97UCT/Uio=; b=H x7qhhE+ax8iiZFzZ+nMp2GEMVC1/jTF/RZLGvzQt2drrL1LegY5BM7t5jDbD6HWy DyVUnXPCoqjx1jRV/XaQnL3DX1X8TC9WnGzsY5AsXbSDEQNbDCCruh+xU9NjX2Aa pFhwkPn8TfF4LuNDc0zII8pPwdLpjbpMmOM9TmowAt5gcehDJoS9K8PfMkXwogCa 0Kauf9ICbgRtqV6CamYIbqeRiklLiY2zDHcCjRYtlN0Rh0y6itZ5F2tBNu0w//n8 bE68w5zgh41klXv4TApd0jcTNReL7+j1P7/J/fppMGS3gxDg8MlV17JxvNutPbW3 zc/B2TsSnxe0j52RPZq0g==
X-ME-Sender: <xms:4nXDYmd1XozAq-4vbzEvJvcC2D5Lf9M6sSl0rSzj84Vtq_VcZ4-ZgQ> <xme:4nXDYgOjnHZ6i1OWlELHejB2j8EBuhkqFu_BfA6Zk4s_iMo9vyRnk2aT98mz9LhlI 1u-vIlv9z3_fZE75oY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudeitddgudekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtgfesthhqredtreerjeenucfhrhhomhepfdfo rghrthhinhcuvfhhohhmshhonhdfuceomhhtsehlohifvghnthhrohhphidrnhgvtheqne cuggftrfgrthhtvghrnhepkeeugfdvgedtueffveejleettdehheejheevfeeiieetgfdu geelleffiefhvdetnecuffhomhgrihhnpehgihhthhhusgdrtghomhdpihgvthhfrdhorh hgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhht sehlohifvghnthhrohhphidrnhgvth
X-ME-Proxy: <xmx:4nXDYnhyShOSYRjzeWth26sl8hrZiw93jufqgIyQIp-Mk-E_Snfk-Q> <xmx:4nXDYj_5DfUS1YG4NuL0V21HXU2MJmcIywTesTRgoRcsDnnO6j3pJA> <xmx:4nXDYit-OYmyqdTx91cJDWvFYCNI5EENpw2nIfZrRSkFaaocSV7CMw> <xmx:43XDYkLYg1CW6b5Qt73YXCxzubYV-2dxIa7p9WMo3Uviponr5XZXoA>
Feedback-ID: ic129442d:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 45456234007E; Mon, 4 Jul 2022 19:21:06 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.7.0-alpha0-713-g1f035dc716-fm-20220617.001-g1f035dc7
Mime-Version: 1.0
Message-Id: <74f63414-ebd7-4830-b64c-f85872148999@beta.fastmail.com>
In-Reply-To: <AM7PR03MB6451AD6950AA36207E4EDFA0EEBE9@AM7PR03MB6451.eurprd03.prod.outlook.com>
References: <165659352834.26475.4217014570058234110@ietfa.amsl.com> <dc5b2368-f66e-4774-a972-68d93841549e@beta.fastmail.com> <CALGR9oa_aqt52OPZSZi184QX1WCQZA3YhWmFygdGqzkfKgbMUQ@mail.gmail.com> <AM7PR03MB6451AD6950AA36207E4EDFA0EEBE9@AM7PR03MB6451.eurprd03.prod.outlook.com>
Date: Tue, 05 Jul 2022 09:20:49 +1000
From: Martin Thomson <mt@lowentropy.net>
To: Andrew Alston - IETF <andrew-ietf=40liquid.tech@dmarc.ietf.org>, Lucas Pardue <lucaspardue.24.7@gmail.com>
Cc: Andrew Alston <andrew-ietf@liquid.tech>, The IESG <iesg@ietf.org>, "draft-ietf-quic-bit-grease@ietf.org" <draft-ietf-quic-bit-grease@ietf.org>, WG Chairs <quic-chairs@ietf.org>, QUIC WG <quic@ietf.org>
Subject: Re: Andrew Alston's Discuss on draft-ietf-quic-bit-grease-04: (with DISCUSS)
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/CUcaOTJxHn40zoO7GWVnyqMosF0>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
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: Mon, 04 Jul 2022 23:21:12 -0000

I've prepared two versions:

Something like what Lucas said: https://github.com/quicwg/quic-bit-grease/pull/30
Minimal: https://github.com/quicwg/quic-bit-grease/pull/29

I'll leave this to those that had more trouble with the language to let me know what they prefer.


On Mon, Jul 4, 2022, at 19:07, Andrew Alston - IETF wrote:
> Sorry for the delayed response,
> 
> I think Lucas’s statement is fair here – so if we can agree on t hat – 
> I’d be ok with clearing my discuss on this one 
> 
> Thanks
> 
> Andrew
> 
> 
> *From:* Lucas Pardue <lucaspardue.24.7@gmail.com> 
> *Sent:* Friday, July 1, 2022 3:58 AM
> *To:* Martin Thomson <mt@lowentropy.net>
> *Cc:* Andrew Alston - IETF <andrew-ietf@liquid.tech>; The IESG 
> <iesg@ietf.org>; draft-ietf-quic-bit-grease@ietf.org; WG Chairs 
> <quic-chairs@ietf.org>; QUIC WG <quic@ietf.org>
> *Subject:* Re: Andrew Alston's Discuss on 
> draft-ietf-quic-bit-grease-04: (with DISCUSS)
> 
> Hey Martin, all,
> 
> I think you're correct in pointing out that the term unpredictable is a 
> term of art within the context of QUIC that this draft operates. 
> However, I find also in RFC 9000 that supporting text for various 
> unpredictable elements usually provides a justification or some 
> guidance. Arguably, the justification _is_ the entire document, but in 
> the context of other grease-like mechanisms in the IETF, it seems a 
> single bit might need a more holistic approach beyond just the value 
> itself. 
> 
> The closest parallel, for me, is the spin bit text that goes so far as saying 
>> [if your TPs let you randomize] It is RECOMMENDED that
>    endpoints set the spin bit to a random value either chosen
>    independently for each packet or chosen independently for each
>    connection ID.
> 
> Stating explicitly that the unpredictability can be per connection or 
> per packet might be all that's need to make the intent crystal clear, 
> while leaving the actual decisions to implementations.
> Cheers
> Lucas
> 
> 
> On Fri, Jul 1, 2022 at 12:45 AM Martin Thomson <mt@lowentropy.net> wrote:
>> I'm surprised at this question.  We used the word "unpredictable" in RFC 9000 a few times, with exactly this meaning and had no issue.  See for example:
>> 
>> > When an Initial packet is sent by a client that has not previously received an Initial or Retry packet from the server, the client populates the Destination Connection ID field with an unpredictable value.
>> 
>> Or
>> 
>> > To initiate path validation, an endpoint sends a PATH_CHALLENGE frame containing an unpredictable payload on the path to be validated.
>> 
>> Or
>> 
>> Stateless Reset {
>>   Fixed Bits (2) = 1,
>>   Unpredictable Bits (38..),
>>   Stateless Reset Token (128),
>> }
>> 
>> As you say, a bit can assume one of two values, 0 or 1.  Setting a bit to a predictable value would mean choosing 0 or 1 in a way that someone might be able to guess the next value.  Always 1, always 0, or alternating 0 and 1 are examples of predictable methods of selecting a value.  Setting a bit to an unpredictable value would mean setting it to either 0 or 1 such that someone else is unlikely to correctly guess the next value.  A random draw is unpredictable, but there are other methods that would also be unpredictable.
>> 
>> On Thu, Jun 30, 2022, at 22:52, Andrew Alston via Datatracker wrote:
>> > Andrew Alston has entered the following ballot position for
>> > draft-ietf-quic-bit-grease-04: 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/about/groups/iesg/statements/handling-ballot-positions/ 
>> > for more information about how to handle DISCUSS and COMMENT positions.
>> >
>> >
>> > The document, along with other ballot positions, can be found here:
>> > https://datatracker.ietf.org/doc/draft-ietf-quic-bit-grease/
>> >
>> >
>> >
>> > ----------------------------------------------------------------------
>> > DISCUSS:
>> > ----------------------------------------------------------------------
>> >
>> > Thanks for the work on this document,
>> >
>> > Hopefully this discuss will be relatively easy to resolve - and may result from
>> > a lack of understanding - but -
>> >
>> >    Endpoints that receive the grease_quic_bit transport parameter from a
>> >    peer SHOULD set the QUIC Bit to an unpredictable value unless another
>> >    extension assigns specific meaning to the value of the bit.
>> >
>> > Now, this is in reference to a bit - which can only be 0 or 1 - and the
>> > document further goes on to clarify certain situations where this bit should be
>> > set or unset - so I am not at all sure what this paragraph really means and
>> > hoping this can be clarified because I'm not sure how this will be interpreted
>> > on implementation.