Re: [TLS] Two Multi-CDN proposals

Christopher Wood <christopherwood07@gmail.com> Sat, 02 March 2019 02:27 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 911C312D4EA for <tls@ietfa.amsl.com>; Fri, 1 Mar 2019 18:27:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.749
X-Spam-Level:
X-Spam-Status: No, score=-1.749 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, URIBL_BLOCKED=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 Ks__uZc1RUTt for <tls@ietfa.amsl.com>; Fri, 1 Mar 2019 18:27:05 -0800 (PST)
Received: from mail-yw1-xc42.google.com (mail-yw1-xc42.google.com [IPv6:2607:f8b0:4864:20::c42]) (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 15505129284 for <tls@ietf.org>; Fri, 1 Mar 2019 18:27:05 -0800 (PST)
Received: by mail-yw1-xc42.google.com with SMTP id u200so15649420ywu.10 for <tls@ietf.org>; Fri, 01 Mar 2019 18:27:05 -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=vXYoFDayPmWs+YCQB8UsiaG/KjAP6aCDE+2w1/PgND4=; b=CMZOgEo1RzBN3PEMIQ8xsT7VmZAv3mbH0krppUICU/MF+bPr1ncsVOvF3h9O/Pvbmn o3bIBavT0y8635wlP05NU7H8i8PkD49+xcYSUk1xWifVJXrWoopWgQ0Ie7Gkfyso+6xP DFxuvvpyajMZ/MMD8luen8S99L2jM4lje+08C8pDlucXH18jW5sSZ24PmjE+nQpIRB8L 7dH/87yaLTeeSk4ih/mHWzjoOsTAb+T2SyRDyjORlUoLWykT5XQ3oYDgryOAjRawDug/ eLTyfEBpTuVZM3adCcdGqpXcIVHT5jMTK/YLf/wN/TcJ0oBPJj3tSlGIuDfuDq9yRgG+ R9Kw==
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=vXYoFDayPmWs+YCQB8UsiaG/KjAP6aCDE+2w1/PgND4=; b=WzaDq+4CVlx5XdWok396lAM/wfxGEqo7TfJ7pFxgzqg2SOs2s9X2PkXWEustuIdcTw /UdqOumNZ1xIskXYflTyUWDLeZRXBqPrgAyQq5jLqefqTtyiCNmcb0k+I2PQQkT5Kmaq oEuHC6DECA9wUYErsSdWv021wWiUD4CaqbskRrgHnOArBy+rHcRYjcIcvH7xAUe6TOzg WcEwPasMWKsevhDDmD7QGHr1VzyDGjLEW/viLd0qp1WB9QgkOLCTIRUxefJdwO1uZhMV KKuYGiwFGWGztfKziYQ0UbKUvaseOJ4Y53gRbSjlh0PWxozHxdX9Rq02bN0pxbSH4Abr /Rlg==
X-Gm-Message-State: APjAAAWDWuW7iYNH78ODuqJ9oUKTVjQQbefxBi7zziQBD/Ue406TeJT2 6lM3xH/Gh+n+xooMkm46JVXtzAApZKvJodFj28piXqUw
X-Google-Smtp-Source: APXvYqy9rxOCI8vLKxMU6iLLI8012VmMesg6UIduiXSeDkfqYMnvySsDs8/spkAaBxJpCyYdo7ul9i1NjMOz3pmk108=
X-Received: by 2002:a25:23c7:: with SMTP id j190mr7034436ybj.434.1551493623963; Fri, 01 Mar 2019 18:27:03 -0800 (PST)
MIME-Version: 1.0
References: <CAO8oSX=sPoLo78oX4qEEyeuck7CxM_uAqYPHEsY7BuYqBUaorg@mail.gmail.com> <0b19d021-8101-23ee-2899-450d103a8906@cs.tcd.ie> <CABcZeBN0mf7VFCKKdg9gH0=tCS7eLZz6M5_WJdaNG7XrJeyESw@mail.gmail.com> <0b854704-8f93-f9ad-c067-67f7f73cbbbf@cs.tcd.ie> <CABcZeBM61u=DtjQh+NkQF47MLyZS4EyuGBjDnsfjxz-z5kfjoQ@mail.gmail.com> <1eaaebf3-6e8a-ae84-0ab3-f977295c0721@cs.tcd.ie> <CY4PR22MB09831CBC251393EE334905D4DA760@CY4PR22MB0983.namprd22.prod.outlook.com>
In-Reply-To: <CY4PR22MB09831CBC251393EE334905D4DA760@CY4PR22MB0983.namprd22.prod.outlook.com>
From: Christopher Wood <christopherwood07@gmail.com>
Date: Fri, 01 Mar 2019 18:26:52 -0800
Message-ID: <CAO8oSX=2N=_wvf3L=o6ou=zJaSHE4zpgQDK38QO99+ausYmEpQ@mail.gmail.com>
To: Mike Bishop <mbishop@evequefou.be>
Cc: Stephen Farrell <stephen.farrell@cs.tcd.ie>, Eric Rescorla <ekr@rtfm.com>, "<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/BG2Wu6B4KBfUqRrX8f3PWz1pwso>
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: Sat, 02 Mar 2019 02:27:07 -0000

On Fri, Mar 1, 2019 at 3:19 PM Mike Bishop <mbishop@evequefou.be> wrote:
>
> Stephen, there are a couple complicating factors here where I think we all have varying knowledge gaps.
>
> There are two major ways of pointing to a CDN:  Direct A/AAAA records and CNAMEs.  The easiest way to handle key update complexities on the part of the CDN(s) is simply to CNAME the ESNI query for your domain to their ESNI record, but you can certainly directly host your CDN’s keys in your domain if you prefer.  Nothing should preclude that.
> The issue we’re trying to address is when the ESNI record and the A/AAAA record follow different CNAME chains and you get the records from different hosts.  Of course, if we move to an ESNI RRType with the same hostname (see #105), there’s hopefully a single CNAME chain that gets cached at the resolver and used when looking up both queries.  If they remain separate hostnames, it seems like it gets much easier for them to diverge.
> It’s my understanding that DNSsec doesn’t play well with returning a subset of all extant RRs for a given name+type.  However, some CDNs return DNS results tailored to the user’s location; the load-balancing servers will (in some cases) return CNAMEs to different targets based on the desired traffic share.  That’s not a behavior that maps well to DNSsec as I understand it.  You mention DNSsec signing your domain as part of why you have issues with the proposal, but I think this is an open issue beyond ESNI or these PRs.
>
> Maybe someone better-steeped in DNS/DNSsec can help us figure out how all that should work, and I agree with you that there are definitely bumps here we need to iron out – maybe those are just questions to answer, or maybe changes to the structure of the record are warranted.
>
> However, these PRs are primarily about what information should be in these records and how clients make use of it.  I disagree with you that we have to resolve both questions at the same time.  Let’s agree on content first, and spent some time separately with DNS folks to see whether the content can be more pleasantly arranged.

Thanks all for the discussion so far! Focusing strictly on the content
of the records and not the formatting, as Mike suggests, we
essentially have the following:

- #137 gives clients a way to detect A/AAAA+ESNI mismatch and recover,
at the cost of another sequential DNS query for ESNI. In this change,
A/AAAA records still control where traffic goes.
- #136 never requires clients to send a second DNS query for ESNI
since clients ignore the A/AAAA results. In this change, ESNI records
dictate routing.

With #137, clients willing to send a second DNS query will get ESNI
for all supporting providers. Clients unwilling to send a second DNS
query will only get ESNI for those providers which ensure that their
A/AAAA and ESNI records very rarely mismatch. With #136, clients only
get ESNI for those providers capable of building ESNI records with
correct addresses. In theory, these providers should be the same ones
that could ensure A/AAAA and ESNI record matching.

Given this, the discussion seems to hinge on the following question:
Are operators comfortable with the risks of letting ESNI records
control routing. If so, #136 is probably a better design for said
operators. If not, then #137 is probably required.

Note that this does not mean we must choose between #136 and #137
right now. We can do both (after possibly simplifying #137!), use
them, and see what works best in practice.

Anyway, I hope this summary accurately captures the differences and
possible tradeoffs.

Best,
Chris