Internet Engineering Task Force J. Mitchell Internet-Draft C. Wright Intended status: Informational AusRegistry Expires: June 4, 2013 December 2012 Key-Value Mapping for the Extensible Provisioning Protocol (EPP) draft-ar-key-value-epp-mapping-01 Abstract This document describes an Extensible Provisioning Protocol (EPP) extension mapping for the transport of arbitrary data associated with domain names stored in a shared central repository. Status of this Memo This document is an Internet-Draft and is NOT offered in accordance with Section 10 of RFC 2026, and the author does not provide the IETF with any rights other than to publish as an Internet-Draft. 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 June 4, 2013. Mitchell & Wright Expires June 4, 2013 [Page 1] Internet-Draft EPP Key-Value Mapping December 2012 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Key Value Pairs . . . . . . . . . . . . . . . . . . . . . 3 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 4 3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . . 4 3.1.1. EPP Command . . . . . . . . . . . . . . . . . 4 3.1.2. EPP Command . . . . . . . . . . . . . . . . . . 4 3.1.3. EPP Command . . . . . . . . . . . . . . . . 6 3.2. EPP Transform Commands . . . . . . . . . . . . . . . . . . 6 3.2.1. EPP Command . . . . . . . . . . . . . . . . . 6 3.2.2. EPP Command . . . . . . . . . . . . . . . . . 7 3.2.3. EPP Command . . . . . . . . . . . . . . . . . 7 3.2.4. EPP Command . . . . . . . . . . . . . . . . 8 3.2.5. EPP Command . . . . . . . . . . . . . . . . . 8 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 9 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. Normative References . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 Mitchell & Wright Expires June 4, 2013 [Page 2] Internet-Draft EPP Key-Value Mapping December 2012 1. Introduction This document describes an domain mapping for version 1.0 of the Extensible Provisioning Protocol (EPP) that allows for the transport of arbitrary data associated with a domain name. Servers may require additional information to be associated with domain names to support domain name eligibility requirements, or to support transport of data required for specific operations. Formal definition of this addtional data presents a costly solution when information accepted by one server is not likely to be accepted by another server. In such cases this extension may present a cost- effective solution without having to implement several extensions to EPP. 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]. "kv-1.0" is used as an abbreviation for "urn:X-ar:params:xml:ns:kv-1.0". The XML namespace prefix "kv" is used, 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. This document uses ficticous key-values in command and response examples. Servers are required to define their list of acceptable keys and their corresponding values and to publish these requirements to clients using an out-of-band mechanism. 2. Object Attributes This extension adds additional elements to the EPP Domain Name Mapping [RFC5731]. Only those new elements are described here. 2.1. Key Value Pairs Arbitrary data associated with a domain is represented using key- value pairs. Keys identify values, akin to how maps and dictionaries work in programming languages. Lists of related values are grouped together into lists, clearly delineating related information without codifying relationships into key names. Key-value pairs are expressed using an element that contains Mitchell & Wright Expires June 4, 2013 [Page 3] Internet-Draft EPP Key-Value Mapping December 2012 the value to be associated with the domain. A mandatory "key" element identifies the value. Servers SHOULD make available to clients the list of values, and identifying keys, that can be associated with domain objects. Definitions, published using out of band mechanisms, should identify mandatory fields, and restrictions and validations placed on certain values. 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 generic domain extensions via EPP. 3.1. EPP Query Commands EPP 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 to the EPP command or response described in the EPP Domain Name Mapping [RFC5731]. 3.1.2. EPP Command This extension does not add any elements to the EPP command described in the EPP Domain Name Mapping [RFC5731]. However, additional elements are defined for the response. To enable clients to identify the additional information currently associated with a domain object, the respsonse is extended with a element that contains the following child elements: o One or more elements that contain a list of key-value items associated with the domain object, as described in Key Value Pairs (Section 2.1). A "name" attribute MUST be present to identify the name of the key-value list. Example response containing arbitrary key-value pairs Mitchell & Wright Expires June 4, 2013 [Page 4] Internet-Draft EPP Key-Value Mapping December 2012 Command completed successfully xn--ls8h.example EXAMPLE1-REP jd1234 sh8013 sh8013 ns1.example.com ns1.example.net ns1.example.com ns2.example.com ClientX ClientY 1999-04-03T22:00:00.0Z ClientX 1999-12-03T09:00:00.0Z 2005-04-03T22:00:00.0Z 2000-04-08T09:00:00.0Z 2fooBAR 18 092 242 209 Australian Private Company ABC-12345 54322-XYZ Servers MAY restrict all or parital arbitrary data information to Mitchell & Wright Expires June 4, 2013 [Page 5] Internet-Draft EPP Key-Value Mapping December 2012 authorized clients. 3.1.3. EPP Command This extension does not define any extension to the EPP command or response described in the EPP Domain Name Mapping [RFC5731]. 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. 3.2.1. EPP Command This extension defines additional elements for the EPP command to be used in conjunction with the EPP Domain Name Mapping [RFC5731]. To enable clients to associate arbitrary data with domain objects, the command is extended with a element that contains the following child elements: o One or more elements that contain the list of key-value items to be associated with the domain object, as described in Key Value Pairs (Section 2.1). A "name" attribute MUST be present to identify the name of the key-value list. Mitchell & Wright Expires June 4, 2013 [Page 6] Internet-Draft EPP Key-Value Mapping December 2012 Example command: example.tld 2 ns1.example.net ns2.example.net jd1234 sh8013 sh8013 2fooBAR 18 092 242 209 Australian Private Company ABC-12345 3.2.2. EPP Command This extension does not define any extension to the EPP command or response described in the EPP Domain Name Mapping [RFC5731]. 3.2.3. EPP Command This extension does not define any extension to the EPP command or response described in the EPP Domain Name Mapping [RFC5731]. Mitchell & Wright Expires June 4, 2013 [Page 7] Internet-Draft EPP Key-Value Mapping December 2012 3.2.4. EPP Command This extension does not define any extension to the EPP command or response described in the EPP Domain Name Mapping [RFC5731]. 3.2.5. EPP Command This extension defines additional elements for the EPP command to be used in conjunction with the EPP Domain Name Mapping [RFC5731]. To enable clients to modify the arbitrary information associated with a domain object, the command is extended with a element that contains the following child elements: o One or more elements that contain the list of key-value items to be associated with the domain object, as described in Key Value Pairs (Section 2.1). A "name" attribute MUST be present to identify the name of the key-value list. Updates to key-value lists SHOULD be treated as a replace operation; clients SHOULD provide the complete key-value list to remove only an optional value associated with the domain object. Example command: example.com.au 18 092 242 209 Australian Private Company ABC-12345 Mitchell & Wright Expires June 4, 2013 [Page 8] Internet-Draft EPP Key-Value Mapping December 2012 4. Formal Syntax 5. Security Considerations The mapping extensions described in this document do not provide any security services beyond those described by EPP [RFC5730], the EPP Domain Name Mapping [RFC5731], and protocol layers used by EPP. The security considerations described in these other specifications apply to this specification as well. 6. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", STD 69, RFC 5730, August 2009. [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Domain Name Mapping", STD 69, RFC 5731, August 2009. Authors' Addresses James Mitchell AusRegistry 8/10 Queens Road Melbourne, Victoria 3004 AU Email: james.mitchell@ausregistry.com URI: www.ausregistry.com Mitchell & Wright Expires June 4, 2013 [Page 10] Internet-Draft EPP Key-Value Mapping December 2012 Chris Wright AusRegistry 8/10 Queens Road Melbourne, Victoria 3004 AU Email: chris@ausregistry.com URI: www.ausregistry.com Mitchell & Wright Expires June 4, 2013 [Page 11]