- From: Ben Schwartz <bemasc@google.com>
- Date: Thu, 9 Jul 2020 14:03:17 -0400
- To: Mark Nottingham <mnot@mnot.net>
- Cc: Erik Nygren <erik+ietf@nygren.org>, "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>, Mike Bishop <mbishop@evequefou.be>, "Ben Brown (ubrgroup1@charter.net)" <ubrgroup1@charter.net>, tjw ietf <tjw.ietf@gmail.com>
- Message-ID: <CAHbrMsB3JFP0kPr0TXk+5oB668yunzmrhYeBLb7bz6P7wz-0Sw@mail.gmail.com>
FYI, I've written a proposed change that avoids using "origin" for this purpose, and emphasizes the connection to URIs: https://github.com/MikeBishop/dns-alt-svc/pull/204. Comments welcome. On Wed, Jul 8, 2020 at 1:47 AM Mark Nottingham <mnot@mnot.net> wrote: > > > > On 25 Jun 2020, at 12:20 pm, Ben Schwartz <bemasc@google.com> wrote: > > > > On Tue, Jun 23, 2020 at 1:48 AM Mark Nottingham <mnot@mnot.net> wrote: > > Hi Erik, > > > > Thanks for that. Reading through the document for the first time in a > while, a few questions pop to mind: > > > > * For those who haven't been following, can you explain why it was > thought best to decouple form Alt-Svc? > > > > Analyzing the interaction between Encrypted ClientHello (ECH), SVCB, and > Alt-Svc became extremely complex, and the resulting behaviors seemed likely > to be brittle. One key point is that Alt-Svc was designed to be optional > (fallback to direct connection is always allowed), but this is not true for > any medium that can transfer ECH public keys ("ECHConfigs"), due to the > need for downgrade-attack resistance. Retrofitting a no-fallback mode onto > Alt-Svc raised concerns about ECH key rotation (Alt-Svc cache lifetimes are > very long), ALPN negotiation, and CDN transitions/multi-CDN. > > > > You can see a much more detailed discussion here: > > https://github.com/MikeBishop/dns-alt-svc/issues/105. > > https://github.com/MikeBishop/dns-alt-svc/issues/60 > > https://github.com/MikeBishop/dns-alt-svc/issues/58 > > > > * The introduction talks about SVCB 'provid[ing] clients with complete > instructions for access to an origin.' 'origin' is a Web-specific term; is > there a more neutral term you can use to distinguish it from HTTPS? I see > in Terminology that you justify this for alignment with Alt-Svc, but that > seems to assume that other protocols will have an origin concept -- in > particular, a scheme (I'm not against aligning all potential protocols to > this model, just a bit surprised that it's got this far). > > > > SVCB is designed for use with URIs, so a scheme is required. (Section > 10, "The scheme SHOULD have an entry in the IANA URI Schemes Registry".) > URIs that concern a domain name presumably have an "authority" in their URI > that contains a "host", and might contain a "port". > > > > If you can think of a better name for "scheme, host, and > port-if-applicable", we can certainly adjust. > > I think it's fine, it might be good however to call attention to the fact > that this is for URI-based protocols early on... > > > > * That brings to mind the SRV framework; is there any attempt to relate > the SVCB framework to it -- especially since this appears to embed the ALPN > view of the world? I'm sure some will want to know... > > > > There's no explicit connection to SRV. Personally, I view SVCB as a > successor to SRV, but it's certainly not intended to replace SRV where SRV > is already working well. > > Fair enough. > > > > * Did you consider publishing these as two separate documents? That > might make the layering more clear. > > > > It would of course be possible to separate them, but I think it might be > confusing, because SVCB's design choices are easiest to understand in the > context of a realistic example, and HTTPS is the only example that is > initially specified. > > > > * Do we have statements of support for the delegation use cases from > client implementers? This was a key purpose for Alt-Svc, but it wasn't > implemented by clients widely. > > > > I believe we do. > > > > * Section 7.5 gives the HTTPS record effective HSTS semantics. Has there > been engagement with / review from the security community on this? > > > > I would say so, e.g. https://github.com/MikeBishop/dns-alt-svc/issues/87 > > > > In particular: > > * Are the presumably shorter DNS TTLs suitable for HSTS use cases? > > > > TTL is not strictly relevant here. Unlike the HSTS header, this > semantic works perfectly well even with TTL=0. The HSTS header relies on > the user having had a "clean network path" in the (recent) past. The > HTTPS-upgrade here instead relies on the user currently having a "clean DNS > path", e.g. inside DoH. > > > > * Are there any other fixes / enhancements to HSTS that we want to > layer in? > > > > Suggestions welcome! > > > > > > Cheers, > > > > > > > > > On 18 Jun 2020, at 12:48 pm, Erik Nygren <erik+ietf@nygren.org> wrote: > > > > > > We're hoping to start WGLC in DNSOP sometime in the next month or two > > > for the HTTPS RR type (formerly "HTTPSSVC", along with SVCB). > > > We submitted an early code point allocation request for the DNS RR > types. > > > As such, now would be a good time to take another read through. > > > > > > Remaining issues are tracked here (and can be discussed here, > > > in dnsop, or in the issue tracker as appropriate): > > > > > > https://github.com/MikeBishop/dns-alt-svc/issues > > > > > > The most relevant to the HTTP WG are: > > > > > > * Consider SVCB-Used header > > > * Parameter to indicate no HSTS-like behavior > > > * Consider a way to indicate some keys as "mandatory" > > > > > > Note that the current draft decouples itself fully from Alt-Svc. > > > That there are a few areas for future improvement to Alt-Svc > > > that came out of discussion here, but are not covered in the current > draft. > > > > > > The latest authors' draft (for pull requests) is at: > > > > > > > https://github.com/MikeBishop/dns-alt-svc/blob/master/draft-ietf-dnsop-svcb-https.md > > > > > > and latest published is at: > > > > > > > https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https-00 > > > > > > Best, Erik > > > > > > > > > ---------- Forwarded message --------- > > > From: <internet-drafts@ietf.org> > > > Date: Fri, Jun 12, 2020 at 4:18 PM > > > Subject: New Version Notification for > draft-ietf-dnsop-svcb-https-00.txt > > > To: Benjamin Schwartz <bemasc@google.com>, Erik Nygren < > erik+ietf@nygren.org>, Mike Bishop <mbishop@evequefou.be> > > > > > > > > > > > > A new version of I-D, draft-ietf-dnsop-svcb-https-00.txt > > > has been successfully submitted by Ben Schwartz and posted to the > > > IETF repository. > > > > > > Name: draft-ietf-dnsop-svcb-https > > > Revision: 00 > > > Title: Service binding and parameter specification via the > DNS (DNS SVCB and HTTPS RRs) > > > Document date: 2020-06-12 > > > Group: dnsop > > > Pages: 39 > > > URL: > https://www.ietf.org/internet-drafts/draft-ietf-dnsop-svcb-https-00.txt > > > Status: > https://datatracker.ietf.org/doc/draft-ietf-dnsop-svcb-https/ > > > Htmlized: > https://tools.ietf.org/html/draft-ietf-dnsop-svcb-https-00 > > > Htmlized: > https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-sConsider a > "mandatory" key rangesvcb-https > > > > > > > > > Abstract: > > > This document specifies the "SVCB" and "HTTPS" DNS resource record > > > (RR) types to facilitate the lookup of information needed to make > > > connections for origin resources, such as for HTTPS URLs. SVCB > > > records allow an origin to be served from multiple network > locations, > > > each with associated parameters (such as transport protocol > > > configuration and keys for encrypting the TLS ClientHello). They > > > also enable aliasing of apex domains, which is not possible with > > > CNAME. The HTTPS RR is a variation of SVCB for HTTPS and HTTP > > > origins. By providing more information to the client before it > > > attempts to establish a connection, these records offer potential > > > benefits to both performance and privacy. > > > > > > TO BE REMOVED: 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. > > > > > > TO BE REMOVED: This document is being collaborated on in Github at: > > > https://github.com/MikeBishop/dns-alt-svc [1]. The most recent > > > working version of the document, open issues, etc. should all be > > > available there. The authors (gratefully) accept pull requests. > > > > > > > > > > > > > > > Please note that it may take a couple of minutes from the time of > submission > > > until the htmlized version and diff are available at tools.ietf.org. > > > > > > The IETF Secretariat > > > > > > > > > > -- > > Mark Nottingham https://www.mnot.net/ > > > > > > -- > Mark Nottingham https://www.mnot.net/ > >
Attachments
- application/pkcs7-signature attachment: S/MIME Cryptographic Signature
Received on Thursday, 9 July 2020 18:04:14 UTC