Hello Shumon,

It is great to see I were not  the only one thinking about it. But I think forcing servers to send all signatures unless the client supplied list of supported algorithms is not helpful. DO bit were introduced to hide new features from older implementations. I think we need the same here. Kind of DO2 bit, but it needs list of algorithms.

My variant is similar in some parts, but differs in few.

- resolver or forwarder needs to signal upstream server a need for more than one desired algorithm
- ordered list works well only for end clients.
- if resolver needs to re-fetch something it already has, it should do that with combined requirements from clients

More below.

On 19/10/2025 15:46, Shumon Huque wrote:
I see that this draft was recently published, but hasn't seen discussion on list yet:

https://datatracker.ietf.org/doc/html/draft-sheth-pqc-dnssec-strategy-00
This does not mention at all how should it be deployed. Sure, it needs hackatons with support for those algorithms. But we also need a way for efficient switch from more adopted to less adopted algorithms. Without going insecure for TLD zones or even root zone. I miss outlined strategy in this document for it, although its title suggests it should be included.

See this attempt a few years ago to propose algorithm negotiation in DNSSEC:

https://datatracker.ietf.org/doc/html/draft-huque-dnssec-alg-nego-03

It was discussed at IETF at the time, but there was significant pushback (mainly no compelling justification to introduce such additional complexity). I still think
it's a reasonable idea though.

Shumon.

Yes, I agree. TLS protocol allows the same thing. You have certificate chains, signed by multiple algorithms. Two separate chains at server. But client receives only one chain, the one most preferred and most secure. Difference is TLS is always between end client and the authoritative server. Nothing in between. But that is solvable.

I think Clients in section 4 can signal their preference by ordered list only for themselves. Recursive resolvers, which might have two clients with different top preferred algorithms need a way to request signatures for both top algs of them. That is why my DAP is unordered and if contains multiple algorithms, multiple of them should be send by the server. I think that is mandatory.

Section 5, change to server is mistake to send SERVFAIL. If client supports different algorithms than server offers, the result for this algorith on client would be insecure. Server can send no signatures at all, but it MUST send algorithm list it has signatures for. If that is problem on client, then it indicated supported algorithms wrong way.

Section 6, I solve this by requesting combined DAP from clients. It should receive multiple signatures, if multiple clients indicated different preference.

Section 7, client can solve this by including all supported algorithms in DAP. Either it receives some supported signatures or client will emit stripped signatures validation error. If PQC is delegated by DS parent record and DNSKEY is missing RRSIG for PQC, then client should fail with SERVFAIL status.

Section 8. I propose to have opt-in system. If something strips new EDNS0 options, it should work like legacy validating servers with just DO=1 set. My variant allows signing even production zone with experimental algorithm. Clients without support for this new extension would not know the server supports something new. Would not be bothered and would still have AD bit set. Very similar to DO bit requirement for DNSSEC aware clients protecting ancient software stacks.

I think your proposal is good, but needs some bits tuned. The most important, I think auth server needs a freedom to omit some signatures, unless client indicated support for them. Offering new features only to new clients ready to consume them. Request to offer all algorithms should be something new.

But thank you for sharing your draft! I can lookup some arguments to it and think how to fix them.

Best regards,
Petr

--
Petr Menšík
Software Engineer, RHEL
Red Hat,https://www.redhat.com/
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB
_______________________________________________
DNSOP mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to