Re: Packet number encryption

Christian Huitema <huitema@huitema.net> Tue, 30 January 2018 21:01 UTC

Return-Path: <huitema@huitema.net>
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 EC319126C3D for <quic@ietfa.amsl.com>; Tue, 30 Jan 2018 13:01:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=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 K5iL_uwRPNvs for <quic@ietfa.amsl.com>; Tue, 30 Jan 2018 13:01:09 -0800 (PST)
Received: from mx43-out1.antispamcloud.com (mx43-out1.antispamcloud.com [138.201.61.189]) (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 3D5B5126C83 for <quic@ietf.org>; Tue, 30 Jan 2018 13:01:09 -0800 (PST)
Received: from xsmtp12.mail2web.com ([168.144.250.177]) by mx18.antispamcloud.com with esmtps (TLSv1.2:AES128-SHA:128) (Exim 4.89) (envelope-from <huitema@huitema.net>) id 1egd1Y-00049f-3n for quic@ietf.org; Tue, 30 Jan 2018 22:01:06 +0100
Received: from [10.5.2.14] (helo=xmail04.myhosting.com) by xsmtp12.mail2web.com with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <huitema@huitema.net>) id 1egd1T-00023P-JZ for quic@ietf.org; Tue, 30 Jan 2018 16:00:59 -0500
Received: (qmail 4995 invoked from network); 30 Jan 2018 21:00:54 -0000
Received: from unknown (HELO [192.168.200.68]) (Authenticated-user:_huitema@huitema.net@[72.235.171.77]) (envelope-sender <huitema@huitema.net>) by xmail04.myhosting.com (qmail-ldap-1.03) with ESMTPA for <martin.thomson@gmail.com>; 30 Jan 2018 21:00:53 -0000
To: Eric Rescorla <ekr@rtfm.com>, Brian Trammell <ietf@trammell.ch>
References: <CABkgnnVyo3MmWtVULiV=FJTnR528qfY8-OmKGWAs0bCvri-a_g@mail.gmail.com> <1F7FB3B8-A94C-4354-9944-FB09FB8DB68B@trammell.ch> <CABcZeBMbwdwyC9TxxHBLYaZKfNB-FG2wCGjqUZ_mNR-A1R47FA@mail.gmail.com>
Cc: QUIC WG <quic@ietf.org>, Martin Thomson <martin.thomson@gmail.com>
From: Christian Huitema <huitema@huitema.net>
Message-ID: <9096e5ec-581e-875a-b1dd-bff0b05206fd@huitema.net>
Date: Tue, 30 Jan 2018 11:00:54 -1000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <CABcZeBMbwdwyC9TxxHBLYaZKfNB-FG2wCGjqUZ_mNR-A1R47FA@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------2137470FCDF6842B8EB0036B"
Subject: Re: Packet number encryption
X-Originating-IP: 168.144.250.177
X-AntiSpamCloud-Domain: xsmtpout.mail2web.com
X-AntiSpamCloud-Username: 168.144.250.0/24
Authentication-Results: antispamcloud.com; auth=pass smtp.auth=168.144.250.0/24@xsmtpout.mail2web.com
X-AntiSpamCloud-Outgoing-Class: unsure
X-AntiSpamCloud-Outgoing-Evidence: Combined (0.16)
X-Recommended-Action: accept
X-Filter-ID: EX5BVjFpneJeBchSMxfU5pyip6Kn0EKfLGbCBLMcDQIXv9krsgRhBn0ayn6qsUc7A2kcKDr1fzRm ksYYe0sWHrgNzB/4Jkrw1eDLcif59fte8RiINThtifjQGcKGwAj4B98yDTitFWvbHwz9vKZpm4b3 Kv7PcFSfRyFbnU/eNYc8zYOZy1SS6ohN09nxrcu5ZsQEbaxxISMHgJxrdMdSS4B6hVJPXxgisa+g wkHvC+PVG1YjIrFRKhESMT/tU1Dx+IHaAZrg1ulFniksjLYqZxdG5bOwa1rOgT+89+/XFrGt2tce crpXRY6fm8RXptyzavERpop5LF7RavHozgbn9XzprFRbpFQTOcEGeQOY3IcDlgJpEbxunV7tCPNi PQvHQpVRoYcix47lJTuKsG8TgnDHFRDF834rtLc6Wv9Yj+vBPX9bzGJi0ycLbiOUDEySIK/1NH5T HMtlYvyHAYGOGheVSH7cGoIH3Vd41lbD31XIx4AXarfh1O38bAuuIRigglQLLoevXSDb45gXomrF uFOyMgu/VzoqvLoDTP7eHxPGvVLPSj+Hlyh2mculO/W8NktFVcl6hrIDm43UklXgo0rGkb5OztVl OoF8rUUHwR1JLObs/ksVBOHvEAgSr8kATvFVVOfJAYdBTniKgyyo60ONoJfh+XjGSeeT90H/uIG/ 3wQWvbZi3XZTBukuI2KKDNoFafZX+BQvtelCkij2VWbjO41FyBEqIaDudcVplPEfgkCmu0AbpCDt lYGBUhlWi2LEHF33nMCnEPdDBPtPg/fFcHV2tQAVqGdj/zM7G/G3L31QGIB1LDs8uX49JL/W5ft9 Iz0WDtXlRni5HCCJM9Qvlo9UV7vdWttsewtXKowaEO652uo+6xHVEn43gl09gN9PtOEBx/RKpFEr HkJ0VfjEzm1SsR8v3aJbN/NZfa/pGyl0Yc/hSh4fhbFqiL7w
X-Report-Abuse-To: spam@quarantine5.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/TFHqGkWsu83TBKfDWhm4f-XksZo>
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: Tue, 30 Jan 2018 21:01:12 -0000


