Hi Duane On Mon, Oct 29, 2018 at 10:26:42PM +0000, Wessels, Duane wrote: > Mukund, > > Thanks for the comments. I have incorporated most of them. I will follow up > below on items I did not incorporate. > > > On Oct 29, 2018, at 8:55 AM, Mukund Sivaraman <m...@mukund.org> wrote: > > > > After a reading, despite what is said in Section 5, I'd like to see such > > a scheme to be generally useful for larger zones and zones with high > > rates of updates. There are some kinds of zones in common use which can > > benefit from better performance. So I recommend working on an > > incremental scheme now than having multiple types of schemes later. > > The feedback I have received regarding this point has been mixed. I have > some folks saying "make it work with stable zones now, figure out dynamic > zones later" and others saying "have to support incremental updates now." > > The proposal to have a reserved-for-future use field is an attempt to find > compromise. I personally think incremental updates can be efficiently > supported with a variable-depth Merkle tree. But I have concerns about > the complexity / benefit tradeoff. I presented on this at the last DNS-OARC > meeting (not sure if you had a chance to see it). > > This is why the authors propose proceeding with the Reserved field at this > time. > If it later turns out we can agree on a way to support incremental updates by > using this 8-bit field, then that would be great. If not, we can, as you say, > consume another RR type and the wasted 8-bits stays Reserved indefinitely.
I'll look for the OARC presentation. While this initial scheme is simple, its usefulness (for zone instances where such a scheme is desired) to me appears limited outside the root. This is why it seems better to have a more complicated scheme that scales well. > >> The root zone [InterNIC] is perhaps the most widely distributed DNS > >> zone on the Internet, served by 930 separate instances [RootServers] > >> at the time of this writing. > > > > It can be argued, but I think popular RPZ zones have a lot more > > distribution. More below. I replied in response to the 930 separate instances mentioned and the (small) set of servers that run root on loopback, or hijack root traffic, etc. Some RPZ zones from proprietary DNS implementation vendors appear to me in wider use, but I have nothing to cite for it here. I'd just remove the "most" word, and say "The root zone is a widely distributed DNS zone..." > > RPZ seems like a good candidate for end-to-end authentication of data > > without having to trust the peer a resolver got the data from, esp. for > > open(unrestricted) policy zones. Some popular RPZ zones are very large, > > and change very frequently (sooner than a minute). The current memo's > > performance is inadequate to be used with such zones. > > Out of curiosity, are these large RPZ zones signed? > > I ask because some people say ZONEMD is worthless without DNSSEC and, > as far as I know, policy zones don't necessarily need to align with > the name space. They are not signed, and you're right that they do not belong in the DNS, and aren't meant to be QUERY'd. However, they _can_ be signed, and verified with a local trust anchor. The point I intended to make was that RPZ can benefit from a message digest where the "master" side nameserver serving the feed may not be necessarily trusted, but it can be established that the RPZ feed is authentic. It has importantance for this application as the contents of the RPZ zones obtained from outside are used to filter replies. > > > >> 2.1.1. The Serial Field > > > >> The Serial field is a 32-bit unsigned integer in network order. It > >> is equal to the serial number from the zone's SOA record ([RFC1035] > >> section 3.3.13) for which the message digest was generated. > > > > Why is this field necessary? Can't the serial number be determined from > > the SOA's field? > > This was a point of discussion in earlier revisions: > > FOR DISCUSSION: the serial number is included in order to make DNS > response messages of type ZONEMD meaningful. Without the serial > number, a stand-alone ZONEMD digest has no association to any > particular zone file. If there is agreement that ZONEMD responses > are not useful, this field could be removed. See also the end of > Security Considerations. > > Based on feedback from that revision, seems like there was consensus to > keep the Serial field and allow ZONEMD queries/responses. That is a good reason. Please do retain the description in the draft. Often when reading RFCs, I see a specification of *what* needs to be done, but not *why* and the purpose that a field/behavior solves is mysterious. Sometimes, not knowing the purpose can cause mistakes in implementation (though not in this case). > > > > I had mentioned this in my first reply to an early version of this draft. > > > > May I implore that that you avoid other hash types and make SHA-384 as > > mandatory? So many types are not needed. SHA-512(/384) is a faster hash > > to calculate on many 64-bit platforms (what will be typically used by > > this draft's target market) than SHA-256, and its hash construction and > > size (compared to the rest of the zone) are not very different from > > SHA-256 to require SHA-256 as well. Speed is good, especially in this > > simplistic version of this scheme. If you want to include more hash > > algorithms, pick a different hash construction such as SHA-3. > > I was thinking it would be useful to have ZONEMD digest types track DS digest > types, so that it wouldn't require a new RFC to define a new ZONEMD digest > type. > But I'm not sensing much support for this approach. > The two are not related, and it's best not to somehow co-relate them. The choice of function have different requirements which determine picking a hash function. For example, apart from the fact that crypto hash functions are needed: * It would be desired to have short hashes for DS as several of them may be returned in a delegation response, and delegation responses are a common answer in the public DNS. Though having a well-performing hash function would be nice, it is not an important requirement as only the DNSKEY's key is hashed by it. * It would be desired to primarily have fast performing hash functions for ZONEMD as it hashes all the data in the zone. Though having a short hash is desirable, it is not a big deal even if the hash bloated up the DNS reply message to the entire 64kB. > As an implementor, you would be okay with, say SHA384 having value 4 when used > in as a DS digest type, but value 1 when used as a ZONEMD digest type? Implementations already deal with hash function identifiers for different use cases, and it is not a big burden to implement one more, considering the rest of the ZONEMD implementation. I feel relating the DS and ZONEMD tables is wrong. You can pick the same hash function identifier values for now if you choose, but it would be hard to keep the values in sync, with the separate new registry in 6.2. > >> For the purposes of calculating the zone digest, RRsets having the > >> same owner name MUST be numerically ordered by their numeric RR TYPE. > > > > in ascending or descending order? (I don't blame you.. RFC 4034 also > > makes no mention of that except "sorting the names"). > > Does "... RRsets having the same owner name MUST be processed in numerically > ascending order by their numeric RR TYPE" work for you? That works, or very simply add: "MUST be numerically ordered" + " in ascending order" + " by their numeric RR TYPE." > > > > >> 3.1.2. Special Considerations for SOA RRs > > > >> When AXFR is used to transfer zone data, the first and last records > >> are always the SOA RR ([RFC5936] Section 2.2). Because of this, zone > >> files on disk often contain two SOA RRs. > > > > Is this fair to say.. the "often" part? > > How about "sometimes" instead of often? Sounds good. I typed a lot of text.. much ado over nothing. :) > >> Additionally, the ZONEMD record defined in this document includes a > >> Reserved field. The authors have a particular future use in mind for > >> this field, namely to support efficient digests in large, dynamic > >> zones. We intend to conduct future experiments using Merkle trees of > >> varying depth. The choice of tree depth can be encoded in this > >> reserved field. > > > > Sorry I'm seeing this after writing some comments earlier. This > > experimental Merkle tree scheme needs to be described more thoroughly to > > make sense of "depth" to be encoded in the reserved field. > > Assuming the document were to move forward with this reserved-for-future-use > field, > I'm not sure what would be the appropriate level of detail to put here. I'd > rather not > get too caught up in those details yet. Sorry, I messed up conveying what - the clarification asked was just to follow why this is an 8-bit Reserved field and not a 16-bit or 32-bit Reserved field - some justification for what ranges of values are going to be stored in it. Mukund _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop