The issue of how to eliminate so-called "single points of failure"
from systems to make them more robust is a recurring theme in systems
design and so also for DNS. In the DNS case redundancy is addressed by
having multiple name servers for the same zone. However, when the zone
is DNSSEC-signed there is traditionally an additional single point of
failure: the so-called "signer" of the zone.¶
In multi-signer ([RFC8901]) model 2, a process is described by
which it is possible to use more than one signer (each with its own
set of keys), by having the signers (or their agents) communicate and
exchange data that should be signed by the other signer. The most
obvious example is that each signer's Key-Signing Key must sign a
DNSKEY RRset that contains the Zone-Signing Keys for all signers.¶
To synchronize data between signers two models are possible: either a
"centralized" model where a single "controller" decides what changes
are needed, or a "distributed" model where the signers themselves (or
an agent of each signer) decide what changes are needed.¶
The first model has been implemented previously, and while it works
from a technical point of view, it is not a good solution from a risk
management point of view. The primary problem is that the signers have
difficulty accepting that an external third party (the controller) has
the ability to modify data (in a customer zone).¶
This document is an attempt to address the synchronization problem by
proposing a distributed model without a central controller.¶
The communication between signers has two parts: first it is necessary
to find out what data each signer has for a zone. Once all data has
been collected it is possible to compute what changes are needed to
the zone data at each signer. That triggers the second phase where the
zone data for the individual signers is changed to get them in sync
with each other. All of this is done automatically.¶
However, from a slightly different perspective, the multi-signer
alternative is the more general case of DNSSEC signing, with the (very
common) case of a single signer being a special case.¶
From that point of view, this document proposes an architecture for a
completely automated, distributed multi-signer model together with a
seamless transition path from the current single-signer model to the
multi-signer model. From the zone owners point of view, the transition
is done through the addition of a new RRtype, HSYNC, that is used to
designate the chosen DNS Providers, their responsibilities and
information to enable the DNS Providers to locate each other.¶
Knowledge of DNS NOTIFY [RFC1996] and DNS Dynamic Updates
[RFC2136] and [RFC3007] is assumed. DNS SIG(0) transaction
signatures are documented in [RFC2931].¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",
"NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document
are to be interpreted as described in BCP 14 [RFC2119] [RFC8174]
when, and only when, they appear in all capitals, as shown here.¶