Re: Version Ossification: Intended Scope for QUICv1

Eric Rescorla <ekr@rtfm.com> Tue, 12 November 2019 05:11 UTC

Return-Path: <ekr@rtfm.com>
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 2A9941200FB for <quic@ietfa.amsl.com>; Mon, 11 Nov 2019 21:11:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
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 jlFalEYFV357 for <quic@ietfa.amsl.com>; Mon, 11 Nov 2019 21:11:41 -0800 (PST)
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com [IPv6:2a00:1450:4864:20::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5C0011200F6 for <quic@ietf.org>; Mon, 11 Nov 2019 21:11:41 -0800 (PST)
Received: by mail-lj1-x229.google.com with SMTP id d5so6759027ljl.4 for <quic@ietf.org>; Mon, 11 Nov 2019 21:11:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=g16WNIejUk8/0O8K+V83r5WQw15kUARmZGK/aTJjPtw=; b=gjX6I3lTnmJjp+cs1C7tUoU3dvc02BnylUP4TmQ2lC9dLwj7zTxRXlK+H63QJSQeHB 9/pVStmUz/a0+EBSqQkEWncQHTDzXAt5brajozqIzqycU6D98GsXFcK9BzopHKBz7xIE Ezk5ikgvTpyhvBQ78Pyl3ws9G48UHI+6z5btd8xXWHGrrx4nDaH0BSp2sEZHUc9fAd3k OO5qgyGO2fhHpf06PSsSWDTE5j1XVOc3mpISBvgiNeUaQgyH6P5SEb8DhP9E95vAKS0b CBAKsOlilhhnerCy7f7WzE6/Nnowz0LOh/BuZtutUVxhTNubXp8LKXoshNPn0axSlPk7 dPPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=g16WNIejUk8/0O8K+V83r5WQw15kUARmZGK/aTJjPtw=; b=pwRFnSyvy/t6iad/CQvr15mO1meGb9SzP72Oer78g8mhDwp/F6gzzB06AHHTyhtf7F ou91Jl49QhnB8m8/sy7BtxXHKVsPuJ3kQ96sot06z6FRdRxURw56tOhAlCJqqSLseBez uTZ1ZK5topRdDIDHQQw9O7vnHIm50JmfsFkNLUNwtxoA05jWrVAyJe53nHJk3rkD/qTH iRhyuSmI/H8CRr8JLQxBXwVROk/qZ0kVmLURyyn9SLSLhVFqTwZtWImHtLBrTL5M/8A2 MOwkHduPa2iOT8shtpf/s1v/U4MrahVNWnAt2Pxk9NM8T7Iws1KRPd4EYb01Z/4qEN4a EieQ==
X-Gm-Message-State: APjAAAVw7sehGyE2qrn8H8veTGqj9hpmvPYfsz8hvHWLW6rg6k5vsPsn hOEA7iRbwvNPa/vigNUqGBIaajbCEcNMxg348hNonQ==
X-Google-Smtp-Source: APXvYqy4/8dSahtvACLrPH9oL1PyaLAa5+GKojPD1LTIUXaaQXw1oYcFw6H2bu7H5+2I1GFrtw0ND/hTGuP9g9dniwk=
X-Received: by 2002:a2e:864f:: with SMTP id i15mr6433627ljj.29.1573535499363; Mon, 11 Nov 2019 21:11:39 -0800 (PST)
MIME-Version: 1.0
References: <CAPDSy+6E79OySoOLbJ8eWp0J-+3yeB5iGvj6sW19bEDn_V7-NA@mail.gmail.com> <CABcZeBN+6p2k+Kj4K5oKNEqKV50aAU6FLGkiZG0dGPNkg1s_-A@mail.gmail.com> <376bcf21-b18f-9199-8054-47122419e1d4@huitema.net> <CAKcm_gM370SxB1UAt3HYfepzQTH4Z+_H8=zAVMdZu322VsONyQ@mail.gmail.com> <CB0D90CE-39AB-4FFA-BF9C-8967D5F73FF2@fb.com> <CAOYVs2p3iTdxqQ76WDxYMZbn_oL6Gvvvvsvzn0UJxyXvzY+Uqw@mail.gmail.com>
In-Reply-To: <CAOYVs2p3iTdxqQ76WDxYMZbn_oL6Gvvvvsvzn0UJxyXvzY+Uqw@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Mon, 11 Nov 2019 21:11:02 -0800
Message-ID: <CABcZeBMVKtFAkkd14Xkwo=HRCmVs7OasVh5+SGYkXUoQ6bXgSg@mail.gmail.com>
Subject: Re: Version Ossification: Intended Scope for QUICv1
To: Marten Seemann <martenseemann@gmail.com>
Cc: Roberto Peon <fenix@fb.com>, Ian Swett <ianswett=40google.com@dmarc.ietf.org>, Christian Huitema <huitema@huitema.net>, David Schinazi <dschinazi.ietf@gmail.com>, QUIC <quic@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000007b403005971f4860"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/y86DL1I7vMEiykycYzv96jgXAKM>
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 Nov 2019 05:11:45 -0000

On Mon, Nov 11, 2019 at 6:01 PM Marten Seemann <martenseemann@gmail.com>
wrote:

> I would actually like to suggest something more aggressive (or,
>> conservative, if you prefer), namely that we punt version ossification
>> entirely to the future, whether to an extension or QUIVc2.
>
>
> I'm not sure if I can agree with this assessment. While we will have
> multiple QUIC versions deployed at the same time, the salts used to encrypt
> the Initial packets are all public. Middlebox vendors can easily build a
> device that is able to decrypt any of these versions.
>

ISTM that this is the scenario of interest for QUICv2 as well, namely that
the protocol will be public but vendors will have to adapt. If they do that
by reading specs and updating prompt, that seems not ideal but acceptable.

-Ekr

The fact that draft versions + QUIC v1 will (hopefully) work tells us
> little about how middleboxes will handle unknown version, i.e. versions
> that they don't know how to decrypt. This suggests to me that building a
> greasing mechanisms which ensures that packets with unknown version numbers
> are sent over the wire is essential for QUIC v1.
>
> On Tue, Nov 12, 2019 at 5:39 AM Roberto Peon <fenix@fb.com> wrote:
>
>> I would love to see a v2 that intends to address this chartered before
>> agreeing that this shouldn’t be included.
>>
>> -=R
>>
>>
>>
>> *From: *QUIC <quic-bounces@ietf.org> on behalf of Ian Swett <ianswett=
>> 40google.com@dmarc.ietf.org>
>> *Date: *Monday, November 11, 2019 at 8:58 AM
>> *To: *Christian Huitema <huitema@huitema.net>
>> *Cc: *David Schinazi <dschinazi.ietf@gmail.com>, Eric Rescorla <
>> ekr@rtfm.com>, QUIC <quic@ietf.org>
>> *Subject: *Re: Version Ossification: Intended Scope for QUICv1
>>
>>
>>
>> +1 from me as well.
>>
>>
>>
>> I think this is useful work and I support the QUIC WG working on it, but
>> I don't believe it needs to be included in v1 and I'd like to get some
>> deployment experience with it before standardizing it.
>>
>>
>>
>> On Sun, Nov 10, 2019 at 7:48 PM Christian Huitema <huitema@huitema.net>
>> wrote:
>>
>>
>> On 11/10/2019 2:53 PM, Eric Rescorla wrote:
>> > I would actually like to suggest something more aggressive (or,
>> > conservative, if you prefer), namely that we punt version ossification
>> > entirely to the future, whether to an extension or QUIVc2. In support
>> > of this proposal, I would make three points:
>> >
>> > - We are actually going to be running concurrent versions for quite
>> >   some time. Even if everyone were to aggressively (say 6-12 months)
>> >   deprecate all the draft versions upon shipping the RFC, we're
>> >   looking at something that's 18-24 months out. And of course,
>> >   I expect people to do some simple version greasing. So, that
>> >   probably buys us some time before real bad ossification sets
>> >   in.
>> >
>> > - It's turning out to be surprisingly hard to design a mechanism that
>> >   works, as evidenced by David's mechanism. And to that, I would add
>> >   that anything that involves having a server hand out some new set of
>> >   keys/salts is going to run into the same kind of multi-CDN problems
>> >   we had with ESNI (i.e., failures when you get switched between
>> >   CDNs). And then recovering from that cleanly either seems to mean
>> >   some ESNI-style fallback or allowing a middlebox to forge VN to
>> >   force you back to the published version/salt.
>> >
>> > - It seems like this would all be a lot easier if we had ESNI, because
>> >   you could tie the use of the new salt/version to the ESNIConfig
>> >   (either as a public or symmetric key, depending on taste).
>> >
>> > So what I would propose is that we put this problem on ice for now and
>> > then revisit it as an extension. All of the proposals that we have
>> > seen seem like they could be done as an extension, and then we can (1)
>> > get QUICv1 done and (2) hopefully leverage ESNI once we have some
>> > experience.
>>
>> +1
>>
>> -- Christian Huitema
>>
>>