[DNSOP] Fwd: HTTPSSVC record draft

Ray Bellis <ray@bellis.me.uk> Mon, 08 July 2019 09:01 UTC

Return-Path: <ray@bellis.me.uk>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 930E2120120 for <dnsop@ietfa.amsl.com>; Mon, 8 Jul 2019 02:01:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=portfast.net
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 deMmg-EmJT-w for <dnsop@ietfa.amsl.com>; Mon, 8 Jul 2019 02:01:04 -0700 (PDT)
Received: from mail.portfast.net (mail.portfast.net [IPv6:2a03:9800:20:1::2]) (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 099E212011C for <dnsop@ietf.org>; Mon, 8 Jul 2019 02:01:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=portfast.net; s=dkim; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:To:References:Subject:Sender:Reply-To:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ZGi2TWxoLEEW9QaP+dN5YBKAB01ymlQEHU0+MKNKq54=; b=VSw71PJiPQqq65WnjgxnNGGrhE kFPu2wEpTdj9jADKPVUuTU929PWPbe5Cd4XrTvYlcR+v+wBVEJnvg4b1zZoMy3UNgwYGDX5XBE9l7 3SX56Wnrv4Ku48K3eb2s2jW52xcJ4BQVRc4IxNm7ekfRtHwnMRi17Oh/fFFkJgSxi5JI=;
Received: from [88.212.170.135] (port=58396 helo=Rays-MacBook-Pro.local) by mail.portfast.net ([188.246.200.9]:465) with esmtpsa (fixed_plain:ray@bellis.me.uk) (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) id 1hkPW9-0000JE-Ht (Exim 4.89) for dnsop@ietf.org (return-path <ray@bellis.me.uk>); Mon, 08 Jul 2019 09:01:01 +0000
References: <CAKC-DJikByP+wX-GoD6ntpUWTbr6ioJzB4i8nGQL4NtPWePL3g@mail.gmail.com>
To: IETF DNSOP WG <dnsop@ietf.org>
From: Ray Bellis <ray@bellis.me.uk>
X-Forwarded-Message-Id: <CAKC-DJikByP+wX-GoD6ntpUWTbr6ioJzB4i8nGQL4NtPWePL3g@mail.gmail.com>
Message-ID: <ae353a56-efe5-ce5d-1786-465fc0195071@bellis.me.uk>
Date: Mon, 08 Jul 2019 10:01:01 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.7.2
MIME-Version: 1.0
In-Reply-To: <CAKC-DJikByP+wX-GoD6ntpUWTbr6ioJzB4i8nGQL4NtPWePL3g@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-GB
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/U_fHcGPsWQB8G8pzgIV5huGw3kc>
Subject: [DNSOP] Fwd: HTTPSSVC record draft
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Jul 2019 09:01:06 -0000

For those not paying attention to the HTTP-bis working group, this DNS 
RR was proposed there last week.

It appears to subsume the ALT-SVC proposal and also covers the use case 
I had in mind with my HTTP Record draft (i.e. CNAME at the apex).

Given that it has someone from at least major browser vendor supporting 
it there's some hope that this will actually be implemented by them.  It 
therefore seems my draft is probably no longer required.  Hopefully 
ANAME will follow it the same way ;-)

Ray

-------- Forwarded Message --------
Subject: 	HTTPSSVC record draft
Resent-Date: 	Wed, 03 Jul 2019 18:46:25 +0000
Resent-From: 	ietf-http-wg@w3.org
Date: 	Wed, 3 Jul 2019 14:45:47 -0400
From: 	Erik Nygren <erik+ietf@nygren.org>
To: 	ietf-http-wg@w3.org Group <ietf-http-wg@w3.org>, Mike Bishop 
<mbishop@evequefou.be>, Erik Nygren <erik+ietf@nygren.org>, Benjamin 
Schwartz <bemasc@google.com>, Erik Nygren - Work <nygren@akamai.com>




Ben, Mike, and I have submitted the first version of a proposal for an 
"HTTPSSVC" DNS record.

TL;DR:  This attempts to address a number of problems (ESNI, QUIC 
bootstrapping, HTTP-to-HTTPS redirection via DNS, SRV-equivalent for 
HTTP, etc) in a holistic manner through a new extensible DNS record, 
rather than in a piecemeal fashion.  It is based on some previous 
proposals such as "Alt-Svc in the DNS" and "Service Bindings" but takes 
into account feedback received in DNSOP and elsewhere.

Feedback is most welcome and we're looking forward to discussing with 
people in Montreal.

Draft link:

https://tools.ietf.org/html/draft-nygren-httpbis-httpssvc-01



  From the abstract:

This document specifies an "HTTPSSVC" DNS resource record type to 
facilitate the lookup of information needed to make connections for 
HTTPS URIs.  The HTTPSSVC DNS RR mechanism allows an HTTPS origin 
hostname to be served from multiple network services, each with 
associated parameters (such as transport protocol and keying material 
for encrypting TLS SNI).  It also provides a solution for the inability 
of the DNS to allow a CNAME to be placed at the apex of a domain name.  
Finally, it provides a way to indicate that the origin supports HTTPS 
without having to resort to redirects, allowing clients to remove HTTP 
from the bootstrapping process.

By allowing this information to be bootstrapped in the DNS, it allows 
for clients to learn of alternative services before their first contact 
with the origin.  This arrangement offers potential benefits to both 
performance and privacy.

This proposal is inspired by and based on recent DNS usage proposals 
such as ALTSVC, ANAME, and ESNIKEYS (as well as long standing desires to 
have SRV or a functional equivalent implemented for HTTP).  These 
proposals each provide an important function but are potentially 
incompatible with each other, such as when an origin is load-balanced 
across multiple hosting providers (multi-CDN). Furthermore, these each 
add potential cases for adding additional record lookups in-addition to 
AAAA/A lookups.  This design attempts to provide a unified framework 
that encompasses the key functionality of these proposals, as well as 
providing some extensibility for addressing similar future challenges.

--

Some likely FAQs (with some others listed in an appendix):

Q: Why this is HTTP-specific?
A: This is because every protocol has different bootstrap requirements.  
This draft is concerned with improving the efficiency and security of 
bootstrapping HTTPS connections.  This proposal does offer room for 
non-HTTPS protocols, but the nature of DNS requires underscore prefixing 
to support protocol-keyed answers within a single RRTYPE. It's also 
unlikely that a single RR format would be the ideal bootstrap mechanism 
for every protocol, and there's no reason that multiple protocols should 
have to share an RRTYPE.
Q: Why is ESNI addressed directly?
A: This helps make a major motivation of this draft more clear.  
Splitting out those sections to a separate-but-associated "alt-svc 
attribute for ESNI keys" draft might make sense, but keeping it here 
helps work through some of the issues together.

Q: Why does this try to address the HSTS case?
A: This is a unique opportunity to fix HTTPS bootstrap and avoid 
providing insecure defaults.  We'd originally proposed a separate 
Alt-Svc attribute to indicate hsts-style behavior, but then realized 
that it would make sense to push on that as the default here.

Best, Erik