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 <ma...@isc.org> wrote: > > > >> On 3 Mar 2021, at 04:44, Ulrich Wisser <ulr...@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.dick...@gmail.com> >>> wrote: >>> >>> >>> >>> On Tue, Mar 2, 2021 at 4:47 AM Mark Andrews <ma...@isc.org> wrote: >>> >>>> On 2 Mar 2021, at 23:06, Ulrich Wisser <ulr...@wisser.se> wrote: >>>> >>>> >>>> >>>>> On 2 Mar 2021, at 12:55, Mark Andrews <ma...@isc.org> wrote: >>>>> >>>>> >>>>> >>>>>> On 2 Mar 2021, at 22:52, Ulrich Wisser <ulr...@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: ma...@isc.org > _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop