Re: [DNSOP] Robert Wilton's No Objection on draft-ietf-dnsop-dns-zone-digest-12: (with COMMENT)

"Wessels, Duane" <dwessels@verisign.com> Fri, 09 October 2020 18:36 UTC

Return-Path: <dwessels@verisign.com>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CEC6A3A10FC; Fri, 9 Oct 2020 11:36:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=verisign.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s-eqjUME8rcj; Fri, 9 Oct 2020 11:36:31 -0700 (PDT)
Received: from mail4.verisign.com (mail4.verisign.com [69.58.187.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8B3F13A10F9; Fri, 9 Oct 2020 11:36:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verisign.com; l=13700; q=dns/txt; s=VRSN; t=1602268590; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=UmC8zhRA6LJ0mREqT33SJ8dHA1n7AAfCKrwsQXtRSCU=; b=L8Q1Kc/7FF2OUP3DK9syIxLLCvEzygDpvq3+mYuSdqn3u8A21PPXJ6S1 NEIlYgdOiXZ6Ttd5rVcj992g85EjSnup+2vdp+rg9uQB8aTDuqRcI7qW6 icHyCz544MUgu34j9w1x37K0X9I6IXLpyui1gP6xPgVE+T2FmSK6/5tab z8fnm2LrrtcqcCVD8s8KpsOkVcnh8X2AUKhFrmpZ109328e9NaeTmCazV jBj1SqZ/ez9pEOeOEpCB/sxUX8yZDr11AhD4DoR6ntY0Zh3PNi8KhdHal T74h+BsWY2jolTkU5C9WmtS2XzXOmHmPm8EfxIdxKUSr+GW+AuCxKZtIY A==;
IronPort-SDR: 8sEmsKJ73wU2bOiOK9GwDhNvw/XNUHpjSJrSeDoJSMtCayIMi/z4+Ep304M/Mv3UKzBDI3xtRJ 43W83jmsNRETI9V1LYQ0ib3oGdurc5CyDWFVvNSuKWtEIzF+DzxWySpj8u5URE/tSGgb4u769e 8FrhlQO+sjZBGtTWOcw4KZJAHNW09c5xnejoMv1qgK9881A5TDO8qMT+CJdOZNihtblLqEFg+V w5TMf8KWBjhakNZ01FJDmt1Ilb7Zw6Et4dwsM34swkJ8IBFbYbY3m/iB4QovywLmjyQWkST3Gc IHY=
X-IronPort-AV: E=Sophos; i="5.77,355,1596513600"; d="p7s'?scan'208"; a="3184741"
IronPort-PHdr: 9a23:tMwVihN+lKlT16lkSmwl6mtUPXoX/o7sNwtQ0KIMzox0K/76ocbcNUDSrc9gkEXOFd2Cra4d1KyL6uuxCSQp2tWoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7Ovr6GpLIj8Swyuu+54Dfbx9HiTagY75+NhW7oRjeusQSgoZpN7o8xAbOrnZUYepd2HlmJUiUnxby58ew+IBs/iFNsP8/9MBOTLv3cb0gQbNXEDopPWY15Nb2tRbYVguA+mEcUmQNnRVWBQXO8Qz3UY3wsiv+sep9xTWaMMjrRr06RTiu86FmQwLzhSwZKzA27n3Yis1ojKJavh2hoQB/w5XJa42RLfZyY7/Rcc8fSWdHQ81fVTFOApmkYoUPEeQPIPpYoYf+qVsArxSwAgisC//gxTJTiX/6wag63v4hEQ3awgAtGc8FvnTOrNXyMacfSe65w6nWwjXYdPNZxzP96JPQfhs8r/+MQKh/cczPxkUhCgjIiUifqIL7MDOOzeQCrWyb7/F7WOKxlWEnsQBxoiOuxscjjInFnJ4aylfB9Shgxos+ONK3RlJhb9G+DJtQqz+VN5FwQs46TWxlpiY3xL0YtJO4YCUHxpcqygPfZvKHbYWG7BztWuaQLDtmi3xoZq+ziRm8/0S91uHyWdW53UtWoydHktfBsnYA3AHQ5MifUvZx41ut1SyS2w3R5OxIO104mKrVJpI7zbM9koIfvVnfEiPshUn7jrOael859uWn6OnreKjqq5yaOoRpkA/xKL4ulda6AekgNwgOWHWU9vqk2b34+E35XK1KjvorkqnFqJzaJdoUpqq+AwJNz4st9w6xAyqm39oAkncILU5JdAydg4j3J17OJ+r4De+lj1u2jThn3e7GPqf6ApXLNHTMjLDhfbNl505dzgo808xf6opJBr0dOv7/R038udLCAhMkMwG5zfzrBdp5248GXGKAGK6ZMKfcsV+S4eIvJvGBa5IbuTnjMPgl/ODhjXsimVIGY6mmw4EXaHGjHvRnLEWZZ2DgjcsGEWcPpgY+VvDliEWeUT5PYHa/R7g85z86CIKiEYfDQYatjaed0ye6BZ1ZemdGBkqQHnfvcoWOQ+0MZz6KIs99jjwEUqCsS44/2hG1uw/30LtnIfTI+i0Wr57j08J15+LLnxEo6TN0F9id032KT2xsg2wIXSU53K5joUBky1eMz7R4g/JBGdNO4fNJSQA6NYbFw+NnDdDyQRvNf9aOSFagXNqqGCw+TtM+w9AQeEZ9B86vjhHd0Cq2Db8ZjbuLBIY78qjExXj+O959y2ra1Kkml1QpX81PNXahhq5n7gTcG47JnF+Yl6awbqQRxy/N+3mfzWqApk1YVxRwUardV3AFekTWtcj55l/FT7K2FLsnNBBBycmaKqZRa93mk0lGRPn5NNTZeWKxlH+6BQyUybOUcIrqZ2Id0T3BCEgGnQEf53eGOhYiBievuG/eAzluGkjuY0Po6+VxtHS7Tkpnhz2NOndm3bev5lYqhPiATPVbiqgbuSM9rDNcF1em1NWQAN2F8VlPZqJZNJkC7Uxc2GbC80RRI5WmIuoq0lIBfh9sskf1/wt6EIRbkMcs6ngtyVwheuqjzFpdembAjtjLMbrNJzy3pUj3Zg==
X-IPAS-Result: A2G6AACArIBf/zGZrQpgGwEBAQEBAQEBBQEBARIBAQEDAwEBAUCBT4F1gVGBCAqVKCaDepZDgWkEBwEBAQEBAQEBAQQEAS8EAQGESgKCFSY4EwIDAQELAQEBBQEBAQEBBgMBAQEChlGCNykBg2oBAQEBAgF5BQsCAQgOCi4CMCUCBA4FDoMYAYJcEahpdIE0ilsQgTiBU4t9gUI+gREnDBCCTT6EFQ4CF4NLgi0Ej3skMoIzAZMMNZAKgQoDB4JohEuCX442hQofgxOKCIVBgw2LTa9dg2ACBAIEBQIVgWuBe3AVZQGCPj4SFwINjigCGBSOEHQ3AgYKAQEDCYwDgTQyXwEB
Received: from BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) by BRN1WNEX02.vcorp.ad.vrsn.com (10.173.153.49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Fri, 9 Oct 2020 14:36:28 -0400
Received: from BRN1WNEX01.vcorp.ad.vrsn.com ([fe80::a89b:32d6:b967:337d]) by BRN1WNEX01.vcorp.ad.vrsn.com ([fe80::a89b:32d6:b967:337d%4]) with mapi id 15.01.1979.003; Fri, 9 Oct 2020 14:36:28 -0400
From: "Wessels, Duane" <dwessels@verisign.com>
To: Robert Wilton <rwilton@cisco.com>
CC: The IESG <iesg@ietf.org>, "draft-ietf-dnsop-dns-zone-digest@ietf.org" <draft-ietf-dnsop-dns-zone-digest@ietf.org>, "dnsop-chairs@ietf.org" <dnsop-chairs@ietf.org>, "dnsop@ietf.org" <dnsop@ietf.org>, Tim Wicinski <tjw.ietf@gmail.com>
Thread-Topic: [EXTERNAL] Robert Wilton's No Objection on draft-ietf-dnsop-dns-zone-digest-12: (with COMMENT)
Thread-Index: AQHWnWS9vpQbic4lEUCKk9Vi2sjIpamP3naA
Date: Fri, 09 Oct 2020 18:36:28 +0000
Message-ID: <514C5EA8-2814-42AA-9787-455445BA828D@verisign.com>
References: <160215590178.19643.8185294724542473578@ietfa.amsl.com>
In-Reply-To: <160215590178.19643.8185294724542473578@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3608.120.23.2.4)
x-originating-ip: [10.170.148.18]
Content-Type: multipart/signed; boundary="Apple-Mail=_69455FDC-2A98-4522-8AD7-2FAEF905FB4A"; protocol="application/pkcs7-signature"; micalg="sha-256"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/0L6T230XmsJBhIUDVwf4TOWpHT8>
Subject: Re: [DNSOP] Robert Wilton's No Objection on draft-ietf-dnsop-dns-zone-digest-12: (with COMMENT)
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Oct 2020 18:36:33 -0000


> On Oct 8, 2020, at 4:18 AM, Robert Wilton via Datatracker <noreply@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.  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