RE: Privacy holes (was: Re: Getting to consensus on packet number encryption)

"Lubashev, Igor" <ilubashe@akamai.com> Thu, 05 April 2018 18:27 UTC

Return-Path: <ilubashe@akamai.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 1330412E040 for <quic@ietfa.amsl.com>; Thu, 5 Apr 2018 11:27:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1522952879; bh=DCd5RwCmO26qeIHHbSG6YjyjVXDnjDMm9G7ltF1nhfQ=; h=From:CC:Subject:Date:References:In-Reply-To:To:To; b=sDqnMPVXCzqAUEhznkGUN8F8TlEo12AW6JlDps7pB0XqPURVKzYatnCU4RFlCVHHu BdrLGZjyytU8EmdniP+3L+pdgtmIGo4lwDRBIAOIA8l2zYtDrPc1IbIDCVZZ4xlLmo +Vb+qMP9JZk3IHETEI/sg8HUvTwQTYDpZLdiQ4bs=
X-Mailbox-Line: From ilubashe@akamai.com Thu Apr 5 11:27:58 2018
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id BC31B12D94D; Thu, 5 Apr 2018 11:27:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1522952878; bh=DCd5RwCmO26qeIHHbSG6YjyjVXDnjDMm9G7ltF1nhfQ=; h=From:CC:Subject:Date:References:In-Reply-To:To:To; b=vHnMurUgFdT0xKmmrjBPzoEGpuJaSEEUX6KYDyy2aczLbpSKUtLFzI4mvwYteiiJH gnCWLlQ4RFludqzRzjDvywErmhrVA8V3GEbHGhLbExpX8Im1M/qcCxcyGI7nGalV8u aWl5XogtK5PV7N7EZa/hxYfA3eop89pP0PUXrFNM=
X-Original-To: dmarc-reverse@ietfa.amsl.com
Delivered-To: dmarc-reverse@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8B05712DA6F for <dmarc-reverse@ietfa.amsl.com>; Thu, 5 Apr 2018 11:27:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.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 42tzITTY8MHU for <dmarc-reverse@ietfa.amsl.com>; Thu, 5 Apr 2018 11:27:55 -0700 (PDT)
Received: from mx0a-00190b01.pphosted.com (mx0a-00190b01.pphosted.com [IPv6:2620:100:9001:583::1]) (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 8951812D94D for <ilubashe=40akamai.com@dmarc.ietf.org>; Thu, 5 Apr 2018 11:27:55 -0700 (PDT)
Received: from pps.filterd (m0050095.ppops.net [127.0.0.1]) by m0050095.ppops.net-00190b01. (8.16.0.22/8.16.0.22) with SMTP id w35IMwVC011150; Thu, 5 Apr 2018 19:27:52 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=jan2016.eng; bh=DCd5RwCmO26qeIHHbSG6YjyjVXDnjDMm9G7ltF1nhfQ=; b=a8tsmB1jN11IPZPND8rw92HJqAhuv0gjK3z4acKZd0Ep4dYudtsbIIWalFlAk/kRS8Yz PLB+dcx9njnGqpxf0WKcAP6yOIpDY0Rr5xj8fn/flZFxOnDfaDttrhRbbzlAqa31qXHq mnQUFKnu+FTNOGTJvAUz9OQy4pyJq2F4f3DehD6/T3UhXTLArqSPeGYQMBV1X1w5lmbI FS8Yjid5eZvaGhYPlEsmD/LWZ0ZMWwtzvjJ7ZR6aXJBZ5IT/+kl8/Pm+xeXpmR90I9oa QjES6ucMlD0C4qMoakdXu0aKye1F1Aet+oQ5oo+JlkkxlJMb2clWi/iOUEPehPQ8rcZy aw==
Received: from prod-mail-ppoint4 ([96.6.114.87]) by m0050095.ppops.net-00190b01. with ESMTP id 2h4hphwp85-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 05 Apr 2018 19:27:51 +0100
Received: from pps.filterd (prod-mail-ppoint4.akamai.com [127.0.0.1]) by prod-mail-ppoint4.akamai.com (8.16.0.21/8.16.0.21) with SMTP id w35IRovr013999; Thu, 5 Apr 2018 14:27:50 -0400
Received: from email.msg.corp.akamai.com ([172.27.123.31]) by prod-mail-ppoint4.akamai.com with ESMTP id 2h25nxcasa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 05 Apr 2018 14:27:41 -0400
Received: from USMA1EX-DAG1MB5.msg.corp.akamai.com (172.27.123.105) by usma1ex-dag1mb2.msg.corp.akamai.com (172.27.123.102) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Thu, 5 Apr 2018 14:27:24 -0400
Received: from USMA1EX-DAG1MB5.msg.corp.akamai.com ([172.27.123.105]) by usma1ex-dag1mb5.msg.corp.akamai.com ([172.27.123.105]) with mapi id 15.00.1365.000; Thu, 5 Apr 2018 14:27:24 -0400
From: "Lubashev, Igor" <ilubashe@akamai.com>
CC: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>, Christian Huitema <huitema@huitema.net>, Mike Bishop <mbishop@evequefou.be>, Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>, IETF QUIC WG <quic@ietf.org>, Frederick Kautz <fkautz@alumni.cmu.edu>
Subject: RE: Privacy holes (was: Re: Getting to consensus on packet number encryption)
Thread-Topic: Privacy holes (was: Re: Getting to consensus on packet number encryption)
Thread-Index: AQHTzPOeCspMmk/31UumuO1CInS8X6PylyoAgAACsQCAABOkAIAAAk8AgAABDID//8BxoIAASkOA//+9aUCAAAPCYA==
Date: Thu, 05 Apr 2018 18:27:23 +0000
Message-ID: <bb0a35e62e6d426baf7a36d3f2958da3@usma1ex-dag1mb5.msg.corp.akamai.com>
References: <7fd34142-2e14-e383-1f65-bc3ca657576c@huitema.net> <BBB8D1DE-25F8-4F3D-B274-C317848DE872@akamai.com> <CAN1APdd=47b2eXkvMg+Q_+P254xo4vo-Tu-YQu6XoUGMByO_eQ@mail.gmail.com> <CAKcm_gMpz4MpdmrHLtC8MvTf5uO9LjD915jM-i2LfpKY384O2w@mail.gmail.com> <HE1PR0702MB3611A67E764EE1C7D1644FAD84AD0@HE1PR0702MB3611.eurprd07.prod.outlook.com> <d8e35569-e939-4064-9ec4-2cccfba2f341@huitema.net> <CACpbDccqKoF-Y1poHMN2cLOK9GOuvtMTPsF-QEen3b30kUo9bg@mail.gmail.com> <CAKcm_gNffwpraF-H2LQBF33vUhYFx0bi_UXJ3N14k4Xj4NmWUw@mail.gmail.com> <40C1F6FE-2B2C-469F-8F98-66329703ED50@mnot.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> <759C5BE4-DE4C-4A82-929C-B03234B88A37@huitema.net> <CAJGwveB=qs+J2iBQRs3d5jdGuP9yBWoAgv0t3mwD=Wrf6Q5g8g@mail.gmail.com> <F395D018-FFCA-405F-BBD5-1313C6F6DAF9@huitema.net> <CANatvzy8zTFKs-c-rR0jMSHdh2HJMvZrRmcR5A+b6qNpNPzkrw@mail.gmail.com> <SN1PR08MB1854010FD61AC17D19E497FDDABB0@SN1PR08MB1854.namprd08.prod.outlook.com> <CAN1APddJ7b+7Ydtw7i5c3XBHiC3mz9FmJEM-kZ0=Y8DvmpQ0eg@mail.gmail.com> <a02101a18f16419f81233058a1a6de15@usma1ex-dag1mb5.msg.corp.akamai.com> <CANatvzyEWb1esUcPL=pP6eDmyB7cmfuUOn6vGMTui3Jr+Z-oQQ@mail.gmail.com> <d9efb98a11304b049694cb89dcc04629@usma1ex-dag1mb5.msg.corp.akamai.com>
In-Reply-To: <d9efb98a11304b049694cb89dcc04629@usma1ex-dag1mb5.msg.corp.akamai.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.19.35.87]
Content-Type: multipart/alternative; boundary="_000_bb0a35e62e6d426baf7a36d3f2958da3usma1exdag1mb5msgcorpak_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2018-04-05_08:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1804050187
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2018-04-05_08:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1804050186
To: "Lubashev, Igor" <ilubashe@akamai.com>
To: Kazuho Oku <kazuhooku@gmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/5QsZrX1EaYAJsgIL412MkBPuQCQ>
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, 05 Apr 2018 18:27:59 -0000

Ø  Or another way of solving the issue will be to always route the packet based on CID, then forward the packet between the endpoints behind the load balancer.

This would not really work for a global load balancer – the one capable of forwarding across a continent to a different anycast pop (due to client’s change in attachment point or BGP reconvergence).

Moreover, the routing info in a random CID may look “syntactically valid” but be “semantically invalid” (pointing at a dead path or a set of servers not capable of serving QUIC traffic).


From: Lubashev, Igor [mailto:ilubashe=40akamai.com@dmarc.ietf.org]
Sent: Thursday, April 05, 2018 2:21 PM
To: Kazuho Oku <kazuhooku@gmail.com>
Cc: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>; Christian Huitema <huitema@huitema.net>; Mike Bishop <mbishop@evequefou.be>; Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>; IETF QUIC WG <quic@ietf.org>; Frederick Kautz <fkautz@alumni.cmu.edu>
Subject: RE: Privacy holes (was: Re: Getting to consensus on packet number encryption)


  *   It would not, *if* the stateless load balancer can AES-decrypt the packet (using the key derived from the packet header) to see if the packet is in fact a initial packet.

Would not it need to first decide that the CID in the packet is unknown (which means stateful)?  It would need to do some integrity check on CID, which would require a large nonce to avoid accidentally classifying a random CID as valid, because the cost of this mistake can be very large for the client (see below).


  *   Or another way of solving the issue will be to always route the packet based on CID, then forward the packet between the endpoints behind the load balancer.

This would not really work for a global load balancer – the one capable of forwarding across a continent to a different anycast pop (due to client’s change in attachment point or BGP reconvergence).



From: Kazuho Oku [mailto:kazuhooku@gmail.com]
Sent: Thursday, April 05, 2018 2:09 PM
To: Lubashev, Igor <ilubashe@akamai.com<mailto:ilubashe@akamai.com>>
Cc: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com<mailto:mikkelfj@gmail.com>>; Mike Bishop <mbishop@evequefou.be<mailto:mbishop@evequefou.be>>; Christian Huitema <huitema@huitema.net<mailto:huitema@huitema.net>>; IETF QUIC WG <quic@ietf.org<mailto:quic@ietf.org>>; Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch<mailto:mirja.kuehlewind@tik.ee.ethz.ch>>; Frederick Kautz <fkautz@alumni.cmu.edu<mailto:fkautz@alumni.cmu.edu>>
Subject: Re: Privacy holes (was: Re: Getting to consensus on packet number encryption)



2018-04-06 2:59 GMT+09:00 Lubashev, Igor <ilubashe@akamai.com<mailto:ilubashe@akamai.com>>:

  *   I'd prefer making handshake packets indistinguishable from short header packets. In essence, you move the flags of the long header inside the AEAD-protected area. An endpoint that receives a packet carrying a CID that does not belong to any known connection trial-decrypts the packet as a initial packet and handles it as a connection initiation, or sends a stateful reset if the trial-decryption fails.
This change would wreck stateless load balancers that rely on being able to distinguish CI packets (and route them based on IPs) from other packets (and route them based on CID).

It would not, *if* the stateless load balancer can AES-decrypt the packet (using the key derived from the packet header) to see if the packet is in fact a initial packet. Or another way of solving the issue will be to always route the packet based on CID, then forward the packet between the endpoints behind the load balancer.

I agree that it would be a no-deal for stateless load balancers that are incapable of doing such things.


- Igor

From: Mikkel Fahnøe Jørgensen [mailto:mikkelfj@gmail.com<mailto:mikkelfj@gmail.com>]
Sent: Thursday, April 05, 2018 1:31 PM
To: Mike Bishop <mbishop@evequefou.be<mailto:mbishop@evequefou.be>>; Christian Huitema <huitema@huitema.net<mailto:huitema@huitema.net>>; Kazuho Oku <kazuhooku@gmail.com<mailto:kazuhooku@gmail.com>>
Cc: IETF QUIC WG <quic@ietf.org<mailto:quic@ietf.org>>; Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch<mailto:mirja.kuehlewind@tik.ee.ethz.ch>>; Frederick Kautz <fkautz@alumni.cmu.edu<mailto:fkautz@alumni.cmu.edu>>
Subject: RE: Privacy holes (was: Re: Getting to consensus on packet number encryption)

Hi


On 5 April 2018 at 19.27.24, Mike Bishop (mbishop@evequefou.be<mailto:mbishop@evequefou.be>) wrote:

 An endpoint that receives a packet carrying a CID that does not belong to any known connection trial-decrypts the packet as a initial packet and handles it as a connection initiation, or sends a stateful reset if the trial-decryption fails.

I can see hiding things may be a good thing, but having to trial decrypt all unknown packets as potentially creating a huge load, unless you combine it with my proposal to add a checksum to the encrypted packet number so you only need one crypto block on average to reject random packet content.

It won’t solve all DDoS, but it will help. Forcing trial decryption fo the full packet makes me a bit anxious.



Mikkel





--
Kazuho Oku