Re: Stream0 Design Team Proposal

Jana Iyengar <jri.ietf@gmail.com> Wed, 23 May 2018 23:23 UTC

Return-Path: <jri.ietf@gmail.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 5FD7A12D7F1 for <quic@ietfa.amsl.com>; Wed, 23 May 2018 16:23:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.989
X-Spam-Level:
X-Spam-Status: No, score=-1.989 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 y9mInm4lGXeL for <quic@ietfa.amsl.com>; Wed, 23 May 2018 16:23:31 -0700 (PDT)
Received: from mail-io0-x230.google.com (mail-io0-x230.google.com [IPv6:2607:f8b0:4001:c06::230]) (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 B988812783A for <quic@ietf.org>; Wed, 23 May 2018 16:23:31 -0700 (PDT)
Received: by mail-io0-x230.google.com with SMTP id e20-v6so81475iof.4 for <quic@ietf.org>; Wed, 23 May 2018 16:23:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=SvNvxv6npXicFuGoylezoxiXP3kzs8nlKsoMG+YVTik=; b=jaD80i6T5ck0FiyeWYkSzXcQLP06SswisuLNJbc+hzuv7FhvZrnd5OLa3Aj0smbulB paojRJBaH8gV1OwEtgF0Wu+UKnBMGhvBHgden1BUqvMMi01ljNgSpXOlHcPohCkg7l81 924jOdTnJVvfe+Ui/zWuOFDeMrInb6u3jcOm3CrIIYpxxY5zTaVHhY4iYb7mCTkjuF6z P7BSRYl440hUl2TYF+zaeFl2Hu+FsoOA6F+6eGs4B3cmXgNSLC3ASWy9CRu1WsdVPfDt UmjoZAVf3n1CiPQP89mw215HCKWQoqT0LgGrE0BB3fQiqsXJwsjfdORqpIYygx7ref+/ ZF/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=SvNvxv6npXicFuGoylezoxiXP3kzs8nlKsoMG+YVTik=; b=Z7CKapZzgrpxzn2GdJLKbCJirZ+wS76aintOoLMfG/A5VxpKTNd+XCvMltu6qpxVKZ POJqqO49mgLvgUItMh37jEFlJ8aHZt5aQq49D60b+TOnP71j118WS/vxJHemeabGL4zF bdMHS3LEpCQHwHu2ax9PSTAm9J5mjGB5fpoZX2GRNqRr1PEKr7X6w+FssoZ/EmMgoZfc GHiVuKB7WoVCqxrdTG31fDS/Yz/y5CC+guwEUL0kbgVxybfhojGyPIi7FvPDRiLE05+8 5N6AxEvoFBrFu5D0GR/CLhh+qR9jHFjo/OIbG7RQDyY+OEqexkA0ekWlGuXL0eh4B+Qc Gl5g==
X-Gm-Message-State: ALKqPwe9M9vb5pV2qSm7av4plJfMMi88vALneEXTKBYLTTnM1HI2nZ/M IGCxeiNl9Mf+jLuB60BX/gWd8tRtRUEBMBX0DHE=
X-Google-Smtp-Source: AB8JxZpc9iRynl/BSxUm3Dm5FokIngUTxl1x23cZAtvVSvzs2JJSyNBRB+06D0stgum1m/HcIIckarY/IemNJOW93m0=
X-Received: by 2002:a6b:dc12:: with SMTP id s18-v6mr4818381ioc.203.1527117810719; Wed, 23 May 2018 16:23:30 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a4f:27d4:0:0:0:0:0 with HTTP; Wed, 23 May 2018 16:23:30 -0700 (PDT)
In-Reply-To: <SN1PR08MB1854BF85FCCA0F21CE0DA1A4DA6B0@SN1PR08MB1854.namprd08.prod.outlook.com>
References: <CAKcm_gM39_x+==WwYfb5qeiqB_qxdAt0ow69V+s_Jny3Ek_hDw@mail.gmail.com> <CABkgnnUB=jqwFzb2rjBHUFzOgu0hX0YUgaf5kW5ENNGKP+mGiA@mail.gmail.com> <SN1PR08MB1854BF85FCCA0F21CE0DA1A4DA6B0@SN1PR08MB1854.namprd08.prod.outlook.com>
From: Jana Iyengar <jri.ietf@gmail.com>
Date: Wed, 23 May 2018 16:23:30 -0700
Message-ID: <CACpbDce-vsqvutYCDjWJmEW_K=HX=F2y6bk7c34dxky22-mzwg@mail.gmail.com>
Subject: Re: Stream0 Design Team Proposal
To: Mike Bishop <mbishop@evequefou.be>
Cc: Martin Thomson <martin.thomson@gmail.com>, Ian Swett <ianswett=40google.com@dmarc.ietf.org>, "ekr@mozilla.com" <ekr@mozilla.com>, QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a3621f056ce7d27a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/ygzqBowTfW_OGUHFFHhETpFYqoY>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 23 May 2018 23:23:35 -0000

Just a point of order, because this thread can easily become a
thousand-tentacled monster.

There are many parts to the proposal. There was general agreement in the DT
that it's valuable to see all parts of what were discussed, even if some
parts stretched the original mandate, and even if some parts end up being
discarded. That is entirely the wg's prerogative. We should discuss
individual disagreements or points of concern, and I strongly recommend
forking off new threads for each of these points.


On Wed, May 23, 2018 at 3:23 PM, Mike Bishop <mbishop@evequefou.be> wrote:

> I also think these two pieces are not inextricably bound together:
>
>    - Moving from Stream 0 to CRYPTO frames
>    - Removing the TLS record layer and using the TLS keys directly in
>    QUIC packet protection
>
> …though both of these interact pretty closely with the separate packet
> number spaces.
>
>
>
> So I think that’s roughly six PRs we should expect to see out of the
> design team’s proposal.  A few of them have dependencies on each other, but
> they seem mostly separable.  It sounds like several of them have consensus
> in the design team, but not all of them, and it would be good to be able to
> discuss them separately.
>
>
>
> -----Original Message-----
> From: QUIC <quic-bounces@ietf.org> On Behalf Of Martin Thomson
> Sent: Tuesday, May 22, 2018 8:01 PM
> To: Ian Swett <ianswett=40google.com@dmarc.ietf.org>
> Cc: ekr@mozilla.com; QUIC WG <quic@ietf.org>
> Subject: Re: Stream0 Design Team Proposal
>
>
>
> First of all, thanks to the design team for the work they have done.  I
> haven't digested everything yet, but I think that I have a good sense of
> the shape of the proposal.
>
>
>
> Overall, this looks like a workable design.  It's a lot more invasive of
> the cryptographic handshake implementation than I had thought people were
> willing to stomach originally.  But it's clear that we've run into problems
> with the current, more abstract API and this is a fairly natural way to
> split TLS.  I've spent a little time thinking about how this might be
> implemented and I think that it's not going to be *too* painful.  The proof
> will be in the pudding there though.
>
>
>
> In looking at the PR, I really appreciate seeing all the changes together.
>
> BTW, the link above points to the wrong PR, so be careful (it appears to
> have the same content, but that's not guaranteed).  The actual PR is here:
>
> https://github.com/quicwg/base-drafts/pull/1377
>
>
>
> I've pushed a branch to the main repo so that you can preview the entire
> document set: https://quicwg.github.io/base-drafts/stream0/
>
>
>
> It seems like there are some core changes here and a bunch of separable or
> at least secondary changes.  I'm sure that each one has its own
> justification, but that isn't always clear. The following changes seem like
> they are separable:
>
>
>
> * The use of separate packet number spaces
>
> * The Retry packet changes (and NEW_TOKEN)
>
> * EMPTY_ACK
>
> * The TLS extension for flow control
>
>
>
> Right now, some of these appear to be entirely gratuitous.  I'd like to
> get to the bottom of each before we continue.
>
>
>
> At a minimum, the PR we land first should include just the core changes.
>
> As you say, reviewing a monster PR like this will only make GitHub weep
> unicorns, but we might be able to cut this into smaller pieces.
>
>
>
> On Wed, May 23, 2018 at 11:31 AM Ian Swett <ianswett=
> 40google.com@dmarc.ietf.org> wrote:
>
>
>
> > Dear QUIC WG,
>
>
>
>
>
> > On behalf of the Stream 0 Design Team, I am pleased to report that we
>
> have consensus on a proposed approach to share with the WG. The DT's
> proposal will make QUIC and TLS work closer together and incorporates ideas
> from DTLS, but it does not use the DTLS protocol itself.
>
>
>
>
>
> > The DT believes this solves the important open Stream 0 issues. The
>
> proposal will be a bit more invasive in TLS, but we believe it is the
> right long-term direction and several TLS stacks (BoringSSL, PicoTLS, NSS,
> and
>
> Mint) are willing and able to do the work necessary.. A number of stacks
> are currently working on implementations of this new approach, which we
> hope to have in time for the Interim meeting.
>
>
>
>
>
> > A design document describing the overall approach can be found at:
>
>
>
>
>
> https://docs.google.com/document/d/1fRsJqPinJl8N3b-
> bflDRV6auojfJLkxddT93j6SwHY8/edit
>
>
>
>
>
> > A PR making the changes to the QUIC documents can be found at:
>
>
>
> > https://github.com/quicwg/base-drafts/pull/1377
>
>
>
>
>
> > A few design details did not have clear consensus, but it was felt it
>
> would be better to discuss those in the wider WG than delay the design
> team.  A consistent choice was made in the PR and these issues are
> mentioned in Appendix B of the design doc.
>
>
>
>
>
> > As always, comments and questions welcome. That said, this is a big PR
>
> and we recognize that some editorial work is going to be needed before
> merging. In the interest of letting people follow along, and to keep github
> from falling over, we ask people to keep discussion on the mailing list and
> refrain from making PR comments.
>
>
>
>
>
> > See you in Kista!
>
>
>
>
>
> > Ian and Eric
>
>
>