[DNSOP] Re: [Ext] Dnsdir last call review of draft-ietf-dnsop-rfc7958bis-03

Petr Špaček <pspacek@isc.org> Fri, 02 August 2024 15:44 UTC

Return-Path: <pspacek@isc.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 56D43C1CAF53; Fri, 2 Aug 2024 08:44:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.108
X-Spam-Level:
X-Spam-Status: No, score=-7.108 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, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=isc.org header.b="Xn0QW2u/"; dkim=pass (1024-bit key) header.d=isc.org header.b="DWsGVIjN"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1FcK4-3zc-Nk; Fri, 2 Aug 2024 08:44:30 -0700 (PDT)
Received: from mx.pao1.isc.org (mx.pao1.isc.org [149.20.2.50]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 872E1C1CAF2A; Fri, 2 Aug 2024 08:44:25 -0700 (PDT)
Received: from zimbrang.isc.org (zimbrang.isc.org [149.20.2.31]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx.pao1.isc.org (Postfix) with ESMTPS id F00293AB289; Fri, 02 Aug 2024 15:44:24 +0000 (UTC)
ARC-Filter: OpenARC Filter v1.0.0 mx.pao1.isc.org F00293AB289
Authentication-Results: mx.pao1.isc.org; arc=none smtp.remote-ip=149.20.2.31
ARC-Seal: i=1; a=rsa-sha256; d=isc.org; s=ostpay; t=1722613465; cv=none; b=HGO4n1pajNtYHT1kDmyJ1Lz1GNK3ZEl6Yy2EHZBD6ImZtKh9l0/bdPA/mbBKhueboaVYQIWJYtVSDY89Gtc+2IdYANUIJ8WZaoKyYaeE++xIoc5oVUcKBmhwbIcWMpSOVTiMpuPz+s01cFE65rzWL+tAwkFC6Fe35+5/X6YZM08=
ARC-Message-Signature: i=1; a=rsa-sha256; d=isc.org; s=ostpay; t=1722613465; c=relaxed/relaxed; bh=3HA7N6pO4C4vfCM+IQjLgdM/l8BUf/YAn2DqRknrJHc=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:MIME-Version: Subject:To:From; b=ifND7RjcBRpY/vtW/q39J2K9tCnXgFG8CqytuB8tx2qW4DscX7UICWB18JVb2QP32md4fpZ3Yre+6HBR7BO/khvvzRo7Qq5jz/OiVD4RkkmRy4OazplzY4EwCdaFMdUW4GygH0PJt1CoBHtOZ4hLa/UR2Rc5v+FK+wu+ohhICx0=
ARC-Authentication-Results: i=1; mx.pao1.isc.org
DKIM-Filter: OpenDKIM Filter v2.10.3 mx.pao1.isc.org F00293AB289
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=isc.org; s=ostpay; t=1722613465; bh=3F88uOj4icT/MnhQbKVicq912WbEOtzoi/HSRliwoQg=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=Xn0QW2u/jwBc0QGUf0Y9UPkhbaFxbdFmQp0+T19QL82KG8Q9uXSTfB0MPh1BUWOvN p7ST6CHRBHPzEYF0jhEmG/OFKaCOi1HfhL514T1NHTMi4wLklXymrnn0p3DxUvCmKQ +/i/y4onuFVm4gy+EkSBfMRrzHNFGHMyRgpQrfjw=
Received: from zimbrang.isc.org (localhost.localdomain [127.0.0.1]) by zimbrang.isc.org (Postfix) with ESMTPS id EAC07B0B6A4; Fri, 2 Aug 2024 15:44:24 +0000 (UTC)
Received: from localhost (localhost.localdomain [127.0.0.1]) by zimbrang.isc.org (Postfix) with ESMTP id C9796B0BC93; Fri, 2 Aug 2024 15:44:24 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.10.3 zimbrang.isc.org C9796B0BC93
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=isc.org; s=05DFB016-56A2-11EB-AEC0-15368D323330; t=1722613464; bh=3HA7N6pO4C4vfCM+IQjLgdM/l8BUf/YAn2DqRknrJHc=; h=Message-ID:Date:MIME-Version:To:From; b=DWsGVIjN4TyzBpCBXu8LekxE2PigzGKLASNp5adADc79bzMbGs7O1UsOAgZtcWqgh Q+xX3CFst9/vHSVG6M0cxbxxrJlhcS6KeyByD6Ap5xfgKhtLycXHJ1BMP0WCkHKCaa MlouO5J2CMB2C29sfmEIlRNSP6hKgTCbdML/6DnY=
Received: from zimbrang.isc.org ([127.0.0.1]) by localhost (zimbrang.isc.org [127.0.0.1]) (amavis, port 10026) with ESMTP id ppvoy7Mauzh5; Fri, 2 Aug 2024 15:44:24 +0000 (UTC)
Received: from [192.168.0.131] (94-143-239-125.chrudim.cz [94.143.239.125]) by zimbrang.isc.org (Postfix) with ESMTPSA id C1784B0B6A4; Fri, 2 Aug 2024 15:44:23 +0000 (UTC)
Message-ID: <3509946c-44c6-44f0-a36c-5659e716a773@isc.org>
Date: Fri, 02 Aug 2024 17:44:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Paul Hoffman <paul.hoffman@icann.org>
References: <172242543510.2137530.14005988379230936314@dt-datatracker-659f84ff76-9wqgv> <C5054E75-79B2-4BDF-BA77-60CEB6479AC2@icann.org> <a8c98c83-9af9-4c0b-baef-199e57abf96b@isc.org> <4B662AEC-B546-4376-9945-F045F4A0B5D4@icann.org> <473d8daf-ca85-4a6c-8e36-2d300c574807@isc.org> <54B25823-2F05-44DB-8A94-B59E8DD4F95C@icann.org>
From: Petr Špaček <pspacek@isc.org>
Content-Language: en-US
Autocrypt: addr=pspacek@isc.org; keydata= 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
In-Reply-To: <54B25823-2F05-44DB-8A94-B59E8DD4F95C@icann.org>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: DTFBFH34UA7S3AJGSMTRJCDFCAYFGWD2
X-Message-ID-Hash: DTFBFH34UA7S3AJGSMTRJCDFCAYFGWD2
X-MailFrom: pspacek@isc.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-dnsop.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "dnsdir@ietf.org" <dnsdir@ietf.org>, "dnsop@ietf.org WG" <dnsop@ietf.org>, "draft-ietf-dnsop-rfc7958bis.all@ietf.org" <draft-ietf-dnsop-rfc7958bis.all@ietf.org>, "last-call@ietf.org" <last-call@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [DNSOP] Re: [Ext] Dnsdir last call review of draft-ietf-dnsop-rfc7958bis-03
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/HIF4ls351_ymxDDDnfyQTbDmZj4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Owner: <mailto:dnsop-owner@ietf.org>
List-Post: <mailto:dnsop@ietf.org>
List-Subscribe: <mailto:dnsop-join@ietf.org>
List-Unsubscribe: <mailto:dnsop-leave@ietf.org>

On 02. 08. 24 16:40, Paul Hoffman wrote:
> THanks for keeping in on this!
> 
>> On Aug 2, 2024, at 02:14, Petr Špaček <pspacek@isc.org> wrote:
>>
>> On 02. 08. 24 2:41, Paul Hoffman wrote:
>>> On Aug 1, 2024, at 06:37, Petr Špaček <pspacek@isc.org> wrote:
>>>>>>> snip <<< I removed the parts where we understood each other.
>>>>
>>>> On 01. 08. 24 2:28, Paul Hoffman wrote:
>>>>>>> 2.4. Converting from XML to DNSKEY Records
>>>>>>> The published trust anchor does not provide values for DNSKEY protocol or
>>>>>>> flags. For the purpose of this mechanism, clients can assume valid trust
>>>>>>> anchors will be have the ZONE and SEP flag bits set to 1.
>>>>>> I think it is extremely bad idea to ignore fields, especially Flags. There are
>>>>>> various proposals for new DNSKEY flag usage in the DD WG.
>>>>>>
>>>>>> Even if we say that DD WG will go down in flames before it produces anything I
>>>>>> think it's_extremely_  bad idea to omit pieces of information and assume that
>>>>>> client can reliably fill in missing pieces with constants. I would say that the
>>>>>> missing DNSKEY fields really really must be represented explicitly. (E.g. I
>>>>>> don't want to go down the rabbit hole of all REVOKE flag corner cases.)
>>>>> I don't understand how the quoted text suggests that users of the zone file ignore fields or flags. Can you suggest text to fix your concern?
>>>>
>>>> Specifically:
>>>>> clients can assume valid trust anchors will be have the ZONE and SEP flag bits set to 1.
>>>>
>>>> This text ignores all non-{ZONE,SEP} flags. Readers have no instruction about the _other_ flags, and in a hypothetical future, TA can conceivably have one or more of these extra flags set. E.g. a new flag for DELEG downgrade resistance which is under discussion in the DD WG. Will we need update the format again? (I think that would be wrong.)
>>>>
>>>> I think absence of explicit Flags field is unnecessary shortcut which will just bite us down the road (or force document & software update).
>>> I'm still not understanding the need here. The flags are included in the calculation for the DS record, which is mandatory in the file format.
>>
>> Here are two examples where missing Flags cause trouble:
>>
>> Example 1. Imagine that one of the historical TAs will get revoked. Revocation sets REVOKE bit=1, along with a validUntil date set to the past. Now the current format would contain DS hash which does not match the reconstructed DNSKEY RR.
> 
> It sounds like you assuming that IANA would change the DNSKEY by setting the Revoke bit, but not update the trust anchor. That is possible, but it seems unlikely to me.
> 
> Would it be sufficient for you if the document was updated to say "If IANA makes any change to the DNSKEY record for a trust anchor, such as a change in a flag, IANA MUST update the trust anchor file to reflect this change.
No, I think there's still a misunderstanding.

I'm trying to say that the format as proposed currently _does not have 
the ability_ to express REVOKE or any other non-{ZONE,SEP} bits - and 
this causes internal consistency issues in the data format between DS 
and the DNSKEYs _regenerated_ from individual XML elements.

Perhaps I'm missing something...

Could you please share an example of XML which shows one TA with bits 
ZONE+SEP+REVOKE set to 1 such that all data fields of the XML are 
internally consistent? I.e. DS hash must match the DNSKEY reconstructed 
according to the current text.

That example would clearly demonstrate that I'm wrong.


>> Standardizing a format which by definition leads to internally inconsistent data fields sounds like a had idea to me.
> 
> Fully agree.
> 
>> Example 2. Non-REVOKEd flag - based on draft-ietf-dnsop-delegation-only-02.txt:
>> Say that a future TA has DNSKEY flags ZONE + SEP + DELEGATION_ONLY set to 1. Such TA cannot be represented correctly as DNSKEY using the proposed format because the proposal assumes only ZONE + SEP bits are ever set to 1. Again, DS hash and the reconstructed DNSKEY would not match.
>>
>> In other words, the current proposed format ossifies DNSKEY flags for TAs.
> 
> ...only if IANA doesn't update the trust anchor file, I believe. Please see the above proposed addition.

No, I'm trying to say that IANA has no way to publish such TA in the 
currently proposed format. Of course unless IANA decides to not publish 
publicKey element, but doing so would be contrary to the implicit 
requirement of supporting software which needs full DNSKEY format.

Again - if this _can_ be done please share a XML excerpt to demonstrate 
it. I promise I will shut up when I see fully consistent XML which can 
represent such TA.

>>>> My proposal is to do one of:
>>>> a) get rid of PublicKey element completely (see below)
>>>> b) include explicit XML element with Flags - and when we are at it we can add Protocol element as well for completeness.
>>>>
>>>>>> On high level I also find confusing that the new element is optional - that
>>>>>> makes it unreliable for consumers because there are no rules for when it might
>>>>>> or might not be present.
>>>>> It is optional because some signing mechanisms don't automatically generate DNSKEY values. For example, the current trust anchor file only has the DS of KSK-2024 because IANA needs to make a software change to get the DNSKEY (which it will do in a few months). Other HSMs might be similar. A DS has always been sufficient; a DNSKEY would be an upgrade, but is not necessary.
>>>>
>>>> A trust anchor with nonexistent DNSKEY representation is not usable in DNSSEC because nobody can validate signatures made with it, is that correct? If so, why such keys need to be represented in this format?
>>>>
>>>> An alternative angle:
>>>> Why is the new PublicKey element even needed? There's no guarantee it will be ever present which makes it unusable - no software can _rely_ on it's presence. I.e. it does not seem useful while it introduces new nasty corner cases.
>>>>
>>>> Or yet another wording of the same problem:
>>>> Under what conditions software reading file in this format _needs_ the PublicKey element and cannot do with the mandatory fields?
>>> Some software vendors complained that they needed the full DNSKEY for the trust anchors. They could not use the file: they had to wait for the DNSKEY records to appear in the root zone. At least one of those vendors scraped the ceremony materials to find the DNSKEY to use as their trust anchor before the record appeared in the root zone.
>>
>> Fair enough, I can imagine that. But then the question is:
>>
>> Why is the field _optional_ (besides problem with missing Flags)? That renders the proposed format potentially unusable (or at least unreliable) for the software which cannot work with DS only.
> 
> It is optional because there is no guarantee that IANA will know the DNSKEY for a trust anchor when it first knows the DS. That is true today, and will be true until mid-October this year. It could be true again in the future.
> 
>>>> I find
>>>>> It can be useful when IANA has a trust anchor that has not yet been published in the DNS root.
>>>> too vague to justify that we need the _optional_ PublicKey element which might or might not be present, with and all the trouble it adds.
>>> That might be true for your own implementation, but it was requested and accepted by the WG.
>>
>> Or maybe it was just an oversight? dnsop archives here:
>> https://mailarchive.ietf.org/arch/browse/dnsop/?q=rfc7958bis*20publickey do not show any discussion of publicKey element _semantics_, or it's purpose, or when and why it should be present.
>>
>> Perhaps my dnsop filter is incomplete and there was a discussion I could not find?
> 
> I thought it was requested earlier than us starting this draft, which is why it appeared in the -00 draft.

I don't want to be seen as a formalist, but that probably caused the WG 
to just glance over it. There's no sign of anyone discussing the 
publicKey field - so we are having the discussion now.

-- 
Petr Špaček
Internet Systems Consortium