Thanks for the review!

On 14 Jan 2016, at 11:32, 神明達哉 wrote:

Here are my comments on the 06 version:

- Section 3.1

 [...]  This would be when the resolver starts with an empty cache,
 and when one or more of the NS records for the root servers has
 expired.

This seems to talk about a recursive server behavior that allows a
subset of an RRset to expire.  Is that the intent?  Is there any
reason why we can't simply say "...and when the NS RRSet for the
root zone has expired."?

Good catch. The RRset will expire at the same time.

(btw I think 'root zone' is better
than 'root servers' here).

This is not the expiration on the whole root zone, only on the NS records. The expiration of the root zone itself comes from the SOA, which has a different value than the TTLs on the NS RRset. That is, in the current root, the expiration in the SOA is 604800 but the TTLs on the NS records are 518400.

- Section 3.1: some modern recursive servers "prefetch" un-expired
RRsets.  We might also mention that case here.

Yes.

- Section 3.3

 [...]  At the time this
 document is being published, there is little use to performing DNSSEC
 validation on the priming query because the "root-servers.net" zone
 is not signed, and so a man-in-the-middle attack on the priming query
 can result in malicious data in the responses.

I think this text needs more explanation.  Since the priming query
is "./NS", it's not immediately obvious why the fact that
"root-servers.net" is unsigned matters.  This text seems to be based
on some implicit assumptions/facts such as:
- all root servers are authoritative for the root-servers.net zone
- we'll eventually need AAAA and A RRsets of the NS names
- even if ./NS is signed, it's not very useful in practice unless
  these AAAA and A are also signed
and, reading between the lines I think I can agree with the seeming
intent, but IMO it should be explained more clearly and explicitly.

The first bullet point is not necessary for your argument. Would the following be better than the quoted sentence?

At the time this document is being published, there is little use to performing DNSSEC validation on the priming query. This is because being able to validate the NS records is not sufficient for having authenticated addresses for the root servers: having validated A and AAAA RRsets for each root server is also needed. Without those validated A and AAA RRsets, a man-in-the-middle attack on the
priming query can result in malicious data in the responses


- Section 4.1

 answer section) and an Additional section with A and/or AAAA RRSets
 for the root name servers pointed at by the NS RRSet.

Similar to the previous point, it seems to be based on some implicit
assumptions including:
- all root servers are authoritative for the root-servers.net zone
- all these servers populate the additional section from a different
  zone they are authoritative for than that for the query name ("."
  in this case)
- none of the root server implementations use the
  "minimal-responses" (or equivalent) option

I think these should be clearly stated.

Those implicit assumptions are not needed for the current text. RFCs 1034 and 1035 and 2181 do not restrict what can be put in the Additional section to only being things for which the server is authoritative.


- Section 4.2

 For an EDNS response, a resolver SHOULD consider the address
 information found in the Additional section complete for any
 particular server that appears at all.

This one also seems to assume some particular behavior of the root
server implementations.  At least protocol-wise, we cannot
necessarily assume this completeness, right?  Then I'd also suggest
clarifying the assumption.

This seems like a reasonable question. What do others think?


Editorial nits:

- Section 3.2: s/other other/other/

 [...]  Two other other
 common methods include picking the first from the list, and

- Section 4.2: s/to to/to/

 [...]  Instead, the recursive resolver needs to to
 issue direct queries for A and AAAA RRSets for the remaining names.

Fixed. Thanks again!

--Paul Hoffman

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to