Re: [DNSOP] Second Working Group Last Call for: Message Digest for DNS Zones

Dick Franks <rwfranks@gmail.com> Mon, 09 March 2020 16:38 UTC

Return-Path: <rwfranks@gmail.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 D695C3A1413 for <dnsop@ietfa.amsl.com>; Mon, 9 Mar 2020 09:38:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, FREEMAIL_FROM=0.001, 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=gmail.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 GkFHI3kO9zQv for <dnsop@ietfa.amsl.com>; Mon, 9 Mar 2020 09:38:25 -0700 (PDT)
Received: from mail-il1-x12c.google.com (mail-il1-x12c.google.com [IPv6:2607:f8b0:4864:20::12c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 427E23A1426 for <dnsop@ietf.org>; Mon, 9 Mar 2020 09:38:25 -0700 (PDT)
Received: by mail-il1-x12c.google.com with SMTP id b17so9280016iln.3 for <dnsop@ietf.org>; Mon, 09 Mar 2020 09:38:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1cJ5rFq1e3IHLZWoNCcfwR7PJZ+GDLjFp9cML6Y2e3o=; b=Z8enebAnf7qjnXfyhPZ/ANI5BZWmrfGTkdSzXJmzrJlL0cpZIgVUE49Av0GuBPaxVy oJ0ocHe7FgpZRJbDW+42JHIdZFohBnEgzZf63vVkGZWFVm1wR+rtFjgqtVzRpDi2d/q0 n9YpgxoUK8ZT8aeEH+6Qc2nNse40iHbJCgHKqGk9oeshyR3LYiIhsMy/ah1ZLnLmVRtz Xy6m3nY+0IpJyc2gBHoFcZuo7hFzg0uyjxRWhklLVSnkUeaWNNsrlMu2E5uQnld/wP2V VyROvNdlFY0hFtUoSkujOIXIe5HaK0XOq37GAWsNvbWH8Td4qGxOnPbVqlrzzCjrPbAR X49g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1cJ5rFq1e3IHLZWoNCcfwR7PJZ+GDLjFp9cML6Y2e3o=; b=mtk3pBqqu+XIGf9wfzkrRVs0wpvxejD1ZUjg4ZFG1TnFHbSMREgRHzwPhEKA+upFRl nSBP00KvyO2O6fTS67kFs8PnPsUwWpFoypvgtnsroNPeeSHyE9dXBFWUDdGHU29ahjH2 kWkcKZ5bwKIrI6sfk4DIkh9c57mvF/wKmagJ1f0sTqEDJaZr7nqKLtp6obG6xwwF/6qo Mge6eZzwrRMuPEoAedNv5Yiiybrl0n3sgiSPHEG4UGKQ7qs1Kyayjv8pSEZQToMfxIzb wSBllX/Sbr/Z3hmIzlXapWZsUElz+bRBzNUJSGPT7miaPzmFaW/CmpjOXXIHj5EgUVa+ 9ttQ==
X-Gm-Message-State: ANhLgQ10AMu233wKKYDO2bhHc8gI/q4vP0+UIMStye7H75VfRIBxsFZ+ y9aE4Z2b6V+tVgpffZJRFcUNcsVT+lYR5uTc1cU=
X-Google-Smtp-Source: ADFU+vs1bsaPaTGqHN/Pioxj3ediYRQXnhMAa3cIPphSE79VTt7vWTW64qBbOF3KU6BNKy9AbjxELoEE8LzS++m1VjM=
X-Received: by 2002:a92:d341:: with SMTP id a1mr16334302ilh.257.1583771904129; Mon, 09 Mar 2020 09:38:24 -0700 (PDT)
MIME-Version: 1.0
References: <CADyWQ+GDfbaAKz9iAWVH=TP=2A3hr9iGhTarayAEjgF5TrnvXQ@mail.gmail.com> <CAKW6Ri6YbMKquv7sMqK5D4OH7Z=h-zuvmUXqfUG2NpJdu91ooA@mail.gmail.com> <EA3EFDEF-ED88-4918-A49E-4832CBFA9C5E@isc.org>
In-Reply-To: <EA3EFDEF-ED88-4918-A49E-4832CBFA9C5E@isc.org>
From: Dick Franks <rwfranks@gmail.com>
Date: Mon, 09 Mar 2020 16:37:47 +0000
Message-ID: <CAKW6Ri4nVn78LfL_tL8G956gM23JWBJ7HJ3A5L4nqntmyAQRjw@mail.gmail.com>
To: Mark Andrews <marka@isc.org>
Cc: Tim Wicinski <tjw.ietf@gmail.com>, "Wessels, Duane" <dwessels@verisign.com>, IETF DNSOP WG <dnsop@ietf.org>, Michael StJohns <msj@nthpermutation.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/9UGCuPlCBLFWQn6drykcUwjJXfs>
Subject: Re: [DNSOP] Second 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: Mon, 09 Mar 2020 16:38:31 -0000

Response in line

On Mon, 9 Mar 2020 at 07:20, Mark Andrews <marka@isc.org> wrote:

>8

> > [1.2 para 1]
> >
> >   ...  The procedures for digest calculation and DNSSEC
> >   signing are similar (i.e., both require the same ordering of RRs) and
> >   can be done in parallel.
> >
> > There is no requirement for the RR collating sequence be the same as
> > DNSSEC, otherwise it would be impossible for there to be more than one
> > scheme.
>
> I see no proof for this claim.

Self evident:  If a "Scheme" defines its own collating sequence, then
it is certainly
possible to define another Scheme with a different collating sequence.
The collating sequence therefore can not be constrained to be the same
as DNSSEC.
Also, the eventual goal is to incorporate some as yet unspecified
incremental scheme,
which is a whole new can of worms and unlikely to fit the DNSSEC model.

> > [3.1 para 1]
> >
> >   In preparation for calculating the zone digest, any existing ZONEMD
> > +  and covering RRSIG
> >   records at the zone apex are first deleted.
> >
> > [3.1 para 1]
> >
> >   Prior to calculation of the digest, and prior to signing with DNSSEC,
> >   a placeholder ZONEMD record is added to the zone apex.
> >
> > reword as follows:
> >
> >   Prior to calculation of the digest, and prior to signing with DNSSEC,
> >   exactly one placeholder ZONEMD record is added to the zone apex.
> >
> > [3.1 para 5]
> >
> > reword as follows:
> >
> >   If multiple digests are to be published in the zone, e.g., during an
> >   algorithm rollover, each digest calculation is performed independently
> >   using the placeholder for the corresponding Scheme and Hash Algorithm.
>
> para 5 is about filling out the RRset to have a ZONEMD placeholder record
> for each <Scheme,Hash Algorithm> pair.

Indeed, that is what para 5 says.

What I am calling into question is the necessity to bind each digest
to *all* of its siblings,
given that DNSSEC will be used to sign and protect the complete ZONEMD RRset.

Binding each digest to its own placeholder should be sufficient, and
also removes the
apparent conflict with [3.1 para 2]:
   Prior to calculation of the digest, ... a [singular] placeholder
ZONEMD record is added ...

With this simplification, verification can be achieved using a single
ZONEMD, instead of
needing the entire RRset.

Michael StJohns pointed out (Feb 25) that a verifier that does not
recognise a particular
ZONEMD Scheme and/or Hash Algorithm may be unable to create the
required placeholders,
and therefore unable to perform a verification using any
(Scheme,Algorithm) at all.

> > [3.2]
> >
> > s/signature(s)/signature/
> >
> > There can never be more than one.
>
> Actually there can be multiple RRSIG for ZONEMD so plural is correct.

There is only ONE RRset at the apex, therefore only ONE covering RRSIG
which needs to be regenerated.

> > [3.3] and [3.3.1]
> >
> >    This specification adopts DNSSEC's canonical on-the-wire RR format
> >    (without name compression) as specified in [RFC4034].
> >
> >       RR(i) = owner | type | class | TTL | RDATA length | RDATA
> >
> >       where "|" denotes concatenation.
> >
> > The record collating sequence is scheme specific.
> >
> > [3.4 bullet 3]
> >
> >   o  Only one instance of duplicate RRs with equal owner, class, type
> >      and RDATA SHALL be included ([RFC4034] Section 6.3).
> >
> > This seems to detract from the idea of a general purpose comparison
> > advertised in 1.3.5. If unexpected duplicate RRs were to be present in
> > the original zone, the downstream copy should be expected to match,
> > warts and all.
>
> Do you really want to update every AXFR implementation on the planet?

Emphatically not;  but neither does massaging the digest to gloss over an
erroneous duplication at the source seem like a sensible idea.

Moreover, the independence of any particular transport mechanism is one
of the merits of this proposal.

> > [3.5.1 para 5]
> >
> > Needs to be incorporated into 3.3.
> >
> > [3.6]
> >
> > reword:
> >
> >   Once a zone digest has been calculated, the published ZONEMD record
> >   is finalised by inserting the digest into the placeholder ZONEMD.
> >   Repeat for each digest if multiple digests are to be published.
> >
> >   If the zone is signed with DNSSEC, the RRSIG record covering
> >   the ZONEMD RRSet MUST then be added or updated.
> >
_____________________________________________