Paging this thread back in after a break ... On Tue, Jul 25, 2023 at 8:07 PM Viktor Dukhovni <ietf-d...@dukhovni.org> wrote:
> On Tue, Jul 25, 2023 at 03:39:01PM -0700, Shumon Huque wrote: > > > Viktor - your original suggestion was to only define the ENT sentinel > > instead of NXNAME. How would that solve the problem of systems and > > applications needing to precisely obtain the NXDOMAIN signal. Resolvers > > won't then be able to tell whether a NOERROR bitmap of "NSEC RRSIG" > > is a normal ENT response from a non Compact DoE implementation, or an > > NXDOMAIN response from a Compact DoE implementation. > > For ENTs, there is no inconsistency, the nameserver can return a signed > answer with an empty RDATA for the ENTHERE (TBD) rtype. > > ; QUESTION: > ent.example. IN ENTHERE ? > > ; ANSWER: > ent.example. IN ENTHERE "" > ent.example. IN RRSIG ENTHERE ... > That's an interesting idea, but it is contrary to our intention to make ENT (and/or NXNAME) a meta-type, which is defined to not own any cacheable zone data. It also seems to be an unnecessary complication that can be avoided. My earlier proposal still seems simpler to me: define explicit queries for ENT/NXNAME to return an NSEC bitmap with only "NSEC RRSIG" (i.e exclude the meta type). I took a quick look at NS1 just now, and they already appear to do this for ENT -- I tested a bunch of different resolver implementations with such queries and they all seem to behave fine. (My other suggestion was to treat ENT/NXNAME queries as real meta-types that should elicit an error - BIND/Unbound appear to return FORMERR for such types). On Thu, Jul 27, 2023 at 11:31 PM Viktor Dukhovni <ietf-d...@dukhovni.org> wrote: > On Tue, Jul 25, 2023 at 03:39:01PM -0700, Shumon Huque wrote: > > > Viktor - your original suggestion was to only define the ENT sentinel > > instead of NXNAME. How would that solve the problem of systems and > > applications needing to precisely obtain the NXDOMAIN signal. Resolvers > > won't then be able to tell whether a NOERROR bitmap of "NSEC RRSIG" > > is a normal ENT response from a non Compact DoE implementation, or an > > NXDOMAIN response from a Compact DoE implementation. > > I may not have answered Shumon's question in full. The missing > piece is that "NSEC RRSIG" isn't a "normal ENT response". In > classic RFC 4035 DNSSEC, ENTs aren't part of the NSEC chain > (NSEC records are associated only with names that appear as > explicit nodes in the zone with at least one real RRset). > > To prove an ENT, a classic DNSSEC server returns: > > strictly-prior-node. IN NSEC descendent-of-ent. <bitmap for prior node> > > The fact that the next name is a descendent of the ENT, proves the > existence of the ENT as an empty node. > > There are never any "NSEC RRSIG" bitmaps is classic DNSSEC. This > combination has to mean something special is going on. For classic "pre-computed" DNSSEC, yes. But we also need to distinguish these responses from RFC4470 ("by-the-book" online signing) responses. For empty non-terminals, they will return a minimally covering NSEC record matching the ENT with a type bitmap of "NSEC RRSIG" -- that is not distinguishable from a Compact DoE non-existent name response, if the latter does not provide the NXNAME sentinel. The NXNAME sentinel also provides the explicit means to implement the signaled NXDOMAIN rcode restoration mechanism for DO=1 queries that I mentioned in my IETF117 presentation. (The utility of that proposal needs to be weighed of course against the additional complexity cost, and against the possibility of misc software being updated to directly recognize the NXNAME meta-type signal instead). Shumon.
_______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop