Re: Is "Version Greasing" a new benfit or a new obstacle?

"Martin Thomson" <mt@lowentropy.net> Thu, 11 April 2019 01: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 B5A22120123 for <quic@ietfa.amsl.com>; Wed, 10 Apr 2019 18:45:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-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=VIOPAyhr; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=35ldoxGt
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 5-7A-oTfOp7h for <quic@ietfa.amsl.com>; Wed, 10 Apr 2019 18:45:11 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8E311120142 for <quic@ietf.org>; Wed, 10 Apr 2019 18:45:11 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 465F72013C for <quic@ietf.org>; Wed, 10 Apr 2019 21:45:10 -0400 (EDT)
Received: from imap2 ([10.202.2.52]) by compute1.internal (MEProxy); Wed, 10 Apr 2019 21:45:10 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type; s=fm1; bh=SobN1iHvhFoPskiFsqtKz4rRIj2020X PHxH4D0fEjjc=; b=VIOPAyhrW9SNVmWPzLQc/DDyYeNK7EmVWI6ruqoiHtMPLHK jAYzinQAIx4jhgkwB6mAbofyIKRtE/CFYOHdLHdh8xCQvVOfO3i5E4FUp22FvKEq cQzcLvh8G1PJfrHDSAtw/IbX9IoxIW3sslXkHfn9ZrI/9gs4a9jJIjwB1x31n1/0 2GGHwdvstltkTXEpcwkOhmuy0B+lBsxeIaw9CwhUlWh6xx2cfAFDdgaK1J2y3if/ nnBJ88AK6osHfuhTaekzbJcYsRCn6z7DlxtS9NdghiKVsFVKU7vpHJQgFSC8GZzk zj/bLZhoiV1XOjx47/Wej41v8sOWZSXDQEhnl0g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=SobN1i HvhFoPskiFsqtKz4rRIj2020XPHxH4D0fEjjc=; b=35ldoxGt+o3A5vn6yNtkes KcmFyXwSZVyqhfNOOy57mKJoWCk7Qni85b+kgw3GJmkugOecgd7yvU6URCGmdxey XXVETIMq3vOVmH4TOGvXcUj89VmWUhcjLrF5ZTsGO3pUuiX/NO/7uBFQVL4K8OOy XghNB8Cr/XMtCrE8LaU6zmQQYpABei7p49vuN9CAWrOJuK2yXjQDulP8+H+BSzYc NvZYFFH56QmMWE2s1HiUQ48nNv+eCoQzkQ7w0MSwV/+2jJvWIs52qp1yPoAYdTTK sIyDrdHFzizDJdxS9o5Hwsw1sOkZiCgv6XnRzqLkD3f1EKBUkYVY97q7lwLYw6Hw ==
X-ME-Sender: <xms:JZyuXK_ZBaauQVvB3T64ac3YRXc3fF8HoxrGu_-vsfrnpT51fmAEoQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrudekgdeghecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkjghffffhvffutgesthdtre dtreertdenucfhrhhomhepfdforghrthhinhcuvfhhohhmshhonhdfuceomhhtsehlohif vghnthhrohhphidrnhgvtheqnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmtheslhhofi gvnhhtrhhophihrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:JZyuXO_eiQLxFniQ-sUUjh8dVSWJF7e9MBYXZ-fMz4M90beSEfYh1w> <xmx:JZyuXLCS_Xp7-0JWREY28TLtSrmwGmmQJc53x1B6gClKfNShOQOuWg> <xmx:JZyuXGyeABnGLGhlMORHPobegMXxQYUBkuSFb7c_MFJ91S7E3JeHZA> <xmx:JpyuXKkJq1eccpvxKfFn1kQdpDMwbV6v1wmeEv__rApHykIDTdLxIQ>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id B109B7C1B9; Wed, 10 Apr 2019 21:45:09 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.1.6-329-gf4aae99-fmstable-20190329v1
Mime-Version: 1.0
X-Me-Personality: 92534000
Message-Id: <d749e9e5-301a-4dde-83f7-86a95e80ff07@www.fastmail.com>
In-Reply-To: <5CADADDD.7010005@erg.abdn.ac.uk>
References: <5CADADDD.7010005@erg.abdn.ac.uk>
Date: Wed, 10 Apr 2019 21:45:13 -0400
From: Martin Thomson <mt@lowentropy.net>
To: quic@ietf.org
Subject: Re: Is "Version Greasing" a new benfit or a new obstacle?
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/HLBimqT3vKXzNPF2hGVN6HFmeo0>
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: Thu, 11 Apr 2019 01:45:14 -0000

It's always possible to come up with a scenario where the network helps here, but the cost of help is the risk of harm.

I would cast this question differently: who has the right(?) to decide when a new version of the protocol is permitted?  The motivation behind this is that it is considerably more likely if only endpoints are involved in that process.

The architectural consequences of protecting a "clean" version negotiation process are what makes me positive about this change.  It is always possible to invent a new version negotiation process that looks very much like QUIC v1, but enables the use of v2.  That is what we ended up doing for the TLS 1.2 to 1.3 transition.  For instance, you could learn that you can negotiate QUICv2 by changing the case of certain characters in the server_name extension.  Or you could use the ordering of transport parameters to signal the support for an alternative version.  If you are willing to tolerate a risk of downgrade, then you can even negotiate different versions in a way that can't be detected without access to session keys.

I don't want to have to repeat the ugly hacks we had to add to TLS.  If we can deploy aliasing, I have a little hope that we can use the versionin gmechanism we have designed.

On Wed, Apr 10, 2019, at 18:48, G Fairhurst wrote:
> Obscuring the version of a protocol seems like a major design design 
> decision for wider use cases. So, I'm trying to understand the 
> motivation for version greasing.
> 
> (1) I know there were instances where some early versions of QUIC were 
> blocked due to an uninitentional matching of the header. Is there 
> evidence of intentional attempts to block updates to protocols?
> 
> (2) Thinking about operating a network that cares about user support and 
> protection from unwanted traffic, I would expect that there would be 
> cases where traffic pattern anomolies are found and the appropriate 
> thing would be to try to determine if a new protocol had been deployed 
> and monitor it, if not, then the next most obvious thing could be to 
> block all unexpected traffic, that seems like a decision to hide the 
> version could increase ossification for new versions in these cases.
> 
> (3) Similarly, if a threat is known to impact only a specific (older) 
> version, it would seem to motivate a drop of that traffic that seeks to 
> use that version, while still permitting other traffic. Forcing version 
> detection to use pattern matching/ML will lead to less predictable 
> outcomes, or blocking based on address, etc.
> 
> (4) This obfusticates the most basic piece of reporting information used 
> for support. It hides the extent of deployment of the current protocol 
> version and prevlance of old implementations.
> 
> (5) On the support, if a problem only emerges when a particular version 
> is used with a particular address, then this helps pinpoint the issues. 
> Matching client versions to servers is much more of an issue if the user 
> community uses a wide range of servers (less so, I expect for major 
> providers: google, facebook, etc, etc), but significant when there is a 
> use of a diverse set of external sites and sites with their own load 
> balancers, etc and a need to manage interactions with L2 services.
> 
> I am intersted in knowing if this is likely to benefit or be a new obstacle?
> 
> Gorry
> 
>