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

Martin Thomson <mt@lowentropy.net> Thu, 30 June 2022 23:45 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 A4E6EC15AAD2; Thu, 30 Jun 2022 16:45:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 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, 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=tCEB6tw/; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=frSRl1SZ
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 Qway-riiyEjE; Thu, 30 Jun 2022 16:45:47 -0700 (PDT)
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 98CB9C14792A; Thu, 30 Jun 2022 16:45:44 -0700 (PDT)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 6281B3200A2A; Thu, 30 Jun 2022 19:45:39 -0400 (EDT)
Received: from imap41 ([10.202.2.91]) by compute3.internal (MEProxy); Thu, 30 Jun 2022 19:45:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=cc:cc: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=1656632738; x=1656719138; bh=ei DCo2GJHGxoIyh4XtoxZdHVFZcPzh2aQHueisdlqeQ=; b=tCEB6tw/w0g0gdw7ri Faliqla+rnyFc6eNsYHrkUGJyODHuJld5XPJlCBpynfJmyRNtxIXsLbiC2Kvt8CZ pumXXrfeqZTVA4TdYoiuKBDeXryH8kNbb1huwOoSGC0DFDfsOXsk3+WJkVYVuR9+ 6GVqBxQpXf2pue+v0ZoC8qxMcGLjtLiVd1YBt1GI7jy15UOAOQbM2ePHWnHhm4/n oBQ9UBhPITInaTrL0l9a5O9EbfWwiacXkYi3Ji8MBPVTuKjS4E72tj5DFj4GYgE7 6VuD624se/3aDZRI9aCwxL4aKf1tWTtm0B3L6USC211C1OX6kwsivXiwdugN5ZrV fLJw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc: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=1656632738; x=1656719138; bh=eiDCo2GJHGxoIyh4XtoxZdHVFZcP zh2aQHueisdlqeQ=; b=frSRl1SZyz4lFi9C88kjsNx+8zldpucwrpDYXOY0lCDT KHReXbXQU3Yc9U2iNTuRUcnBwR2s8ne1RPykaMDFHcRRk79TQyglHzDerhMUgXtM e6r4SJT/Ytl1j0kEKpbk9KyIi6HPzE9NcsQGkphMtQ+H0e8b8xu0YGkicgnUF5vM /fM47j5PYMx5Zt7CdnQAkwpeRAfI+iglDtEWN2EubVjv4z+RBLXOH+O85fgi+OI8 YNUxVtLJYWEsRgw9ElXrqbdmY/yAu3IfKeVJMxgU69lDs1h0rqS+/XODtIROk07n tiCRgAcTKmBUInqLAbMCBJ9Evs3Va3NNVBaHyD8iWg==
X-ME-Sender: <xms:ojW-YuVXwW8exxaXYEWYgbwTxmRdyOVxnGXElzpyskkcWTMs4g7RQw> <xme:ojW-YqlGXC9oITBdowcKINFE3HzDcflnS95aBL-CMSQPtaTM83vRONHv_BOhquTgI fKJbM_YUU_I88A8zeo>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudehvddgvdejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedfofgr rhhtihhnucfvhhhomhhsohhnfdcuoehmtheslhhofigvnhhtrhhophihrdhnvghtqeenuc ggtffrrghtthgvrhhnpefhvddtveeuhfeigedtjeegveekuedtueejveeugedukedtlefg vdeludekuddvgeenucffohhmrghinhepihgvthhfrdhorhhgnecuvehluhhsthgvrhfuih iivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhhtsehlohifvghnthhrohhphidr nhgvth
X-ME-Proxy: <xmx:ojW-YiZE8rqJIFmU333meNTrahBJYwhL07PsdMZ4z3KWjthdKOnB7Q> <xmx:ojW-YlWUTE7vDSWKzkbkNW9IOJ0bUBoVAsXhdHcwNEfcBMDli8dFoQ> <xmx:ojW-YolKf9RgFQog-GSitfL0E9kN8AYRVAYQJ_xkUrBJRljTr2Hlbg> <xmx:ojW-Yihib21dM3oSD4lXwRRNiS9RMz6L10lciMrgEb1Kuf0p-0WAZg>
Feedback-ID: ic129442d:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 075AF2340077; Thu, 30 Jun 2022 19:45:38 -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: <dc5b2368-f66e-4774-a972-68d93841549e@beta.fastmail.com>
In-Reply-To: <165659352834.26475.4217014570058234110@ietfa.amsl.com>
References: <165659352834.26475.4217014570058234110@ietfa.amsl.com>
Date: Fri, 01 Jul 2022 09:45:18 +1000
From: Martin Thomson <mt@lowentropy.net>
To: Andrew Alston <andrew-ietf@liquid.tech>, The IESG <iesg@ietf.org>
Cc: draft-ietf-quic-bit-grease@ietf.org, WG Chairs <quic-chairs@ietf.org>, quic@ietf.org, Lucas Pardue <lucaspardue.24.7@gmail.com>
Subject: Re: Andrew Alston's Discuss on draft-ietf-quic-bit-grease-04: (with DISCUSS)
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/lmGyNe0uj0QAKBROR5q-MOmAMpg>
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: Thu, 30 Jun 2022 23:45:53 -0000

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.