Re: [TLS] Adopting HTTPSVC for ESNI

Tommy Pauly <tpauly@apple.com> Fri, 25 October 2019 16:01 UTC

Return-Path: <tpauly@apple.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 98373120972 for <tls@ietfa.amsl.com>; Fri, 25 Oct 2019 09:01:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7
X-Spam-Level:
X-Spam-Status: No, score=-7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.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 BI8XTacLEt-I for <tls@ietfa.amsl.com>; Fri, 25 Oct 2019 09:01:22 -0700 (PDT)
Received: from ma1-aaemail-dr-lapp02.apple.com (ma1-aaemail-dr-lapp02.apple.com [17.171.2.68]) (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 37728120930 for <TLS@ietf.org>; Fri, 25 Oct 2019 09:01:22 -0700 (PDT)
Received: from pps.filterd (ma1-aaemail-dr-lapp02.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp02.apple.com (8.16.0.27/8.16.0.27) with SMTP id x9PFuqGX012788; Fri, 25 Oct 2019 09:01:12 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=sender : from : content-type : mime-version : subject : date : references : to : in-reply-to : message-id; s=20180706; bh=20PtdBq0BfqQb+KV5/XXgsCOxjrdNRrhlaCjIyYVNGk=; b=UFgzBybZpFQ6vE9vmddFCJsVNgFri1KTvA/zx7j7F0j84O3F+RXFG/3FZi1geLzkrcDD 1NUYXTx5qzvNq6RKvWGQhJW1QQpm9iyVsy4PdanfUGhbqWFerh4+opZIB7zUW4Z1WsJU 4vcar4C0T5fOVgwMmFvaynXw8/A/UqR1jwS2OVztMvAN8gTb8NHg9F0skhLmW9Yxy0uA VL8XlxSp4+5iYSHLT46LPg4OmRiL3h/xvZWJygyeoydKrliIl1/OLvEsn0V4Qb+bcAcA pZ+9p4eoEBXT9DtOD53Fzfm+qLj9jIhpQG2JzEW6v6ZmkKvQ4Sk4med8GM220TY/itF9 cg==
Received: from ma1-mtap-s02.corp.apple.com (ma1-mtap-s02.corp.apple.com [17.40.76.6]) by ma1-aaemail-dr-lapp02.apple.com with ESMTP id 2vqy5ybv7q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Fri, 25 Oct 2019 09:01:12 -0700
Received: from nwk-mmpp-sz12.apple.com (nwk-mmpp-sz12.apple.com [17.128.115.204]) by ma1-mtap-s02.corp.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPS id <0PZX008VTTTYKF60@ma1-mtap-s02.corp.apple.com>; Fri, 25 Oct 2019 09:01:11 -0700 (PDT)
Received: from process_milters-daemon.nwk-mmpp-sz12.apple.com by nwk-mmpp-sz12.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) id <0PZX00C00TTXCW00@nwk-mmpp-sz12.apple.com>; Fri, 25 Oct 2019 09:01:10 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 7713df823212217ef5a9d12f7f2438ff
X-Va-E-CD: 5491b5cc3ae7abd2437712635d52f524
X-Va-R-CD: da429a9f70716868f716b0b8422aee7a
X-Va-CD: 0
X-Va-ID: 726d4579-e90b-4b53-9653-3fd38877bd22
X-V-A:
X-V-T-CD: 7713df823212217ef5a9d12f7f2438ff
X-V-E-CD: 5491b5cc3ae7abd2437712635d52f524
X-V-R-CD: da429a9f70716868f716b0b8422aee7a
X-V-CD: 0
X-V-ID: 5c88b3b0-da54-404b-9b93-f822495261c1
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-10-25_08:,, signatures=0
Received: from [17.234.16.25] by nwk-mmpp-sz12.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPSA id <0PZX004IMTSPE540@nwk-mmpp-sz12.apple.com>; Fri, 25 Oct 2019 09:00:25 -0700 (PDT)
Sender: tpauly@apple.com
From: Tommy Pauly <tpauly@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_D57CADF3-4088-4205-B435-A0599CDB074A"
MIME-version: 1.0 (Mac OS X Mail 13.0 \(3594.4.17\))
Date: Fri, 25 Oct 2019 09:00:13 -0700
References: <eb3cff5a-6543-4d78-a3b2-0ec773a65aaf@www.fastmail.com> <52c0ae70-4bcd-9135-294a-126bc7e13bf1@cs.tcd.ie> <CANduzxAdTm5ZOrkodLb_60zKGr6_q2YToLz3HO5bHGkU+y2qBQ@mail.gmail.com>
To: Steven Valdez <svaldez=40google.com@dmarc.ietf.org>, "TLS@ietf.org" <TLS@ietf.org>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
In-reply-to: <CANduzxAdTm5ZOrkodLb_60zKGr6_q2YToLz3HO5bHGkU+y2qBQ@mail.gmail.com>
Message-id: <7C534382-715F-401E-911F-B788887528B0@apple.com>
X-Mailer: Apple Mail (2.3594.4.17)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-10-25_08:, , signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/kXJ7jlLAQXr9cc4WWY5xCdprci8>
Subject: Re: [TLS] Adopting HTTPSVC for ESNI
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, 25 Oct 2019 16:01:23 -0000

I'm also supportive of this change, and in general of using HTTPSSVC for the transmission of ESNI keys, speaking as an implementer at Apple.

With regards to the per-version structure, I agree with Steven that the structure of the configuration should be able to change between versions. I think that either specifying that the structure can change with versions, or just moving the version into the label (Stephen's suggestion) would work. I have a *slight* concern for the case of using a different HTTPSSVC label for each version or set of extensions, since the code that parses out the records may be distinct from the code that uses the keys, and it may be easier to fetch the right information out if it has a consistent label name. Not a huge issue either way, though.

Thanks,
Tommy

> On Oct 25, 2019, at 7:57 AM, Steven Valdez <svaldez=40google.com@dmarc.ietf.org> wrote:
> 
> Chrome is supportive of this change, and will likely work on implementing HTTPSSVC into our DNS stack once the draft progresses further.
> 
> As for the ESNIKeys/ESNIConfig change, we were actually thinking of something that further abstracted HTTPSSVC having to understand anything about ESNI from the ESNI versioning:
> 
> The ESNIKeys naming was always a bit confusing since you could have multiple ESNIKeys, and there wasn't a great way of referring to those.
> 
> HTTPSSVC records include a single ESNIBundle which is length prefixed and contains one or more ESNIConfigs. (to allow an endpoint to publish multiple ESNIConfigs, potentially supporting multiple versions of the ESNI record).
> 
> Each ESNIConfig is then just a version and then a version-specific structure. (to allow the entire structure of the ESNIConfigInner to arbitrarily change at different versions).
> 
> Something roughly like the following:
> 
> ESNIBundle {
>   ESNIConfig<2..2^16-1>;
> };
> 
> ESNIConfig {
>   version,
>   select (version) {
>     case 0: {
>       opaque public_name<1..2^16-1>;
>       KeyShareEntry keys<4..2^16-1>;
>       CipherSuite cipher_suites<2..2^16-2>;
>       uint16 padded_length;
>       Extension extensions<0..2^16-1>;
>     }
>   }
> };
> 
> (alternatively maybe make an ESNIConfigInner and stuff an opaque in ESNIConfig that is version-specific, not sure what the right presentation looks like)
> 
> On Fri, Oct 25, 2019 at 6:29 AM Stephen Farrell <stephen.farrell@cs.tcd.ie <mailto:stephen.farrell@cs.tcd.ie>> wrote:
> 
> Hiya,
> 
> On 25/10/2019 01:28, Christopher Wood wrote:
> > Hi folks,
> > 
> > DNSOP recently adopted HTTPSSVC [1]. Rather than have two ways of
> > doing the same thing, I've put together a PR that drops the custom
> > ESNI RRType in favor of this more general (yet feature compatible)
> > Resource Record:
> > 
> > https://github.com/tlswg/draft-ietf-tls-esni/pull/187 <https://github.com/tlswg/draft-ietf-tls-esni/pull/187>
> > 
> > Please have a look and comment before next Friday. We'd like to land
> > this before Singapore.
> 
> I'm supportive of this change, on the assumption that browsers are
> really going to use HTTPSSVC.
> 
> If that lands as-is, please bump the version to ff04 and I don't
> see much benefit in changing from ESNIKeys to ESNIConfig (seems
> more likely to confuse than help to me).
> 
> Going further, I think we ought also take advantage of this to
> simplify the ESNIKeys/ESNIConfig structure. We don't need to do
> that right now but we could.
> 
> There are two related simplifications that'd make sense to me:
> 
> - remove the version field and encode that in the HTTPSSVC label
> (so it'd be something like esnikeys05="/wElr6L2ACQAHQ...") - I
> think that'd lead to fewer cases where HTTPSSVC code needs to
> understand what's inside the ESNIConfig structure.
> 
> - similarly, remove the extensions field from ESNIConfig, and
> require a new label in HTTPSSVC if something new is really needed
> 
> Cheers,
> S.
> 
> > 
> > Best, Chris (no hat)
> > 
> > [1]
> > https://mailarchive.ietf..org/arch/msg/dnsop/9zCxhCfIhDzA3Cv3D2k4NF_nj4s <https://mailarchive.ietf.org/arch/msg/dnsop/9zCxhCfIhDzA3Cv3D2k4NF_nj4s>
> >
> >  _______________________________________________ TLS mailing list 
> > TLS@ietf.org <mailto:TLS@ietf.org> https://www.ietf.org/mailman/listinfo/tls <https://www.ietf.org/mailman/listinfo/tls>
> > 
> _______________________________________________
> TLS mailing list
> TLS@ietf.org <mailto:TLS@ietf.org>
> https://www.ietf.org/mailman/listinfo/tls <https://www.ietf.org/mailman/listinfo/tls>
> 
> 
> -- 
> 
> Steven Valdez |	 Chrome Privacy Sandbox |	 svaldez@google.com <mailto:svaldez@google.com> |	 210-692-4742
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls