Network Working Group J. Gould Internet-Draft VeriSign, Inc. Intended status: Standards Track May 31, 2018 Expires: December 2, 2018 Launch Phase Policy Extensions Mapping for the Extensible Provisioning Protocol (EPP) draft-gould-regext-launch-policy-00 Abstract This document describes an Extensible Provisioning Protocol (EPP) extension of the Registry Mapping to define the server policy of the Launch Phase EPP extension. The server policy of the Launch Phase EPP extension includes the MAYs, SHOULDs, and options implemented by the server. 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 on December 2, 2018. Copyright Notice Copyright (c) 2018 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 Gould Expires December 2, 2018 [Page 1] Internet-Draft launch-policy May 2018 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Dates and Times . . . . . . . . . . . . . . . . . . . . . 3 2.2. Zone Object . . . . . . . . . . . . . . . . . . . . . . . 3 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 12 3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 12 3.1.1. EPP Command . . . . . . . . . . . . . . . . . 12 3.1.2. EPP Command . . . . . . . . . . . . . . . . . 12 3.1.3. EPP Query Command . . . . . . . . . . . . 13 3.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 13 3.2.1. EPP Command . . . . . . . . . . . . . . . . 14 3.2.2. EPP Command . . . . . . . . . . . . . . . . 15 3.2.3. EPP Command . . . . . . . . . . . . . . . . . 15 3.2.4. EPP Command . . . . . . . . . . . . . . . 15 3.2.5. EPP Command . . . . . . . . . . . . . . . . 15 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 16 4.1. Launch Policy Schema . . . . . . . . . . . . . . . . . . 16 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 5.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 20 5.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 20 6. Implementation Status . . . . . . . . . . . . . . . . . . . . 21 7. Security Considerations . . . . . . . . . . . . . . . . . . . 21 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.1. Normative References . . . . . . . . . . . . . . . . . . 21 9.2. Informative References . . . . . . . . . . . . . . . . . 22 9.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Appendix A. Change History . . . . . . . . . . . . . . . . . . . 22 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 22 1. Introduction This document describes an extension mapping for version 1.0 of the Extensible Provisioning Protocol (EPP) [RFC5730]. This document describes an extension of the Registry Mapping to define the server policy of the Launch Phase EPP extension [RFC8334] for a registry zone (e.g., top-level domain). A registry zone, also referred to as a "zone" in this document, is a domain name that the Domain Name Registry supports provisioning operations to manage. The extension enables provisioning of the registry zone policy in the Domain Name Registry. A Domain Name Registry MAY support a subset of all of the commands extended in this extension. Gould Expires December 2, 2018 [Page 2] Internet-Draft launch-policy May 2018 1.1. Conventions Used in This Document 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 RFC 2119 [RFC2119]. XML is case sensitive. Unless stated otherwise, XML specifications and examples provided in this document MUST be interpreted in the character case presented in order to develop a conforming implementation. In examples, "C:" represents lines sent by a protocol client and "S:" represents lines returned by a protocol server. Indentation and white space in examples are provided only to illustrate element relationships and are not a REQUIRED feature of this protocol. The XML namespace prefix "lp" is used for the namespace "urn:ietf:params:xml:ns:launchPolicy-0.1", but implementations MUST NOT depend on it and instead employ a proper namespace-aware XML parser and serializer to interpret and output the XML documents. 2. Object Attributes An EPP launch phase policy has attributes and associated values that may be viewed and modified by the sponsoring client or the server. This section describes each attribute type in detail. The formal syntax for the attribute values described here can be found in the "Formal Syntax" section of this document and in the appropriate normative references. 2.1. Dates and Times Date and time attribute values MUST be represented in Universal Coordinated Time (UTC) using the Gregorian calendar. The extended date-time form using upper case "T" and "Z" characters defined in XML Schema Part 2 [1] MUST be used to represent date-time values, as XML Schema does not support truncated date-time forms or lower case "T" and "Z" characters. 2.2. Zone Object The Zone object, represented by the element in the Registry Mapping, is the object that is extended by this extension with the element. The Zone object can apply to any zone level (top level, second level, third level, etc.). The element contains zero or more elements, ordered by ascending start date. Gould Expires December 2, 2018 [Page 3] Internet-Draft launch-policy May 2018 The element includes the following attributes: "type": Attribute that defines the phase name / type that include the following possible values: "pre-delegation" Phase when pre-delegation testing is done. "pre-launch" Phase prior to the sunrise phase where no writable operations will be allowed. "sunrise" Phase when trademark holders can submit registration applications with trademark information that can be validated by the server. "landrush" Post-sunrise phase when non-trademark holders are allowed to register domain names. "claims" Trademark claims phase as defined by Trademark Clearinghouse model of displaying a claims notice to clients for domain names that match trademarks. "open" Post-launch phase that is also referred to as "steady state". Servers MAY require additional trademark protection with this phase. "custom" Custom launch phase that is defined using the "name" attribute. "name": OPTIONAL identifier attribute, represented in the 7-bit US-ASCII character set, that defines the phase name when the "type" attribute is set to "custom" or the sub-phase name when the "type" attribute is set to a non-"custom" value. "mode": OPTIONAL attribute that defines how the phase operates with the following possible values and with the default value of "fcfs": "fcfs" First-come-first-serve. In this mode, each domain name is immediately created and there is no use of an application identifier. "pending-registration" In this mode, the domain name is created with the "pendingCreate" status with no use of an application identifier. "pending-application" In this mode, the domain name, referred to as a domain application, is created in the "pendingCreate" status with the server returning an application identifier in the create response for the client to use in subsequent commands (info, update, delete). When a domain application is allocated, it will become a domain without the use of an application identifier. Gould Expires December 2, 2018 [Page 4] Internet-Draft launch-policy May 2018 The element contains the following child elements: : The Start date and time for the phase. : The OPTIONAL end date and time for the phase. : An OPTIONAL boolean value that indicates whether the server validates the phase provided by the client in the element. : Zero or more elements that define the supported Validator Identifier values for the phase. An example is the reserved Validator Identifier of "tmch". : Zero or more elements that defines the supported launch status values, in precedence order, for the phase. The element has the required "s" attribute with one of the possible the status values. The OPTIONAL "name" attribute is an identifier, represented in the 7-bit US-ASCII character set, that is used to define the name of the "custom" status. When the "s" attribute is set to "custom", then the "name" attribute MUST be set. The element text MAY provide the status value description, and the OPTIONAL "lang" attribute MAY be present to identify the language of the description if the negotiated value is something other than the default value of "en" (English). The possible values of the "s" attribute include: "pendingValidation" The initial state of a newly-created application or registration object. "validated" The application or registration meets relevant registry rules. "invalid" The application or registration does not validate according to registry rules. "pendingAllocation" The allocation of the application or registration is pending based on the results of some out- of-band process (for example, an auction). "allocated" The object corresponding to the application or registration has been provisioned. "rejected" The application or registration object was not provisioned. "custom" A custom status that is defined using the "name" attribute. : An OPTIONAL boolean value that indicates that the server will place the Launch Application or the Launch Registration in the "pendingCreate" status as specified in [RFC5731]. Gould Expires December 2, 2018 [Page 5] Internet-Draft launch-policy May 2018 : An OPTIONAL element that defines the poll messaging policy for the phase. The element contains the following child elements: : A boolean value indicating whether the server will insert poll messages, per [RFC5730], for the applicable intermediate statuses, including the "pendingValidation", "validated", "pendingAllocation", and "invalid" statuses, using the element with the extension. : A boolean value indicating whether the server will include non-mandatory information in the element of the poll message. : A boolean value indicating whether the server will include further extensions that would normally be included in the response to the command, per [RFC5731], in the poll message. : Zero to four elements that defines the supported Mark Validation Models supported by the phase. The element has the following possible values: "code" Indicates support for the "code" Mark Validation Model, where the mark code by itself is used to validate that the mark matches the domain name. This model is supported using the element with just the element. "mark" Indicates support for the "mark" Mark Validation Model, where the mark information is passed without any other validation element. The server will use some custom form of validation to validate that the mark information is authentic. This model is supported using the element with just the element. "codeWithMark" Indicates support for the "code with mark" Mark Validation Model, where the code is used along with the mark information by the server to validate the mark utilizing an external party. This model is supported using the element that contains both the and the elements. "signedMark" Indicates support for the "signed mark" Mark Validation Model, where the mark information is digitally signed. The digital signature can be directly validated by the server using the public key of the external party that created the signed mark using its private key. This Gould Expires December 2, 2018 [Page 6] Internet-Draft launch-policy May 2018 model is supported using the and elements. : An OPTIONAL maximum number of marks per domain name for the phase. : Zero or more elements that defines the XML namespace of the marks that are supported in the phase. For example, the XML namespace "urn:ietf:params:xml:ns:mark-1.0" for [RFC7848]. : Zero or more elements that defines the XML namespace of the signed marks that are supported in the phase. For example, the XML namespace "urn:ietf:params:xml:ns:signedMark-1.0" for [RFC7848]. : Zero or more elements that defines the XML namespace of the encoded signed marks that are supported in the phase. For example, the XML namespace "urn:ietf:params:xml:ns:signedMark-1.0" for [RFC7848]. : Zero to three elements that defines the supported check forms. The element has the following possible values: "claims" Indicates support for the Claims Check Form, which defines a new command called the Claims Check Command that is used to determine whether or not there are any matching trademarks, in the specified launch phase, for each domain name passed in the command. "availability" Indicates support for the Availability Check Form, which extends the Domain Check Command to specify which launch phase to use to check the availability for each domain name passed in the command. "trademark" Indicates support for the Trademark Check Form, which defines a new command called the Trademark Check Command that is used to determine whether or not there are any matching trademarks for each domain name passed in the command, independent of the active launch phase. : Zero or more elements that defines the possible values that can be passed by the client in the phase. The supports the "type" and "name" attributes defined for the element. : Zero to three elements that defines the supported create forms. The element has the following possible values: "sunrise" Indicates support for the Sunrise Create Form, which is an extension of the Domain Create Command to Gould Expires December 2, 2018 [Page 7] Internet-Draft launch-policy May 2018 include the verifiable trademark information that the server uses to match against the domain name to authorize the domain create. "claims" Indicates support for the Claims Create Form, which is an extension of the Domain Create Command to include information related to the registrant's acceptance of the Claims Notice. "general" Indicates support for the General Create Form, which is an extension of the Domain Create Command to specify the target launch phase for the domain create. "mixed" Indicates support for the Mixed Create Form, where a mix of create forms is supported. For example, the Sunrise Create Form and the Claims Create Form is supported in a single command by including both the verified trademark information and the information related to the registrant's acceptance of the Claims Notice. : An OPTIONAL boolean value that indicates whether the server validates the OPTIONAL "type" attribute. Example of a element with six launch phases, including "sunrise", "claims"/"lrp1", "claims"/"landrush", "claims"/"open", "lrp2", and "open": 2017-11-01T00:00:00.0Z 2017-12-01T00:00:00.0Z true tmch false false false signedMark 1 urn:ietf:params:xml:ns:signedMark-1.0 Gould Expires December 2, 2018 [Page 8] Internet-Draft launch-policy May 2018 urn:ietf:params:xml:ns:signedMark-1.0 sunrise true 2017-12-01T00:00:00.0Z 2017-12-08T00:00:00.0Z true tmch true claims availability trademark claims true 2017-12-08T00:00:00.0Z 2017-12-15T00:00:00.0Z true tmch Gould Expires December 2, 2018 [Page 9] Internet-Draft launch-policy May 2018 true false false false claims availability trademark claims true 2017-12-15T00:00:00.0Z 2018-02-15T00:00:00.0Z true tmch claims availability trademark claims general true Gould Expires December 2, 2018 [Page 10] Internet-Draft launch-policy May 2018 2018-02-15T00:00:00.0Z 2018-03-15T00:00:00.0Z true lrp2-custom Internally validate registration Externally validate registration true true false false signedMark 1 http://www.example.com/epp/lrp2-custom-1.0 http://www.example.com/epp/lrp2-custom-1.0 sunrise general Gould Expires December 2, 2018 [Page 11] Internet-Draft launch-policy May 2018 claims mixed true 2018-03-15T00:00:00.0Z false 3. EPP Command Mapping A detailed description of the EPP syntax and semantics can be found in the EPP core protocol specification [RFC5730]. The command mappings described here are specifically for use in provisioning and managing launch phase policy via EPP. 3.1. EPP Query Commands EPP [RFC5730] provides three commands to retrieve object information: to determine if an object is known to the server, to retrieve detailed information associated with an object, and to retrieve object transfer status information. 3.1.1. EPP Command This extension does not define any extension of the EPP command or response described in the Registry Mapping. 3.1.2. EPP Command This extension does not add any elements to the EPP command described in the Registry Mapping. However, additional elements are defined for the response to a query by the fully qualified name of the zone object. When an command has been processed successfully, the EPP element MUST contain a child elements as described in the Registry Mapping. In addition, the EPP element SHOULD contain a child element that identifies the extension namespace if the zone object has data associated with this extension and based on server policy. The element contains the following child elements: Gould Expires December 2, 2018 [Page 12] Internet-Draft launch-policy May 2018 : Element that contains the full set of launch phase policy attributes for the zone as defined in Section 2.2. Example response to query for the full set of "EXAMPLE" zone object attributes including the launch phase policy attributes: S: S: S: S: S: Command completed successfully S: S: S: S: ... S: S: S: S: S: ... S: S: S: S: ABC-12345 S: 54322-XYZ S: S: S: 3.1.3. EPP Query Command Transfer semantics do not directly apply to zone objects, so there is no extension defined for the EPP query command. 3.2. EPP Transform Commands EPP provides five commands to transform objects: to create an instance of an object, to delete an instance of an object, to extend the validity period of an object, to manage object sponsorship changes, and to change information associated with an object. Gould Expires December 2, 2018 [Page 13] Internet-Draft launch-policy May 2018 3.2.1. EPP Command This extension defines additional elements for the EPP command described in the Registry Mapping. No additional elements are defined for the EPP response. The EPP command provides a transform operation that allows a client to create a zone object. In addition to the standard EPP command elements described in the Registry Mapping, the command MUST contain an element, and the element MUST contain a element that identifies the extension namespace if the client wants to associate data in this extension to the zone object. The element contains the following child elements: : Element that contains the full set of launch phase policy attributes for the zone to create as defined in Section 2.2. Example command: C: C: C: C: C: C: C: EXAMPLE C: ... C: C: C: C: C: C: ... C: C: C: ABC-12345 C: C: When a command has been processed successfully, the EPP response is as described in the Registry Mapping. Gould Expires December 2, 2018 [Page 14] Internet-Draft launch-policy May 2018 3.2.2. EPP Command This extension does not add any elements to the EPP command or response described in the Registry Mapping. 3.2.3. EPP Command Renew semantics do not directly apply to zone objects, so there is no extension defined for the EPP command. 3.2.4. EPP Command Transfer semantics do not directly apply to zone objects, so there is no extension defined for the EPP command. 3.2.5. EPP Command This extension defines additional elements for the EPP command described in the Registry Mapping. No additional elements are defined for the EPP response. The EPP command provides a transform operation that allows a client to modify the attributes of a zone object. In addition to the standard EPP command elements described in the Registry Mapping, the command MUST contain an element, and the element MUST contain a element that identifies the extension namespace if the client wants to associate data in this extension to the zone object. The element contains the following child elements: : One or more elements that contain the full set of attributes for the zones launch phase policy as defined in Section 2.2. The update completely replaces the prior version of the zone launch phase policy. Gould Expires December 2, 2018 [Page 15] Internet-Draft launch-policy May 2018 Example command: C: C: C: C: C: C: C: EXAMPLE C: ... C: C: C: C: C: C: ... C: C: C: ABC-12345 C: C: When an extended command has been processed successfully, the EPP response is as described in the Registry Mapping. 4. Formal Syntax One schema presented here is the EPP Launch Phase Policy Schema. The formal syntax presented here is a complete schema representation of the object mapping suitable for automated validation of EPP XML instances. The BEGIN and END tags are not part of the schema; they are used to note the beginning and ending of the schema for URI registration purposes. 4.1. Launch Policy Schema BEGIN Extensible Provisioning Protocol v1.0 Launch Phase Policy Extension Schema. Gould Expires December 2, 2018 [Page 16] Internet-Draft launch-policy May 2018 Gould Expires December 2, 2018 [Page 17] Internet-Draft launch-policy May 2018 Gould Expires December 2, 2018 [Page 18] Internet-Draft launch-policy May 2018 Gould Expires December 2, 2018 [Page 19] Internet-Draft launch-policy May 2018 END 5. IANA Considerations 5.1. XML Namespace This document uses URNs to describe XML namespaces and XML schemas conforming to a registry mechanism described in [RFC3688]. Registration request for the launch phase policy namespace: URI: urn:ietf:params:xml:ns:launchPolicy-0.1 Registrant Contact: IESG XML: None. Namespace URIs do not represent an XML specification. Registration request for the launch phase policy XML schema: URI: urn:ietf:params:xml:ns:launchPolicy-0.1 Registrant Contact: IESG XML: See the "Formal Syntax" section of this document. 5.2. EPP Extension Registry The EPP extension described in this document should be registered by the IANA in the EPP Extension Registry described in [RFC7451]. The details of the registration are as follows: Name of Extension: "Launch Phase Policy Extensions Mapping for the Extensible Provisioning Protocol (EPP)" Document status: Standards Track Reference: (insert reference to RFC version of this document) Registrant Name and Email Address: IESG, TLDs: Any IPR Disclosure: None Status: Active Gould Expires December 2, 2018 [Page 20] Internet-Draft launch-policy May 2018 Notes: None 6. Implementation Status TBD 7. Security Considerations The mapping extensions described in this document do not provide any security services beyond those described by EPP [RFC5730] and protocol layers used by EPP. The security considerations described in these other specifications apply to this specification as well. 8. Acknowledgements TBD 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, . [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, . [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Domain Name Mapping", STD 69, RFC 5731, DOI 10.17487/RFC5731, August 2009, . [RFC7848] Lozano, G., "Mark and Signed Mark Objects Mapping", RFC 7848, DOI 10.17487/RFC7848, June 2016, . [RFC8334] Gould, J., Tan, W., and G. Brown, "Launch Phase Mapping for the Extensible Provisioning Protocol (EPP)", RFC 8334, DOI 10.17487/RFC8334, March 2018, . Gould Expires December 2, 2018 [Page 21] Internet-Draft launch-policy May 2018 9.2. Informative References [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, February 2015, . 9.3. URIs [1] http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/ Appendix A. Change History Author's Address James Gould VeriSign, Inc. 12061 Bluemont Way Reston, VA 20190 US Email: jgould@verisign.com URI: http://www.verisigninc.com Gould Expires December 2, 2018 [Page 22]