Okay, it's a "top reply to myself" kind of day... I think the work on cooperative cross signing being done by Shumon will be necessary to solve this problem. The TL;DR: is, it is tricky I think the following captures the requirements:
For the period of time where cached entries signed by the previous ZSK might exist, starting with when the delegation NS is changed to point at the new provider: - The DNSKEY set would need to contain both ZSKs and both KSKs, - The DNSKEY set would need to be signed by both KSKs - Both DS records would be necessary. - The new version of the zone would need to be served with both sets of signatures (that's going to be challenging) Only then can the old DS record be removed, at which point the Algorithm 8 validator will consider the zone to be insecure, without going bogus. Ick. Brian On Tue, Mar 2, 2021 at 9:25 AM 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 >
_______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop