On Fri, Oct 9, 2020, 2:36 PM Wessels, Duane <dwessels= 40verisign....@dmarc.ietf.org> wrote:
> > > > On Oct 8, 2020, at 4:18 AM, Robert Wilton via Datatracker < > nore...@ietf.org> wrote: > > > > Robert Wilton has entered the following ballot position for > > draft-ietf-dnsop-dns-zone-digest-12: No Objection > > > > > > ---------------------------------------------------------------------- > > COMMENT: > > ---------------------------------------------------------------------- > > > > Thank for you this document. I found it interesting and it looks useful. > > > > I have a few comments that may improve this document for you to please > consider: > > > > Herein, SHA384 [RFC6234], with value 1, is the only standardized Hash > > Algorithm defined for ZONEMD records that MUST be implemented. When > > SHA384 is used, the size of the Digest field is 48 octets. The > > result of the SHA384 digest algorithm MUST NOT be truncated, and the > > entire 48 octet digest is published in the ZONEMD record. > > > > SHA512 [RFC6234], with Hash Algorithm value 2, is also defined for > > ZONEMD records, and SHOULD be implemented. When SHA512 is used, the > > size of the Digest field is 64 octets. The result of the SHA512 > > digest algorithm MUST NOT be truncated, and the entire 64 octet > > digest is published in the ZONEMD record. > > > > For consistency, perhaps change "with value 1" to "with Hash Algorithm > value 1"? > > Done. > > > > > > 2.2.4. The Digest Field > > > > The Digest field MUST NOT be shorter than 12 octets. Digests for > the > > SHA384 and SHA512 hash algorithms specified herein are never > > truncated. Digests for future hash algorithms MAY be truncated, > but > > MUST NOT be truncated to a length that results in less than 96-bits > > (12 octets) of equivalent strength. > > > > When I read this, I wonder why the limit of 12 bytes was chosen. > Possibly a > > sentence that justifies why this value was chosen might be useful, > noting that > > the two suggested algorithms have significantly longer digests. > > > I know there has been some followup on this with Donald. In our earlier > conversations with him he wrote "96 bits seems to be a common minimum > length for disgests in the IETF although perhaps I have that impression > due to the common case of SHA-1 truncated to 96 bits." > > > > > > 2. The ZONEMD Resource Record > > > > It is > > RECOMMENDED that a zone include only one ZONEMD RR, unless the zone > > publisher is in the process of transitioning to a new Scheme or > Hash > > Algorithm. > > > > I'm not quite sure how well this fits with sections 2.2.3 restriction > that > > SHA384 MUST be implemented, and SHA512 SHOULD be implemented. As a > recipient > > of the zone info I understand that I would need to implement both, but > as a > > sender am I allowed to only send SHA512, or both, or must I always send > SHA384? > > As sender (publisher) you are allowed to publish whatever you want. > > The purpose of the recommendation above is to hopefully avoid the situation > where multiple records are published (with both types) on an ongoing basis. > That is something we observe with DS records quite often. For example, > 750 TLDs today publish both SHA1 and SHA256 digest types as DS records in > the root zone. This new paragraph has been added to the security > considerations: > > 6.2. Use of Multiple ZONEMD Hash Algorithms > > When a zone publishes multiple ZONEMD RRs, the overall security is > only as good as the weakest hash algorithm in use. Why not require recipients to verify all digests with recognized algorithms? For this reason, > Section 2 recommends only publishing multiple ZONEMD RRs when > transitioning to a new scheme or hash algorithm. Once the transition > is complete, the old scheme or hash algorithm should be removed from > the ZONEMD RRSet. > > > > > > 3.1. Add ZONEMD Placeholder > > > > In preparation for calculating the zone digest, any existing ZONEMD > > records (and covering RRSIGs) at the zone apex are first deleted. > > > > I think that this places a requirement that all zone digests must be > > constructed at the same time. I suggest at least changing "zone digest" > to > > "zone digest(s)", but it might also be worth adding a sentence to > highlight > > that. > > I've changed it to "zone digest(s)" as you suggest. > > Strictly speaking, there is not a requirement that all digests must be > created > at the same time (in parallel). > > The reason for the placeholder is explained in the next paragraph, which > is to > ensure correct NSEC/NSEC3 records when the zone is signed with DNSSEC. > > > > > > I was also left wondering whether it is strictly required that the zone > digests > > must be deleted, or just that placeholder zone digests must be used in > their > > place during the calculation. E.g. what happens if a request is > received to > > fetch the ZONEMD record at the same time that it is being reconstructed? > > It is not strictly required to delete any existing digest first. The > ZONEMD records > are not included in the digest calculation. > > To address your questions around this, I suggest adding this text to > section 3, > before section 3.1: > > 3. Calculating the Digest > > The algorithm described in this section is designed for the common > case of offline DNSSEC signing. Slight deviations may be permitted > or necessary in other situations, such as with unsigned zones or > online DNSSEC signing. Implementations that deviate from the > described algorithm are advised to ensure that identical ZONEMD RRs, > signatures, and dential-of-existence records are produced. > > > > > 4. Verifying Zone Digest > > > > 5. Loop over all apex ZONEMD RRs and perform the following steps: > > > > ... > > > > My, perhaps mistaken, interpretation of these error reporting > instructions in > > this loop is that they really assume only a single ZONEMD RR. I.e., I > wouldn't > > expect the recipient to generate/return these errors if there were two > ZONEMD > > RR's and only one scheme/algorithm was was supported. Yes, there is > some text > > at the beginning of the entire algorithm that suggests what to do here, > but > > further guidance here may also be helpful. E.g. what does the server > return if > > there are two ZONEMD records and neither of them are acceptable for > different > > reasons? I'm presuming, perhaps incorrectly, that only a single error > > can/should be returned. > > Ben raised a similar point about this section, namely that it could result > in a lot of diagnostic output. > > Do you think it would be better remove those "SHOULD report" from each > individual > step and instead have a paragraph at the end that says the verifier SHOULD > report > the result of its verification and leave it at that? > > > > > > Regards, > > Rob > > > > Thanks for the review and comments! > > DW > > > _______________________________________________ > DNSOP mailing list > DNSOP@ietf.org > https://www.ietf.org/mailman/listinfo/dnsop >
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop