Should parents look for CDNSKEY or CDS, or both?

Peter Thomassen peter at desec.io
Tue Oct 14 09:09:59 UTC 2025


Dear friends,

At DNS OARC last week, a discussion emerged about a recommendation in draft-ietf-dnsop-ds-automation, namely:

Section 6.1:

    2.  Parents, independently of their preference for CDS or CDNSKEY,
        SHOULD require publication of both RRsets, and SHOULD NOT proceed
        with updating the DS RRset if one is found missing or
        inconsistent with the other.

While this at first glance indeed may seem like a not-so-good idea, there are some arguments why the alternative may be an even worse idea. An analysis of the problem is given in Section 6.2, which for convenience I'm pasting below.

It would be extremely helpful to learn what's the view of DNSOP participants on this matter, so you are invited :-)

Several notes:

a) The draft is only for new deployments of DS automation; it is not trying to create work for existing ones.

b) The previous recommendation tells children to publish both; this one is about the parent-side enforcement.

c) A misconception (to be clarified in the draft): the above does not prevent the parent from choosing a digest type that's not in CDS. It requires only that both RRsets exist and refer to the same keys, not that the parent uses the exact digest types for the DS RRset.

Thanks!
Peter


Sheng & Thomassen         Expires 9 March 2026                 [Page 14]
Internet-Draft                DS Automation               September 2025

...

6.2.  Analysis

    DS records can be generated from information provided either in DS
    format (CDS) or in DNSKEY format (CDNSKEY).  While the format of CDS
    records is identical to that of DS records (so the record data be
    taken verbatim), generation of a DS record from CDNSKEY information
    involves computing a hash.

    Whether a Parent processes CDS or CDNSKEY records depends on their
    preference:

    *  Conveying (and storing) CDNSKEY information allows the Parent to
       control the choice of hash algorithms.  The Parent may then
       unilaterally regenerate DS records with a different choice of hash
       algorithm(s) whenever deemed appropriate.

    *  Conveying CDS information allows the Child DNS operator to control
       the hash digest type used in DS records, enabling the Child DNS
       operator to deploy (for example) experimental hash digests and
       removing the need for registry-side changes when new digest types
       become available.

    The need to make a choice in the face of this dichotomy is not
    specific to DS automation: even when DNSSEC parameters are relayed to
    the Parent through conventional channels, the Parent has to make some
    choice about which format(s) to accept.

    Some registries have chosen to prefer DNSKEY-style input which
    seemingly comes with greater influence on the delegation's security
    properties (in particular, the DS hash digest type).  It is noted
    that regardless of the choice of input format, the Parent cannot
    prevent the Child from following insecure cryptographic practices
    (such as insecure key storage, or using a key with insufficient
    entropy).  Besides, as the DS format contains a field indicating the
    hash digest type, objectionable ones (such as those outlawed by
    [DS-IANA]) can still be rejected even when ingesting CDS records, by
    inspecting that field.

    The fact that more than one input type needs to be considered burdens
    both Child DNS operators and Parents with the need to consider how to
    handle this dichotomy.  Until this is addressed in an industry-wide
    manner and one of these mechanisms is deprecated in favor of the
    other, both Child DNS operators and Parents implementing automated DS
    maintenance should act as to maximize interoperability:

    *  As there exists no protocol for Child DNS Operators to discover a
       Parent's input format preference, it seems best to publish both
       CDNSKEY as well as CDS records, in line with [RFC7344], Section 5.
       The choice of hash digest type should follow current best practice
       [DS-IANA].

    *  Parents, independently of their input format preference, are
       advised to require publication of both CDS and CDNSKEY records,
       and to enforce consistency between them, as determined by matching
       CDS and CDNSKEY records using hash digest algorithms whose support
       is mandatory [DS-IANA].  (Consistency of CDS records with optional
       or unsupported hash digest types is not required.)

    Publishing the same information in two different formats is not
    ideal.  Still, it is much less complex and costly than burdening the
    Child DNS operator with discovering each Parent's policy; also, it is
    very easily automated.  Operators should ensure that published RRsets
    are consistent with each other.

    By rejecting the DS update if either RRset is found missing or
    inconsistent with the other, Child DNS operators are held responsible
    when publishing contradictory information.  At the same time, Parents
    can retain whatever benefit their policy choice carries for them,
    while facilitating a later revision of that choice.  This approach
    also simplifies possible future deprecation of one of the two
    formats, as no coordination or implementation changes would be needed
    on the child side.



More information about the dns-operations mailing list