RE: Stream0 Design Team Proposal
Mike Bishop <mbishop@evequefou.be> Wed, 23 May 2018 22:26 UTC
Return-Path: <mbishop@evequefou.be>
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 EE439127010 for <quic@ietfa.amsl.com>; Wed, 23 May 2018 15:26:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 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_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=evequefou.onmicrosoft.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 aopSDXbjuS1p for <quic@ietfa.amsl.com>; Wed, 23 May 2018 15:26:40 -0700 (PDT)
Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0715.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe45::715]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0E714124D37 for <quic@ietf.org>; Wed, 23 May 2018 15:26:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=evequefou.onmicrosoft.com; s=selector1-evequefou-be; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hJQ6FwrRSOMgiTViX/vj/KvtH+noD4oDlEkNvgaOHf8=; b=WPjUDrEz8GLc9rgRHMllQSTdk/GeVfAOkEhd8S6TBYL1Z3v5l2SCoVIcBwviLYJRnO+zvHR7c0ec0dJVlJz7gkICyp02+giuvxVi5z/G/gT7kQ1EkXwt5kGmt1hr1q/U7p5+MoCfXDRroIUMQbGsWdZLb5VpcGr4xiJvbWhyN+w=
Received: from SN1PR08MB1854.namprd08.prod.outlook.com (10.169.39.8) by SN1PR08MB1807.namprd08.prod.outlook.com (10.162.134.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.776.16; Wed, 23 May 2018 22:26:35 +0000
Received: from SN1PR08MB1854.namprd08.prod.outlook.com ([fe80::3c18:f60d:11c1:143d]) by SN1PR08MB1854.namprd08.prod.outlook.com ([fe80::3c18:f60d:11c1:143d%13]) with mapi id 15.20.0776.015; Wed, 23 May 2018 22:26:35 +0000
From: Mike Bishop <mbishop@evequefou.be>
To: Christian Huitema <huitema@huitema.net>, "quic@ietf.org" <quic@ietf.org>
Subject: RE: Stream0 Design Team Proposal
Thread-Topic: Stream0 Design Team Proposal
Thread-Index: AQHT8jXB/BpXll/I90GhSvtB/+hM26Q8oAsAgAAHFYCAACJqAIABG3Iw
Date: Wed, 23 May 2018 22:26:35 +0000
Message-ID: <SN1PR08MB1854C15D0B7806D0CCD30E70DA6B0@SN1PR08MB1854.namprd08.prod.outlook.com>
References: <CAKcm_gM39_x+==WwYfb5qeiqB_qxdAt0ow69V+s_Jny3Ek_hDw@mail.gmail.com> <CABkgnnUB=jqwFzb2rjBHUFzOgu0hX0YUgaf5kW5ENNGKP+mGiA@mail.gmail.com> <MWHPR15MB1821F33BAB20815A38EB34A2B66B0@MWHPR15MB1821.namprd15.prod.outlook.com> <046ee03d-a675-86b6-ed3b-4fa69288c42d@huitema.net>
In-Reply-To: <046ee03d-a675-86b6-ed3b-4fa69288c42d@huitema.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=mbishop@evequefou.be;
x-originating-ip: [2601:600:8080:5a28:4940:a32d:2658:89dc]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; SN1PR08MB1807; 7:E/xlQJf+1ih7CkkXz3CW1k/D9Ud3GBFtIDMQlWvEBVlbCiIAivgQLk1TdbBspP8CuDXy/4e8F+ozBMQ3MkaSnBg7lWIit8StKpt3guDmyrCdlqrzlT8un31aMu334Fu2Y2gMdK4URbEWHDIJAZXPQLLjU0WtRBTISTaWQHqWwRJ8ti/CEtqybS04kG72JI3y9AFeToI3R0l0HuE+A/cfHYqs9p4alKonR94Nzr9V1HXohoOgmE/W5hfHWCsN4Dvr
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(5600026)(4534165)(7022125)(4603075)(4627221)(201702281549075)(7048125)(7024125)(7027125)(7028125)(7023125)(2017052603328)(7153060)(7193020); SRVR:SN1PR08MB1807;
x-ms-traffictypediagnostic: SN1PR08MB1807:
x-microsoft-antispam-prvs: <SN1PR08MB1807D72C0A40E10CA593763ADA6B0@SN1PR08MB1807.namprd08.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(28532068793085)(158342451672863)(10436049006162)(166708455590820)(85827821059158)(211936372134217)(100405760836317)(21748063052155);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(20161123558120)(20161123564045)(20161123562045)(20161123560045)(2016111802025)(6072148)(6043046)(201708071742011)(7699016); SRVR:SN1PR08MB1807; BCL:0; PCL:0; RULEID:; SRVR:SN1PR08MB1807;
x-forefront-prvs: 06818431B9
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(396003)(39830400003)(366004)(376002)(39380400002)(51444003)(199004)(189003)(229853002)(6116002)(8676002)(790700001)(55016002)(76176011)(7696005)(99286004)(5660300001)(74482002)(74316002)(561944003)(33656002)(6506007)(68736007)(14454004)(316002)(7736002)(8936002)(53546011)(110136005)(59450400001)(6436002)(6306002)(9686003)(54896002)(93886005)(236005)(446003)(6246003)(46003)(105586002)(575784001)(86362001)(2900100001)(81156014)(966005)(25786009)(3280700002)(606006)(81166006)(5250100002)(97736004)(106356001)(53936002)(476003)(478600001)(102836004)(186003)(486006)(11346002)(2501003)(2906002)(3660700001); DIR:OUT; SFP:1102; SCL:1; SRVR:SN1PR08MB1807; H:SN1PR08MB1854.namprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0; MX:1;
received-spf: None (protection.outlook.com: evequefou.be does not designate permitted sender hosts)
x-microsoft-antispam-message-info: VcM7dMwUdr/A3YLCAoF4htXNSrY7s+aE+RsZids8ht6ZV0Lu/Tk91RIUcOL2b+Z5S601n+PdnM4i6gOdaVMl469w+UeLgBWFgoosb2Z3F36MP1JeajhCx+fbYJu2oAoHS0R+RzOxuIuZ9KNe4lY4pubLfqVwr7kqoNR0V7RyNWfQxmp4gHfgoujCJ0vrEL/G
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_SN1PR08MB1854C15D0B7806D0CCD30E70DA6B0SN1PR08MB1854namp_"
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: 07ef7f3a-76e3-4d25-2eea-08d5c0fc3e5a
X-OriginatorOrg: evequefou.be
X-MS-Exchange-CrossTenant-Network-Message-Id: 07ef7f3a-76e3-4d25-2eea-08d5c0fc3e5a
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 May 2018 22:26:35.2088 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 41eaf50b-882d-47eb-8c4c-0b5b76a9da8f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR08MB1807
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/lleOxiROQyAK0Di5NmjJwqPfFO0>
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 22:26:44 -0000
Christian, can you expand on why you dislike the EMPTY_ACK? Being able to say "I've received some packets from you, but am unable to process any of them because I'm missing some handshake data" seems like a useful way to short-circuit timeouts on clients. It also doesn't commit the server to holding any state - IIUC, a server could form a packet containing an EMPTY_ACK and then discard its internal state until it gets the retransmitted (or delayed) Initial packet. From: QUIC <quic-bounces@ietf.org> On Behalf Of Christian Huitema Sent: Tuesday, May 22, 2018 10:29 PM To: quic@ietf.org Subject: Re: Stream0 Design Team Proposal I like the proposal. In particular, I really like the encryption of handshake packets with the handshake key, as it does close a number of avenues for attacks. And I like that it solves the "ack promotion" issue that I was complaining against for some time. Turns out that in the current draft, it is very hard to contain that problem if you enable client auth. On the other hand, I agree with Martin that a lot of the additions to transmission recovery should be moved to separate PRs. I am not enthusiastic with the EMPTY ACK mechanism, or with the proposed "implicit acknowledgement" of a lower crypto stream by a higher level ack. In any case, starting as simple as possible would help having the first implementations and tests. On 5/22/2018 8:26 PM, Subodh Iyengar wrote: As an implementor of fizz, I support this design and am willing to implement this as well. While this is a change in the API that TLS classically exposes, I think this is the right tradeoff because it helps make things way more explicit which will prevent several other bugs from happening in the future. Subodh ________________________________ From: QUIC <quic-bounces@ietf.org><mailto:quic-bounces@ietf.org> on behalf of Martin Thomson <martin.thomson@gmail.com><mailto:martin.thomson@gmail.com> Sent: Tuesday, May 22, 2018 8:00:40 PM To: Ian Swett Cc: ekr@mozilla.com<mailto:ekr@mozilla.com>; QUIC WG 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://urldefense.proofpoint.com/v2/url?u=https-3A__quicwg.github.io_base-2Ddrafts_stream0_&d=DwIBaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=h3Ju9EBS7mHtwg-wAyN7fQ&m=_vGK3zTKFrMOkFihJnPntLYw1T0_NEMiHYSM0Q_u1JA&s=ususmtxI3BTaLlBWe_HkQUWRH4sBI0Cggj1oWZMBHak&e= 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<mailto: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://urldefense.proofpoint.com/v2/url?u=https-3A__docs.google.com_document_d_1fRsJqPinJl8N3b-2DbflDRV6auojfJLkxddT93j6SwHY8_edit&d=DwIBaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=h3Ju9EBS7mHtwg-wAyN7fQ&m=_vGK3zTKFrMOkFihJnPntLYw1T0_NEMiHYSM0Q_u1JA&s=jDNnz34hmWvLSQnHkSnYdihW-jG-0xZ-YYqKq30wVGg&e= > 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
- Stream0 Design Team Proposal Ian Swett
- Re: Stream0 Design Team Proposal Martin Thomson
- Re: Stream0 Design Team Proposal Subodh Iyengar
- Re: Stream0 Design Team Proposal Kazuho Oku
- Re: Stream0 Design Team Proposal Kazuho Oku
- Re: Stream0 Design Team Proposal Christian Huitema
- Re: Stream0 Design Team Proposal Jana Iyengar
- Re: Stream0 Design Team Proposal Kazuho Oku
- Re: Stream0 Design Team Proposal Mikkel Fahnøe Jørgensen
- Re: Stream0 Design Team Proposal Kazuho Oku
- Re: Stream0 Design Team Proposal Kazuho Oku
- RE: Stream0 Design Team Proposal Lucas Pardue
- Re: Stream0 Design Team Proposal Jana Iyengar
- Re: Stream0 Design Team Proposal Ted Hardie
- Re: Stream0 Design Team Proposal Eric Rescorla
- Re: Stream0 Design Team Proposal Ted Hardie
- Re: Stream0 Design Team Proposal Mikkel Fahnøe Jørgensen
- Re: Stream0 Design Team Proposal Eric Rescorla
- Re: Stream0 Design Team Proposal Jana Iyengar
- RE: Stream0 Design Team Proposal Mike Bishop
- RE: Stream0 Design Team Proposal Mike Bishop
- RE: Stream0 Design Team Proposal Mike Bishop
- Re: Stream0 Design Team Proposal Subodh Iyengar
- Re: Stream0 Design Team Proposal Kazuho Oku
- Re: Stream0 Design Team Proposal Jana Iyengar
- Re: Stream0 Design Team Proposal Eric Rescorla
- Re: Stream0 Design Team Proposal Martin Thomson
- Re: Stream0 Design Team Proposal Eric Rescorla
- Re: Stream0 Design Team Proposal Jana Iyengar
- Re: Stream0 Design Team Proposal Eric Rescorla