regext J. Latour Internet-Draft CIRA Intended status: Standards Track O. Gudmundsson Expires:January 8,July 14, 2017 Cloudflare, Inc. P. Wouters Red Hat M. Pounsett Rightside Group, Ltd.July 7, 2016January 10, 2017 Third Party DNS operator to Registrars/Registries Protocoldraft-ietf-regext-dnsoperator-to-rrr-protocol-01.txtdraft-ietf-regext-dnsoperator-to-rrr-protocol-02.txt Abstract There are several problems that arise in the standard Registrant/Registrar/Registry model when the operator of a zone is neither the Registrant nor the Registrar for the delegation. Historically the issues have been minor, and limited to difficulty guiding the Registrant through the initial changes to the NS records for the delegation. As this is usually a one time activity when the operator first takes charge of the zone it has not been treated as a serious issue. When the domainon the otherhand uses DNSSEC it necessary to make regular (sometimes annual) changes to the delegation, updating DS record(s) in order to track KSKrollover, by updating the delegation's DS record(s).rollover. Under the current model this is prone to delays anderrors. Even whenerrors, as the Registranthas outsourced the operation of DNS to a third party the registrant still has to bemust participate inthe loopupdates toupdate theDSrecord. There is a need forrecords. This document describes a simple protocol that allows a third party DNS operator to update DS and NS records for a delegation, in a trustedmanner for a delegationmanner, without involving theregistrantRegistrant for each operation. This same protocol can be used by Registrants.The protocol described in this draft is REST based, and when used through an authenticated channel can be used to establish the DNSSEC Initial Trust (to turn on DNSSEC or bootstrap DNSSEC). Once DNSSEC trust is established this channel can be used to trigger maintenance of delegation records such as DS, NS, and glue records. The protocol is kept as simple as possible.Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire onJanuary 8,July 14, 2017. Copyright Notice Copyright (c)20162017 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 (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Notional Conventions . . . . . . . . . . . . . . . . . . . . 4 2.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 4 2.2. RFC2119 Keywords . . . . . . . . . . . . . . . . . . . . 4 3.What is the goal?Process Overview . . . . . . . . . . . . . . . . . . . . . . 4 3.1.Why DNSSEC? . . . . . . .Identifying the Registrar . . . . . . . . . . . . . . . . 4 3.2.How doesEstablishing achild signal its parent it wants DNSSECChain of TrustAnchor? . . .. . . . . . . . . . . . . . 5 3.3. Maintaining the Chain of Trust . . . . . . . .5 3.3. What checks are needed by parent?. . . . . 5 3.4. Other Delegation Maintenance . . . . . . .5 4. Third Party DNS operator to Registrars/Registries RESTful API 6 4.1. Authentication. . . . . . . 5 3.5. Acceptance Processing . . . . . . . . . . . . . .6 4.2. Authorization. . . . 5 4. API Definition . . . . . . . . . . . . . . . . . .6 4.3. Base URL Locator. . . . . 6 4.1. Authentication . . . . . . . . . . . . . . .6 4.4. CDS resource. . . . . . 7 4.2. RESTful Resources . . . . . . . . . . . . . . . .6 4.4.1. Initial Trust Establishment (Enable DNSSEC validation). . . . 7 4.2.1. CDS resource . . . . . . . . . . . . . . . . .6 4.4.2. Removing a DS (turn off DNSSEC). . . 7 4.2.2. Token resource . . . . . . . .7 4.4.3. DS Maintenance (Key roll over). . . . . . . . . . .8 4.5. Tokens resource9 4.3. Customized Error Messages . . . . . . . . . . . . . . . . 10 5. Security considerations . . . . .8 4.5.1. Setup Initial Trust Establishment with Challenge. .8 4.6. Customized Error Messages. . . . . . . . . . . . 10 6. IANA Actions . . . .9 4.7. How to react to 403 on POST cds. . . . . . . . . . . . .9 5. Security considerations .. . . . . . . 10 7. Internationalization Considerations . . . . . . . . . . .9 6. IANA Actions. . 11 8. References . . . . . . . . . . . . . . . . . . . . . .9 7. Internationalization Considerations. . . 11 8.1. Normative References . . . . . . . . . .10 8. References. . . . . . . . 11 8.2. Informative References . . . . . . . . . . . . . . . . .10 8.1. Normative References .11 Appendix A. Document History . . . . . . . . . . . . . . . . .10 8.2. Informative References. 12 A.1. regext Version 02 . . . . . . . . . . . . . . . .10 Appendix A. Document History. . . . 12 A.2. regext Version 02 not pushed . . . . . . . . . . . . . .11 A.1. Regex versio12 A.3. regext Version 01 . . . . . . . . . . . . . . . . . . . .. 11 A.2. Regex version12 A.4. regext Version 00 . . . . . . . . . . . . . . . . . . . .11 A.3.13 A.5. Version 03 . . . . . . . . . . . . . . . . . . . . . . .11 A.4.13 A.6. Version 02 . . . . . . . . . . . . . . . . . . . . . . .11 A.5.13 A.7. Version 01 . . . . . . . . . . . . . . . . . . . . . . .11 A.6.13 A.8. Version 00 . . . . . . . . . . . . . . . . . . . . . . .1113 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .1113 1. IntroductionWhy is this needed? DNS registration systems today are designed around making registrations easy and fast.Afterthea domain has beenregistered there are reallyregistered, one of threeoptions on who maintainsparties will maintain the DNS zonethat isloaded on the "primary" DNSservers for the domain this can beservers: the Registrant, the Registrar, or a third party DNSOperator. Unfortunatelyoperator. DNS registration systems were originally designed around making registrations easy and fast, however after registration theease to makecomplexity of making changes to the delegation differs for eachoneof theseoptions. The Registrant needs to use the interface that the registrar provides to update NS and DS records.parties. The Registraron the other handcan make changes directlyintoin theregistration system.Registry systems through some API (typically EPP [RFC5730]). The Registrant is typically limited to using a web interface supplied by the Registrar. A third party DNS Operatoron the hand needsmust to go through the Registrant to update any delegation information.CurrentIn this last case, the operator must contact and engage the Registrant in updating NS and DS records for the delegation. New information must be communicated to the Registrant, who must submit that information to the Registrar. Typically this involves cutting and pasting between email and a web interface, which is error prone. Furthermore, involving Registrants in this way does not scale for even moderately sized DNS operators. Tracking thousands (or millions) of changes sent to customers, and following up if those changes are not submitted to the Registrar, or are submitted with errors, is itself expensive and error prone. The current system does not work well, as there are many types of failures that have been reportedand they have beenat all levels in the registration model. The failures result in either the inability to use DNSSEC or in validation failures thatcasecause the domain to becomeinvalid and allunavailable to usersthat arebehind validatingresolvers will not be able to to access the domain.resolvers. The goal of this document is to createan automated interfacea protocol for establishing a secure chain of trust thatwillinvolves parties not in the traditional Registrant/Registrar/Registry (RRR) model, and to reduce the friction in maintaining DNSSECdelegations.secured delegations in these cases. It describes a REST-based [RFC6690] protocol which can be used to establish DNSSEC initial trust (to enable or bootstrap DNSSEC), and to trigger maintenance of delegation records such as DS, NS, and glue records. 2. Notional Conventions 2.1. Definitions For the purposes of this draft, a third-party DNS Operator is any DNS Operator responsible for azonezone, where the operator is neither the Registrant nor the Registrar of record for the delegation. Uses of "child" and "parent" refer to the relationship between DNS zone operators. In this document, unless otherwise noted, the child is the third-party DNS operator and the parent is the Registry. Uses of theword 'Registrar'words "Registrar" or "Registration Entity" in this document may also be applied toresellers: an entityResellers or to Registries thatsells delegations through a registrarengage in registration activities directly withwhomRegistrants. Unless otherwise noted, they are used to refer to the entity which has areseller agreement.direct business relationship with the Registrant. 2.2. RFC2119 Keywords The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 3.What isProcess Overview 3.1. Identifying thegoal? The primary goal is to have a protocol to establish a secure chainRegistrar As oftrust that involves parties that are not in the traditional RRR EPP model, or when EPP is not used. In the general casepublication of this document, thereshould behas never been away to findstandardized or widely deployed method for easily and scalably identifying theright Registrar/Registry entity to talk to, but it does not exist. Whois[]Registar for a particular registration. At this time, WHOIS [RFC3912] is thenaturalonly widely deployed protocol to carry suchinformation but that protocolinformation, butis unreliableWHOIS responses are unstructured text, and each implementor can lay out its text responses differently. In addition, Registries may include referrals in this unstructured text to the WHOIS interfaces of their Registrars, andhardthose Registrar WHOIS interface in turn have their own layouts. This presents a text parsing problem which is infeasible toparse. Its proposedsolve. RDAP, the successor to WHOIS, described in [RFC7480], solves the problems of unstructured responses, and a consistently implemented referral system, however at this time RDAP[RFC7480]has yet to be deployedonat mostTLD's. The preferred communicationRegistries. With no current mechanismis to use is to use a REST [RFC6690] callin place tostart processing ofscalably discover therequested delegation information. 3.1. Why DNSSEC? DNSSEC [RFC4035] provides data authenticationRegistar forDNS answers, having DNSSEC enabled makes it possible to trust the answers. The biggest obstacle in DNSSEC adoption isa particular registration, theinitial configurationproblem of automatic discovery of theDNSSEC domain trust anchor atbase URL of theparent,API is considered out of scope of this document. The authors recommend standardization of an RDAP extension to obtain this information from theDS record.Registry. 3.2.How doesEstablishing achild signal its parent it wants DNSSECChain of TrustAnchor? The child needs first to signAfter signing thedomain, thenzone, the childcan "upload" the DS record to its parent. The "normal" wayoperator needs to uploadis to go through registration interface, but that fails frequently. The DNS Operator may not have access to the interface thustheregistrant needsDS record(s) torelaytheinformation. For large operations this does not scale, as evident in lack of Trust Anchors for signed deployments that are operated by third parties.parent. The child can signal its desire to have DNSSEC validation enabled by publishing one of the special DNS records CDS and/orCDNSKEY[RFC7344]CDNSKEY as defined in [RFC7344] andits proposed extension[I-D.ietf-dnsop-maintain-ds]. [RFC Editor: The above I-D reference should be replaced with the correct RFC number upon publication.] In the case of an insecure delegation, the Registrar will normally not be scanning the child zone for CDS/CDNSKEY records. The child operator can use this protocol to notify the Registrar to begin such a scan. Once the"parent" "sees"Registrar sees these records it SHOULD start acceptance processing.This document covers how to make the CDS records visible to3.3. Maintaining theright parental agent. This document and [I-D.ogud-dnsop-maintain-ds] argue thatChain of Trust One thepublicationsecure chain ofCDS/CDNSKEY recordtrust issufficient forestablished, theparent to startRegistrar SHOULD regularly check theacceptance processing.child zone for CDS/CDNSKEY record changes. Themain point isRegistrar SHOULD also accept signals via this protocol toprovide authentication thus ifimmediately check the childis in "good" state then the DS upload should be simplezone for CDS/CDNSKEY records. Server implementations of this protocol MAY include rate limiting toacceptprotect their systems andpublish. If there is any problemthe systems of child operators from abuse. Each parentdoes not add the DS. In the event this protocolsoperator andits associated authentication mechanism does not address the Registrant's security requirements to create a secure Trust Anchor delegation then the Registrant always has recourse by submitting its DS record via itsRegistrarinterface with EPP submission to the Registry. 3.3. What checks are needed by parent?is responsible for developing, implementing, and communicating their DNSSEC maintenance policies. 3.4. Other Delegation Maintenance [ Not yet defined ] 3.5. Acceptance Processing TheparentRegistrar, upon receiving a signal or detecting through polling thatit checkthe childfor desire for DS record publication.desires to have its delegation updated, SHOULD run a series of tests to ensure that updating the parent zone will not create or exacerbate any problems with the child zone. The basic testsinclude, 1. IsSHOULD include: o checking that the child zone is is properly signed2. The zone has aas per the Registrar and parent DNSSEC policy o if updating the DS record, checking that the child CDSsigned byRRset references a KSKreferenced in the current DS, referring to a at least one keywhich is present in thecurrentchild DNSKEY RRset3. Alland signs thename-servers forCDS RRset o ensuring all name servers in the apex NS RRset of the child zone agree on the apex NS RRset and CDS RRset contentsParents can performThe Registrar SHOULD NOT make any changes to the DS RRset if the child name servers do not agree on the CDS/CDNSKEY content. [NOTE: Do we need a new section in the DPS for the CDS management policy [RFC6841]?] Registrars MAY require compliance with additional tests,defined delays,particularly in the case of establishing a new chain of trust, such as: o checking that all child name servers to respond with a consistent CDS/CDNSKEY RRset for a number of queries overTCP, ensurean extended period of time to minimise the possibility of an attacker spoofing responses o requiring the child name servers to respond with identical CDS/ CDNSKEY RRsets over TCP o ensuring zone delegation bestpractice as perpractices (for examples, see [I-D.wallstrom-dnsop-dns-delegation-requirements]and even asko requiring theDNS Operatorchild operator to prove they can add data to thezone, or providezone (for example, by publishing acode that is tied to the affected zone. Theparticular token) 4. API Definition This protocol ispartially-partially synchronous,i.e.meaning the server can elect to holdconnectionconnections open untilthe operation has concludedoperations have completed, or it can return a status code indicating that it has received a request, and close therequest.connection. It is up to the child to monitor the parent for completion of theoperationoperation, and issue possible follow-upcalls. 4. Third Party DNS operatorcalls toRegistrars/Registries RESTful API The specification of this API is minimalist, but a realistic one. Registry Lock mechanisms that prevents domain hijacking block domains prevent certain attributes intheregistry to be changed. This APIRegistrar. Clients may be denied access to change the DS records for domains that are Registry Locked (HTTP Status code 401). Registry Lock is a mechanism provided by certain Registries or Registrars that prevents domain hijacking by ensuring no attributes of the domain are changeable, and no transfer or deletion transactions can be processed against the domain name without manual intervention. 4.1. Authentication The API does not impose any unique server authentication requirements. The server authentication provided by TLS fully addresses theneeds. In general, theneeds of this protocol. The APISHOULDMUST be provided over TLS-protected transport (e.g., HTTPS) or VPN.4.2. Authorization AuthorizationClient authentication isoutside theconsidered out of scope of this document. TheCDSpublication of CDS/CDNSKEY recordspresentin the child zonefile are indications of intention to sign/unsign/ update the DS records ofis an indication that thedomainchild operator intends to perform DS-record- updating activities (add/delete) in the parent zone.This meansSince this protocol is simply a signal to the Registrar that they should examine theproceedingchild zone for such intentions, additional authentication of theaction is not determined by who issuedclient making therequest. Therefore, authorizationrequest isout of scope. Registries and registrars who plan to provide this service can, however,considered unnecessary. Registrars MAY implement their own policy to protect access to the API, such as with IPwhite listing, API key, etc. 4.3. Base URL Locator The base URL for registries or registrars who wantwhitelisting, client TLS certificates, etc.. Registrars SHOULD take steps toprovide thisensure that a lack of additional authentication does not open up a denial of service mechanism against the systems of the Registrar, the Registry, or the child operator. 4.2. RESTful Resources In the following text, "{domain}" is the child zone toDNS Operators canbemade auto-discoverable as an RDAP extension. 4.4.operated on. 4.2.1. CDS resource Path: /domains/{domain}/cds{domain}: is the domain name to be operated on 4.4.1.4.2.1.1. Establishing Initial TrustEstablishment (Enable DNSSEC validation) 4.4.1.1.(Enabling DNSSEC) 4.2.1.1.1. Request Syntax: POST /domains/{domain}/cdsARequest that an initial set of DSrecordrecords based on the CDS record in the child zonefile willbe inserted into theregistryRegistry and the parent zonefileupon the successful completion ofsuchthe request. If there are multiple CDS records in the CDS RRset, multiple DS records will be added.Either the CDS/CDNSKEY or the DNSKEY can be used to create the DS record. Note: entity expecting CDNSKEY is still expected accept the /cds command. 4.4.1.2.4.2.1.1.2. Response o HTTP Status code 201 indicates a success. o HTTP Status code 400 indicates a failure due to validation. o HTTP Status code 401 indicates an unauthorized resource access. o HTTP Status code 403 indicates a failure due to an invalid challenge token. o HTTP Status code 404 indicates the domain does not exist. o HTTP Status code 409 indicates the delegation already has a DS RRset. o HTTP Status code 429 indicates the client has been rate-limited. o HTTP Status code 500 indicates a failure due to unforeseeable reasons.4.4.2. RemovingThis request is for setting up initial trust in the delegation. The Registrar SHOULD return a status code 409 if it already has a DS(turn off DNSSEC) 4.4.2.1.RRset for the child zone. Upon receipt of a 403 response the child operator SHOULD issue a POST for the "token" resource to fetch a challenge token to insert into the zone. 4.2.1.2. Removing DS Records 4.2.1.2.1. Request Syntax: DELETE /domains/{domain}/cdsARequest that the Registrar check for a null CDS or CDNSKEY recordmeanin the child zone, indicating a request that the entire DS RRsetmustbe removed.4.4.2.2.This will make the delegation insecure. 4.2.1.2.2. Response o HTTP Status code 200 indicates a success. o HTTP Status code 400 indicates a failure due to validation. o HTTP Status code 401 indicates an unauthorized resource access. o HTTP Status code 404 indicates the domain does not exist. o HTTP Status code 412 indicates the parent does not have a DS RRset o HTTP Status code 429 indicates the client has been rate-limited. o HTTP Status code 500 indicates a failure due to unforeseeable reasons.4.4.3.4.2.1.3. Modifying DSMaintenance (Key roll over) 4.4.3.1.Records 4.2.1.3.1. Request Syntax: PUT /domains/{domain}/cdsMaintenance activities are performedRequest that the Registrar modify the DS RRset based on theCDSCDS/ CDNSKEY available in the child zone. As a result of this request the Registrar SHOULD add or delete DS recordsmay be added, removed. Butas indicated by the CDS/ CDNSKEY RRset, but MUST NOT delete the entire DSRRset must not be deleted. 4.4.3.2.RRset. 4.2.1.3.2. Response o HTTP Status code 200 indicates a success. o HTTP Status code 400 indicates a failure due to validation. o HTTP Status code 401 indicates an unauthorized resource access. o HTTP Status code 404 indicates the domain does not exist. o HTTP Status code 412 indicates the parent does not have a DS RRset o HTTP Status code 429 indicates the client has been rate-limited. o HTTP Status code 500 indicates a failure due to unforeseeable reasons.4.5. Tokens4.2.2. Token resource Path:/domains/{domain}/tokens {domain}: is the domain name to be operated on 4.5.1. Setup/domains/{domain}/token 4.2.2.1. Establish Initial TrustEstablishmentwith Challenge4.5.1.1.4.2.2.1.1. Request Syntax: POST/domains/{domain}/tokens A/domains/{domain}/token The DNSSEC policy of the Registrar may require proof that the DNS Operator is in control of the domain. The token API call returns a random token to be included as a_delegateTXT record for the _delegate.@ domain name (where @ is the apex of the child zone) prior establishing the DNSSEC initial trust.4.5.1.2.This is an additional trust control mechanism to establish the initial chain of trust. Once the child operator has received a token, it SHOULD be inserted in the zone and the operator SHOULD proceed with a POST of the cds resource. Note that the _delegate TXT record is publicly available and not a secret token. 4.2.2.1.2. Response o HTTP Status code 200 indicates a success.TokenA token is included in the body of the response, as a valid TXT record o HTTP Status code 404 indicates the domain does not exist. o HTTP Status code 500 indicates a failure due to unforeseeable reasons.4.6.4.3. Customized Error MessagesService providers canRegistrars MAY provide a customized error message in the response body in addition to the HTTP status code defined in the previous section. Thiscanresponse MAY include anIdentifyingidentifying number/string that can be used to track therequests. #Usingrequest. 5. Security considerations When zones are properly provisioned, and delegations follow standards and best practices (e.g. [I-D.wallstrom-dnsop-dns-delegation-requirements]), thedefinitions This section atRegistrar or Registry can trust themoment contains commentsDNS information it receives fromearly implementers 4.7. How to react to 403 on POST cds The basic reaction to a 403 on POST /domains/{domain}/cds is to issue POST /domains/{domain}/tokens command to fetch the challengemultiple child name servers, over time, and/or over TCP toinsert into the zone. 5. Security considerations Supplyingestablish theDS record as proofinitial chain ofcontrol is not realistic since the domain is already publicly signed andtrust. In addition, theCDS/DS is readily available. Open question:?? JL?: It is not recommendedRegistrar or Registry can require theprotocol be used with high profile domains such as TLDs and governments that areDNSoperators. This protocol is meantOperator toallow third party DNSprove they control the zone by requiring the child operator tosubmit the initial DS innavigate additional hurdles, such as adding atrusted manner without involvingchallenge token to theregistrant.zone. This protocol should increase the adoption ofDNSSEC and getDNSSEC, enabling more zones to become validated thus overall the security gain outweighs the possible drawbacks.TBD This will hopefully get more zones to become validated thus overallRegistrants and DNS Operators always have thesecurity gain out weightsoption to establish thepossible drawbacks. risk of takeover ? riskchain ofvalidation errors < declines transfer issuestrust in band via the standard Registrant/Registrar/Registry model. 6. IANA ActionsURI ??? TBDThis document has no actions for IANA 7. Internationalization Considerations This protocol is designed for machine to machinecommunicationscommunications. Clients and servers should use punycode [RFC3492] when operating on internationalized domain names. 8. References 8.1. Normative References [I-D.ietf-dnsop-maintain-ds] Gudmundsson, O. and P. Wouters, "Managing DS records from parent via CDS/CDNSKEY",draft-ietf-dnsop-maintain-ds-03draft-ietf-dnsop-maintain-ds-04 (work in progress),June 2016. [I-D.wallstrom-dnsop-dns-delegation-requirements] Wallstrom, P. and J. Schlyter, "DNS Delegation Requirements", draft-wallstrom-dnsop-dns-delegation- requirements-00 (work in progress), FebruaryOctober 2016.[RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Protocol Modifications[RFC3492] Costello, A., "Punycode: A Bootstring encoding of Unicode forthe DNS Security Extensions",Internationalized Domain Names in Applications (IDNA)", RFC4035,3492, DOI10.17487/RFC4035,10.17487/RFC3492, March2005, <http://www.rfc-editor.org/info/rfc4035>.2003, <http://www.rfc-editor.org/info/rfc3492>. [RFC6690] Shelby, Z., "Constrained RESTful Environments (CoRE) Link Format", RFC 6690, DOI 10.17487/RFC6690, August 2012, <http://www.rfc-editor.org/info/rfc6690>. [RFC7344] Kumari, W., Gudmundsson, O., and G. Barwood, "Automating DNSSEC Delegation Trust Maintenance", RFC 7344, DOI 10.17487/RFC7344, September 2014, <http://www.rfc-editor.org/info/rfc7344>. 8.2. Informative References[I-D.ogud-dnsop-maintain-ds] Gu[eth]mundsson, O. and[I-D.wallstrom-dnsop-dns-delegation-requirements] Wallstrom, P.Wouters, "Managing DS records from parent via CDS/CDNSKEY", draft-ogud-dnsop-maintain- ds-00and J. Schlyter, "DNS Delegation Requirements", draft-wallstrom-dnsop-dns-delegation- requirements-03 (work in progress), October2015.2016. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.[RFC6690] Shelby, Z., "Constrained RESTful Environments (CoRE) Link Format",[RFC3912] Daigle, L., "WHOIS Protocol Specification", RFC6690,3912, DOI10.17487/RFC6690,10.17487/RFC3912, September 2004, <http://www.rfc-editor.org/info/rfc3912>. [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", STD 69, RFC 5730, DOI 10.17487/RFC5730, August2012, <http://www.rfc-editor.org/info/rfc6690>.2009, <http://www.rfc-editor.org/info/rfc5730>. [RFC6841] Ljunggren, F., Eklund Lowinder, AM., and T. Okubo, "A Framework for DNSSEC Policies and DNSSEC Practice Statements", RFC 6841, DOI 10.17487/RFC6841, January 2013, <http://www.rfc-editor.org/info/rfc6841>. [RFC7480] Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the Registration Data Access Protocol (RDAP)", RFC 7480, DOI 10.17487/RFC7480, March 2015, <http://www.rfc-editor.org/info/rfc7480>. Appendix A. Document History A.1.Regex versioregext Version 02 o simplify abstract o move all justification text to Intro o added HTTP response codes for rate limiting (429), missing DS RRsets (412) o expanded on Internationalization Considerations o corrected informative/normative document references o clarify parent/Registrar references in the draft o general spelling/grammar/style cleanup A.2. regext Version 02 not pushed o Clarified based on comments and questions from early implementors (JL) o Text edits and clarifications. A.3. regext Version 01 o Rewrote Abstract and Into (MP) o Introduced code 401 when changes are not allowed o Text edits and clarifications.A.2. Regex versionA.4. regext Version 00 o Working group document same as 03, just track changed to standardA.3.A.5. Version 03 o Clarified based on comments and questions from early implementorsA.4.A.6. Version 02 o Reflected comments on mailing listsA.5.A.7. Version 01 o This version adds a full REST definition this is based on suggestions from Jakob Schlyter.A.6.A.8. Version 00 o First rough version Authors' Addresses Jacques Latour CIRA Email: jacques.latour@cira.ca Olafur Gudmundsson Cloudflare, Inc. Email: olafur+ietf@cloudflare.com Paul Wouters Red Hat Email: paul@nohats.ca Matthew Pounsett Rightside Group, Ltd. Email: matt@conundrum.com