> On 29 Feb 2024, at 08:22, Shumon Huque <shu...@gmail.com> wrote: > > On Wed, Feb 28, 2024 at 3:59 PM Edward Lewis <edward.le...@icann.org> wrote: > On 2/27/24, 17:09, "DNSOP on behalf of John Levine" <dnsop-boun...@ietf.org > on behalf of jo...@taugh.com> wrote: > > > The kind of load is different but in each case the client needs to > > limit the amount of work it's willing to do. We can forbid it in the > > protocol but unless you have better contacts at the Protocol Police > > than I do, people will do it anyway. > > I side with John Levine's line of reasoning, that the solution is defending > against taking on too much work (in this case, the validator caps it's effort > - in whatever way is appropriate). It would be futile to prevent key tag > collisions from happening via a protocol change as a malicious actor is not > bounded by specifications. > > If it is forbidden in the protocol, it might still happen. > > Yeah, as you might guess from my past messages on this thread, I am of the > same opinion. There is a general principle about limiting work that resolvers > need to follow, and this recent attack (like many others before it) exploited > resolvers that failed to sensibly do that. The novel thing in KeyTrap is that > it exploited a failure to bound cryptographic work, but the same principle > applies. > > Here's my minor restatement of the resolver's top priority from RFC 1034: > > Bound the amount of work (e.g. packets sent, parallel processes > started, computations performed, time spent) so that a request > can't get into an infinite loop, start off a chain reaction or > unreasonably lengthy sequence of tasks, requests or queries, > EVEN IF SOMEONE HAS INCORRECTLY OR MALICIOUSLY > CONFIGURED SOME DATA. > > In the parenthetical examples of bounding work, I've added "computations > performed" and "time spent". > > And in the uppercased "EVEN IF" phrase, I've added "MALICIOUS CONFIGURED". > > I think the specific case of keytag collisions does deserve some special > thought though. Even if resolvers limit the number of collisions, it's in a > zone owner's interest to not have them at all. Colliding keytags in the > DNSKEY RRset means imposing additional unnecessary signature verification > work on resolvers for verifying every signed RRset in the response. And for > efficiency reasons, a zone owner should want to have their answers accepted > by validating resolvers with the minimum amount of work (and no unnecessary > work). > > Banning keytag collisions outright today would not be a good idea - we risk > rendering some sights unresolvable through no fault of their own. DNSSEC > already has plenty of detractors, and we don't want to give them more > ammunition by creating problems in the ecosystem that can be easily avoided. > I think writing a BCP telling folks how to avoid collisions would make sense > though (and yes, it needs to cover the multi-signer case too). > > Shumon.
Sorry this is fuzzy reasoning. A BCP will never get to the state where the validator can actually stop on a single error. The ONLY way to do that is to update the protocol and then wait a while before relying on the new rules in the validator. We did this with EDNS (RFC 6891, April 2013) when we tightened up the unknown option behaviour (unspecified -> specified). The hardest part is getting vendors to fix their products. That was the most important work in 2019. After that there was a very rapid reduction in broken servers out there. It is not impossible to do. Mark > _______________________________________________ > DNSOP mailing list > DNSOP@ietf.org > https://www.ietf.org/mailman/listinfo/dnsop -- 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