| < 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.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||