RE: Getting to consensus on packet number encryption

"Roni Even (A)" <roni.even@huawei.com> Wed, 02 May 2018 13:04 UTC

Return-Path: <roni.even@huawei.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 C7E2D126DCA for <quic@ietfa.amsl.com>; Wed, 2 May 2018 06:04:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] 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 vBBdmrqim4O6 for <quic@ietfa.amsl.com>; Wed, 2 May 2018 06:04:57 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [194.213.3.17]) (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 6B6C4126D05 for <quic@ietf.org>; Wed, 2 May 2018 06:04:57 -0700 (PDT)
Received: from lhreml708-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 44403AA34247D for <quic@ietf.org>; Wed, 2 May 2018 14:04:53 +0100 (IST)
Received: from DGGEMM404-HUB.china.huawei.com (10.3.20.212) by lhreml708-cah.china.huawei.com (10.201.108.49) with Microsoft SMTP Server (TLS) id 14.3.382.0; Wed, 2 May 2018 14:04:54 +0100
Received: from DGGEMM506-MBS.china.huawei.com ([169.254.4.14]) by DGGEMM404-HUB.china.huawei.com ([10.3.20.212]) with mapi id 14.03.0361.001; Wed, 2 May 2018 21:04:49 +0800
From: "Roni Even (A)" <roni.even@huawei.com>
To: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>, Benjamin Kaduk <bkaduk=40akamai.com@dmarc.ietf.org>
CC: Praveen Balasubramanian <pravb@microsoft.com>, IETF QUIC WG <quic@ietf.org>
Subject: RE: Getting to consensus on packet number encryption
Thread-Topic: Getting to consensus on packet number encryption
Thread-Index: AQHT4hO80n5bAGn7ak+xDRyXTDK38qQcY9ag
Date: Wed, 02 May 2018 13:04:49 +0000
Message-ID: <6E58094ECC8D8344914996DAD28F1CCD87F34A@DGGEMM506-MBS.china.huawei.com>
References: <01AE46C6-682C-4A21-84CD-1D8DAD6F49D9@fb.com> <CACpbDcdnmHrWMCShYd1pEDBervRKfO1pMUM8hb4tkK9nqH1Mdw@mail.gmail.com> <MWHPR21MB06386100B48E17A059B5A04EB6800@MWHPR21MB0638.namprd21.prod.outlook.com> <20180502121018.GF5742@akamai.com> <4C049C27-FAB7-4CF4-8ABE-DABDE8CD0F8B@tik.ee.ethz.ch>
In-Reply-To: <4C049C27-FAB7-4CF4-8ABE-DABDE8CD0F8B@tik.ee.ethz.ch>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.200.202.72]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/fvifUPML95wejPJfpyGMgyqLRFE>
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 13:05:00 -0000

Hi,
I strongly support Mirja's view.  At least we can move forward.

I did not feel from the discussion that the benefits from PNE vs the PN were meaningful enough to make me support any direction too many variables (Ossification, linkability, complexity and processing requirements, PNE not needed for all cases so negotiate,...) with no way for evaluation.  If there was a hum I would probably hum for "not enough information" or "no opinion" but still hope that some decision will be made.


Roni Even


-----Original Message-----
From: QUIC [mailto:quic-bounces@ietf.org] On Behalf Of Mirja Kühlewind
Sent: Wednesday, May 02, 2018 3:47 PM
To: Benjamin Kaduk
Cc: Praveen Balasubramanian; IETF QUIC WG
Subject: Re: Getting to consensus on packet number encryption

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
>