Thanks Peter and Paul

I'll review the revised I-D but we were thinking of going another (perhaps
shorter) follow up working group last call

tim


On Fri, Jan 19, 2024 at 8:59 AM Peter Thomassen <pe...@desec.io> wrote:

> For the record, Paul and I sorted these out off-list (for real, this
> time!), and I'll push a new revision of the draft shortly.
>
> ~Peter
>
> On 11/20/23 16:49, Peter Thomassen wrote:
> > Hi Paul,  (off-list)
> >
> > To keep the ball rolling, may I nudge you for your opinion on the below?
> :)
> >
> > Thank you very much for your input,
> > Peter
> >
> >
> > On 11/13/23 22:30, Peter Thomassen wrote:
> >> Hi Paul,
> >>
> >> Thanks for your thoughts. I'd like to address your points below and
> would very much appreciate your follow-up response.
> >>
> >> On 11/11/23 12:55, Paul Wouters wrote:
> >>> I have read the document and I am supportive of the idea, but I find
> the
> >>> document not ready. Some issues I have with the document in the
> current form:
> >>>
> >>> - It "deprecates" RFC8078 but does not offer a solution for all cases
> of
> >>>    8078, such as when all nameservers are in-domain of the child.
> >>
> >> That is correct. This deprecation was requested to be clarified (but
> not challenged) in the Dnsdir review [1].
> >>
> >> During the subsequent considerations on the list, nobody objected,
> which I read as "the WG prefers deprecation".
> >>
> >> If the WG feels differently, let's change the text. Perhaps one or two
> people could speak up if they would prefer such a change.
> >>
> >> The question at hand is whether, given the cryptographically secure
> method of this document, we want to continue endorsing an insecure method,
> even if only for in-domain nameservers.
> >>
> >> I can imagine three kinds of things to say in the draft without
> continuing to endorse insecure bootstrapping:
> >>
> >> 1.) discourage the insecure method (by deprecating it);
> >> 2.) perhaps even discourage in-domain nameservers;
> >> 3.) perhaps point out that one might perform DNSSEC bootstrapping with
> at least one out-of-domain nameserver, then switch to in-domain nameservers
> (e.g., via CSYNC).
> >>
> >> The draft currently does the first thing, but not the other two.
> >>
> >> In-domain nameservers cause a bunch of problems (including the orphaned
> glue saga), and are also foreseen to be incompatible with DELEG-style
> delegations in ServiceMode [2].
> >>
> >> Reserving any judgment on the DELEG mechanism itself, it appears to me
> that in-domain nameservers are best advised against. So perhaps what we
> should do is (1) + (2).
> >>
> >> [1]:
> https://mailarchive.ietf.org/arch/msg/dnsop/04LYtemBnRjOBLWzgdD6RuaD5UU/
> >> [2]:
> https://mailarchive.ietf.org/arch/msg/dnsop/rUY8CJHrrZYa0Sdvi3BV10IsfiE/
> >>
> >>> - Section 4.3 is named "Triggers" but it basically only describes
> >>>    "Timers". Some of us have significant scar tissue on this matter,
> >>>    and I don't see new information or a new technology here that
> >>>    resolves this old discussion. It feels a lot like restating RFC8078.
> >>
> >> The situation in this draft is different from the trigger conditions in
> in Section 6.1 of RFC 7344 (which I think is what you meant). That RFC
> lists conditions for *updating* a DS RRset. This one here is for
> *initializing*, so other scenarios apply.
> >>
> >> For example, one condition listed here (but not in RFC 7344) for
> triggering the CDS authentication procedure is when the parent receives a
> new or updated NS record set for a child.
> >>
> >> Besides scans (which of course have a timer) and the receipt of a new
> NS RRset (which doesn't), the draft also mentions walking a list of
> children known to be in need of bootstrapping, perhaps received by AXFR or
> extracted via NSEC walk of signaling zones (and the NS receipt). I don't
> see any relation to timers here.
> >>
> >>
> >> However, this is second instance (after [3]) that someone suggests to
> remove this section, so perhaps it's time to do so. Before doing so, I'd
> like to point out the following:
> >>
> >> The main takeaway from Section 4.3 is that the authentication mechanism
> requires reliable knowledge of the delegation's NS records, which --
> depending on the trigger method -- may or may not be implicit in the
> trigger condition; as a result, a cross-check in the parent's database may
> be needed for certain triggers. This point is not contained in RFC 7344
> (which deals with updates which use the child's existing chain of trust, so
> this point doesn't apply).
> >>
> >> In particular, scanning the registry database or installing a new NS
> RRset gives *certain* knowledge of what the NS records are, because the
> trigger conditions directly derive from processing an NS RRset that has
> previously been accepted for delegation.
> >>
> >> In contrast, when processing some kind of list fetched externally (e.g.
> walking the signaling domain _signal.$NS), it's possible to encounter
> signaling records pertaining to domains that are *not* delegated to $NS;
> therefore, the parent has to check that what's found in the list matches an
> actual delegation.
> >>
> >> I would like to hear your opinion on whether this point warrants the
> existence of Section 4.3; if it doesn't, I'll go ahead and remove it.
> >>
> >> [3]:
> https://mailarchive.ietf.org/arch/msg/dnsop/toP-e7Rc-ZLg0dR2SvzC25kAGxk/
> >>
> >>> - Style: I think the document is a lot more verbose and repetitive than
> >>>    it needs to be. Condensing this would increase clarity of the
> >>>    document.
> >>
> >> It looks like opinions within the WG differ here: the only other two
> feedbacks on style asked for more examples and otherwise described it as
> "very clear" (both from Secdir, [4]), and suggested to be more verbose by
> adding full RRset examples [5].
> >>
> >> I'll be happy to make adjustments, but I'm uncertain about what to
> change without "making it worse" from the perspective of others. Would you
> be able to suggest specifically which paragraphs/sentences you would like
> to be removed/condensed?
> >>
> >> [4]:
> https://mailarchive.ietf.org/arch/msg/dnsop/rIHtAMZ7erJ2Pc0NIAG1V6hlSrM/
> >> [5]:
> https://mailarchive.ietf.org/arch/msg/dnsop/nBsMo1nENZzgUWd7-42zzAuM76w/
> >>
> >>> - There is the non-RRR model flavour of this and the RRR-model flavour.
> >>>    What the parent can do greatly depends on the flavour and I think
> the
> >>>    document instead focused on only using something that works with
> either
> >>>    flavour.
> >>
> >> The document is fully agnostic of RRR considerations, and instead
> focuses on adding an authentication mechanism for RFC 8078, which also is
> agnostic of RRR considerations. (That's why the term "parental agent" is
> used.)
> >>
> >> Of course, when considering other options for delegation maintenance, a
> registry could do different things than a registrar; but to my
> understanding these are out of scope for RFC 8078 and, by extension, for
> this authentication mechanism. Given that, I'm not sure what your comment
> is trying to say?
> >>
> >>> - It seems WHOIS/RDAP could be better integrated for relaying a secure
> >>>    signal instead of relying on insecure DNS lookups with the
> RRR-flavour.
> >>>    For example, advising parents with delegation information (eg TLDs)
> to
> >>>    lookup NS records in their own WHOIS/RDAP databse instead of using
> DNS
> >>>    queries.
> >>
> >> The draft does not rely on insecure DNS lookups. Instead, parents
> directly use the knowledge they have as a parent, namely, the NS hostnames
> present in the delegation. (This point is emphasized in Section 4.3 which
> is also discussed above.)
> >>
> >>> - There are issues with very long domain names not fitting in the
> >>>    current signal. Why not use hashed FQDNs as part of the signal part.
> >>>    Additionally this might have some privacy and security advantages
> too.
> >>>    (including friendlier to query minimalization :-)
> >>
> >> I completely agree with that. In fact, for precisely these reasons,
> hashing (of all labels but the first) was part of earlier incarnations of
> the draft, but, after discussions [6][7] around IETF 112, it was removed in
> draft-thomassen-dnsop-dnssec-bootstrapping-03.
> >>
> >> (The WG had settled on the plain variant mainly to ease debugging by
> visual inspection without additional tooling. Hashing also poses a
> challenge for synthesis of signaling records, which requires reversing the
> hash. That might be doable if only the parent name is hashed, see [6].)
> >>
> >> [6]: Slide 11 of
> https://datatracker.ietf.org/meeting/112/materials/slides-112-dnsop-sessb-automatic-bootstrapping-of-dnssec-delegations-00
> >> [7]:
> https://mailarchive.ietf.org/arch/msg/dnsop/FE5Sm5vzZtq9VgKxgkfmv4VuVI8/
> >>
> >>> - I find Section 4.1 and 4.2 and the Security Considerations a bit of
> >>>    of a weird split. A bullet list of things to do is specified but
> >>>    then additional things are specified in the Security Considerations.
> >>
> >> I agree that Security Considerations are not the place for
> specification.
> >>
> >> There's only one uppercase keyword there, namely that it's RECOMMENDED
> to diversify a delegation's NS hostnames across several TLDs, for security
> reasons. As this doesn't pertain to the authentication protocol of Section
> 4 itself, I felt that's OK. But sure, let's move it upstairs! :-)
> >>
> >> So, how do you feel about the following?
> >>
> >> At the end of 4.1, add:
> >>
> >> NEW
> >>     To avoid relying on the benevolence of a single Signaling Domain
> >>     parent (such as the corresponding TLD registry), it is RECOMMENDED
> to
> >>     diversify the pathfrom the root to each nameserver.  This is best
> >>     achieved by usingdifferent and independently operated TLDs for each
> >>     one.
> >>
> >> ... and replace the last paragraph of the Security Considerations with
> the following two:
> >>
> >> NEW
> >>     In any case, as the Child DNS Operator has authoritative knowledge
> of
> >>     the Child's CDS/CDNSKEY records, it can readily detect fraudulent
> >>     provisioning of DS records.
> >>
> >>     In order to prevent the TLD of nameserver hostnames from becoming a
> >>     single point of failure in a delegation (both in terms of resolution
> >>     availability and for the trust model of this protocol), itis
> >>     advisable to use NS hostnames that are independent from each other
> >>     with respect to their TLD.
> >>
> >>> - The "_signal" name is very generic. It would be clearer to use a more
> >>>    descriptive name that also has less chance of being used by
> completely
> >>>    different technologies.
> >>
> >> The structure of the signaling name was discussed at the DNSOP Interim
> in May 2022 [8]. To avoid limiting operators' freedom to introduce zone
> cuts at arbitrary points in the tree, the WG settled on using a structure
> that includes a descriptive prefix label as well as a generic intermediate
> label. Details on rejected alternatives can be found in [7].
> >>
> >> Keeping the intermediate label generic comes with the side effect that
> new operator signals (such as multi-signer key exchange [9]) can be easily
> introduced via a new prefix, avoiding the need for a new entry in the
> "underscored names registry" each time. -- The draft reserves the "_signal"
> label for use such operator-side signaling, to prevent collision with other
> technologies.
> >>
> >> [8]: "Open Issue 3" in
> https://datatracker.ietf.org/meeting/interim-2022-dnsop-01/materials/slides-interim-2022-dnsop-01-sessa-authenticated-dnssec-bootstrapping-00.pdf
> >> [9]: https://datatracker.ietf.org/doc/draft-thomassen-dnsop-mske/
> >>
> >>> I think the goal of the document is to further widepsread automated
> >>> deployment of DNSSEC. This happens by the bigger DNS hosters, mostly
> >>> for delegations under a TLD.
> >>
> >> It may also happen by smallrt DNS hosters, in case implementations are
> added in common authoritative server software.
> >>
> >> The IETF 114 hackathon has produced a LUA implementation for PowerDNS
> (used at deSEC), and the RIPE 86 hackathon worked on a native
> implementation for Knot DNS. We're planning to finish this as part of a
> project funded by NLnet [10].
> >>
> >> [10]: https://nlnet.nl/project/AuthenticatedDNSSECbootstrap/
> >>
> >>> I think it best to limit the solution to
> >>> this space,
> >>
> >> For what reason? -- Those preferring other solutions may certainly use
> them, but I don't see why that should imply a restriction on the
> applicability of any specific one.
> >>
> >>> and not try to fold in supporting other cases. Enterprise
> >>> deployments can use CDS/CDNSKEY with hooks in IXFR/AXFR detecting these
> >>> records automatically.
> >>
> >> I'm not sure what you mean here.
> >>
> >>> All in-domain nameservers are people who registered
> >>> their own stuff and are running their own nameservers.
> >>
> >> That's not correct; we have a bunch of users on our managed DNS hosting
> platform who insist on creating vanity nameserver names under their
> domains. We'd like to stop them (so that it's easier for us to renumber our
> NS), but it seems we can't really.
> >>
> >>> The main use case is non-technical people getting a domain with DNS/web
> >>> hosting, where the DNS hoster uses DNSSEC and would like to tell the
> TLD
> >>> to enable DNSSEC. If the Hoster is the Registrar, there is no problem.
> >>> It should be able to use EPP to get a DS into the Registry. If the
> >>> DNS hoster is not the Registrar, then this EPP path is not available.
> >>> But usually those DNS hosters _are_ Registrars already, but only for
> their
> >>> own zones and their customers zone. Just this customer is using their
> >>> DNS service but not their registrar service. Place the information
> there,
> >>> eg via EPP. This would be much more secure than DNS timers/triggers.
> >>
> >> I agree with parts of that and don't with other parts; but I think it's
> a tangent. The draft doesn't tell everyone to use the protocol, and
> certainly not internally within a registrar that's also the operator.
> >>
> >> What the draft does is taking the existing method of RFC 8078 and
> adding authentication. I assume we're generally in agreement that that is a
> good thing (please correct me in case you disagree). The use cases are the
> same use cases as for RFC 8078, and the draft isn't touching that.
> >>
> >>> If this is truly too complicated (which I think it should not be), DNS
> >>> signals could be used, but I would simplify it by telling the customer
> >>> that for moving the domain to the new DNS hoster, to add a special NS
> >>> record that indicates the DNSSEC information, eg:
> >>>
> >>> customer.example IN NS ns0.dnshoster.tld.
> >>> customer.example IN NS ns1.dnshoster.tld.
> >>> customer.example IN NS <hash of DNSKEY>._cds.dnshoster.tld.
> >>>
> >>> The DNS hoster can confirm they are the hoster by simply putting a
> >>> (signed) A/AAAA record at <hash of DNSKEY>._cds.dnshoster.tld. using
> one
> >>> of the real nameserver IPs as RDATA. This prevents people from
> >>> adding the DNS hoster without permission.
> >>
> >> Preventing illegitimate use of nameservers ("lame delegations") is an
> entirely different protocol. The draft is trying to authenticate DS records.
> >>
> >> Thanks,
> >> Peter
> >>
> >
>
> --
> Like our community service? 💛
> Please consider donating at
>
> https://desec.io/
>
> deSEC e.V.
> Kyffhäuserstr. 5
> 10781 Berlin
> Germany
>
> Vorstandsvorsitz: Nils Wisiol
> Registergericht: AG Berlin (Charlottenburg) VR 37525
>
> _______________________________________________
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop
>
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to