Re: Getting to consensus on packet number encryption

Jana Iyengar <jri.ietf@gmail.com> Sat, 28 April 2018 00:08 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 5159F12D72F for <quic@ietfa.amsl.com>; Fri, 27 Apr 2018 17:08:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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] autolearn=unavailable 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 EZK6PBu0YaUW for <quic@ietfa.amsl.com>; Fri, 27 Apr 2018 17:08:14 -0700 (PDT)
Received: from mail-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) (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 8257B126CBF for <quic@ietf.org>; Fri, 27 Apr 2018 17:08:13 -0700 (PDT)
Received: by mail-wr0-x244.google.com with SMTP id i14-v6so14146wre.2 for <quic@ietf.org>; Fri, 27 Apr 2018 17:08:13 -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=TKPEXGWcExrYlWC4MTaCtizHMNpycnxnLlHJUMs+OcI=; b=f+Kt5YZ2S/GIahmr9nIq3pgs0SrY3PfjMaLrBIT9aCAfe3Q/uLBDNJy5+5uni06Zts aEmh01KnQZHyqhjtu2r0A3+vvsSEUDIA28hLCZpEbHEPk7gwXcj4SlfT+eYUfIbIrOw8 FWhP1v+wmIM91oaVKhjU02vldOKjYx+qmI+E8a2wLryaPXWLKTRsBgqVRq0vSQF5XUYy if41fGrk/DtGrfg65/+TrKfQ8mfabOfMMTjNFjonQg/u1FOSEcQ7gLTfuN5Z9102wi4Z /5ATohovTibsMgehi5f9ME3lfb9a+iXjAcKpF9IaRC2hSVKBu28u3UncBZ7soWPPInrR m3IQ==
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=TKPEXGWcExrYlWC4MTaCtizHMNpycnxnLlHJUMs+OcI=; b=nzpRbS7+i/bxF14fLaMCMtWG/Uu86Zdd13AqlKjAhr3bINZeDKMcQ+xPThjKarwWlu cnQKOOgfEadfs8iYFZRn9RxjxExp1H+YUAa+cv8o5JMRKiSpXg6T6/fN1EC3fYMayd11 gCi4TBQMwBOsXmTLO76Yxh+Rnc8znkEH5pMNW2dYQVfmYy0YgGHgXPndo3RUbgcsoW7L cyeCWtQw8r4daYg4db5qQyDPbLrAspCePTtJUJRzmXMqXwR0r66TwdCRBnMX4bgVCXQi mRMW4Y3BIN+mEmK0r7Q4QTsre4y6b6sdRybPZdJDPjlwZZC62rUiVItAMEh11pDdMyk1 bcmg==
X-Gm-Message-State: ALQs6tDZxxR3ThbYovz7X+7gsr1/hyYfOeVRdX8kFMEemXXOpFxOk00D rBLmSpFtezBqVCFjBPL6NukSNruVLD+ujdCoosY=
X-Google-Smtp-Source: AB8JxZqxi3JZmTnN3D0rnNArkFGmqY66UdgS7ZxNKA2GGCDXb+gqmN0sGvdpF0sLKzGDZ33IasmB5KDiBE8t+EW4/14=
X-Received: by 2002:adf:e312:: with SMTP id b18-v6mr2976036wrj.247.1524874091978; Fri, 27 Apr 2018 17:08:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.187.9 with HTTP; Fri, 27 Apr 2018 17:08:11 -0700 (PDT)
In-Reply-To: <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> <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> <58447D8E-782C-431C-8FC3-71124B10A047@trammell.ch>
From: Jana Iyengar <jri.ietf@gmail.com>
Date: Fri, 27 Apr 2018 17:08:11 -0700
Message-ID: <CACpbDcdfF9w3qqrH1eB0sGU_4vheD9aMP5EXnp1o3Y19N19NUg@mail.gmail.com>
Subject: Re: Getting to consensus on packet number encryption
To: "Brian Trammell (IETF)" <ietf@trammell.ch>
Cc: Kazuho Oku <kazuhooku@gmail.com>, "Lubashev, Igor" <ilubashe@akamai.com>, Mark Nottingham <mnot@mnot.net>, Mike Bishop <mbishop@evequefou.be>, "Deval, Manasi" <manasi.deval@intel.com>, Erik Kline <ek@google.com>, Christian Huitema <huitema@huitema.net>, IETF QUIC WG <quic@ietf.org>, Ian Swett <ianswett=40google.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="0000000000009467b0056add6ab0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/nJ0mTaY2lbYA9EbzfEMEOwrLgDE>
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: Sat, 28 Apr 2018 00:08:17 -0000

I agree that negotiating PNE runs the risk of having two types of
connections on the Internet. I agree that the risk of blockage doesn't seem
high, but honestly, having seen how middlebox features get deployed, I'm
not convinced that it won't happen (though I suspect it's unlikely to
happen at a large scale). I understand the desire to have it off within DCs
though, so I'm sensitive to that need.

I'd like to hear more about why making PNE optional isn't a decision that
we can punt to later though. I'd like to move along with PNE now, and come
back to negotiating this as an option once we have some deployment
work/experience in intra DC environments. I'm not yet convinced that this
is going to be your biggest cost in an intra-DC environment, and if it is,
then we can surely revisit this decision and add a param later to make PNE
optional, either later in v1 or in v2. We are talking about a very narrow
view into total cost at this point -- this one AES op is unlikely to be the
bottleneck. But I have no data, and I don't think anyone has any full
deployment experience yet.

TL;DR: I'd like to suggest that we move ahead with PR #1079, and continue
discussion on adding optional PNE in Issue #1296.

Brian: You're right that a middlebox must serve some perceived function to
see deployment. The problem is that the value and cost of any deployed
function however is also perceived, and everyone has different perceptions.


On Fri, Apr 27, 2018 at 10:20 AM, Brian Trammell (IETF) <ietf@trammell.ch>
wrote:

> 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
> >
>
>