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.
_______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop