Re: Packet number encryption

Martin Thomson <martin.thomson@gmail.com> Wed, 07 February 2018 06:13 UTC

Return-Path: <martin.thomson@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 17D9C12DA25 for <quic@ietfa.amsl.com>; Tue, 6 Feb 2018 22:13:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham 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 cdu5-hXYvXjS for <quic@ietfa.amsl.com>; Tue, 6 Feb 2018 22:13:12 -0800 (PST)
Received: from mail-ot0-x231.google.com (mail-ot0-x231.google.com [IPv6:2607:f8b0:4003:c0f::231]) (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 033C012D88B for <quic@ietf.org>; Tue, 6 Feb 2018 22:13:12 -0800 (PST)
Received: by mail-ot0-x231.google.com with SMTP id q12so4125082otg.10 for <quic@ietf.org>; Tue, 06 Feb 2018 22:13:11 -0800 (PST)
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:content-transfer-encoding; bh=97NcE1gnyjgN0ImT6XC9lFD7iLx3f7LGoQgHggDNjX0=; b=oAbQnF2qSTYOKiZzJFyPNh0ZC2/d/HEVIBrs8KbIr1W/zdjQJk9RxejI8+B+m0Ak7+ eUXs3m+Yq3iBY/Z7Exv6whNKaM42qVY8ZkRRc65sVUptzsT8W5HD2GAZWoOAIJKsHVRg DA6KzRmCgJRYx4ELg/oNZis4XyYjclhGXdhJRiaCx6Obi8c9fuhcfUzc65+6w+PLX2QX gzZsnQE6CTeUITJ7MaTgFzrjTKdRS1PfE8b5C4/ytNgfrm6hEbKf3OzAfD+CakZo2etR bD8EFh8z2XOc6wq4MTdgk+fgslyaTeKMg09zG2bkRIyMw8CYpe/rXgifIkXOoJvh+lr6 MNVA==
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:content-transfer-encoding; bh=97NcE1gnyjgN0ImT6XC9lFD7iLx3f7LGoQgHggDNjX0=; b=IH6ls1vt5uFl3Bv9+CjNwNLGS+0sRwp5vNGvk2z9/iIXU0EUH1wZwrCCPhfijopfMZ 5HwGK/MwoEGf12iJwPy63M8WI80h2SKDwoYP2BTTtuQuDOQVUHKfWZmfkXn63hRSokjh T//cdrOjjzoVl1v2EKRLpnHshYYvRI/CGyu+R9AJn05UeXV6ZXCcuUz0hNXhQfJo92OI cXVLGooU4+kcYzrQyatLc4Cc0DjwaLIc6a7ICrgQijsGbwKWPVAo+EEoTd6Kb4FRMRjv 7Voduq0IntCklc0NwWq/q90PG7gWUqlfMR7vJJx1txhLAY9Khfgr7U8IJ9+vZa3fXn5+ eOeQ==
X-Gm-Message-State: APf1xPAy928WBS4aJq5TPTA58PThiULRvezDXNk4tUbJBWrPBGz3aJpg fGYhcyHqeUydhG+NSg2hObJUjPXOoSFBIKubJMg=
X-Google-Smtp-Source: AH8x225dnQswyk8leEZ57nogdFbHfKf/1LtxubDsp4Xb9+paDVcEzsTyBxzjI0XtiyxU1YImHfy4p94TvhV7Nm+BN4A=
X-Received: by 10.157.72.221 with SMTP id a29mr3620605otj.308.1517983991184; Tue, 06 Feb 2018 22:13:11 -0800 (PST)
MIME-Version: 1.0
Received: by 10.157.52.196 with HTTP; Tue, 6 Feb 2018 22:13:10 -0800 (PST)
In-Reply-To: <CY4PR21MB0133CCAA6807469BA983D00BB6FC0@CY4PR21MB0133.namprd21.prod.outlook.com>
References: <CABkgnnVyo3MmWtVULiV=FJTnR528qfY8-OmKGWAs0bCvri-a_g@mail.gmail.com> <2C515BE8694C6F4B9B6A578BCAC32E2F83BA1443@MBX021-W3-CA-2.exch021.domain.local> <BY2PR15MB07757473DB9788558B902EB5CDF80@BY2PR15MB0775.namprd15.prod.outlook.com> <6E58094ECC8D8344914996DAD28F1CCD861B7F@DGGEMM506-MBX.china.huawei.com> <e529144067624fcba636fc8c24ee3ff4@usma1ex-dag1mb5.msg.corp.akamai.com> <BY2PR15MB07754D83A1721F2BD742359BCDFE0@BY2PR15MB0775.namprd15.prod.outlook.com> <2CD9DC43-D69B-43F0-8474-DFE798850A52@akamai.com> <CAGD1bZaUuNxqpDkn62B0wWcFD8=mCUWrAwWGG-rAOxH7Mf1=cQ@mail.gmail.com> <CY4PR21MB01334E30C7AF6AE75F58EEFDB6FE0@CY4PR21MB0133.namprd21.prod.outlook.com> <CAGD1bZaxrqzdkk0wxRaULwOTgg6wnrSrXNBK31s4uxdozaACBA@mail.gmail.com> <CAGD1bZbOAaSBcQw4nVtGuwRunaAW8MYHq9yPxNN6DdKHzt5HtQ@mail.gmail.com> <2102BDC2-62C0-4A76-8ADE-8167437E2D07@trammell.ch> <CAN1APde6o6=aCXuWajPFSU=jXv-ERdVHk=uyjM71uQ_uU-oMTg@mail.gmail.com> <8e833029-68b5-2787-3897-a0f7818a259f@tik.ee.ethz.ch> <1de39727-eeec-0e7a-1e8b-5ed50433c5bd@cs.tcd.ie> <MWHPR08MB2432D0216BC8FE1B0D9E3690DAFD0@MWHPR08MB2432.namprd08.prod.outlook.com> <CAGD1bZauKbucs_5n7RQbK8H2HiyfiqpGVEcKreGA6umhMBSFgg@mail.gmail.com> <CABcZeBPNrc-9vANSH02r++p53s6gN4pVB8DMd80nUxOhKTp3dA@mail.gmail.com> <CAKcm_gMvHSBhpUvsQCCkV2_o+d_wchF3R3L6H8mp6nKNaaRmSw@mail.gmail.com> <CY4PR21MB0133CCAA6807469BA983D00BB6FC0@CY4PR21MB0133.namprd21.prod.outlook.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Wed, 07 Feb 2018 17:13:10 +1100
Message-ID: <CABkgnnW4xr_YzpsvCxaJJgcQdBTuX=Yv735_sdd4VoMfji8mbA@mail.gmail.com>
Subject: Re: Packet number encryption
To: Praveen Balasubramanian <pravb@microsoft.com>
Cc: Ian Swett <ianswett@google.com>, Eric Rescorla <ekr@rtfm.com>, "Salz, Rich" <rsalz@akamai.com>, "Lubashev, Igor" <ilubashe@akamai.com>, Roberto Peon <fenix@fb.com>, Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>, Mike Bishop <mbishop@evequefou.be>, "Brian Trammell (IETF)" <ietf@trammell.ch>, Jana Iyengar <jri@google.com>, Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>, QUIC WG <quic@ietf.org>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/o34Om2XXjb9IvZxuowxRAzSzLuw>
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, 07 Feb 2018 06:13:15 -0000

That is exactly the solution I proposed.  As pointed out, this has
several shortcomings, one of which Christian explained in his last
email.  It is also not appreciably less computation.  Considerably
more care is required to get this right.

On Wed, Feb 7, 2018 at 1:04 PM, Praveen Balasubramanian
<pravb@microsoft.com> wrote:
> Great framing of the problem.
>
>
>
> Proposal: Transform = Add a secure and fixed random offset to the actual
> packet number for the lifetime of one path. Transport level packet numbers
> start at 0. On wire packet number start at the offset. Client and server
> pick the offsets independently. Each side communicates this offset number in
> an encrypted frame until the first ACK. Other side subtracts the offset to
> figure out actual packet number and uses that to maintain receiver state and
> generate ACKs.
>
>
>
> Packet number must be unlinkable across connection ID change (for
> migration.)
>
> Each path gets a new secure random increment so maintains unlikability
>
>
>
> Packet number must start at an arbitrary value, to avoid ossification of the
> first packet number.
>
> True by definition for on wire packet number
>
>
>
> Some sequencing information -- a few bits of the packet number perhaps --
> should be revealed (for monitoring. Number of bits TBD.)
>
> All of the bits are revealed on the wire and in sequence
>
>
>
> Any packet number transformation should not be compute intensive.
>
> Not at all compute intensive
>
>
>
> From: Ian Swett [mailto:ianswett@google.com]
> Sent: Tuesday, February 6, 2018 5:05 PM
> To: Eric Rescorla <ekr@rtfm.com>
> Cc: Jana Iyengar <jri@google.com>; QUIC WG <quic@ietf.org>; Praveen
> Balasubramanian <pravb@microsoft.com>; Lubashev, Igor <ilubashe@akamai.com>;
> Roberto Peon <fenix@fb.com>; Mike Bishop <mbishop@evequefou.be>; Salz, Rich
> <rsalz@akamai.com>; Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>;
> Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>; Brian Trammell (IETF)
> <ietf@trammell.ch>; Stephen Farrell <stephen.farrell@cs.tcd.ie>
>
>
> Subject: Re: Packet number encryption
>
>
>
> Thanks Jana, I think this is a nice framing of the problem and discussion.
>
>
>
> On Tue, Feb 6, 2018 at 7:13 PM, Eric Rescorla <ekr@rtfm.com> wrote:
>
>
>
>
>
> On Tue, Feb 6, 2018 at 3:00 PM, Jana Iyengar <jri@google.com> wrote:
>
> I'm going to try a different attempt at moving towards convergence. Thinking
> about this some more, and picking up something that Mirja said way earlier
> in this thread, I think the following decomposition is useful.
>
>
>
> 1. In the transport, all packet numbers start at 0, increasing
> monotonically. ACK frames carry these packet numbers, and therefore do not
> have to span large gaps and do not have to deal with increases in the size
> of the largest acked. Basically, no gaps are visible within the transport
> processing engine.
>
> 2. Before sending a packet on the wire, and before processing the packet,
> QUIC transforms the packet number with some function, replacing the visible
> packet number with the transformed value.
>
>
>
> I think we can all agree that (1) is goodness. A sender is also free to use
> packet numbers from non-contiguous spaces here FWIW, but that's entirely
> independent of what's visible on the wire. This helps me separate transport
> processing complexity from the rest of it, which I think is helpful.
>
>
>
> I think we are disagreeing on the precise properties we want from the
> transformation in (2). If we can agree on these properties, we can then
> figure out whether it's possible and how to construct such a transform.
> Here's a union of what folks are concerned about:
>
> 1. Packet number must be unlinkable across connection ID change (for
> migration.)
>
> 2. Packet number must start at an arbitrary value, to avoid ossification of
> the first packet number.
>
> 3. Some sequencing information -- a few bits of the packet number perhaps --
> should be revealed (for monitoring. Number of bits TBD.)
>
>
>
> I'm not sure I am persuaded of this point
>
>
>
> Yes, I think this seems like the largest point of contention, and #4 is the
> second largest concern.  Given that, I think it makes sense to try to
> resolve #3, if that is possible.
>
>
>
>
>
> -Ekr
>
>
>
> 4. Any packet number transformation should not be compute intensive.
>
>
>
> I'm not looking for a construction, but I'd like to agree on the problem
> first. Does this sound like the set of properties we want? Or is there a
> contradiction among these properties that I'm not seeing?
>
>
>
> On Tue, Feb 6, 2018 at 9:56 AM, Mike Bishop <mbishop@evequefou.be> wrote:
>
> Packet number encryption *does* improve linkability equivalently to random
> jumps, but without the fragmentation of the ACK packet which those jumps
> otherwise cause.  So I'm with Stephen, we don't yet have agreement on that
> assertion.
>
> -----Original Message-----
> From: QUIC [mailto:quic-bounces@ietf.org] On Behalf Of Stephen Farrell
> Sent: Tuesday, February 6, 2018 7:35 AM
> To: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>; Mikkel Fahnøe
> Jørgensen <mikkelfj@gmail.com>; Brian Trammell (IETF) <ietf@trammell.ch>;
> Jana Iyengar <jri@google.com>
> Cc: Praveen Balasubramanian <pravb@microsoft.com>; QUIC WG <quic@ietf.org>;
> Roberto Peon <fenix@fb.com>; Lubashev, Igor <ilubashe@akamai.com>; Salz,
> Rich <rsalz@akamai.com>
> Subject: Re: Packet number encryption
>
>
> On 06/02/18 15:23, Mirja Kühlewind wrote:
>>
>> It's also my understanding that we do agree that packet number
>> encryption does not help likability (and thereby privacy) a lot, or at
>> least that the benefits we might get (or not) do not justify the
>> additional complexity.
>
> FWIW, which isn't much, I don't (yet) agree to the above.
> I reckon it'll be a while before we know how linkability pans out. I do
> agree that packet number encryption is not a panacea for unlinkability, but
> it may help, or may even end up being required, to do a good job wrt
> linkability.
>
> I also heard people say it was less complex for them so "additional
> complexity" may also not be quite right. (I guess "differently complex" is
> correct though.)
>
> S.
>
> --
> PGP key change time for me.
> New-ID 7B172BEA; old-ID 805F8DA2 expires Jan 24 2018.
> NewWithOld sigs in keyservers.
> Sorry if that mucks something up;-)
>
>
>
>
>
>