Re: [DNSOP] signalling mandatory DNSSEC in the parent zone

Ulrich Wisser <ulrich@wisser.se> Thu, 04 March 2021 12:12 UTC

Return-Path: <ulrich@wisser.se>
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 AB46B3A1A00 for <dnsop@ietfa.amsl.com>; Thu, 4 Mar 2021 04:12:09 -0800 (PST)
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=wisser.se
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 hggvlY9pN_LL for <dnsop@ietfa.amsl.com>; Thu, 4 Mar 2021 04:12:07 -0800 (PST)
Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [IPv6:2001:67c:2050::465:102]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 846F43A19FF for <dnsop@ietf.org>; Thu, 4 Mar 2021 04:12:07 -0800 (PST)
Received: from smtp1.mailbox.org (smtp1.mailbox.org [80.241.60.240]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4DrqVX0tXNzQlZj; Thu, 4 Mar 2021 13:12:04 +0100 (CET)
X-Virus-Scanned: amavisd-new at heinlein-support.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wisser.se; s=MBO0001; t=1614859922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XOpwXlfaPz5uQ7ADkpDLlCli/MhV+w7yjvmQG9iJ1Vk=; b=JtXoCOgB4c7UcX3q1rv6T/pqVq+QC5fS2QeMS4Tc5ARU94Pulv+1aM0MIT8rw7XqBe9fcy pjs5PBOcQvShE3QS4iUHkxiCb+eE2br1FF+owIl0suOEpTItyibCTylPwP5X0nv9YzPUCb 1S0FMupqx19H8Hmw3IP1UAOFJZNwZCvB1cZiVHDcOrome0B8wixE4zMwr1bJC0qUFAGCjy WJ9NSg5X5HU3pd+Krk0sKUKXEtPy5mTHogm5oujjWG2Soh3+dMpdFWVpi8J/FOdF0YaR9V wYt0CHzqnA/SE7jICLWUdTZDqOzJ1b7SdC1YB1L7Eth9hR9C99CzCyRCSi32yg==
Received: from smtp1.mailbox.org ([80.241.60.240]) by spamfilter06.heinlein-hosting.de (spamfilter06.heinlein-hosting.de [80.241.56.125]) (amavisd-new, port 10030) with ESMTP id sa3kMi-aKJ6b; Thu, 4 Mar 2021 13:11:57 +0100 (CET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0
From: Ulrich Wisser <ulrich@wisser.se>
In-Reply-To: <B1BD96C2-3C4B-473E-952F-D3A1105C8625@isc.org>
Date: Thu, 04 Mar 2021 13:11:56 +0100
Cc: Brian Dickson <brian.peter.dickson@gmail.com>, "dnsop@ietf.org WG" <dnsop@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <DB5F786B-FDDA-41F8-A84F-7F109419D814@wisser.se>
References: <20210301.205459.413147497474184552.he@uninett.no> <DE24E067-C0D3-4E26-B7FB-EF8311AE5E0A@isc.org> <5D1D786F-216A-4AD3-840E-CAFE5CA49B6C@wisser.se> <4577DCF6-9D72-4D46-90DD-F289F112E639@isc.org> <0FD37A06-9DD4-46EB-BBB9-C480155CC9F1@wisser.se> <430E9927-D129-4872-BC1D-BF1F8E924B63@isc.org> <CAH1iCirdEXZUsXRvr+623vk5v10WevmYjRsY_inJPd_j2P+Atg@mail.gmail.com> <4F547B26-11F1-406E-BF63-054F3E23D116@wisser.se> <B1BD96C2-3C4B-473E-952F-D3A1105C8625@isc.org>
To: Mark Andrews <marka@isc.org>
X-MBO-SPAM-Probability: **
X-Rspamd-Score: 1.60 / 15.00 / 15.00
X-Rspamd-Queue-Id: 3C51E1853
X-Rspamd-UID: 4b837e
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/InMwLJdtoNCm0AhL-4qnMRG6s90>
Subject: Re: [DNSOP] signalling mandatory DNSSEC in the parent zone
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: Thu, 04 Mar 2021 12:12:10 -0000

Mark, I totally agree with you. And I didn’t propose a change to the specs or anything. I just promoted to continue with lax-validation, because it helps with some operational problems.


> On 2 Mar 2021, at 20:46, Mark Andrews <marka@isc.org> wrote:
> 
> 
> 
>> On 3 Mar 2021, at 04:44, Ulrich Wisser <ulrich@wisser.se> wrote:
>> 
>> I don’t think the dnssec specification say that a rr set has to be signed with an algorithm that is specified in the ds rr set.
> 
> It does with formal MUSTs.
> 
>> The spec requires rrsigs of each algorithm to be present at the authoritative. But there is no requirement on the validation to stay with one algorithm.
> 
> No there isn’t but when you only support one algorithm in the validator, if the signers fail to meet the MUST then validation fails.  The MUST on the authoritative side is there to prevent failures in the validator.
> 
>> What I want to accomplish is that two name server operators can move a domain between them even when they use different algorithms. With lax-validation this is possible, at least when the validator supports both algorithms.
> 
> But it doesn’t work when it doesn’t. This part of DNSSEC was carefully designed this way.
> 
>> This move would of course make the authoritatives not rfc compliant for some time.
>> Both authoritative would have to have a ZSK in their dnskey set that uses an algorithm for which they do not serve rrsigs.
>> I believe this to be a lesser problem than switching dnssec off.
> 
> So you agree with me.  There is no way to transfer signing between operators and perform an algorithm change at the same time if the operators refuse (or can’t because it is not supported by the software) to sign the zone with the algorithm the other operator is using.  When I use the term “work” that means that answers validates for *every* validator that is correctly following the protocol.  That was the design goal from the very beginning.
> 
>> /Ulrich
>> 
>> 
>> 
>>> On 2 Mar 2021, at 18:25, Brian Dickson <brian.peter.dickson@gmail.com> wrote:
>>> 
>>> 
>>> 
>>> On Tue, Mar 2, 2021 at 4:47 AM Mark Andrews <marka@isc.org> wrote:
>>> 
>>>> On 2 Mar 2021, at 23:06, Ulrich Wisser <ulrich@wisser.se> wrote:
>>>> 
>>>> 
>>>> 
>>>>> On 2 Mar 2021, at 12:55, Mark Andrews <marka@isc.org> wrote:
>>>>> 
>>>>> 
>>>>> 
>>>>>> On 2 Mar 2021, at 22:52, Ulrich Wisser <ulrich@wisser.se> wrote:
>>>>>> 
>>>>>> @Håvard No, that isn’t sufficient. A resolver could have the old DNSKEY set in cache but get signatures from the new servers. This can be solved by cross signing the ZSK -> put the ZSK of the other provider in the respective DNSKEY set, no need to exchange private keys, only the DNSKEY records. Then you will always have a validation path.
>>>>>> 
>>>>>> @Mark, that is exactly what I am talking about, a forced algorithm change can only work, when both operators cooperate and if we insist on lax-validation. We need both!
>>>>> 
>>>>> It doesn’t even work then as there the signatures of the non DNSKEY records are of the wrong algorithm.
>>>> 
>>>> Why would the signatures of the non DNSKEY RRset need to be of the same algorithm as the KSK?
>>>> Lax-validation says that “any validation path” should be accepted. 
>>>> 
>>>> example.com. DS 123 8 2 xxx
>>>> 
>>>> example.com. DNSKEY 257 3 8 xxx
>>>> Example.com. DNSKEY 256 3 8 yyy
>>>> example.com. DNSKEY 256 3 13 zzz
>>>> example.com. RRSIG DNSKEY 8 …
>>>> 
>>>> www.example.com. TXT “example”
>>>> www.example.com. RRSIG TXT 13 …
>>>> 
>>>> In my eyes there is a clear validation path to the www rr.
>>> 
>>> It leads to bogus in a server that *only* support algorithm 8 because THERE IS NOT AN RRSIG OF WITH ALGORITHM 8
>>> 
>>> Rather than argue about this example (which may be incomplete and/or erroneous), let's try to "fix" the example, and clarify which algorithm is new, and which algorithm is old, including what is on each of the two servers in terms signatures and keys?
>>> 
>>> (Clearly this cannot be valid to be on one server, given the DS and RRSIG(TXT) are not the same algorithm).
>>> 
>>> I think the requirement for considering the addition, is the inclusion of both ZSKs in both instances of the zone, AND the publication of both DS records in the parent.
>>> 
>>> If this happens well in advance of the change of NS record in the parent, what else needs to happen?
>>> And how is this handled by validators that handle algorithm 8 but not algorithm 13?
>>> 
>>> If the example is expanded and corrected, I believe the answer should be, the algorithm 13 only zone is either insecure, or bogus, depending on the absence or presence of the algorithm 8 DS.
>>> 
>>> I don't see a clean way to avoid a race condition between the NS records in the parent, and the DS records in the parent, given caching.
>>> 
>>> This is likely why Joe Abley was suggesting going insecure for a brief period is the only way to avoid anyone getting "bogus" as a validation state.
>>> 
>>> Algorithm 8 would go insecure permanently, while Algorithm 13 would go insecure for a brief period then go secure again.
>>> 
>>> Perhaps the brief bogus for Algorithm 8 is acceptable, in which case the decision is really one to be made by the zone owner.
>>> 
>>> Brian
>> 
> 
> -- 
> Mark Andrews, ISC
> 1 Seymour St., Dundas Valley, NSW 2117, Australia
> PHONE: +61 2 9871 4742              INTERNET: marka@isc.org
>