John,
On 10/13/23 19:48, John Levine wrote:
I was looking at these two drafts. The first one says that scanning
for CDS updates is bad, so use NOTIFY(CDS) rather than scanning. The
second one says to scan for DS bootstrap.
No, draft-ietf-dnsop-dnssec-bootstrapping doesn't say that at all.
The word "scan" indeed does appear in Section 4.3 ("Triggers"), which says that the
parent SHOULD trigger the DNSSEC bootstrapping process "once one of the following conditions is
fulfilled". It then lists a bunch of possible such conditions, including
1. the parent receives an updated NS RRset,
2. the parent chooses to do a scan,
3. the parent obtains a copy of a signaling zone and walks the signaling
records published there (at _signal.$NS, such as _signal.jo.ns.cloudflare.com),
4. any other condition deemed appropriate,
with the latter one capturing some kind of notification like you suggest, and
method 2 reflecting the existence of corresponding deployments at various
ccTLDs and at RIPE NCC.
I don't see anything here that recommends scanning in particular or otherwise
makes any kind of judgment on what kind of condition is appropriate. It just
says, *if* any such conditions appear to be fulfilled, then please use the
specified procedure for authenticating CDS/CDNSKEY records.
("Scan" also appears in section 5.2 on operational recommendations, where it
says that you shouldn't carry over authentication information between scans, but that
doesn't mean that you should scan. Happy to improve that sentence if you think it's
ambiguous.)
I suggest adjusting the bootstrap draft saying to send NOTIFY(DS) to
the parent of a delegated name to tell it to do the bootstrap rather
than scanning.
The draft is not at all concerned about how the child triggers the parent, but
only with what the parent does *once the parent has determined* that it is
going to attempt DS initialization.
The NOTIFY issue you're raising is very much worthwhile (and I care for it, as you
can see by the fact that we're both co-authors of the NOTIFY(CDS) draft), but that
doesn't mean that it needs to be intermingled with the parent's authentication
mechanism for CDS/CDNSKEY records. KISS, divide & conquer etc.
Bonus update: if we do this, in the bootstrap draft take out section
4.3 on triggers and instead say to use notify.
Besides acknowledging that various trigger mechanisms exist, the takeaway from
Section 4.3 is that the authentication mechanism requires reliable knowledge of
the delegation's NS records; however, depending on the trigger method, this
piece of information may or may not be conveyed directly through the trigger
condition, so a cross-check in the parent's database may be needed.
In particular, methods 1 and 2 above give 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 using method 3 (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 a
signaling zone matches an actual delegation, and not accept authentication
information from potentially fraudulent signaling records.
This discussion is independent of the notification problem, and I don't think
that it would be helpful to remove it.
The authors also don't see why one should not point out that various triggers
methods exist, and as a result prefer that the section remain in the document.
Thanks,
Nils and Peter
--
https://desec.io/
_______________________________________________
DNSOP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsop