[DNSOP] future-proofing (Re: Working Group Last Call for: Message Digest for DNS Zones)

Paul Vixie <paul@redbarn.org> Wed, 08 January 2020 20:20 UTC

Return-Path: <paul@redbarn.org>
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 0394712012A for <dnsop@ietfa.amsl.com>; Wed, 8 Jan 2020 12:20:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 sw8gI750P47N for <dnsop@ietfa.amsl.com>; Wed, 8 Jan 2020 12:20:40 -0800 (PST)
Received: from family.redbarn.org (family.redbarn.org [IPv6:2001:559:8000:cd::5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A15F012003E for <dnsop@ietf.org>; Wed, 8 Jan 2020 12:20:40 -0800 (PST)
Received: from linux-9daj.localnet (dhcp-179.access.rits.tisf.net [24.104.150.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by family.redbarn.org (Postfix) with ESMTPSA id C8A44B0591 for <dnsop@ietf.org>; Wed, 8 Jan 2020 20:20:37 +0000 (UTC)
From: Paul Vixie <paul@redbarn.org>
To: dnsop@ietf.org
Date: Wed, 08 Jan 2020 20:20:36 +0000
Message-ID: <28189634.PH2fhW1m7e@linux-9daj>
Organization: none
In-Reply-To: <b3132d4a-8b91-27ff-83af-0204a47ec2c3@nthpermutation.com>
References: <CADyWQ+G1w9_vcU3oO9MsKcP4hTLPXKFb+xY7LJGExbAfjzsDMw@mail.gmail.com> <D9E20677-B76F-4028-A283-6FA5DEEC22AE@verisign.com> <b3132d4a-8b91-27ff-83af-0204a47ec2c3@nthpermutation.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/C-gDhOzASmQkDyUcitPkpG-VaZU>
Subject: [DNSOP] future-proofing (Re: Working Group Last Call for: Message Digest for DNS Zones)
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: Wed, 08 Jan 2020 20:20:42 -0000

[thread fork; subject changed]

i've brought this up several times including in response to the very first 
draft version. i'd like to be sure it's been considered and rejected by the 
dns technical community, rather than merely forgotten.

ZONEMD as drafted is not incremental. so to compute it, the primary server and 
each secondary server must iterate over the entire zone contents. no partial 
products are produced that would make it cheap to simply update the MD when 
some small change to a zone has occurred. in other words ZONEMD is AXFR 
optimized, and roughly ignores the various benefits of IXFR.

some day we will fix this, so that a primary server can update an IXFR 
optimized MD as a result of changes -- either by computing differences between 
an old and new zone, and BIND9 does with "ixfr-from-differences", or by using 
in-band UPDATE. this would look more like a block hash, because each new MD 
would be computed from (previous MD) + (zone change).

i am not asking that we fix this today. what i am asking for is future-
proofing.

can we please not put the ZONEMD RR at the apex, or else, can we please add an 
ALG-ID to its rdata. because some day we're going to ship different kinds of 
MD's, one of which is today's full-zone traversal-required version that 
optimizes for AXFR, and another will be tomorrow's block hash that optimizes 
for IXFR.

so either:

$ORIGIN verisign.com.
@ SOA ...
@ NS ...
@ ZONEMD 1 ... ;; computed by full zone traversal only
@ ZONEMD 2 ... ;; computed by full traversal or incremental block hash

or else:

$ORIGIN verisign.com.
@ SOA ...
@ NS ...
_axfr ZONEMD ...
_ixfr ZONEMD ...

or something else that accomplishes the same goal, which is that today's and 
tomorrow's MD can coexist, and be used opportunistically by dev or ops policy.

vixie