Re: Getting to consensus on packet number encryption

"Brian Trammell (IETF)" <ietf@trammell.ch> Fri, 27 April 2018 17:21 UTC

Return-Path: <ietf@trammell.ch>
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 E6BDA1275FD for <quic@ietfa.amsl.com>; Fri, 27 Apr 2018 10:21:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] autolearn=unavailable autolearn_force=no
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 lEVvdzb2qeUK for <quic@ietfa.amsl.com>; Fri, 27 Apr 2018 10:21:07 -0700 (PDT)
Received: from gozo.iway.ch (gozo.iway.ch [212.25.24.36]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D629612DA4C for <quic@ietf.org>; Fri, 27 Apr 2018 10:21:01 -0700 (PDT)
Received: from gozo.iway.ch (localhost [127.0.0.1]) by localhost (Postfix) with ESMTP id 81390340541; Fri, 27 Apr 2018 19:20:59 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1]) by localhost (ACF/6597.26388); Fri, 27 Apr 2018 19:20:54 +0200 (CEST)
Received: from switchplus-mail.ch (switchplus-mail.ch [212.25.8.236]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by gozo.iway.ch (Postfix) with ESMTPS; Fri, 27 Apr 2018 19:20:54 +0200 (CEST)
Received: from [145.14.214.39] (account ietf@trammell.ch HELO [10.11.33.78]) by switchplus-mail.ch (CommuniGate Pro SMTP 6.1.18) with ESMTPSA id 53251098; Fri, 27 Apr 2018 19:20:54 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (1.0)
Subject: Re: Getting to consensus on packet number encryption
From: "Brian Trammell (IETF)" <ietf@trammell.ch>
X-Mailer: iPhone Mail (15E216)
In-Reply-To: <CANatvzwHtCn8rLB8npf3i7PGyYZhVDRd2uojh5hv3uxtFPEsSA@mail.gmail.com>
Date: Fri, 27 Apr 2018 19:20:53 +0200
Cc: "Lubashev, Igor" <ilubashe@akamai.com>, Christian Huitema <huitema@huitema.net>, Mark Nottingham <mnot@mnot.net>, Mike Bishop <mbishop@evequefou.be>, Ian Swett <ianswett=40google.com@dmarc.ietf.org>, Erik Kline <ek@google.com>, IETF QUIC WG <quic@ietf.org>, "Deval, Manasi" <manasi.deval@intel.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <58447D8E-782C-431C-8FC3-71124B10A047@trammell.ch>
References: <7fd34142-2e14-e383-1f65-bc3ca657576c@huitema.net> <21C36B57-6AE2-40EF-9549-7196D7FA9B45@tik.ee.ethz.ch> <B176FC07-887D-4135-B01E-FE8B4986A5EE@mnot.net> <CAKcm_gOCeocLyrYpOS7Ud332xdz3xHSH0psPN8T6BGRjoL9ptQ@mail.gmail.com> <CY4PR21MB0630FA0EDD343396AD414641B6A40@CY4PR21MB0630.namprd21.prod.outlook.com> <CAN1APde13JTzCvKFFvMd183Fka6QGD1kGBjsa9fcoLrYeA2hsA@mail.gmail.com> <CY4PR21MB0630C0FD4FBECBFEC3C863BBB6A40@CY4PR21MB0630.namprd21.prod.outlook.com> <047d2ff0-ff8b-64c9-8983-0ecabeb9fea5@huitema.net> <B0F49097-F77A-4831-B68B-4266AA880A86@tik.ee.ethz.ch> <74E2F5C2-66AD-4902-8A4A-E481CC0A015C@fb.com> <75050158-3812-44F1-A01E-D70EED7FDFD6@tik.ee.ethz.ch> <BY2PR15MB0775B4ACF7DB9124E89016F0CDB00@BY2PR15MB0775.namprd15.prod.outlook.com> <c8e60ba4-d6be-c4fc-5bac-d569a28fb4e8@huitema.net> <56CE3592-EB1D-40A3-B1D2-965B238FA402@mnot.net> <ae7a63fe-0a32-893f-aa6b-e8d97b8ba87a@huitema.net> <1F436ED13A22A246A59CA374CBC543998B60C6DD@ORSMSX111.amr.corp.intel.com> <fc57394f-9516-04c0-0846- 6d159b14bc9e@huitema.net> <SN1PR08MB1854FD2461597D81BEE31ED6DA8F0@SN1PR08MB1854.namprd08.prod.outlook.com> <CAKcm_gMRPXgCoZ958Oj4_Pnkvmc9a7PgNVS0iae0hCW7bLKqng@mail.gmail.com> <SN1PR08MB18545D0554DED1F83862EBFBDA8F0@SN1PR08MB1854.namprd08.prod.outlook.com> <CAKcm_gNMTQg-pV8vTXkMCTh48QPZ_ujyFSEKRYf+WurUFytaWw@mail.gmail.com> <CANatvzwCYrOZULG3iVmDFp97nr=M5=Gufo8TZjOGQVFUpsn0bQ@mail.gmail.com> <CAAedzxqDcPXJUE83KVnDiU23PvqDcTCrc6rRMw09FexjJA-Y6Q@mail.gmail.com> <CANatvzwjYE6EdvFtOXJMVQnutbVQ4YY+=XsQFzKwHzqWzZ4U+w@mail.gmail.com> <d32ade7b56bf4651952659307c08893b@usma1ex-dag1mb5.msg.corp.akamai.com> <CANatvzwHtCn8rLB8npf3i7PGyYZhVDRd2uojh5hv3uxtFPEsSA@mail.gmail.com>
To: Kazuho Oku <kazuhooku@gmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/8sBcnxu5PW0QrrFM5Dn03y7RBtQ>
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: Fri, 27 Apr 2018 17:21:11 -0000

Hi, all,

I am deeply skeptical of the possible existence of a box that would permit QUIC with unencrypted PN, but not with encrypted PN. The PN is simply not valuable enough to the path on its own to do the design work to detect and interfere with that case. Better in that case just to block QUIC and force TCP fallback.

Again, I would like to encourage everyone to consider that a middlebox must serve some perceived function to see deployment. 

That said, it seems like we have a way forward for not-terrible-for-offload PNE, with negotiation to shut it off in controlled environments where one wants to shave energy expenditure. +1 to Praveen’s suggestion to add transport parameters to the standard for this for purposes of interoperability.

Cheers, Brian



Sent from my iPhone

> On 27 Apr 2018, at 08:38, Kazuho Oku <kazuhooku@gmail.com> wrote:
> 
> 2018-04-27 1:51 GMT+09:00 Lubashev, Igor <ilubashe@akamai.com>:
>>> if some middleboxes decide to pass QUIC without PNE but block QUIC with PNE, we might be incentivized to use QUIC without PNE.
>> 
>> If a middlebox really dislikes PNE, it can just block QUIC altogether, forcing a TCP fallback.  Is TCP better than QUIC-without-PNE from any POV in that situation?  (And if so, this should be the recommendation to QUIC stacks with negotiable PNE -- fallback to TCP, if path is blocking PNE.)
> 
> The argument here is that if we define PNE as an option turned on by
> default and see some middleboxes blocking PNE, we might be
> incentivized to turn off PNE for *all* connections, because detecting
> blockade and then falling back to a less secure protocol is hard and
> time consuming.
> 
>> - Igor
>> 
>> -----Original Message-----
>> From: Kazuho Oku [mailto:kazuhooku@gmail.com]
>> Sent: Wednesday, April 25, 2018 10:25 PM
>> To: Erik Kline <ek@google.com>
>> Cc: Mark Nottingham <mnot@mnot.net>; Mike Bishop <mbishop@evequefou.be>; Ian Swett <ianswett=40google.com@dmarc.ietf.org>; Christian Huitema <huitema@huitema.net>; IETF QUIC WG <quic@ietf.org>; Deval, Manasi <manasi.deval@intel.com>
>> Subject: Re: Getting to consensus on packet number encryption
>> 
>> 2018-04-26 10:46 GMT+09:00 Erik Kline <ek@google.com>:
>>> Couldn't a middlebox have a policy where it permits QUIC sessions w/o
>>> PNE but blocks sessions with PNE?  Then implementations would be
>>> forced to choose how adapt: break altogether, maybe try TCP, or
>>> disable PNE and carry on.
>> 
>> There are two ways of negotiating the use (or non-use) of PNE. One is use Transport Parameters and the other is to use a different QUIC version.
>> 
>> Use of Transport Parameters is secure because it is part of the TLS handshake. Version negotiation has it's own protection against downgrade (or upgrade) attacks (see https://quicwg.github.io/base-drafts/draft-ietf-quic-transport.html#rfc.section.6.4.4).
>> 
>> So I would assume that a middlebox trying to intervene in the negotiation of PNE use can be detected.
>> 
>> That said, I do see your point that if some middleboxes decide to pass QUIC without PNE but block QUIC with PNE, we might be incentivized to use QUIC without PNE. In such case, we might end up having privacy leaks & ossification.
>> 
>> I think that is a good argument for always having PNE turned on.
>> 
>>> 
>>>> On 26 April 2018 at 01:22, Kazuho Oku <kazuhooku@gmail.com> wrote:
>>>> 2018-04-26 9:21 GMT+09:00 Ian Swett <ianswett=40google.com@dmarc.ietf..org>:
>>>>> It has been, and I'm personally supportive of it, because I believe
>>>>> it'll be useful for datacenter QUIC use cases.
>>>>> 
>>>>> But the WG has to decide:
>>>>> 1) Is it allowable to disable PNE?
>>>> 
>>>> There are two concerns that PNE is trying to address: ossification and privacy.
>>>> 
>>>> I won't mind if some portion of QUIC-like traffic has no mechanism to
>>>> prevent ossification. This is because we can train the middleboxes to
>>>> not ossify the PN field by having PNE in the majority of the traffic
>>>> that they will see.
>>>> 
>>>> OTOH, I would be worried of privacy implications. Once you define a
>>>> protocol, it is hard to control how it is going to be used.
>>>> 
>>>> But with that said, I think we might better wait to see if somebody
>>>> still thinks he/she *needs* QUIC without PNE.
>>>> 
>>>>> 2) What the mechanism is?  ie: Unilateral via TransportParams or
>>>>> negotiated via an extension or ?
>>>>> 
>>>>>> On Wed, Apr 25, 2018 at 6:01 PM Mike Bishop <mbishop@evequefou.be> wrote:
>>>>>> 
>>>>>> I think that’s been suggested before, though we’d need to sort out
>>>>>> the details of what that looks like.  I don’t have a particular design in mind.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> From: Ian Swett [mailto:ianswett@google.com]
>>>>>> Sent: Wednesday, April 25, 2018 12:57 PM
>>>>>> To: Mike Bishop <mbishop@evequefou.be>
>>>>>> Cc: Christian Huitema <huitema@huitema.net>; Deval, Manasi
>>>>>> <manasi.deval@intel.com>; Mark Nottingham <mnot@mnot.net>; IETF
>>>>>> QUIC WG <quic@ietf.org>
>>>>>> Subject: Re: Getting to consensus on packet number encryption
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Hi Mike,
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> To clarify, are you suggesting adding a way to disable packet
>>>>>> number encryption via negotiation in the v1 spec as well as
>>>>>> adopting #1079?  Or would the choice of whether PNE is to be used
>>>>>> unilateral, such as a transport param?
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Wed, Apr 25, 2018 at 3:54 PM Mike Bishop <mbishop@evequefou.be> wrote:
>>>>>> 
>>>>>> Yes -- it seems that the biggest objection to #1079 was the
>>>>>> difficulty in hardware implementation.  If we're hearing that
>>>>>> hardware implementation is feasible at a reasonable cost, then I think we might have a winner.
>>>>>> 
>>>>>> The CPU cost for a software implementation is still worth
>>>>>> considering, and an option to not encrypt is probably reasonable to
>>>>>> limit that burden for implementations / use cases that don't care.
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: QUIC <quic-bounces@ietf.org> On Behalf Of Christian Huitema
>>>>>> Sent: Wednesday, April 25, 2018 3:14 AM
>>>>>> To: Deval, Manasi <manasi.deval@intel.com>; Mark Nottingham
>>>>>> <mnot@mnot.net>
>>>>>> Cc: quic@ietf.org
>>>>>> Subject: Re: Getting to consensus on packet number encryption
>>>>>> 
>>>>>>> On 4/23/2018 6:55 PM, Deval, Manasi wrote:
>>>>>>> 
>>>>>>> I had brought up the issue with PNE several weeks ago as a
>>>>>>> barrier to hardware offload. After further review, it looks like
>>>>>>> a hardware offload can implement the PNE at a small cost.
>>>>>>> 
>>>>>>> The implementation can modify current HW crypto accelerators to
>>>>>>> support encrypting a buffer in the first pass and then encrypting
>>>>>>> packet number in the 2nd pass as already discussed on this
>>>>>>> thread. The exact requirement (header checksum, packet length
>>>>>>> encoding) is still in flux so there may be some small variations
>>>>>>> depending on the accelerator and final algorithm chosen for PNE.
>>>>>>> Future offload designs can do more to further reduce the overhead.
>>>>>> 
>>>>>> Thanks for the information, Manasi. I have modified the wiki page
>>>>>> describing the PNE issues and alternatives to reflect this new data:
>>>>>> 
>>>>>> https://github.com/quicwg/base-drafts/wiki/Summary-of-the-PN-encryption-issues-and-alternatives..
>>>>>> With that new information, it appears that PR #1079 is superior to
>>>>>> every other alternative.
>>>>>> 
>>>>>> -- Christian Huitema
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Kazuho Oku
>>>> 
>> 
>> 
>> 
>> --
>> Kazuho Oku
>> 
> 
> 
> 
> -- 
> Kazuho Oku
>