Re: [TLS] Two Multi-CDN proposals

Christopher Wood <christopherwood07@gmail.com> Fri, 01 March 2019 16:57 UTC

Return-Path: <christopherwood07@gmail.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 99067130E9D for <tls@ietfa.amsl.com>; Fri, 1 Mar 2019 08:57:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.75
X-Spam-Level:
X-Spam-Status: No, score=-1.75 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no 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 qatPcBbqWR_6 for <tls@ietfa.amsl.com>; Fri, 1 Mar 2019 08:57:37 -0800 (PST)
Received: from mail-yw1-xc43.google.com (mail-yw1-xc43.google.com [IPv6:2607:f8b0:4864:20::c43]) (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 705FF130E69 for <tls@ietf.org>; Fri, 1 Mar 2019 08:57:35 -0800 (PST)
Received: by mail-yw1-xc43.google.com with SMTP id u200so14510258ywu.10 for <tls@ietf.org>; Fri, 01 Mar 2019 08:57:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=eg6mdA2GxyfqiiaQuIzSt3YRybFuiVBmRV2SBuh/7/4=; b=LMJDS3yTRA8KeorZnGx+Y1buppIK89rarsC3ZTPUB84iYb5iQPztzZfBYSgf5wTdIr Rz8Y7hKxiXpGcXEAM3TFo9evw8pNpsS2OasXoFGoVBZKG9Z0XSVPwSFPmQv7rMY26RSj qAS4idqGYv5iy6x88tQGmoLuil+A3kjIyFlwyZojnnLr1YqJxaRjUJDkn+dxjkkgbPNx fieCH5MECT34Bb3pxZ/u22EX/pcPEYgOelQdvsdjTOxEiK2fc4y3yASrNeQwG0S9aXJQ QeGgGVAJdKEbNOv3fRrzSzAqIQWmZtJnfq4pE5YJ4Dc+7P/4k9z/jjTNRVxdUhNWLxGL HSNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=eg6mdA2GxyfqiiaQuIzSt3YRybFuiVBmRV2SBuh/7/4=; b=YzWERVAwTUEelLcOZC+CoF8Jk0F4AAbjvpQopW89+OdileL1skk4RxnvKlnH9Tyxo2 XO3yy8ftW04WsRSghMDs/wGW2BaKd+6BT66S0SLRrhBFzE4rnfAVTzeh1rki1R+tDC4K ElPlJfSH6du9eRf6F8FYJwxEHkXsz4gdt7Z/aOQp5SnnUN270+PTghDScz5xp+iDVW0+ U670n829sVfIjtXhxoVUjyGOjkKvUX5fYCumAioig03srAOJ9cadaYoLTQ1SfMUsp4bA v35+DQjotMidWDJoQJF8IeO7HEeZjZ54Y3wHBgZ5sElbu90gemy7ylt8dVkNTM4Qt1HH 61DQ==
X-Gm-Message-State: APjAAAVvStgC0anEF7rujKtoEirzF+WwiP4Ty6GWnoiPRg7RA70O2Wi0 PCBAFZs1ZhtR9ywRcL2sDPsk9saLyT+8UWrymU0=
X-Google-Smtp-Source: APXvYqyzQLu0bwfuvTinH4oQGnNiNSJiQW+uCqVQDBLAmgQODepsm6B5rjyhS/1G8I09L117Cadhmbyv/Huyni+jcqo=
X-Received: by 2002:a25:d64e:: with SMTP id n75mr4715982ybg.199.1551459454138; Fri, 01 Mar 2019 08:57:34 -0800 (PST)
MIME-Version: 1.0
References: <CAO8oSX=sPoLo78oX4qEEyeuck7CxM_uAqYPHEsY7BuYqBUaorg@mail.gmail.com> <CANatvzwz4+4KiLhBmeKw2HQ_D8SukcGj0UtfeDuMhTME3Yfy5w@mail.gmail.com>
In-Reply-To: <CANatvzwz4+4KiLhBmeKw2HQ_D8SukcGj0UtfeDuMhTME3Yfy5w@mail.gmail.com>
From: Christopher Wood <christopherwood07@gmail.com>
Date: Fri, 01 Mar 2019 08:57:23 -0800
Message-ID: <CAO8oSX=iNGima95b7-+0d=oypDrcXOU1XoXRt6cUySdP-KumtA@mail.gmail.com>
To: Kazuho Oku <kazuhooku@gmail.com>
Cc: "<tls@ietf.org>" <tls@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/q8QqXCN7T834O57GlcgZiNpotj0>
Subject: Re: [TLS] Two Multi-CDN proposals
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 01 Mar 2019 16:57:40 -0000

On Wed, Feb 27, 2019 at 11:34 PM Kazuho Oku <kazuhooku@gmail.com> wrote:
>
> Hi Chris,
>
> Thank you for writing down the PRs describing possible designs that we
> might adopt. I think it helps a lot in understanding the details and
> making accurate comparisons.
>
> My comments inline.
>
> 2019年2月27日(水) 8:19 Christopher Wood <christopherwood07@gmail.com>:
> >
> > Hi folks,
> >
> > Below are two PRs that seek to address the multi-CDN issue discussed
> > on this list and in meetings:
> >
> >    1. https://github.com/tlswg/draft-ietf-tls-esni/pull/136
> >    2. https://github.com/tlswg/draft-ietf-tls-esni/pull/137
> >
> > #136 implements the combined or stapled record approach discussed
> > several times, most recently in [1]. It includes these via an ESNIKeys
> > extension.
>
> Reading the PR, I think that there is a mild privacy concern. The
> issue with the unified record proposal is that it incentivizes the
> operators to create more ESNI records possibly using different keys,
> which is against the design principle of ESNI: provide anonymity set
> by using the least number of keys.
>
> Retaining address resolution unbundled with ESNI incentivizes the
> operator to use less number of keys; for example they might just use
> one key at a time. That would be a nice property to have, especially
> in terms of transparency. It would help third parties verify that an
> operator is actually providing an anonymity set (rather than just
> pretending to use ESNI).

I don't quite agree with this. Operators can already use different
keys across records if they so choose. That said, given the concern,
we could add advisory text suggesting that operators use as few ESNI
keys as possible to cover addresses.

> Also, I would like to point out that it is only when one key is used
> by each of the provider at a given time that it would be possible to
> use ESNI from a network that blocks DoH or DoT; a user can write the
> IP addresses of services he/she wants to access in the hosts file, and
> supply the ESNI key to the client he/she uses. Such a hack becomes
> difficult under the unified approach, where operators could synthesize
> different keys based on various conditions.

Good point!

>
> At the least, if we are to adopt #136, I think we should change the
> definition of record digest included in the ClientHello extension so
> that it does not cover the "address_set" extension of the ESNI record.
> Otherwise, we would be exposing to the wire the fingerprint of the set
> of IP addresses contained in the DNS response the client received
> through a secure channel, whereas in the split record approach you
> only leak the ESNI key being used and the IP address the client has
> chosen.

I'm not sure this is an issue. Clients that use HappyEyeballs will
already reveal the set of addresses by attempting to connect to them.

> As much as I like the idea of bundling IP addresses and ESNI key, I am
> concerned if the requirement to bundle different types of records is a
> requirement specific to ESNI. If not, I think we should (in the long
> term) try to create a generic solution, while in the short time we
> could rely on a more limited mechanism as proposed in #137.

In my view, since these are both extensions, they can both proceed in
parallel. If some operators can support #136, and can do so without
creating many ESNI keys, then I think it's worth including. Operators
for which this is not a concern do not need to support the extension,
right?

> > #137 builds on this design with a mechanism that lets
> > clients detect and recover from A/AAAA and ESNI mismatch (if desired).
> > It is certainly more complex in several respects. A third variant,
> > which is not (yet) in PR form, is a simplification of #137 wherein
> > ESNIKeys addresses are only used as filters, instead of filters *or*
> > complete addresses.
>
> I think using IP address blocks to limit the validity of the ESNI key
> is a fine approach. I do not oppose to having a name-based filter if
> it's impossible for certain operators to apply the IP address-based
> filtering approach.

Indeed -- that's the only reason the name exists.

Best,
Chris