Re: Exercising Version Negotiation
Subodh Iyengar <subodh@fb.com> Thu, 22 March 2018 16:53 UTC
Return-Path: <prvs=66190ed8da=subodh@fb.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 3525712DA29 for <quic@ietfa.amsl.com>; Thu, 22 Mar 2018 09:53:30 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=fb.com header.b=CnBGk7Jf; dkim=pass (1024-bit key) header.d=fb.onmicrosoft.com header.b=D6pP0Rd9
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 f466sag99RMv for <quic@ietfa.amsl.com>; Thu, 22 Mar 2018 09:53:27 -0700 (PDT)
Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D644512D958 for <quic@ietf.org>; Thu, 22 Mar 2018 09:53:27 -0700 (PDT)
Received: from pps.filterd (m0109333.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w2MGQepP022594; Thu, 22 Mar 2018 09:27:29 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=facebook; bh=WfC8sS2jl0ZrhO5icA/LdjT2XH5X2toXe9okn3KX/HI=; b=CnBGk7JftCo3veVr9hBKQw+xCbq1MYd3PeB1plaCuf6/Y0P+G3cogpAInktAZuSTFAj0 t7DQhYS+RJPv08EPez3mUV4U1ZCmY6cr1lqhqx9ItaFCD+lQ3y6kt6SSHDOU1THtfCBt 5HTE8KlSzfGpaXNFhZk7cOdp//8iaACvvoI=
Received: from mail.thefacebook.com ([199.201.64.23]) by mx0a-00082601.pphosted.com with ESMTP id 2gvd0k0pjm-18 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 22 Mar 2018 09:27:29 -0700
Received: from NAM01-SN1-obe.outbound.protection.outlook.com (192.168.54.28) by o365-in.thefacebook.com (192.168.16.20) with Microsoft SMTP Server (TLS) id 14.3.361.1; Thu, 22 Mar 2018 09:26:33 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=WfC8sS2jl0ZrhO5icA/LdjT2XH5X2toXe9okn3KX/HI=; b=D6pP0Rd9OHWYKff6eO8sq8Wmr/01NS6TCR91b50z+uFUPunV8JPwTIIVHo9fzz7tOxrvBfYWPWa6GphqdXV+OrsvF8XDKo1GcB52yJx5FyKKVh9nEDTZg3zexGYFiXxuMoN5pa4J8teGfPzMgwvs6hg9eIBNP2KQEFhci7Xt2co=
Received: from MWHPR15MB1821.namprd15.prod.outlook.com (10.174.255.137) by MWHPR15MB1200.namprd15.prod.outlook.com (10.175.2.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.588.14; Thu, 22 Mar 2018 16:26:33 +0000
Received: from MWHPR15MB1821.namprd15.prod.outlook.com ([fe80::b431:b2fb:1912:34d8]) by MWHPR15MB1821.namprd15.prod.outlook.com ([fe80::b431:b2fb:1912:34d8%17]) with mapi id 15.20.0588.017; Thu, 22 Mar 2018 16:26:32 +0000
From: Subodh Iyengar <subodh@fb.com>
To: Roberto Peon <fenix@fb.com>, Eric Rescorla <ekr@rtfm.com>, IETF QUIC WG <quic@ietf.org>
Subject: Re: Exercising Version Negotiation
Thread-Topic: Exercising Version Negotiation
Thread-Index: AQHTwdX66S1uG5wKa0SeezpL/OgUTaPcb5CAgAAAlz4=
Date: Thu, 22 Mar 2018 16:26:32 +0000
Message-ID: <MWHPR15MB18211F884674B6FC01BCD2E9B6A90@MWHPR15MB1821.namprd15.prod.outlook.com>
References: <CABcZeBMv5BqZOtgVA2wfqaaGCd94gcNPB9bTXkrvNXXRveU8wA@mail.gmail.com>, <BY2PR15MB0775F2D1CDEA831B64491A67CDA90@BY2PR15MB0775.namprd15.prod.outlook.com>
In-Reply-To: <BY2PR15MB0775F2D1CDEA831B64491A67CDA90@BY2PR15MB0775.namprd15.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2001:67c:370:128:3cc1:8c99:1ed7:bcc4]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; MWHPR15MB1200; 7:VG4dv8wzUqL8k+F3Bwelqmr3aPBpR0tPwJ1mnSRUpd//z3tinX+Ej8RIOIILEigYrBt7vQ4+uh9xUBCL+qVxMFpjB9U5U6kY7dqm2Oh8FVe2y7xi1uHvZTNr2IR6cD4qslr48NrLLICkAcAvhDg/tZ00oPeYFbqkbXN4C+6iZozX7uaTv9APvYvHvBRBNgo4LvOYjVG38qjiw7UJBlavlHO+WdN1IRZrIcUu6b1hgaPNKzB2BFBe86hDQOcHItCr; 20:DKh07QARAVVNhtk9LZoe+eApFDI+a9PkxArQekqBJ5JCtdyM7IbSYSg29jGOW22K8nSRkwGZmnYKLuLDhymumcYF3IhjvOYw36bXAbcURMGpz9PveDVJilJWSYZmhuMJpN0++tB3ycTkRu5VkitVuKYciDEN4LZNo4P+5LqMwj8=
x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR;
x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10019020)(396003)(39380400002)(366004)(376002)(346002)(39860400002)(199004)(189003)(5250100002)(6606003)(33656002)(6506007)(316002)(14454004)(110136005)(8936002)(46003)(8676002)(229853002)(81166006)(7736002)(81156014)(11346002)(446003)(97736004)(54896002)(105586002)(6116002)(19627405001)(53936002)(6246003)(74316002)(53546011)(68736007)(102836004)(106356001)(25786009)(86362001)(3480700004)(6436002)(9686003)(478600001)(99286004)(3660700001)(55016002)(2906002)(76176011)(3280700002)(7116003)(2900100001)(5660300001)(7696005); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR15MB1200; H:MWHPR15MB1821.namprd15.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
x-ms-office365-filtering-correlation-id: c01a73db-f778-42c1-29eb-08d59011ac53
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(3008032)(2017052603328)(7153060)(7193020); SRVR:MWHPR15MB1200;
x-ms-traffictypediagnostic: MWHPR15MB1200:
x-microsoft-antispam-prvs: <MWHPR15MB1200A5841FBBCC0225D9C663B6A90@MWHPR15MB1200.namprd15.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(190756311086443)(67672495146484);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(3231221)(11241501184)(944501327)(52105095)(10201501046)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:MWHPR15MB1200; BCL:0; PCL:0; RULEID:; SRVR:MWHPR15MB1200;
x-forefront-prvs: 0619D53754
received-spf: None (protection.outlook.com: fb.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: coHm2vOmKtPxWp9vL1ZTYDAO84dj2FAs1FbVHUJ8U/rZ2OKbHc5wAe6o8vYsMHxSAhd6SfBpSHGQEqHeYx1PWrvRh/OIcc7dOiJN8GGzr/bGrHFi+/8WMvU+0rXMnH4aR271SgYytK17TRYMtjZT5OuUj7Bkk2x6SZHdjnYzy0HbrFYVYYEv2Vot4EwEw1qXRnyyxhQWNY5rOUh/r6SKKZHUweJyWWWlm0dZHItj7hzUIJ4j+L7NJLtX3os84538cf1Kdb+OaqkTlb/xLEK5EtDg7ujimyUzgzHvn1pYtH24by+Bii2qQx1HdjnELN1gvQMiSH39okqiQi5UUMhihw==
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_MWHPR15MB18211F884674B6FC01BCD2E9B6A90MWHPR15MB1821namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: c01a73db-f778-42c1-29eb-08d59011ac53
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2018 16:26:32.1049 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR15MB1200
X-OriginatorOrg: fb.com
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2018-03-22_08:, , signatures=0
X-Proofpoint-Spam-Reason: safe
X-FB-Internal: Safe
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/7hTIIbNVdS-ve9VbipuoG7MMOoU>
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: Thu, 22 Mar 2018 16:53:32 -0000
I don't think using version negotiation is as simple as it seems: 1. My understanding is that the current draft and the data that was shown doesn't even look at the handshake negotiation and only looks at short headers. 2. Short headers have no version. So to use version negotiation correctly as a signal of the spin bit, the middlebox MUST intercept the handshake negotiation. 3. Each 5 tuple could potentially have multiple connections and we are apparently designing for that use case, so the middlebox needs to use connection id 4. Some implementations are thinking of changing connection ids very frequently, maybe in each RTT. Given these are we saying that when using the spin version you must not change the conn id per RTT so that the middlebox can observe the spin? Subodh ________________________________ From: QUIC <quic-bounces@ietf.org> on behalf of Roberto Peon <fenix@fb.com> Sent: Thursday, March 22, 2018 9:19:57 AM To: Eric Rescorla; IETF QUIC WG Subject: [Potential Spoof] Re: Exercising Version Negotiation Love it. This is a great idea! I'd suggest being more agressive with deployment, e.g. recommend that servers negotiate speaking version +1 to more like 50% of the clients, and swap guid/ip mappings to have clients formerly using +1 switch to -1 and vice versa weekly or so. -=R Sent via the Samsung Galaxy S7, an AT&T 4G LTE smartphone -------- Original message -------- From: Eric Rescorla <ekr@rtfm.com> Date: 3/22/18 5:05 AM (GMT-08:00) To: IETF QUIC WG <quic@ietf.org> Subject: Exercising Version Negotiation Following up on the discussion at the mic, I do think it is useful to exercise the VN function, but I don't think it's useful to have those versions be different, because that creates perverse incentives. Here's what I suggest instead: create two versions (we can call them QUIC v1+i and QUIC v1-i), each with its own code point [0]. They should be essentially identical except for two trivial differences, intended to ensure that if you screw up version negotiation, you get failed interop. - The constant in the handshake salt (5.2.2) - The HKDF expansion constants I suggest we handle each of these by just inverting the bits. We would then suggest to people that they somewhat randomize their preferences (e.g., 99% of the time prefer v1+i, 1% of the time prefer v1-i). This will almost always result in matching versions, but will occasionally result in a mismatch, thus forcing us to test VN. -Ekr [0] Obviously we can do this for draft versions. We just say that the two versions are ff0000XX and ffffffXX.
- Exercising Version Negotiation Eric Rescorla
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Eric Rescorla
- RE: Exercising Version Negotiation Mike Bishop
- Re: Exercising Version Negotiation Ryan Hamilton
- RE: Exercising Version Negotiation Lubashev, Igor
- Re: Exercising Version Negotiation Eric Rescorla
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Christian Huitema
- RE: Exercising Version Negotiation Mike Bishop
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Ted Hardie
- Re: Exercising Version Negotiation Philipp S. Tiesel
- Re: Exercising Version Negotiation Christian Huitema
- Re: Exercising Version Negotiation Spencer Dawkins at IETF
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Subodh Iyengar
- Re: Exercising Version Negotiation Eric Rescorla
- Re: Exercising Version Negotiation Subodh Iyengar
- Re: Exercising Version Negotiation Subodh Iyengar
- Re: Exercising Version Negotiation Ian Swett
- Re: Exercising Version Negotiation Subodh Iyengar
- RE: Exercising Version Negotiation Lubashev, Igor
- Re: Exercising Version Negotiation Ryan Hamilton