Hi Paul,

On 5/17/24 20:45, Paul Wouters wrote:
# Section 2

OLD
   The DS enrollment methods described in Section 3 of [RFC8078] are
   deprecated and SHOULD NOT be used.  Child DNS operators and parental
   agents who wish to use CDS/CDNSKEY records for initial DS enrollment
   SHOULD instead support the authentication protocol described in
   Section 4 of this document.

NEW
   The DS enrollment methods described in Section 3 of [RFC8078] are
   less secure than the method described in Section 4 of this document.
   It is therefore RECOMMENDED that Child DNS operators and parental
   agents who wish to use CDS/CDNSKEY records for initial DS enrollment
   instead support the authentication protocol described here.

I would remove the word "instead", as it now doesnt deprecate it.
Otherwise okay.

OK. This leads to the confusing constellation "for initial DS enrollment support", where 
"support" looks like a noun but is a verb. I thus restructured the last sentence 
equivalently as follows:

NEW
   The DS enrollment methods described in Section 3 of [RFC8078] are
   less secure than the method described in Section 4 of this document.
   Child DNS operators and parental agents wishing to use CDS/CDNSKEY
   records for initial DS enrollment SHOULD therefore support the
   authentication protocol described here.

That adds significant complexity, to defend against a scenario that is simply "part of 
life" in the DNSSEC security model ("there is no way to defend against the parent").

We will leave it to dnssec transparency logging to find "deep signs"....

;-)

Thus: Would it address your concern if we said that QNAME minimization is 
REQUIRED or RECOMMENDED for resolving signaling records? (Which of the two?)

Let's leave it out for now. Or if you want you can add it as
RECOMMENDED, but I think then you'd also need to talk a bunch about
starting from an empty cache and stuff, so I would leave it out
completely.

Section 5.2 (parent-side operational considerations) already says that it is 
"RECOMMENDED toperform queries into signaling domains with an (initially) 
coldresolver cache", so it actually fits well.

I used the opportunity to replace "cold" with "empty" (avoiding jargon), and 
added right after:

NEW
   It is also RECOMMENDED to use QNAME minimization [RFC9156] when
   resolving queries for signaling records, to guard against certain
   attacks (see Section 6).


In Section 6 (security considerations), I then added:

NEW
   If QNAME minimization [RFC9156] is not used when querying for
   signaling records, an upstream parent of a signaling domain will see
   those CDS/CDNSKEY queries and could respond with an authoritative
   answer signed with its own key, instead of sending the referral.
   Enabling QNAME minimization reduces the attack surface for such
   forgery.


What do you think?

OLD
   CDS/CDNSKEY records and corresponding signaling records MUST NOT be
   published without the zone owner's consent.  Likewise, the child DNS
   operator MUST enable the zone owner to signal the desire to turn off
   DNSSEC by publication of the special-value CDS/CDNSKEY RRset
   specified in [RFC8078] Section 4.  To facilitate transitions between
   DNS operators, child DNS operators SHOULD support the multi-signer
   protocols described in [RFC8901].

NEW
   It is possible to add CDS/CDNSKEY records and corresponding signaling
   records to a zone without explicit knowledge of the domain owner.  To
   spare domain owners from being caught off guard by state changes
   induced by this practice, Child DNS operators doing so are advised to
   make this transparent.

Maybe add:   ", for example by notifying the domain owner via email".

Mmh, I find this quite prescriptive ("a priming example"). It could also be 
done as an info box when you create the zone (perhaps you can untick a box to disable), 
or as an advertised feature when you book the plan. Those approaches seem favorable, 
because they are ahead of time (before it actually happens), while a notification is 
after the fact.

Now, I'm not sure whether we should go into elaborating on all of this; but *if* we say 
something, I feel we should mention one of the "ahead-of-time" ways. I'd be 
curious to know what you think of this.

   When transferring a zone to another DNS operator, the old and new
   child DNS operators need to cooperate to achieve a smooth transition,
   e.g., by using the multi-signer protocols described in [RFC8901].  If
   all else fails, the domain owner might have to request the removal of
   all DS records (e.g., by using the special-value CDS/CDNSKEY RRset
   specified in [RFC8078] Section 4) and have the transfer performed
   insecurely (see [I-D.hardaker-dnsop-intentionally-temporary-insec].)

If the current DNS hoster does not cooperate, It would not let you use 
CDS/CDNSKEY,
so I wouldn't mention 8078.

There's an assumption here that I don't share. It's rooted in the fact that it's very unclear what 
"not cooperate" means. Does it mean "not doing multi-signer transitions"?

I suppose many DNS hosters are not aware of multi-signer and its intricacies, 
and wouldn't dare such a setup until we come up with good automation schemes. 
(That gap is on us to fix.) But until that's there, a DNS hoster trying to 
cooperate may much more easily support CDS-delete.

But, should they? Isn't disabling DS the wrong thing to do? Well, the domain 
owner may have good reasons (they're not for us to judge), and in a properly 
automated environment, it should never be necessary to have a manual 
interaction with the registrar about DS.

So it seems reasonable to me that if you can turn something on without a human 
reaching out to the registrar, you should also be able to turn it off the same 
way. That also helps with cases where the domain owner hadn't agreed, and the 
operator provisioned DS records accidentally etc.


Finally, there are cases where cooperation doesn't get you where you want. 
Consider the following scenario: Moving from a DNS hoster that only does one 
algorithm to a hoster that only does another one (e.g., 8 vs. 13). Even if both 
want to cooperate, a valid multi-signer setup can't be constructed (because it 
would require announcing both algorithms via DS, which is illegal as long as 
they can't sign the zone with both algorithms [0]).

In this case, one might want to go insecure for a brief period (although that 
would of course be a very suboptimal thing to do; OTOH, asking one provider to 
implement the other's algorithm has near zero hopes to succeed). Using RFC 8078 
CDS-delete would spare the domain owner from having to touch the registrar's DS 
interface, which I think is the right design.

[0]: In this context, Section 2.2 of 
https://datatracker.ietf.org/doc/draft-huque-dnsop-multi-alg-rules/ offers a 
solution that I think should be advanced.

So I believe with this we addressed all concerns, and if a new draft is
published I will update by DISCUSS ballot to Yes.

Thanks. I'll hold off with the submission in case you'd like to respond. 
Otherwise, I'm planning to upload a new revision on Monday.

Cheers,
Peter

--
https://desec.io/

_______________________________________________
DNSOP mailing list -- dnsop@ietf.org
To unsubscribe send an email to dnsop-le...@ietf.org

Reply via email to