[DNSOP] I-D Action: draft-ietf-dnsop-multi-provider-dnssec-05.txt

2020-04-19 Thread internet-drafts


A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Domain Name System Operations WG of the IETF.

Title   : Multi Signer DNSSEC models
Authors : Shumon Huque
  Pallavi Aras
  John Dickinson
  Jan Vcelak
  David Blacka
Filename: draft-ietf-dnsop-multi-provider-dnssec-05.txt
Pages   : 15
Date: 2020-04-19

Abstract:
   Many enterprises today employ the service of multiple DNS providers
   to distribute their authoritative DNS service.  Deploying DNSSEC in
   such an environment may present some challenges depending on the
   configuration and feature set in use.  In particular, when each DNS
   provider independently signs zone data with their own keys,
   additional key management mechanisms are necessary.  This document
   presents deployment models that accommodate this scenario and
   describe these key management requirements.  These models do not
   require any changes to the behavior of validating resolvers, nor do
   they impose the new key management requirements on authoritative
   servers not involved in multi signer configurations.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-dnsop-multi-provider-dnssec/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-ietf-dnsop-multi-provider-dnssec-05
https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-multi-provider-dnssec-05

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-dnsop-multi-provider-dnssec-05


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.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/


___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] Comments on draft-ietf-dnsop-svcb-httpssvc-02

2020-04-19 Thread Mark Andrews


> On 17 Apr 2020, at 20:19, Alessandro Ghedini  wrote:
> 
> Hello,
> 
> First off, I have started implementing support for SVCB and HTTPSSVC as part 
> of
> the dnspython library [0] and I'd be interested in doing some interop testing
> with other people's implementations.
> 
> I also have a few comments/questions about the draft, apologies if they have
> already been discussed in the past (haven't been following the draft from the
> start).
> 
> 1. For interop testing purposes it would be very helpful if the draft listed
> commonly agreed upon code-points for the new RR types. Ideally in the form of 
> an
> official early assignment from IANA,

Lets wait until we are certain that the format will not change.  Every time I’ve
updated the branch there has been a non backwards compatible change.

> but if that's not possible picking a couple
> of codepoints at random from the "private use" range would also be helpful. In
> my implementation I'm currently using "65481" for SVCB and "65482" for 
> HTTPSSVC.

BIND’s implementation is available at:

https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/2135

> 2. The structure of the draft is a bit odd, as it lists a bunch of examples
> before introducing any of the records. This was a bit confusing to me, so I'd
> suggest moving sections 1.5 and 1.6 _before_ the examples (that is, 
> immediately
> after the introduction). It might also be a good idea to just move the 
> examples
> to an Appendix instead.
> 
> 3. Would it make sense to move the ESNI/ECHO config paramenter to the 
> ESNI/ECHO
> draft instead? This way the DNS draft wouldn't need to depend on the ESNI 
> draft
> (so e.g. if ESNI ends up taking longer, this draft could be published without
> having to wait for it).
> 
> 4. What is the point of differentiating between AliasForm and ServiceForm? 
> Like,
> couldn't the draft just say that the SvcFieldValue is an optional field and be
> done with that? It seems like not having to explicitly differentiate the two
> cases would simplify the draft a bit without sacrificing much, though I might
> be missing something.
> 
> 5. Section 2.1.1 says
> 
>   The presentation format for SvcFieldValue is a whitespace-separated
>   list of elements representing a key-value pair, with an absent value
>   or "=" indicating an empty value.
> 
> It took me longer than I'd like to admit to understand the "with an absent 
> value
> or "=" indicating an empty value" part. I'd suggest rewording that paragraph 
> to
> something like:
> 
>   The presentation format for SvcFieldValue is a whitespace-separated list of
>   key=value pairs (e.g. "key123=value1 keys456=value2"). When the value, or
>   both the value and the "=" are omitted, the value should be interpreted as
>   being empty.
> 
> Or something better :)
> 
> 6. In Section 2.2 it says (in reference to param field values):
> 
>   o  an octet string of the length defined by the previous field.
> 
> It might be good to say here that the format of this octet string is defined
> according to the corresponding SvcParamKey, and then reference section 6 for
> ths currently defined keys. The same applies for section 2.1.1 for the
> presentation format.
> 
> 7. Section 4.3 says:
> 
>   All DNS servers SHOULD treat the SvcParam portion of the SVCB RR...
> 
> Should it be SvcFieldValue instead of SvcParam? "SvcParam" is not mentioned
> anywhere else.
> 
> 8. Maybe I'm missing something, but the following sentence in Section 6.4 
> seems
> wrong:
> 
>   When SvcDomainName is ".", server operators SHOULD NOT include these hints,
>   because they are unlikely to convey any performance benefit.
> 
> My understanding is that ipv4hint and ipv6hint are the way to solve the ESNI
> multi-CDN problem, so let's say I have "www.example.net" that CNAMEs to both
> "cname.cdn-a.example" and "cname.cdn-b.example". A client queries both A and
> HTTPSVC concurrently for "www.example.net", and receives two answers (the 
> answer
> to the A query points to CDN A, while the answer to HTTPSSVC points to CDN B):
> 
>www.xample.net  3600 IN CNAME cname.cdn-a.example
>cname.cdn-a.example 3600 IN A 192.0.2.1
> 
> and
> 
>www.xample.net  3600 IN CNAME cname.cdn-b.example
>cname.cdn-b.example 3600 IN HTTPSSVC 1 . alpn=h3 esniconfig="..."
> 
> My understanding is that in this case the client could end up connecting to
> 192.0.2.1 (CDN A) with CDN B's ESNI config (or e.g. with the wrong ALPN). So 
> if
> the server doesn't provide IP hints there would indeed be impact on 
> performance
> because the client would just straight up fail to connect initially (e.g. 
> maybe
> CDN A doesn't support HTTP/3, but CDN B's HTTPSSVC says the client can use it,
> or just because of the wrong ESNI config).
> 
> Long story short, I don't think the text should discourage setting ipv4hint 
> and
> ipv6hint here. I get that it's SHOULD NOT and not MUST NOT, but it's pretty
> confusing nevertheless.
> 
> 9. Speaking of multi-CDN, AFAICT the prob