Re: QUIC ossification

Martin Thomson <mt@lowentropy.net> Tue, 12 February 2019 21:35 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 42915130DC2 for <quic@ietfa.amsl.com>; Tue, 12 Feb 2019 13:35:37 -0800 (PST)
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=R1X/e50n; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=EFRGUsQ3
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 X1zOrFHK4C92 for <quic@ietfa.amsl.com>; Tue, 12 Feb 2019 13:35:34 -0800 (PST)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EAF5F128CF2 for <quic@ietf.org>; Tue, 12 Feb 2019 13:35:33 -0800 (PST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 4867B2223B for <quic@ietf.org>; Tue, 12 Feb 2019 16:35:33 -0500 (EST)
Received: from web3 ([10.202.2.213]) by compute1.internal (MEProxy); Tue, 12 Feb 2019 16:35:33 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=message-id:from:to:mime-version:content-transfer-encoding :content-type:references:subject:in-reply-to:date; s=fm1; bh=AvB iNZlTq69uY6kyoiAwF4IkbsxR5xp6Cdv7ih7v5iw=; b=R1X/e50njSDGJm5Y10q ElBdGTiLt2kCgBEjmeYc+KixZe160UMuxONWB3TMvQWMYAAvpH/yGxlxnlUxZVB1 Is34G3nuEeaZStTXPjtGBytqNWt0DQ387kji5tteOiFJstiR+JvSCUjUXXTRkMLL Z1/MsT2AoiS1YDMW/Hu4ZX1pDbC2snZ+OuXFLDOt3NEUy/eDtL5BwI4P6JQ5kIQa W9YeD8XXttughnvUPRvt08acCwzwHv4xC2qTlCihusW/O+inykYtO833vEcui548 0a+GYVWfpIHEc1EloMKsFGo3DJm02Q13reWwlqOe+pQmfeBqncIdEnW7uyff4r4s IfQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding: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=AvBiNZlTq69uY6kyoiAwF4IkbsxR5xp6Cdv7ih7v5 iw=; b=EFRGUsQ3tEa/MB6qsTJ6uZGIrN4cRGN28FhH+vMpq2p+fHmYih2GkUF0Q 0an/wYY05FT0eufw5McbAueCH2W0zUfk+qblyrQIpTrIjpIKzS80LMbrTOxrlc/t vadHb/7SfnLu3+2Ar1mDz7gFybd2kSZV3Px1cyek3QnjAMxtAI3mbJQ4ixFtR62c uqsQ8EYXDJiFFCR1nyn4PhjkRLs//bSrpgxDRhwgW2ZZk2zLU6/gW6xhapF4Fu0J Hq7y2W2Xp+4zsfQUWh01F8XDzuwodBICJtIEfMIsL9Tgz8sjp9j8Y7UPmI26ewg8 lmh6OAjqbh1k9Pz3k84VPeiUu/0Yg==
X-ME-Sender: <xms:JDxjXHzfFwv99CHQQm8GbLUqZ_FmXCjM8xhcCCAzvDxisKD5qf_oJA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedtledruddtuddgudehvdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfhuthenuceurghilhhouhhtmecu fedttdenucenucfjughrpefkhffvggfgtgfofhfujgffsehtjeertdertdejnecuhfhroh hmpeforghrthhinhcuvfhhohhmshhonhcuoehmtheslhhofigvnhhtrhhophihrdhnvght qeenucfrrghrrghmpehmrghilhhfrhhomhepmhhtsehlohifvghnthhrohhphidrnhgvth enucevlhhushhtvghrufhiiigvpedt
X-ME-Proxy: <xmx:JDxjXLEXlc4PluYOpVr9PD-Y9g_06F7w8jI7AswbQzpZIXuU9huGug> <xmx:JDxjXG1adh277-vcfbPjr_ImC57T6Db1KjS7mlfvoqiXhiPA57zELA> <xmx:JDxjXD-KGjnNGO1HLhNYMMq-jQLTNNZUCFJWlZmLiwC9ToEceA2nTg> <xmx:JTxjXJausBEd1qPWekf9RRuVEhgMMYwOTDj-hEIOUiI-KuL6-uOyvg>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id A24B29E5C9; Tue, 12 Feb 2019 16:35:32 -0500 (EST)
Message-Id: <1550007332.441557.1656692832.0E5412AE@webmail.messagingengine.com>
From: Martin Thomson <mt@lowentropy.net>
To: quic@ietf.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="utf-8"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-e97eb308
References: <CAM4esxTm0GiXnow4Vyv0UX6kFW4U3zJgVrN_JzD31Sm6sxoYGg@mail.gmail.com>
Subject: Re: QUIC ossification
In-Reply-To: <CAM4esxTm0GiXnow4Vyv0UX6kFW4U3zJgVrN_JzD31Sm6sxoYGg@mail.gmail.com>
Date: Wed, 13 Feb 2019 08:35:32 +1100
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/GBR0y6vx01LYX3vCHfKMM5TP1EI>
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: Tue, 12 Feb 2019 21:35:37 -0000

On Wed, Feb 13, 2019, at 08:18, Martin Duke wrote:
> 1) Version. I can't think of any immediate negative consequences for a
> middlebox that drops any long header with a version > 1. TLS 1.3 had to
> surrender to this problem by hiding the version elsewhere.
> 
> We might avoid this by routinely coalescing long headers with random
> version fields to connection-critical packets. Beyond that, I'm out of
> great ideas. If we don't have a robust defense against this, we ought to
> put some thought into how to deploy a v2 if the version fields is
> inoperable.

As Mike points out, the Length field is version-specific, so there is no real defense here other than - as many have suggested - using the version field actively.  That means shipping another version.  In a sense, the fact that Google are still not on the same version gives us some time, but it could mean that we might want to look toward having the "add version negotiation and fallback protection" draft define a version rather than an extension.
 
> 2) Client Transport Parameters. Initial Keys will help a little bit, but in
> TLS1.3 CCS still sorta exists because middleboxes are inspecting packets so
> deeply. It's not viable for v2 to have the same transport parameters; it's
> only slightly less gross to send v2 client TPs in some later message and
> have to send a fairly bulky "fake" set of v1 TPs in the client hello to get
> through the network.

I'm not concerned about transport parameters if the above issue is fixed.  TLS had no real issues with extensions, and it looks like we already have the start of a pipeline of extensions coming.  v2 can share the transport parameter extension, unless we decide to change the format in a non-compatible way.

(Note: CCS in TLS 1.3 only exists because middleboxes were inspecting a lot, yes, but it also indicates that they weren't inspecting enough, because the compatibility hack we have wouldn't work if they did a proper job.)