Network Working Group J. Sienkiewicz Internet-Draft E. Chung Expires: April 15, 2005 H. Zhou Afilias Canada October 16, 2004 Internationalized Domain Name Mapping for the Extensible Provisioning Protocol draft-sienkiewicz-epp-idn-00 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. 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." The list of current Internet-Drafts can be accessed at http:// www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on April 15, 2005. Copyright Notice Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights." This document and the information contained herein are provided on an AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property Rights (IPR) Statement By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, or will be disclosed, and any of which I become aware will be disclosed, in accordance with RFC 3668. Sienkiewicz Expires April 15, 2005 [Page 1] Internet-Draft EPP-IDN October 2004 Abstract This document describes an Extensible Provisioning Protocol (EPP) extension mapping for the management of Domain Name System (DNS) domain names using Internationalized Domain Name (IDN) identifiers. Specified in XML, this mapping extends the EPP domain name mapping to provide additional features required for IDN domain name processing. 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 [1]. Sienkiewicz Expires April 15, 2005 [Page 2] Internet-Draft EPP-IDN October 2004 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 is provided only to illustrate element relationships and is not a REQUIRED feature of this specification. Table of Contents 1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Changes From Previous Version . . . . . . . . . . . . . . . 4 2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 4 3.1 EPP Query Commands . . . . . . . . . . . . . . . . . . . . 4 3.1.1 EPP Command . . . . . . . . . . . . . . . . . . 4 3.1.2 EPP Command . . . . . . . . . . . . . . . . . . 8 3.1.3 EPP Command . . . . . . . . . . . . . . . . 9 3.2 EPP Transform Commands . . . . . . . . . . . . . . . . . . 9 3.2.1 EPP Command . . . . . . . . . . . . . . . . . 9 3.2.2 EPP Command . . . . . . . . . . . . . . . . . 17 3.2.3 EPP Command . . . . . . . . . . . . . . . . . . 17 3.2.4 EPP Command . . . . . . . . . . . . . . . . 17 3.2.5 EPP Command . . . . . . . . . . . . . . . . . 17 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 17 5. Internationalization Considerations . . . . . . . . . . . . . 19 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 7. Security Considerations . . . . . . . . . . . . . . . . . . . 20 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20 9. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 21 Intellectual Property Statements . . . . . . . . . . . . . . . 22 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 22 Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . 23 1. Introduction This document describes an extension mapping for version 1.0 of the Extensible Provisioning Protocol (EPP). This mapping, an extension of the domain name mapping described in [2], is specified using the Extensible Markup Language (XML) 1.0 as described in [3] and XML Schema notation as described in [4] and [5]. The EPP core protocol specification [6] provides a complete description of EPP command and response structures. A thorough understanding of the base protocol specification is necessary to understand the mapping described in this document. Sienkiewicz Expires April 15, 2005 [Page 3] Internet-Draft EPP-IDN October 2004 Fundamental to the understanding of this extension are the documents that describe the process for Internationalizing Domain Names in Applications (IDNA) [7], and by implication, the format of and process for constructing these strings, (Stringprep [8], nameprep [9], and importantly, punycode [10]). XML is case sensitive. Unless stated otherwise, XML specifications and examples provided in this document MUST be interpreted in the character case presented to develop a conforming implementation. 1.1 Changes From Previous Version (Note to RFC editor: please remove this section completely before publication as an RFC.) This document is an initial release, there is no previous version. 2. Object Attributes This extension adds additional elements to the domain name mapping described in the EPP domain mapping [2]. Only new element descriptions are described here. 3. EPP Command Mapping A detailed description of the EPP syntax and semantics can be found in the EPP core protocol specification [6]. The command mappings described here are specifically for use in implementing internationalized domain name processes 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 Domain name validation logic MUST allow punycode names. If the command contains at least one element with IDN value then in addition to the standard EPP command elements, the command MUST contain an extension element. The element contains the following child elements: Sienkiewicz Expires April 15, 2005 [Page 4] Internet-Draft EPP-IDN October 2004 - An element that contains script name. Example command: C: C: C: C: C: xn--bq-uia.info C: C: C: CLI-1097596300572 C: C: C: de C: C: C: C: A command can contain more than one IDN name to check, in such cases, only a single element SHOULD be specified. Example command specifying multiple IDN names. C: C: C: C: C: xn--oq-xka.info C: xn--bq-uia.info C: C: Sienkiewicz Expires April 15, 2005 [Page 5] Internet-Draft EPP-IDN October 2004 C: CLI-1065207438144 C: C: C: de C: C: C: C: The value of SHALL be used by the server to process all IDN names contained in the same command. An EPP error response MUST be returned for a command that contains at least one element with an IDN value and does not contain the or extension elements as well. Example response when the element is omitted: S: S: S: S: Required parameter missing S: S: 2003:Required parameter missing S:(idn:check) S: S: S: S: CLI-1065207438144 S: SRO-1097598449989 S: S: S: Example response when the element is omitted: S: S: Sienkiewicz Expires April 15, 2005 [Page 6] Internet-Draft EPP-IDN October 2004 S: S: Required parameter missing S: S: 2003:Required parameter missing S:(epp.command.extension.idn:check.idn:script) S: S: S: S: CLI-1065207438144 S: SRO-1097598809161 S: S: S: When a request contains an IDN whose translated punycode value contains character(s) that are not in the script table specified in the element value, the element MUST indicate that the IDN is NOT available. Example response when value has conflict with the value of element: S: S: S: S: Command completed successfully S: S: S: S: S: xn--dn-mja.info S: Character from an invalid script S: S: S: S: S: S: CLI-1065207438144 S: SRO-1097599157873 S: S: S: Sienkiewicz Expires April 15, 2005 [Page 7] Internet-Draft EPP-IDN October 2004 3.1.2 EPP Command Domain name validation logic MUST allow punycode names. XML syntax for domain info response will be modified for IDN domain names. Extension element will be added. The element SHALL contain the following elements: - An element that contains script name. Example response for IDN name: S: S: S: S: Command completed successfully S: S: S: S: xn--bq-uia.info S: D224-LRMS S: S: OTNE-C1 S: OTNE-C2 S: OTNE-C3 S: OTNE-C4 S: S: ns1.valid.info S: ns2.valid.info S: S: ClientA S: ClientA S: 2004-10-12T17:57:41.0Z S: 2006-10-12T17:57:41.0Z S: S: foo-BAR S: S: S: S: Sienkiewicz Expires April 15, 2005 [Page 8] Internet-Draft EPP-IDN October 2004 S: S: de S: S: S: S: CLI-1097604691520 S: SRO-1097604691524 S: S: S: 3.1.3 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [2]. 3.2 EPP Transform Commands 3.2.1 EPP Command Domain name validation logic MUST allow punycode names. EPP request for a non-IDN name that contains IDN extension will be accepted. The IDN extension will be ignored in such case. Example command: C: C: C: C: C: xn--bq-uia.info C: 2 C: C: foo-BAR C: C: Sienkiewicz Expires April 15, 2005 [Page 9] Internet-Draft EPP-IDN October 2004 C: ns1.valid.info C: ns2.valid.info C: C: OTNE-C1 C: OTNE-C2 C: OTNE-C4 C: OTNE-C3 C: C: C: CLI-1097602657409 C: C: C: de C: C: C: C: Example response. S: S: S: S: Command completed successfully S: S: S: S: xn--bq-uia.info S: 2004-10-12T17:57:41.0Z S: 2006-10-12T17:57:41.0Z S: S: S: S: CLI-1097603861301 S: SRW-6011 S: S: S: Sienkiewicz Expires April 15, 2005 [Page 10] Internet-Draft EPP-IDN October 2004 EPP domain create request for an IDN name that has missing extension will return error response with response code 2003 ("Required parameter missing"). Example command with element missing: C: C: C: C: C: xn--bq-uia.info C: 2 C: C: foo-BAR C: C: C: ns1.valid.info C: ns2.valid.info C: C: OTNE-C1 C: OTNE-C2 C: OTNE-C3 C: OTNE-C4 C: C: C: CLI-1088191770366 C: C: Example response for a request with element missing: S: S: S: S: Required parameter missing S: Sienkiewicz Expires April 15, 2005 [Page 11] Internet-Draft EPP-IDN October 2004 S: 2003:Required parameter missing S:(idn:create) S: S: S: S: CLI-1088191770366 S: SRW-6015 S: S: S: EPP domain create request for an IDN name that has missing element in extension will return error response with response code 2003 ("Required parameter missing"). Example command with element missing: C: C: C: C: C: xn--bq-uia.info C: 2 C: C: foo-BAR C: C: C: ns1.valid.info C: ns2.valid.info C: C: OTNE-C1 C: OTNE-C2 C: OTNE-C3 C: OTNE-C4 C: C: C: CLI-1088191770366 C: C: Sienkiewicz Expires April 15, 2005 [Page 12] Internet-Draft EPP-IDN October 2004 C: C: C: C: Example response for a request with element missing: S: S: S: S: Required parameter missing S: S: 2003:Required parameter missing S:(epp.command.extension.idn:create.idn:script) S: S: S: S: CLI-1088191770366 S: SRW-6016 S: S: S: An EPP domain create request for an IDN name MUST NOT contain characters that belong to a script other than that specified in the element. If the IDN name provided contains characters that do not belong to the specified script then the server will return an error response with the response code 2306 ("Parameter value policy error"). In such case the response MUST contain extension element. The element contains the following child elements: - A element that contains the script name that was included in the request - A element that contains more detailed description of the error in the script name. Example command with characters that do not match the specified value: Sienkiewicz Expires April 15, 2005 [Page 13] Internet-Draft EPP-IDN October 2004 C: C: C: C: C: xn--dn-mja.info C: 2 C: C: foo-BAR C: C: C: ns1.valid.info C: ns2.valid.info C: C: OTNE-C1 C: OTNE-C2 C: OTNE-C4 C: OTNE-C3 C: C: C: CLI-1097607403522 C: C: C: de C: C: C: C: Example response for a request with characters that do not match the specified value: S: S: S: S: Parameter value policy error Sienkiewicz Expires April 15, 2005 [Page 14] Internet-Draft EPP-IDN October 2004 S: S: 2306:Parameter value policy error S:(xn--dn-mja.info) S: S: S: S: S: de S: Character from an invalid script S: S: S: S: CLI-1097607403522 S: SRW-6018 S: S: S: EPP domain create request for an IDN name that contains invalid value for element SHALL return error response with response code 2306 ("Parameter value policy error"). In such case the response MUST contain extension element. The element contains the following child element: - A element that contains the script name that was included in the request - A element that contains more detailed description of the error in the script name. Example command with incorrect script name: C: C: C: C: C: xn--bq-uia.info Sienkiewicz Expires April 15, 2005 [Page 15] Internet-Draft EPP-IDN October 2004 C: 2 C: C: foo-BAR C: C: C: ns1.valid.info C: ns2.valid.info C: C: OTNE-C1 C: OTNE-C2 C: OTNE-C3 C: OTNE-C4 C: C: C: CLI-1088191770366 C: C: C: de-AT C: C: C: C: Example response for an invalid script name: S: S: S: S: Parameter value policy error S: S: 2306:Parameter value policy error S:(de-AT) S: S: S: S: S: de-AT S: Invalid script name S: S: S: Sienkiewicz Expires April 15, 2005 [Page 16] Internet-Draft EPP-IDN October 2004 S: CLI-1088191770366 S: SRW-6020 S: S: S: Domain create XML syntax for non-IDN domain names SHALL NOT change. 3.2.2 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [2]. 3.2.3 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [2]. 3.2.4 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [2]. 3.2.5 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [2]. 4. Formal Syntax An EPP object mapping is specified in XML Schema notation. 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. BEGIN Sienkiewicz Expires April 15, 2005 [Page 17] Internet-Draft EPP-IDN October 2004 Extensible Provisioning Protocol v1.0 domain name extension schema for Internationalized Domain Names (IDN) processing. Sienkiewicz Expires April 15, 2005 [Page 18] Internet-Draft EPP-IDN October 2004 END 5. Internationalization Considerations EPP is represented in XML, which provides native support for encoding information using the Unicode character set and its more compact representations including UTF-8 [11]. Conformant XML processors recognize both UTF-8 and UTF-16 [12]. Though XML includes provisions to identify and use other character encodings through use of an "encoding" attribute in an declaration, use of UTF-8 is RECOMMENDED in environments where parser encoding support incompatibility exists. As an extension of the EPP domain mapping [2], the elements, element content, attributes, and attribute values described in this document MUST inherit the internationalization conventions used to represent higher-layer domain and core protocol structures present in an XML instance that includes this extension. Sienkiewicz Expires April 15, 2005 [Page 19] Internet-Draft EPP-IDN October 2004 6. IANA Considerations This document uses URNs to describe XML namespaces and XML schemas conforming to a registry mechanism described in FIXME: Need XREF[8]. Two URI assignments are requested. Registration request for the IDN namespace: URI: urn:ietf:params:xml:ns:idn-1.0 Registrant Contact: See the "Author's Address" section of this document. XML: None. Namespace URIs do not represent an XML specification. Registration request for the IDN XML schema: URI: urn:ietf:params:xml:schema:idn-1.0 Registrant Contact: See the "Author's Address" section of this document. XML: See the "Formal Syntax" section of this document. 7. Security Considerations The mapping extensions described in this document do not provide any security services beyond those described by EPP [6], the EPP domain name mapping [2], and protocol layers used by EPP. The security considerations described in these other specifications apply to this specification as well. 8. References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, BCP 14, March 1997. [2] Hollenbeck, S., "Extensible Provisioning Protocol Domain Name Mapping", RFC 3731, March 2004. [3] Bray, T., Paoli, J., Sperberg-McQueen, C. and E. Maler, "Extensible Markup Language (XML) 1.0 (2nd ed)", W3C REC-xml, October 2000, . Sienkiewicz Expires April 15, 2005 [Page 20] Internet-Draft EPP-IDN October 2004 [4] Thompson, H., Beech, D., Maloney, M. and N. Mendelsohn, "XML Schema Part 1: Structures", W3C REC-xmlschema-1, May 2001, . [5] Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes", W3C REC-xmlschema-2, May 2001, . [6] Hollenbeck, S., "Extensible Provisioning Protocol", draft-ietf-provreg-epp-02 (work in progress), November 2001. [7] Faltstrom, P., Hoffman, P. and A. Costello, "Internationalized Domain Names in Applications (IDNA)", RFC 3454, March 2003. [8] Hoffman, P. and M. Blanchet, "Preparation of Internationalized Strings ("stringprep")", RFC 3454, December 2002. [9] Hoffman, P. and M. Blanchet, "Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN)", RFC 3491, March 2003. [10] Costello, A., "Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)", RFC 3492, March 2003. [11] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 2279, January 1998. [12] Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO 10646", RFC 2781, February 2000. [13] Mealling, M., "The IETF XML Registry", draft-mealling-iana-xmlns-registry-05 (work in progress), June 2003. 9. Authors' Addresses Janusz Sienkiewicz Afilias Canada Corp. 4141 Yonge St. Suite 204 Toronto, Ontario M2P2A8 Canada EMail: janusz@libertyrms.info Sienkiewicz Expires April 15, 2005 [Page 21] Internet-Draft EPP-IDN October 2004 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING Sienkiewicz Expires April 15, 2005 [Page 22] Internet-Draft EPP-IDN October 2004 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Sienkiewicz Expires April 15, 2005 [Page 23]