Hi Roy,

thank you for your answer! Please find my reactions inline.

On 30. 10. 26 1:26, Roy Arends wrote:
1) I feel a lack of proper description of the situation when Delegation-Extension-unaware (DE=0) validating resolver queries a name at/below NS-Omitting type. It can believe it is a NODATA/NXDOMAIN proof.

Section 4.1:

Note that when the DE flag is clear (i.e., set to 0), and no NS RRset exists at a delegation point, there is no referral from the perspective of a non-Delegation-Extension-aware resolver and the server returns a negative response.

Well, draft-deleg has a pretty detailed and well-written Section 5.2.2.1 regarding this issue, together with useful examples in the Appendix, and some remarks here and there, e.g. through Section 6.

I think draft-delext shouldn't be missing those considerations, they might in fact be moved from draft-deleg to draft-delext. What do you think?

2) From an implementer's perspective, the subranges of the Delegation Types range could be rearranged to be more handy:     - NS Preserving and Private types should be in adjacent ranges (to form a single bigger subrange) as they're pretty equal in properties     - NS-Omitting, NS-Preserving, and Private types should be adjacent as well and form a bigger subrange because those share the requirement to be present in delegation responses

Historical convention. Many protocol registries follow this pattern where private types are at the end of a range.

I understand how you came to this, I just continue to disagree. Practicality should take precedence over historical conventions.

I suggest to arrange the subranges in the order of (ns-omitting, ns-preserving, private, on-demand).

If there is any more argument, I would add that the "on-demand" subrange is in fact so different in behavior, that it doesn't belong among the former three, and as a result, the "private" subrange is kind-of 'at the end' of the sane range of (ns-omitting, ns-preserving, private) ... :)


3) It should be made clear that the DE bit not only signals (commits to) Delegation-Extension-awareness, but also DELEG-awareness.

Ack .... I’ve added the last sentence: ... I’ve also added to 5.1: .....
Ack
4) Compact Denial of Existence: §4.1.1 seems not precise enough. First, it doesn't clearly say that the considerations are regarding queries _below_ the non-NS delegation point. Second, it doesn't say how the non-NXNAME NXDOMAIN answer should look like (especially, how the "next name" field in the NSEC is crafted).

Good points. Regarding your first points, I’ve updated the text in 4.1.1 to:

This document updates Compact Denial of Existence (CDOE) [RFC9824]. For queries with DE=0 and a QNAME below a delegation point containing an NS-Omitting Delegation Type RRset but no NS RRset, authoritative servers implementing Compact Denial of Existence (CDOE) [RFC9824] MUST NOT use the CDOE method when the DE flag is clear. Instead, they MUST return a conventional negative response with the corresponding DNSSEC denial-of-existence proof as specified in [RFC4035] or [RFC5155], regardless of whether the Compact Answers OK (CO) flag is set.
Nice.

For an NSEC zone, a single NSEC record whose owner name matches the delegation point and whose Next Domain Name is formed by prepending the label \043 to the delegation point satisfies both components of the Name Error proof. It covers both the queried name and the wildcard at the closest encloser, while its Type Bit Maps field indicates the types present at the delegation point. The label \043 sorts after the wildcard label (\042) in canonical ordering.
Would this even work?
query: www.deleg-without-ns.example. AAAA DE=0 CO=1
response: NXDOMAIN, deleg-without-ns.example. IN NSEC \043.deleg-without-ns.example. RRSIG NSEC DELEG
The queried name is out of the NSEC range...!

6) Queries for type ANY (4.4) is underspecified. Either improve, or remove this section whatsoever.

I’ve improved it,
Ack
X) In general, I lack enough considerations about DE-rrtypes without DNSSEC. Yes, their security properties are obviously weak, but they're not forbidden or unuseful. Although not all, most of the paragraphs assume DNSSEC.

Okay. What more is there to say about DE-rrtypes without DNSSEC?
Sorry, this way my incorrect perception.

Y) Question. Assume a hybrid delegation with both legacy NS and NS-Omitting DELEG. Within the given Threat Model, should we consider the attack surface where for a legacy resolver, the attacker _injects_ a malicious DE bit into the resolver's queries, so that the resolver obtains cachable de-facto NXDOMAIN proofs of stuff below the delegation? I guess the defence is the presence of NSEC which uncovers the existence of NS, but this is not mentioned in the doc.

It isn’t mentioned here, as this is covered by RFC6840 section 4.1, but I’m happy to add the following after the first paragraph of Section 8.4:

An on-path attacker may set the DE flag in queries sent by a non-Delegation-Extension-aware resolver, causing an authoritative server to return Delegation Type RRsets instead of an NS RRset. At a delegation point containing both NS and NS-Omitting Delegation Type RRsets, the NSEC or NSEC3 record matching the delegation point indicates the presence of the NS RRset. As specified in [@!RFC6840] Section 4.1, a validating resolver cannot use such an ancestor delegation proof to establish nonexistence below the delegation point. Consequently, injecting the DE flag cannot cause a  non-Delegation-Extension-aware validating resolver to accept an authenticated denial of existence for names below the delegation.
Pretty!

Thanks Libor,

Warmly,

Roy

Thanks,

Libor

_______________________________________________
DNSOP mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to