On 1/30/2018 10:31 AM, Eric Rescorla wrote:
>
>
> On Tue, Jan 30, 2018 at 6:53 AM, Brian Trammell <ietf@trammell.ch
> <mailto:ietf@trammell.ch>> wrote:
>
>     hi Martin,
>     ...
>     I'm not sure this isn't completely crazy.
>

I think this beats the alternatives, either complex-but-fragile
obfuscation schemes, or separate per-path encryption contexts. Also, I
like that this is somewhat future-proof -- it allows building future
multipath extension at an almost minimal cost.


>     ...
>     Beyond this, though, we need to have a coherent idea of what we're
>     trying to prevent. From discussions to date, I think these are the
>     two cases we care about:
>
>     (1) An unprivileged on-path device that sees a packet from a flow
>     that is migrated on purpose by an endpoint (i.e., due to
>     connection migration or multipath) should not be able to associate
>     that packet to the prior flow.
>

Yes.

>
>     (2) An unprivileged on-path device that sees a packet from a flow
>     that is unintentionally migrated (i.e., one of its globally
>     routable addresses changes without the associated endpoint's
>     knowledge) should not be able to associate that packet to the
>     prior flow.
>

No. That one can only be solved through a voluntary action from the
sender. If the client is in the middle of sending a stream, correlation
is trivial whatever we do. There are however two plausible improvements:

a) Explicit migration after signalling by the NAT box. We would need
some new protocol to do that, maybe ICMP based. It could work in the
"mobile router" case.

b) Opportunistic migration out of quiescence. NAT rebinding typically
happen after a period of silence. Clients that just start sending after
a long silence may decide to "simulate a migration", to break the
correlation.

Both of these improvements will benefit from packet number encryption.

> ...
>
>     As Christian noted, using the short header type field to provide a
>     sort of subsequence number or other packet-number independent
>     explicit signal would mitigate the damage packet number encryption
>     would to do loss and reordering observability, but not completely
>     address them.
>

Yes. We have to be serious about network manageability. There has to be
a sweet spot between expose everything so network management sees it and
encrypt everything so middle boxes do not breach privacy or ossify the
protocol. I think tricks like the spin bit and/or a small-modulo
sequence number may be close to that sweet spot.

Part of me would want to see these spin bit and small modulo sequence
number down in the IP header. That would look like a very nice use of
the IPv6 flow-ID. Wouldn't it be nice if network management was based on
the network header? But failing that, maybe we need to start something
in QUIC.

-- Christian Huitema