draft-ietf-dnsop-maintain-ds-00.txt | draft-ietf-dnsop-maintain-ds-01.txt | |||
---|---|---|---|---|
dnsop O. Gudmundsson | dnsop O. Gudmundsson | |||
Internet-Draft CloudFlare | Internet-Draft CloudFlare | |||
Intended status: Informational P. Wouters | Intended status: Informational P. Wouters | |||
Expires: June 16, 2016 Red Hat | Expires: September 21, 2016 Red Hat | |||
December 14, 2015 | March 20, 2016 | |||
Managing DS records from parent via CDS/CDNSKEY | Managing DS records from parent via CDS/CDNSKEY | |||
draft-ietf-dnsop-maintain-ds-00 | draft-ietf-dnsop-maintain-ds-01 | |||
Abstract | Abstract | |||
RFC7344 specifies how DNS trust can be maintained in-band between | RFC7344 specifies how DNS trust can be partially maintained in-band | |||
parent and child. There are two features missing in that | between parent and child. There are two features missing in that | |||
specification: initial trust setup and removal of trust anchor. This | specification: initial trust setup and removal of trust anchor. This | |||
document addresses both these omissions. | document addresses both these omissions. | |||
Changing a domain's DNSSEC status can be a complicated matter | Changing a domain's DNSSEC status can be a complicated matter | |||
involving many parties. Some of these parties, such as the DNS | involving multiple unrelated parties. Some of these parties, such as | |||
operator, might not even be known by all organisations involved. The | the DNS operator, might not even be known by all organizations | |||
inability to enable or disable DNSSEC via in-band signalling is seen | involved. The inability to disable DNSSEC via in-band signalling is | |||
as a problem or liability that prevents DNSSEC adoption at large | seen as a problem or liability that prevents some DNSSEC adoption at | |||
scale. This document adds a method for in-band signalling of DNSSEC | large scale. This document adds a method for in-band signalling of | |||
status changes. | this DNSSEC status changes. | |||
Initial trust is considered a much harder problem, this document will | Initial trust is considered a much harder problem, this document will | |||
seek to clarify and simplify the initial acceptance policy. | seek to clarify and simplify the initial acceptance policy. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on June 16, 2016. | This Internet-Draft will expire on September 21, 2016. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Removing DS . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Removing a DS Record . . . . . . . . . . . . . . . . . . 3 | |||
1.2. Introducing DS . . . . . . . . . . . . . . . . . . . . . 3 | 1.2. Introducing a DS record . . . . . . . . . . . . . . . . . 3 | |||
1.3. Notation . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.3. Notation . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
1.4. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.4. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2. The Three Uses of CDS . . . . . . . . . . . . . . . . . . . . 4 | 2. The Three Uses of CDS . . . . . . . . . . . . . . . . . . . . 4 | |||
2.1. The meaning of CDS ? . . . . . . . . . . . . . . . . . . 4 | 2.1. The meaning of the CDS RRset . . . . . . . . . . . . . . 5 | |||
3. Enabling DNSSEC via CDS/CDNSKEY . . . . . . . . . . . . . . . 5 | 3. Enabling DNSSEC via CDS/CDNSKEY . . . . . . . . . . . . . . . 5 | |||
3.1. Accept policy via authenticated channel . . . . . . . . . 5 | 3.1. Accept policy via authenticated channel . . . . . . . . . 5 | |||
3.2. Accept with extra checks . . . . . . . . . . . . . . . . 5 | 3.2. Accept with extra checks . . . . . . . . . . . . . . . . 5 | |||
3.3. Accept after delay . . . . . . . . . . . . . . . . . . . 5 | 3.3. Accept after delay . . . . . . . . . . . . . . . . . . . 6 | |||
3.4. Accept with challenge . . . . . . . . . . . . . . . . . . 6 | 3.4. Accept with challenge . . . . . . . . . . . . . . . . . . 6 | |||
4. DNSSEC Delete Algorithm . . . . . . . . . . . . . . . . . . . 6 | 4. DNSSEC Delete Algorithm . . . . . . . . . . . . . . . . . . . 6 | |||
5. Security considerations . . . . . . . . . . . . . . . . . . . 7 | 5. Security considerations . . . . . . . . . . . . . . . . . . . 7 | |||
6. IANA considerations . . . . . . . . . . . . . . . . . . . . . 7 | 6. IANA considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 8 | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 8 | 7.2. Informative References . . . . . . . . . . . . . . . . . 8 | |||
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 8 | Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 8 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
1. Introduction | 1. Introduction | |||
CDS/CDNSKEY [RFC7344] records are used to signal changes in trust | CDS/CDNSKEY [RFC7344] records are used to signal changes in trust | |||
anchors, this is a great way to maintain delegations when the DNS | anchors, this is one method to maintain delegations that can be used | |||
operator has no other way to inform the parent that changes are | when the DNS operator has no other way to inform the parent that | |||
needed. RFC7344 contains no "delete" signal for the child to tell | changes are needed. RFC7344 contains no "delete" signal for the | |||
the parent that it wants to change the DNSSEC security of its domain. | child to tell the parent that it wants to remove the DNSSEC security | |||
for its domain. | ||||
[RFC7344] punted the Initial Trust establishment question and left it | [RFC7344] did not include a method for the Initial Trust | |||
to each parent to come up with an acceptance policy. | establishment and left it to each parent to come up with an | |||
acceptance policy. | ||||
1.1. Removing DS | 1.1. Removing a DS Record | |||
This document introduces the delete option for both CDS and CDNSKEY. | This document introduces the delete option for both CDS and CDNSKEY, | |||
to allow a child to signal the parent to turn off DNSSEC. When a | allowing a child to signal to the parent to turn off DNSSEC. When a | |||
domain is moved from one DNS operator to another one, sometimes it is | domain is moved from one DNS operator to another one, sometimes it is | |||
necessary to turn off DNSSEC to facilitate the change of DNS | necessary to turn off DNSSEC to facilitate the change of DNS | |||
operator. Common scenarios include: | operator. Common scenarios include: | |||
1 moving from a DNSSEC operator to a non-DNSSEC capable one or one | 1 alternative to doing a proper DNSSEC algorithm rollover due to | |||
that does not support the same algorithms as the old one. | operational limitations such as software limitations. | |||
2 moving to one that cannot/does-not-want to do a proper DNSSEC | 2 moving from a DNSSEC operator to a non-DNSSEC capable operator. | |||
rollover. | ||||
3 the domain holder does not want DNSSEC. | 3 moving to an operator that cannot/does-not-want to do a proper | |||
DNSSEC rollover. | ||||
4 when moving between two DNS operators that use disjoint sets of | 4 when moving between two DNS operators that use disjoint sets of | |||
algorithms to sign the zone, thus algorithm roll can not be | algorithms to sign the zone, thus an algorithm rollover can not be | |||
performed. | performed. | |||
Whatever the reason, the lack of a "remove my DNSSEC" option is | 5 the domain holder no longer wants DNSSEC enabled. | |||
turning into the latest excuse as why DNSSEC cannot be deployed. | ||||
Turing off DNSSEC reduces the security of the domain and thus should | The lack of a "remove my DNSSEC" option is cited as a reason why some | |||
operators cannot deploy DNSSEC, as this is seen as an operational | ||||
risk. | ||||
Turning off DNSSEC reduces the security of the domain and thus should | ||||
only be done carefully, and that decision should be fully under the | only be done carefully, and that decision should be fully under the | |||
child domain's control. | child domain's control. | |||
1.2. Introducing DS | 1.2. Introducing a DS record | |||
The converse issue is how does a child domain instruct the parent it | The converse issue is how a child domain instructs the parent that it | |||
wants to have a DS record added. This problem is not as hard as many | wants to have a DS record added. This problem can be solved using a | |||
have assumed, given a few simplifying assumptions. This document | few simplifying assumptions. This document makes the assumption that | |||
makes the assumption that there are reasonable policies that can be | there are reasonable policies that can be applied and will allow | |||
applied and will allow automation of trust introduction. | automation of trust introduction. | |||
Not being able to enable trust via an easily automated mechanism is | Not being able to enable trust via an easily automated mechanism is | |||
hindering DNSSEC at scale by anyone that does not have automated | hindering DNSSEC at scale for DNS hosters that do not have automated | |||
access to its parent's "registry". | access to the "registry" of the child zone's parent. | |||
1.3. Notation | 1.3. Notation | |||
When this document uses the word CDS it implies that the same applies | When this document uses the word CDS it implies that the same applies | |||
to CDNSKEY and vice versa, the only difference between the two | to CDNSKEY and vice versa. The only difference between the two | |||
records is how information is represented. | records is how information is represented. | |||
When the document uses the word "parent" it implies an entity that is | We use RRR to mean Registry Registrar Registrant in the context of | |||
authorized to insert into parent zone information about this child | DNS domain markets. | |||
domain. Which entity this is exactly does not matter. It could be | ||||
the Registrar or Reseller that the child domain was purchased from. | ||||
It could be the Registry that the domain is registered in when | ||||
allowed. It could be some other entity when the RRR framework is not | ||||
used. | ||||
We use RRR to mean Registry Registrar Reseller in the context of DNS | When the document uses the word "parent" it implies an entity that is | |||
domain markets. | authorized to insert DS records into the parent zone on behalf of the | |||
child domain. Which entity this exactly is does not matter. It | ||||
could be the Registrar or Reseller that the child domain was | ||||
purchased from. It could be the Registry that the domain is | ||||
registered in when allowed. It could be some other entity when the | ||||
RRR framework is not used. | ||||
1.4. Terminology | 1.4. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
2. The Three Uses of CDS | 2. The Three Uses of CDS | |||
In general there are three operations that a domain wants to | In general there are three operations that a domain wants to | |||
influence on its parent: | influence on its parent: | |||
1 Roll over KSK, this means updating the DS records in the parent to | 1 Roll over KSK, this means updating the DS records in the parent to | |||
reflect the new set of KSK's at the child. This could be an ADD | reflect the new set of KSK's at the child. This could be an ADD | |||
operation, a Delete operation on one or more records while keeping | operation, a DELETE operation on one or more records while keeping | |||
at least one DS RR, or a full Replace operation | at least one DS RR, or a full REPLACE operation. | |||
2 Turn off DNSSEC validation, i.e. delete all the DS records | 2 Turn off DNSSEC validation, i.e. delete all the DS records. | |||
3 Enable DNSSEC validation, i.e. place initial DS RRset in the | 3 Enable DNSSEC validation, i.e. place an initial DS RRset in the | |||
parent. | parent. | |||
Operation 1 is covered in [RFC7344], operations 2 and 3 are defined | Operation 1 is covered in [RFC7344], operations 2 and 3 are defined | |||
in this document. In many people's minds, those two later operations | in this document. In many people's minds, those two later operations | |||
carry more risk than the first one. This document argues that 2 is | carry more risk than the first one. This document argues that 2 is | |||
identical to 1 and the final one is different (but not that | identical to 1 and the third one is different (but not that | |||
different). | different). | |||
2.1. The meaning of CDS ? | 2.1. The meaning of the CDS RRset | |||
The fundamental question is what is the semantic meaning of | The semantic meaning of publishing a CDS RRset is interpreted to | |||
publishing a CDS RRset in a zone? We offer the following | mean: | |||
interpretation: | ||||
"Publishing a CDS or CDNSKEY record signifies to the parent that the | "Publishing a CDS or CDNSKEY record signals to the parent that the | |||
child is ready for the corresponding DS records to be synchronized. | child desires that the corresponding DS records be synchronized. | |||
Every parent or parental agent should have an acceptance policy of | Every parent or parental agent should have an acceptance policy of | |||
these records for the three different use cases involved: Initial DS | these records for the three different use cases involved: Initial DS | |||
publication, Key rollover, and Returning to Insecure." | publication, Key rollover, and Returning to Insecure." | |||
In short, the CDS RRset is an instruction to the parent to modify DS | In short, the CDS RRset is an instruction to the parent to modify DS | |||
RRset if the CDS and DS RRsets differ. The acceptance policy for CDS | RRset if the CDS and DS RRsets differ. The acceptance policy for CDS | |||
in the rollover case is "seeing" according to [RFC7344]. The | in the rollover case is "seeing" according to [RFC7344]. The | |||
acceptance policy in the Delete case is just seeing a CDS RRset with | acceptance policy in the Delete case is seeing a (validly signed) CDS | |||
the delete operation specified in this document. | RRset with the delete operation specified in this document. | |||
3. Enabling DNSSEC via CDS/CDNSKEY | 3. Enabling DNSSEC via CDS/CDNSKEY | |||
There are number of different models for managing initial trust, but | There are number of different models for managing initial trust, but | |||
in the general case, the child wants to enable global validation for | in the general case, the child wants to enable global validation for | |||
the future. Thus during the period from the time the child publishes | the future. Thus during the period from the time the child publishes | |||
the CDS until the corresponding DS is published is the period that | the CDS until the corresponding DS is published at the parent is the | |||
DNS answers for the child could be forged. The goal is to keep this | period that DNS answers for the child could be forged. The goal is | |||
period as short as possible. | to keep this period as short as possible. | |||
One important case is how a 3rd party DNS operator can upload its | One important case is how a third party DNS operator can upload its | |||
DNSSEC information to the parent, so the parent can publish a DS | DNSSEC information to the parent, so the parent can publish a DS | |||
record for the child. In this case there is a possibility of setting | record for the child. In this case there is a possibility of setting | |||
up some kind of authentication mechanism and submission mechanism | up some kind of authentication mechanism and submission mechanism | |||
that is outside the scope of this document. | that is outside the scope of this document. | |||
Below are some policies that parents can use. These policies assume | Below are some policies that parents can use. These policies assume | |||
that the notifications are can be authenticated and/or identified. | that the notifications can be verified or authenticated. | |||
3.1. Accept policy via authenticated channel | 3.1. Accept policy via authenticated channel | |||
In this case the parent is notified via UI/API that CDS exists, the | In this case the parent is notified via UI/API that a CDS RRset | |||
parent retrieves the CDS and inserts the DS record as requested, if | exists. The parent retrieves the CDS and inserts the corresponding | |||
the request comes over an authenticated channel. | DS RRset as requested, provided that the request comes over an | |||
authenticated channel. | ||||
3.2. Accept with extra checks | 3.2. Accept with extra checks | |||
In this case the parent checks that the source of the notification is | In this case the parent checks that the source of the notification is | |||
allowed to request the DS insertion. The checks could include | allowed to request the DS insertion. The checks could include | |||
whether this is a trusted entity, whether the nameservers correspond | whether this is a trusted entity, whether the nameservers correspond | |||
to the requestor, whether there have been any changes in registration | to the requestor, whether there have been any changes in registration | |||
in the last few days, etc, or the parent can send a notification | in the last few days, etc. The parent can also send a notification | |||
requesting an confirmation. | requesting a confirmation. | |||
The end result is that the CDS is accepted at the end of the checks | The end result is that the CDS RRset is accepted at the end of the | |||
or when the out-of-band confirmation is received. | checks or when the out-of-band confirmation is received. | |||
3.3. Accept after delay | 3.3. Accept after delay | |||
In this case, if the parent deems the request valid, it starts | In this case, if the parent deems the request valid, it starts | |||
monitoring the CDS records at the child nameservers over period of | monitoring the CDS RRset at the child nameservers over period of time | |||
time to make sure nothing changes. After number of checks, | to make sure nothing changes. After some time or after a number of | |||
preferably from different vantage points, the parent accepts the CDS | checks, preferably from different vantage points in the network, the | |||
records as a valid signal to update. | parent accepts the CDS RRset as a valid signal to update its DS RRset | |||
for this child. | ||||
3.4. Accept with challenge | 3.4. Accept with challenge | |||
In this case the parent instructs the requestor to insert some record | In this case the parent instructs the requestor to insert some record | |||
into the child domain to prove it has the ability to do so (i.e., it | into the child domain to prove it has the ability to do so (i.e., it | |||
is the operator of the zone). | is the operator of the zone). | |||
4. DNSSEC Delete Algorithm | 4. DNSSEC Delete Algorithm | |||
The DNSKEY algorithm registry contains two reserved values: 0 and | The DNSKEY algorithm registry contains two reserved values: 0 and | |||
255[RFC4034]. The CERT record [RFC4398] defines the value 0 to mean | 255[RFC4034]. The CERT record [RFC4398] defines the value 0 to mean | |||
the algorithm in the CERT record is not defined in DNSSEC. | the algorithm in the CERT record is not defined in DNSSEC. | |||
[rfc-editor remove before publication] For this reason, using the | [rfc-editor remove before publication] For this reason, using the | |||
value 0 in CDS/CDNSKEY delete operations is potentially problematic, | value 0 in CDS/CDNSKEY delete operations is potentially problematic, | |||
but we propose that here anyway as the risk is minimal. The | but we propose it here anyway as the risk is minimal. The | |||
alternative is to reserve one DNSSEC algorithm number for this | alternative is to reserve a DNSSEC algorithm number for this purpose. | |||
purpose. [rfc-editor end remove] | [rfc-editor end remove] | |||
Right now, no DNSSEC validator understands algorithm 0 as a valid | Right now, no DNSSEC validator understands algorithm 0 as a valid | |||
signature algorithm, thus if the validator sees a DNSKEY or DS record | signature algorithm. If a validator sees a DNSKEY or DS record with | |||
with this value, it will treat it as unknown. Accordingly, the zone | this algorithm value, it MUST treat it as unknown. Accordingly, the | |||
is treated as unsigned unless there are other algorithms present. | zone is treated as unsigned unless there are other algorithms | |||
present. | ||||
In the context of CDS and CDNSKEY records, DNSSEC algorithm 0 is | In the context of CDS and CDNSKEY records, DNSSEC algorithm 0 is | |||
defined and means the entire DS set MUST be removed. The contents of | defined to mean that the entire DS RRset MUST be removed. The | |||
the records MUST contain only the fixed fields as show below. | contents of the CDS or CDNSKEY RRset MUST contain one RR and only | |||
contain the fixed fields as shown below. | ||||
1 CDS 0 0 0 | 1 CDS 0 0 0 | |||
2 CDNSKEY 0 3 0 | 2 CDNSKEY 0 3 0 | |||
The keying material payload is represented by a single 0. This | ||||
There is no keying material payload in the records, just the command | record is signed in the same way as regular CDS/CDNSKEY RRsets are | |||
to delete all DS records. This record is signed in the same way as | signed. | |||
CDS/CDNSKEY is signed. | ||||
Strictly speaking the CDS record could be "CDS X 0 X" as only the | Strictly speaking the CDS record could be "CDS X 0 X" as only the | |||
DNSKEY algorithm is what signals the delete operation, but for | DNSKEY algorithm is what signals the DELETE operation, but for | |||
clarity the "0 0 0" notation is mandated, this is not a definition of | clarity the "0 0 0" notation is mandated - this is not a definition | |||
DS Digest algorithm 0. Same argument applies to "CDNSKEY 0 3 0". | of DS Digest algorithm 0. The same argument applies to "CDNSKEY 0 3 | |||
0", the value 3 in second field is mandated by RFC4034 section 2.1.2. | ||||
Once the parent has verified the CDS/CDNSKEY record and it has passed | Once the parent has verified the CDS/CDNSKEY RRset and it has passed | |||
other acceptance tests, the DS record MUST be removed. At this point | other acceptance tests, the parent MUST remove the DS RRset. After | |||
the child can start the process of turning DNSSEC off. | waiting a sufficient amount of time - depending the the parental | |||
TTL's - the child can start the process of turning off DNSSEC. | ||||
5. Security considerations | 5. Security considerations | |||
This document is about avoiding validation failures when a domain | This document's main goal is to avoid validation failures when a | |||
moves from one DNS operator to another one. Turing off DNSSEC | domain moves from one DNS operator to another. Turning off DNSSEC | |||
reduces the security of the domain and thus should only be done as a | reduces the security of the domain and thus should only be done as a | |||
last resort. | last resort. | |||
In most cases it is preferable that operators collaborate on the | In most cases it is preferable that operators collaborate on the | |||
rollover by doing a KSK+ZSK rollover as part of the handoff, but that | rollover by doing a KSK+ZSK rollover as part of the hand-off, but | |||
is not always possible. This document addresses the case where | that is not always possible. This document addresses the case where | |||
unsigned state is needed. | unsigned state is needed to complete a rollover. | |||
Users SHOULD keep in mind that re-establishing trust in delegation | Users SHOULD keep in mind that re-establishing trust in delegation | |||
can be hard and take a long time thus before going to unsigned all | can be hard and takes a long time. Before deciding to complete the | |||
options SHOULD be considered. | rollover via an unsigned state, all options SHOULD be considered. | |||
A parent should ensure that when it is allowing a child to become | A parent SHOULD ensure that when it is allowing a child to become | |||
securely delegated, that it has a reasonable assurance that the CDS/ | securely delegated, that it has a reasonable assurance that the CDS/ | |||
CDNSKEY that is used to bootstrap the security on is visible from a | CDNSKEY RRset that is used to bootstrap the security is visible from | |||
geographically and network topology diverse view. It should also | a geographically and network topology diverse view. It SHOULD also | |||
ensure the the zone would validate if the parent published the DS | ensure the the zone validates correctly if the parent publishes the | |||
record. A parent zone might also consider sending an email to its | DS record. A parent zone might also consider sending an email to its | |||
contact addresses to give the child a warning that security will be | contact addresses to give the child zone a warning that security will | |||
enabled after a certain about of wait time - thus allowing a child | be enabled after a certain about of wait time - thus allowing a child | |||
administrator to cancel the request. | administrator to cancel the request. | |||
This document does not introduce any new problems, but like Negative | ||||
Trust Anchor[RFC7646], it addresses operational reality. | ||||
6. IANA considerations | 6. IANA considerations | |||
This document updates the following IANA registries: "DNS Security | This document updates the following IANA registries: "DNS Security | |||
Algorithm Numbers" | Algorithm Numbers" | |||
Algorithm 0 adds a reference to this document. | Algorithm 0 adds a reference to this document. | |||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
skipping to change at page 8, line 21 ¶ | skipping to change at page 8, line 30 ¶ | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
RFC2119, March 1997, | RFC2119, March 1997, | |||
<http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
[RFC4398] Josefsson, S., "Storing Certificates in the Domain Name | [RFC4398] Josefsson, S., "Storing Certificates in the Domain Name | |||
System (DNS)", RFC 4398, DOI 10.17487/RFC4398, March 2006, | System (DNS)", RFC 4398, DOI 10.17487/RFC4398, March 2006, | |||
<http://www.rfc-editor.org/info/rfc4398>. | <http://www.rfc-editor.org/info/rfc4398>. | |||
[RFC7646] Ebersman, P., Kumari, W., Griffiths, C., Livingood, J., | ||||
and R. Weber, "Definition and Use of DNSSEC Negative Trust | ||||
Anchors", RFC 7646, DOI 10.17487/RFC7646, September 2015, | ||||
<http://www.rfc-editor.org/info/rfc7646>. | ||||
Appendix A. Acknowledgements | Appendix A. Acknowledgements | |||
This document is generated using the mmark tool that Miek Gieben has | This document is generated using the mmark tool that Miek Gieben has | |||
developed. | developed. | |||
Authors' Addresses | Authors' Addresses | |||
Olafur Gudmundsson | Olafur Gudmundsson | |||
CloudFlare | CloudFlare | |||
End of changes. 55 change blocks. | ||||
125 lines changed or deleted | 127 lines changed or added | |||
This html diff was produced by rfcdiff 1.44. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |