RFC 8901: Multi-Signer DNSSEC Models
- S. Huque,
- P. Aras,
- J. Dickinson,
- J. Vcelak,
- D. Blacka
Abstract
Many enterprises today employ the service of multiple DNS providers to distribute their authoritative DNS service. Deploying DNSSEC in such an environment may present some challenges, depending on the configuration and feature set in use. In particular, when each DNS provider independently signs zone data with their own keys, additional key-management mechanisms are necessary. This document presents deployment models that accommodate this scenario and describes these key-management requirements. These models do not require any changes to the behavior of validating resolvers, nor do they impose the new key-management requirements on authoritative servers not involved in multi-signer configurations.¶
Status of This Memo
This document is not an Internet Standards Track specification; it is published for informational purposes.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are candidates for any level of Internet Standard; see Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction and Motivation
Many enterprises today employ the service of multiple Domain Name System (DNS) [RFC1034] [RFC1035] providers to distribute their authoritative DNS service. This is primarily done for redundancy and availability, and it allows the DNS service to survive a complete, catastrophic failure of any single provider. Additionally, enterprises or providers occasionally have requirements that preclude standard zone-transfer techniques [RFC1995][RFC5936]: either nonstandardized DNS features are in use that are incompatible with zone transfer, or operationally a provider must be able to (re-)sign DNS records using their own keys. This document outlines some possible models of DNSSEC [RFC4033] [RFC4034] [RFC4035] deployment in such an environment.¶
This document assumes a reasonable level of familiarity with DNS operations and protocol terms. Much of the terminology is explained in further detail in "DNS Terminology" [RFC8499].¶
2. Deployment Models
If a zone owner can use standard zone-transfer techniques, then the presence of multiple providers does not require modifications to the normal deployment models. In these deployments, there is a single signing entity (which may be the zone owner, one of the providers, or a separate entity), while the providers act as secondary authoritative servers for the zone.¶
Occasionally, however, standard zone-transfer techniques cannot be used. This could be due to the use of nonstandard DNS features or the operational requirements of a given provider (e.g., a provider that only supports "online signing"). In these scenarios, the multiple providers each act like primary servers, independently signing data received from the zone owner and serving it to DNS queriers. This configuration presents some novel challenges and requirements.¶
2.1. Multiple-Signer Models
In this category of models, multiple providers each
independently sign and serve the same zone. The zone owner
typically uses provider
These models can support DNSSEC even for the nonstandard features mentioned previously, if the DNS providers have the capability of signing the response data generated by those features. Since these responses are often generated dynamically at query time, one method is for the provider to perform online signing (also known as on-the-fly signing). However, another possible approach is to precompute all the possible response sets and associated signatures and then algorithmically determine at query time which response set and signature need to be returned.¶
In the models presented, the function of coordinating the DNSKEY or DS RRset does not involve the providers communicating directly with each other. Feedback from several commercial managed-DNS providers indicates that they may be unlikely to directly communicate, since they typically have a contractual relationship only with the zone owner. However, if the parties involved are agreeable, it may be possible to devise a protocol mechanism by which the providers directly communicate to share keys. Details of such a protocol are deferred to a future specification document, should there be interest.¶
In the descriptions below, the Key Signing Key (KSK) and Zone Signing Key (ZSK) correspond to the definitions in [RFC8499], with the caveat that the KSK not only signs the zone apex DNSKEY RRset but also serves as the Secure Entry Point (SEP) into the zone.¶
3. Validating Resolver Behavior
The central requirement for both of the multiple-signer models (Section 2.1) is to ensure that the ZSKs from all providers are present in each provider's apex DNSKEY RRset and vouched for by either the single KSK (in Model 1) or each provider's KSK (in Model 2.) If this is not done, the following situation can arise (assuming two providers, A and B):¶
Hence, it is important that the DNSKEY RRset at each provider is maintained with the active ZSKs of all participating providers. This ensures that resolvers can validate a response no matter which provider's nameservers it came from.¶
Details of how the DNSKEY RRset itself is validated differ. In Model 1 (Section 2.1.1), one unique KSK managed by the zone owner signs an identical DNSKEY RRset deployed at each provider, and the signed DS record in the parent zone refers to this KSK. In Model 2 (Section 2.1.2), each provider has a distinct KSK and signs the DNSKEY RRset with it. The zone owner deploys a DS RRset at the parent zone that contains multiple DS records, each referring to a distinct provider's KSK. Hence, it does not matter which provider's nameservers the resolver obtains the DNSKEY RRset from; the signed DS record in each model can authenticate the associated KSK.¶
4. Signing-Algorithm Considerations
DNS providers participating in multi-signer models need to use a common DNSSEC signing algorithm (or a common set of algorithms if several are in use). This is because the current specifications require that if there are multiple algorithms in the DNSKEY RRset, then RRsets in the zone need to be signed with at least one DNSKEY of each algorithm, as described in [RFC4035], Section 2.2. If providers employ distinct signing algorithms, then this requirement cannot be satisfied.¶
5. Authenticated-Denial Considerations
Authenticated denial of existence enables a resolver to validate that
a record does not exist. For this purpose, an authoritative server
presents, in a response to the resolver, signed NSEC (Section 3.1.3 of [RFC4035]) or NSEC3
(Section 7.2 of [RFC5155]) records
that provide cryptographic proof of
this nonexistence. The NSEC3 method enhances NSEC by
providing opt-out for signing insecure delegations and also adds
limited protection against zone
An authoritative server response carrying records for authenticated denial is always self-contained, and the receiving resolver doesn't need to send additional queries to complete the proof of denial. For this reason, no rollover is needed when switching between NSEC and NSEC3 for a signed zone.¶
Since authenticated
5.1. Single Method
Usually, the NSEC and NSEC3 methods are used exclusively (i.e., the methods are not used at the same time by different servers). This configuration is preferred, because the behavior is well defined and closest to current operational practice.¶
5.2. Mixing Methods
Compliant resolvers should be able to validate zone data when
different authoritative servers for the same zone respond with
different authenticated
Resolver software may, however, be designed to handle a single
transition between two authenticated denial configurations more
optimally than a permanent setup with mixed authenticated
In case all providers cannot be configured with the same
authenticated
Note that NSEC3 configuration on all providers with different NSEC3PARAM values is considered a mixed setup.¶
6. Key Rollover Considerations
The multiple-signer (Section 2.1) models introduce some new requirements for DNSSEC key rollovers. Since this process necessarily involves coordinated actions on the part of providers and the zone owner, one reasonable strategy is for the zone owner to initiate key-rollover operations. But other operationally plausible models may also suit, such as a DNS provider initiating a key rollover and signaling their intent to the zone owner in some manner. The mechanism to communicate this intent could be some secure out-of-band channel that has been agreed upon, or the provider could offer an API function that could be periodically polled by the zone owner.¶
For simplicity, the descriptions in this section assume two DNS
providers. They also assume that KSK rollovers employ
the commonly used Double
7. Using Combined Signing Keys
A Combined Signing Key (CSK) is one in which the same key serves the purposes of both being the secure entry point (SEP) key for the zone and signing all the zone data, including the DNSKEY RRset (i.e., there is no KSK/ZSK split).¶
Model 1 is not compatible with CSKs because the zone owner would then hold the sole signing key, and providers would not be able to sign their own zone data.¶
Model 2 can accommodate CSKs without issue. In this case, any or all of the providers could employ a CSK. The DS record in the parent zone would reference the provider's CSK instead of KSK, and the public CSK would need to be imported into the DNSKEY RRsets of all of the other providers. A CSK key rollover for such a provider would involve the following: The provider generates a new CSK, installs the new CSK into the DNSKEY RRset, and signs it with both the old and new CSKs. The new CSK is communicated to the zone owner. The zone owner exports this CSK into the other provider's DNSKEY RRsets and replaces the DS record referencing the old CSK with one referencing the new one in the parent DS RRset. Once all the zone data has been re-signed with the new CSK, the old CSK is removed from the DNSKEY RRset, and the latter is re-signed with only the new CSK. Finally, the old CSK is removed from the DNSKEY RRsets of the other providers.¶
8. Use of CDS and CDNSKEY
CDS and CDNSKEY records [RFC7344][RFC8078]
are used to facilitate automated updates
of DNSSEC secure
9. Key-Management-Mechanism Requirements
Managed-DNS providers typically have their own proprietary zone
configuration and data-management APIs, commonly utilizing
HTTPS and Representationa
In Model 2, once initially bootstrapped with each other's zone-signing keys via these API mechanisms, providers could, if desired, periodically query each other's DNSKEY RRsets, authenticate their signatures, and automatically import or withdraw ZSKs in the keyset as key-rollover events happen.¶
10. DNS Response-Size Considerations
The multi-signer models result in larger DNSKEY RRsets, so the size of a response to a query for the DNSKEY RRset will be larger. The actual size increase depends on multiple factors: DNSKEY algorithm and keysize choices, the number of providers, whether additional keys are prepublished, how many simultaneous key rollovers are in progress, etc. Newer elliptic-curve algorithms produce keys small enough that the responses will typically be far below the common Internet-path MTU. Thus, operational concerns related to IP fragmentation or truncation and TCP fallback are unlikely to be encountered. In any case, DNS operators need to ensure that they can emit and process large DNS UDP responses when necessary, and a future migration to alternative transports like DNS over TLS [RFC7858] or DNS over HTTPS [RFC8484] may make this topic moot.¶
11. IANA Considerations
This document has no IANA actions.¶
12. Security Considerations
The multi-signer models necessarily involve third-party providers holding the private keys that sign the zone-owner's data. Obviously, this means that the zone owner has decided to place a great deal of trust in these providers. By contrast, the more traditional model in which the zone owner runs a hidden master and uses the zone-transfer protocol with the providers is arguably more secure, because only the zone owner holds the private signing keys, and the third-party providers cannot serve bogus data without detection by validating resolvers.¶
The zone-key import and export APIs required by these models
need to be strongly authenticated to prevent tampering of key
material by malicious third parties. Many providers today
offer REST/HTTPS APIs that utilize a number of
client
13. References
13.1. Normative References
- [RFC1034]
-
Mockapetris, P., "Domain names - concepts and facilities", STD 13, RFC 1034, DOI 10
.17487 , , <https:///RFC1034 www >..rfc -editor .org /info /rfc1034 - [RFC1035]
-
Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10
.17487 , , <https:///RFC1035 www >..rfc -editor .org /info /rfc1035 - [RFC2845]
-
Vixie, P., Gudmundsson, O., Eastlake 3rd, D., and B. Wellington, "Secret Key Transaction Authentication for DNS (TSIG)", RFC 2845, DOI 10
.17487 , , <https:///RFC2845 www >..rfc -editor .org /info /rfc2845 - [RFC4033]
-
Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, DOI 10
.17487 , , <https:///RFC4033 www >..rfc -editor .org /info /rfc4033 - [RFC4034]
-
Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Resource Records for the DNS Security Extensions", RFC 4034, DOI 10
.17487 , , <https:///RFC4034 www >..rfc -editor .org /info /rfc4034 - [RFC4035]
-
Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Protocol Modifications for the DNS Security Extensions", RFC 4035, DOI 10
.17487 , , <https:///RFC4035 www >..rfc -editor .org /info /rfc4035 - [RFC5155]
-
Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS Security (DNSSEC) Hashed Authenticated Denial of Existence", RFC 5155, DOI 10
.17487 , , <https:///RFC5155 www >..rfc -editor .org /info /rfc5155 - [RFC6781]
-
Kolkman, O., Mekking, W., and R. Gieben, "DNSSEC Operational Practices, Version 2", RFC 6781, DOI 10
.17487 , , <https:///RFC6781 www >..rfc -editor .org /info /rfc6781 - [RFC7344]
-
Kumari, W., Gudmundsson, O., and G. Barwood, "Automating DNSSEC Delegation Trust Maintenance", RFC 7344, DOI 10
.17487 , , <https:///RFC7344 www >..rfc -editor .org /info /rfc7344 - [RFC8078]
-
Gudmundsson, O. and P. Wouters, "Managing DS Records from the Parent via CDS/CDNSKEY", RFC 8078, DOI 10
.17487 , , <https:///RFC8078 www >..rfc -editor .org /info /rfc8078 - [RFC8198]
-
Fujiwara, K., Kato, A., and W. Kumari, "Aggressive Use of DNSSEC
-Validated Cache" , RFC 8198, DOI 10.17487 , , <https:///RFC8198 www >..rfc -editor .org /info /rfc8198
13.2. Informative References
- [BLACKLIES]
-
Valsorda, F. and O. Gudmundsson, "Compact DNSSEC Denial of Existence or Black Lies", Work in Progress, Internet-Draft, draft
-valsorda , , <https://-dnsop -black -lies -00 tools >..ietf .org /html /draft -valsorda -dnsop -black -lies -00 - [RFC1995]
-
Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995, DOI 10
.17487 , , <https:///RFC1995 www >..rfc -editor .org /info /rfc1995 - [RFC2136]
-
Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, "Dynamic Updates in the Domain Name System (DNS UPDATE)", RFC 2136, DOI 10
.17487 , , <https:///RFC2136 www >..rfc -editor .org /info /rfc2136 - [RFC5731]
-
Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Domain Name Mapping", STD 69, RFC 5731, DOI 10
.17487 , , <https:///RFC5731 www >..rfc -editor .org /info /rfc5731 - [RFC5936]
-
Lewis, E. and A. Hoenes, Ed., "DNS Zone Transfer Protocol (AXFR)", RFC 5936, DOI 10
.17487 , , <https:///RFC5936 www >..rfc -editor .org /info /rfc5936 - [RFC7129]
-
Gieben, R. and W. Mekking, "Authenticated Denial of Existence in the DNS", RFC 7129, DOI 10
.17487 , , <https:///RFC7129 www >..rfc -editor .org /info /rfc7129 - [RFC7858]
-
Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., and P. Hoffman, "Specification for DNS over Transport Layer Security (TLS)", RFC 7858, DOI 10
.17487 , , <https:///RFC7858 www >..rfc -editor .org /info /rfc7858 - [RFC8484]
-
Hoffman, P. and P. McManus, "DNS Queries over HTTPS (DoH)", RFC 8484, DOI 10
.17487 , , <https:///RFC8484 www >..rfc -editor .org /info /rfc8484 - [RFC8499]
-
Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS Terminology", BCP 219, RFC 8499, DOI 10
.17487 , , <https:///RFC8499 www >..rfc -editor .org /info /rfc8499
Acknowledgments
The initial version of this document benefited from discussions with and review from Duane Wessels. Additional helpful comments were provided by Steve Crocker, Ulrich Wisser, Tony Finch, Olafur Gudmundsson, Matthijs Mekking, Daniel Migault, and Ben Kaduk.¶