Re: Getting to consensus on packet number encryption

Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch> Wed, 02 May 2018 12:47 UTC

Return-Path: <mirja.kuehlewind@tik.ee.ethz.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 7FADA120725 for <quic@ietfa.amsl.com>; Wed, 2 May 2018 05:47:07 -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, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham 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 VlErAWF9h7kQ for <quic@ietfa.amsl.com>; Wed, 2 May 2018 05:47:05 -0700 (PDT)
Received: from virgo01.ee.ethz.ch (virgo01.ee.ethz.ch [129.132.2.226]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D49861243FE for <quic@ietf.org>; Wed, 2 May 2018 05:46:55 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by virgo01.ee.ethz.ch (Postfix) with ESMTP id 40bdML0JxDzMlLG; Wed, 2 May 2018 14:46:54 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at virgo01.ee.ethz.ch
Received: from virgo01.ee.ethz.ch ([127.0.0.1]) by localhost (virgo01.ee.ethz.ch [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C6ebgpxlcPmb; Wed, 2 May 2018 14:46:53 +0200 (CEST)
X-MtScore: NO score=0
Received: from [192.168.178.24] (i577BCED7.versanet.de [87.123.206.215]) by virgo01.ee.ethz.ch (Postfix) with ESMTPSA; Wed, 2 May 2018 14:46:52 +0200 (CEST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.3 \(3445.6.18\))
Subject: Re: Getting to consensus on packet number encryption
From: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>
In-Reply-To: <20180502121018.GF5742@akamai.com>
Date: Wed, 02 May 2018 14:46:51 +0200
Cc: Praveen Balasubramanian <pravb@microsoft.com>, IETF QUIC WG <quic@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <4C049C27-FAB7-4CF4-8ABE-DABDE8CD0F8B@tik.ee.ethz.ch>
References: <01AE46C6-682C-4A21-84CD-1D8DAD6F49D9@fb.com> <CACpbDcdnmHrWMCShYd1pEDBervRKfO1pMUM8hb4tkK9nqH1Mdw@mail.gmail.com> <MWHPR21MB06386100B48E17A059B5A04EB6800@MWHPR21MB0638.namprd21.prod.outlook.com> <20180502121018.GF5742@akamai.com>
To: Benjamin Kaduk <bkaduk=40akamai.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3445.6.18)
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Ttnfdk5uEO-ZSXhRvacdvoynJkA>
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, 02 May 2018 12:47:07 -0000

Hi Ben, hi all,

at this point, I'm fine with moving on with a decision and I didn’t speak up recently because I did feel that just repeating my point of view over and over again (like other do) would bring the discussion forward but I have to say that I’m still skeptical about the benefits of PNE. 

I don’t think that it will help linkability as mitigation can be easy detected with simple traffic analysis (if you see both flows; if you don’t see both flows you can’t detect it no matter what) and I rate the risk of ossification on the packet number rather low (both in terms of the risk that it will happen and if even if it happens that it will hinder protocol evolution strongly) such that I simply don’t think that it is justified to spend ANY additional complexity on PNE. 

I might be wrong and I understand the fear of people about what can happen in a worst case scenario, however, I also learned during my time in the IEFT that complexity itself can be a barrier for deployment that should not be underestimated. If people don’t understand the specs we write, they will not be able to implement (and maintain) our protocols, or at least not be able to implement it correctly which might be even worse for deployment and security (than not using them at all). 

Independent of the decision on PNE, I would like people to please keep in mind that while increased security is preferable, it does not mean that this is a free ticket to add encryption wherever we can, even if there are no or maybe yet unknown benefits as it always comes with a cost.

Mirja



> Am 02.05.2018 um 14:10 schrieb Benjamin Kaduk <bkaduk=40akamai.com@dmarc.ietf.org>:
> 
> Hi Praveen,
> 
> On Wed, May 02, 2018 at 02:02:37AM +0000, Praveen Balasubramanian wrote:
>> We can get (1) done but I disagree that we can decouple (2). It doesn’t make sense to require performance overhead all the time with no benefit. For the Internet, PNE can prevent ossification so it is seen as a reasonable trade-off. For the datacenter, there is no known benefit, only cost.
> 
> Most of why I am pushing back so hard on this point is that I am having a
> *really* hard time getting the statement of "no benefit" (i.e., exactly zero)
> to mesh with my understanding of the situation.  I don't know the best
> way past this impasse -- it doesn't really seem right for me to make a
> list of potential benefits and have you shoot them down, for example.  I
> think maybe you are trying to make a slightly different point involving
> something like ongoing operational benefits (as opposed to cost of
> implementation/risk of bugs/ecosystem benefits), but I'm not entirely
> sure.
> 
>> We know that there is a CPU cost, this is not speculation. Doesn’t matter if
>> the cost is 1% or 10%. Hardware implementers have also raised concerns. Every
> 
> Well, I think it rather does matter for 1% vs. 10%.  If it was 0.1%
> (unlikely, I suppose), then that might be "in the noise" and not worth
> doing anything about, ever.  For a 1% cost, that's significant enough to
> make me want to address it in my long-term plans, but it is not
> necessarily a big enough impact to require immediate attention.  10%, on
> the other hand, probably would require immediate attention and be a
> show-stopper.
> 
>> CPU cycle we spend on things that add no value to the user should be
>> questioned. Every extra instruction we execute in the hot data path leaves
>> less CPU for workloads, burns more power and makes for a worse comparison
>> with HTTPS over TCP. The same argument as privacy holes holds here – just
> 
> The "burns more power" argument can be applied to every single CPU
> instruction; relative measures (i.e., percentage of total CPU) from
> actual deployment are what I find to be most compelling.
> 
>> because there are some existing perf bottlenecks doesn’t mean we add more,
>> particularly ones we cannot mitigate. I said it before that there are lots of
>> ways we can improve UDP perf but I don’t know of any technique for reducing
>> crypto CPU cost other than hardware offload.
> 
> And I ask again, who is "we"?  (At this point I am mostly assuming "all
> QUIC implementors", but it would be nice to be sure.)
> 
>> The cost is certainly worth saving with something as simple as a negotiation
>> mechanism. Am I missing something about a transport parameter being
> 
>> From the rest of the discussion, I don't think you've really sold people
> on "certainly", yet.
> 
>> complicated to implement? Implementations are free to support only PNE and
>> not negotiate anything else. There is actually an even simpler mechanism if a
>> transport parameter is deemed as costly: if the peer sends PN = 0 in the CI,
>> then its requesting no PNE and the receiver can choose to proceed or drop and
>> force TCP fall back. This should take only an extra if check on the receiver
>> CI processing logic to implement. I am assuming here that PNE on input of 0
>> will not produce 0 so it’s a safe sentinel value.
> 
> I think some people are worried not just about the complexity/simplicity
> of the mechanism implemented, but broader-scope ecosystem and
> architecture issues, whether that's a general complexity reduction
> initiative or more subtle issues involving middleboxes attempting to
> coerce certain sorts of behavior.
> 
> -Ben
>