draft-ietf-idn-idna-02.txt Internationalizing Host Names In Applications (IDNA) Status of this Memo

Similar documents
Request for Comments: 3490 Category: Standards Track IMC & VPNC A. Costello UC Berkeley March 2003

IDN - what s up? Patrik Fältström

IDN - the protocol. Patrik Fältström

October 4, 2000 Expires in six months. SMTP Service Extension for Secure SMTP over TLS. Status of this Memo

draft-ietf-idn-nameprep-07.txt Expires in six months Stringprep Profile for Internationalized Host Names

Expires: October 9, 2005 April 7, 2005

Internet Engineering Task Force (IETF) Updates: 5280 May 2018 Category: Standards Track ISSN:

Intended Category: Standards Track Expires July 2006 January 2006

Network Working Group. Intended status: Standards Track Columbia U. Expires: March 5, 2009 September 1, 2008

Internet Engineering Task Force. Intended Status: Informational. Additional Reserved Top Level Domains draft-chapin-additional-reserved-tlds-00

D. Crocker, Ed. Updates: RFC4871 June 10, 2009 (if approved) Intended status: Standards Track Expires: December 12, 2009

Extensions to DNS for Supporting Internationalized Domain Names

Category: Standards Track October 2006

Network Working Group Internet-Draft October 27, 2007 Intended status: Experimental Expires: April 29, 2008

Request for Comments: 7314 Category: Experimental July 2014 ISSN: Extension Mechanisms for DNS (EDNS) EXPIRE Option.

April 24, 1998 Expires in six months. SMTP Service Extension for Secure SMTP over TLS. Status of this memo

Internet Engineering Task Force (IETF) Request for Comments: 5890 August 2010 Obsoletes: 3490 Category: Standards Track ISSN:

Intended Category: Standards Track Expires March 2006 September 2005

Expiration Date: May 1997 Randy Bush RGnet, Inc. November Clarifications to the DNS Specification. draft-ietf-dnsind-clarify-02.

Network Working Group. Category: Standards Track <draft-aboba-radius-iana-03.txt> 30 March 2003 Updates: RFC IANA Considerations for RADIUS

Intended status: Informational. B. Wyman October 2, 2007

Expires: November 13, 2006 May 12, SMTP extension for internationalized address draft-ietf-eai-smtpext-00.txt. Status of this Memo

N. Brownlee Independent Submissions Editor Expires: April 21, 2013 October 18, 2012

Internet Engineering Task Force. Intended status: Standards Track. June 7, 2014

<draft-freed-charset-reg-02.txt> IANA Charset Registration Procedures. July Status of this Memo

This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026.

Internet Engineering Task Force (IETF) Request for Comments: Category: Best Current Practice ISSN: March 2017

The file name of this version is draft-alvestrand-charset-policy-00.txt

Internet Engineering Task Force (IETF) Request for Comments: 7706 Category: Informational ISSN: November 2015

Category: Standards Track November Registration of Charset and Languages Media Features Tags. Status of this Memo

Intended status: Informational Expires: January 5, 2015 July 4, 2014

Expires: February 25, 2004 August 27, Using the NETCONF Configuration Protocol over Secure Shell (SSH) draft-wasserman-netconf-over-ssh-00.

Network Working Group. Expires: April 30, 2002 October 30, The Refer Method draft-ietf-sip-refer-02. Status of this Memo

Expires in six months 24 October 2004 Obsoletes: RFC , , 3377, 3771

draft-ietf-magma-igmp-proxy-04.txt Brian Haberman, Caspian Networks Hal Sandick, Sheperd Middle School Expire: March, 2004 September, 2003

[MS-HTTPE-Diff]: Hypertext Transfer Protocol (HTTP) Extensions. Intellectual Property Rights Notice for Open Specifications Documentation

Network Working Group Internet-Draft January 25, 2006 Expires: July 29, Feed Rank draft-snell-atompub-feed-index-05.txt. Status of this Memo

Jabber, Inc. August 20, 2004

Expires: 20 May December 2000 Obsoletes: 1779, 2253

Network Working Group. Obsoletes: draft-ietf-dhc-new-opt-msg-00.txt June 2000 Expires December 2000

Hypertext Transfer Protocol: Access Control List draft-zhao-http-acl-00

Service Function Chaining. Intended status: Informational Expires: January 1, 2015 Peng He Ciena July 1, 2014

Request for Comments: 5178 Category: Standards Track Isode Ltd. May 2008

Alis Technologies. UTF-16, an encoding of ISO Status of this Memo

Request for Comments: 3403 Obsoletes: 2915, 2168 October 2002 Category: Standards Track

Internationalized Domain Names

Internet Draft Intended status: Standards Track Expires: January 16, 2019 D. Xiong Chongqing University of Posts and Telecommunications July 15, 2018

Storage Maintenance (StorM) Working Group. Intended status: Standards Track. December 2011

Expires: October 2000 April 2000

Internet Engineering Task Force (IETF) Request for Comments: 6818 Updates: 5280 January 2013 Category: Standards Track ISSN:

draft-ietf-ipsec-nat-t-ike-01.txt W. Dixon, B. Swander Microsoft V. Volpe Cisco Systems L. DiBurro Nortel Networks 23 October 2001

Intended status: Standards Track. Cisco Systems October 22, 2018

Universal Acceptance Technical Perspective. Universal Acceptance

Network Working Group Request for Comments: February 2006

D. Crocker, Ed. Intended status: Standards Track January 25, 2009 Expires: July 29, 2009

Intended status: Standards Track August 15, 2008 Expires: February 16, 2009

Category: Standards Track January 1999

draft-ietf-ipsec-nat-t-ike-00.txt W. Dixon, B. Swander Microsoft V. Volpe Cisco Systems L. DiBurro Nortel Networks 10 June 2001

Expiration Date: August 2003 February Access Control Prefix Router Advertisement Option for IPv6 draft-bellovin-ipv6-accessprefix-01.

July Incremental Zone Transfer in DNS. Status of this Memo

Network Working Group Internet-Draft August 2005 Expires: February 2, Atom Link No Follow draft-snell-atompub-feed-nofollow-00.

Request for Comments: 4329 April 2006 Category: Informational

E. Lewis ARIN September 23, KEY RR Secure Entry Point Flag draft-ietf-dnsext-keyrr-key-signing-flag-09. Status of this Memo

Internet Architecture Board (IAB) Request for Comments: 7994 Category: Informational December 2016 ISSN:

Internet-Draft Intended status: Standards Track Expires: January 1, 2019 June 30, 2018

Obsoletes: RFC May The String Representation of LDAP Search Filters <draft-ietf-ldapbis-filter-01.txt> 1. Status of this Memo

J. Zawinski Netscape Communications July 1998

draft-ietf-smime-cert-06.txt December 14, 1998 Expires in six months S/MIME Version 3 Certificate Handling Status of this memo

Internet Engineering Task Force. Intended status: Standards Track. February 23, 2015

Internet Engineering Task Force (IETF) Request for Comments: 8222 Category: Informational September 2017 ISSN:

A Web Redirection Service for Variant Chinese Domain Name Resolution

draft-ietf-sip-info-method-02.txt February 2000 The SIP INFO Method Status of this Memo

TCP Maintenance and Minor Extensions (tcpm) Intended status: Standards Track Expires: May 1, 2009 October 28, 2008

Intended status: Standards Track. K. Patel Cisco J. Haas Juniper Networks June 30, 2014

Network Working Group Internet-Draft August 2005 Expires: February 2, Atom Link No Follow draft-snell-atompub-feed-nofollow-03.

Expiration Date: July 1997 Randy Bush RGnet, Inc. January Clarifications to the DNS Specification. draft-ietf-dnsind-clarify-04.

Internet Engineering Task Force (IETF) Request for Comments: August 2011

Intended status: Standards Track Expires: April 26, 2012 Y. Ma Beijing University of Posts and Telecommunications October 24, 2011

Expires: January 27, 2007 July 26, SMTP extension for internationalized address draft-ietf-eai-smtpext-01.txt. Status of this Memo

MIP4 Working Group. Generic Notification Message for Mobile IPv4 draft-ietf-mip4-generic-notification-message-16

Internet Engineering Task Force (IETF) Request for Comments: 5987 Category: Standards Track August 2010 ISSN:

Opaque Information Distribution

Operational Security Capabilities for IP Network Infrastructure

Network Working Group. Intended status: Standards Track October 17, 2016 Expires: April 14, 2017

Category: Standards Track December 2003

IP Security Protocol Working Group (IPSEC) draft-ietf-ipsec-nat-t-ike-03.txt. B. Swander Microsoft V. Volpe Cisco Systems 24 June 2002

Using SRP for TLS Authentication

Expires: April 11, 2019 October 8, 2018

Mobile Ad-hoc Networks. Intended status: Informational July 16, 2012 Expires: January 17, 2013

The GCC Pilot Project for Arabic Domain Names..kw.qa.om.sa.bh.ae

Internet Engineering Task Force (IETF) Updates: 6376 January 2018 Category: Standards Track ISSN:

Internet Engineering Task Force (IETF) Obsoletes: 2671, 2673 Category: Standards Track. April 2013

Request for Comments: 3192 Obsoletes: 2304 October 2001 Updates: 2846 Category: Standards Track

Merit Network, Incorporated Bernard Aboba Microsoft March 1997

Request for Comments: 2277 BCP: 18 January 1998 Category: Best Current Practice. IETF Policy on Character Sets and Languages. Status of this Memo

Authentication, Authorization and Accounting Requirements for the Session Initiation Protocol

Expires: December 8, 2011 June 10, IPsec anti-replay algorithm without bit-shifting draft-zhang-ipsecme-anti-replay-01

INTERNET-DRAFT IP Version 6 over PPP February Table of Contents. 1. Introduction Specification of Requirements...

Understanding RDAP and the Role it can Play in RDDS Policy. ICANN October 2018

Network Working Group Request for Comments: 2671 Category: Standards Track August 1999

Transcription:

Internet Draft draft-ietf-idn-idna-02.txt June 16, 2001 Expires in six months Patrik Faltstrom Cisco Paul Hoffman IMC & VPNC Status of this Memo Internationalizing Host Names In Applications (IDNA) 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. Abstract The current DNS infrastructure does not provide a way to use internationalized host names (IDN). This document describes a mechanism that requires no changes to any DNS server or resolver that will allow internationalized host names to be used by end users with changes only to applications. It allows flexibility for user input and display, and assures that host names that have non-ascii characters are not sent to DNS servers or resolvers. 1. Introduction In the discussion of IDN solutions, a great deal of discussion has focused on transition issues and how IDN will work in a world where not all of the components have been updated. Earlier proposed solutions require that user applications, resolvers, and DNS servers to be updated in order for a user to use an internationalized host name. Instead of this requirement for widespread updating of all components, the current proposal is that only user applications be updated; no changes are needed to the DNS protocol or any DNS servers or the resolvers on user s computers. This document is being discussed on the ietf-idna@mail.apps.ietf.org mailing list. To subscribe, send a message to ietf-idna-request@mail.apps.ietf.org with the single word "subscribe" in the body of the message. 1.1 Design philosophy Many proposals for IDN protocols have required that DNS servers be updated to handle internationalized host names. Because of this, the person who wanted to use an internationalized host name had to be sure that their request went to a DNS server that was updated for IDN. Further, that server could only send queries to other servers that had been updated for IDN because the queries contain new protocol elements to differentiate IDN name parts from current host parts. In addition, these proposals require that resolvers must be updated to use the new protocols, and in most cases the applications would need to be updated as well. These proposals would require that the application protocols that use host names as protocol elements to change. This is due to the

assumptions and requirements made in those protocols about the characters that have always been used for host names, and the encoding of those characters. Other proposals for IDN protocols do not require changes to DNS servers but still require changes to most application protocols to handle the new names. Updating all (or even a significant percentage) of the existing servers in the world will be difficult, to say the least. Updating applications, application gateways, and clients to handle changes to the application protocols is also daunting. Because of this, we have designed a protocol that requires no updating of any name servers. IDNA still requires the updating of applications, but only for input and display of names, not for changes to the protocols. Once a user has updated these, she or he could immediately start using internationalized host names. The cost of implementing IDN may thus be much lower, and the speed of implementation could be much higher. 1.2 Terminology The key words "MUST", "SHALL", "REQUIRED", "SHOULD", "RECOMMENDED", and "MAY" in this document are to be interpreted as described in RFC 2119 [RFC2119]. 2. Structural Overview In IDNA, users applications are updated to perform the processing needed to input internationalized host names from users, display internationalized host names that are returned from the DNS to users, and process the inputs and outputs from the DNS. 2.1 Interfaces between DNS components in IDNA The interfaces in IDNA can be represented pictorially as: +------+ User +------+ ^ Input and display: local interface methods (pen, keyboard, glowing phosphorus,...) +----------------- ------------------------------+ v +--------------------------+ Application +--------------------------+ ^ ^ Call to resolver: Application-specific nameprepped ACE protocol: v predefined by the End system +----------+ protocol or defaults Resolver to nameprepped ACE +----------+ ^ +--------------- ---------- ---------------------+ DNS protocol: nameprepped ACE v v +-------------+ +---------------------+ DNS servers Application servers +-------------+ +---------------------+ This document uses the generic term "ACE" for an ASCII-compatible encoding. After the IDN Working Group has chosen a specific ACE, this document will be updated to refer to just that single ACE. Until that time, an implementor creating experimental software must choose an ACE to use, such as RACE or LACE or DUDE. 2.1.1 Entry and display in applications Applications can accept host names using any character set or sets

desired by the application developer, and can display host names in any charset. That is, this protocol does not affect the interface between users and applications. An IDNA-aware application can accept and display internationalized host names in two formats: the internationalized character set(s) supported by the application, and in an ACE. Applications MAY allow ACE input and output, but are not encouraged to do so except as an interface for advanced users, possibly for debugging. ACE encoding is opaque and ugly, and should thus only be exposed to users who absolutely need it. The optional use, especially during a transition period, of ACE encodings in the user interface is described in section 3. Since ACE can be rendered either as the encoded ASCII glyphs or the proper decoded character glyphs, the rendering engine for an application SHOULD have an option for the user to select the preferred display; if it does, rendering the ACE SHOULD NOT be the default. Host names are often stored and transported in many places. For example, they are part of documents such as mail messages and web pages. They are transported in the many parts of many protocols, such as both the control commands and the RFC 2822 body parts of SMTP, and the headers and the body content in HTTP. In protocols and document formats that define how to handle specification or negotiation of charsets, IDN host name parts can be given in any charset allowed by the protocol or document format. If a protocol or document format only allows one charset, IDN host name parts must be given in that charset. All protocols that have host names as protocol elements already have the capacity for handling host names in the ASCII charset. Thus, IDN host name parts can be specified in those protocols in the ACE charset, which is a superset of the ASCII charset that uses the same set of octets. 2.1.2 Applications and resolvers Applications communicate with resolver libraries through a programming interface (API). Typically, the IETF does not standardize APIs, although there are non-standard APIs specified for IPv6. This protocol does not specify a specific API, but instead specifies only the input and output formats of the host names to the resolver library. Before converting the name parts into ACE, the application MUST prepare each name part as specified in [NAMEPREP]. The application MUST use ACE for the name parts that are sent to the resolver, and will always get name parts encoded in ACE from the resolver. IDNA-aware applications MUST be able to work with both non-internationalized host name parts (those that conform to [STD13] and [STD3]) and internationalized host name parts. An IDNA-aware application that is resolving a non-internationalized host name parts MUST NOT do any preparation or conversion to ACE on any non-internationalized name part. 2.1.3 Resolvers and DNS servers An operating system might have a set of libraries for converting host names to nameprepped ACE. The input to such a library might be in one or more charsets that are used in applications (UTF-8 and UTF-16 are likely candidates for almost any operating system, and script-specific charsets are likely for localized operating systems). The output would be either the unchanged name part (if the input already conforms to [STD13] and [STD3]), or the nameprepped, ACE-encoded name part. DNS servers MUST use the ACE format for internationalized host name parts. If a signalling system which makes negotiation possible between old and new DNS clients and servers is standardized in the future, the encoding of the query in the DNS protocol itself can be changed from ACE to something else, such as UTF-8. The question whether or not this should

be used is, however, a separate problem and is not discussed in this memo. 2.1.4 Avoiding exposing users to the raw ACE encoding All applications that might show the user a host name that was received from a gethostbyaddr or other such lookup SHOULD update as soon as possible in order to prevent users from seeing the ACE. However, this is not considered a big problem because so few applications show this type of resolution to users. If an application decodes an ACE name but cannot show all of the characters in the decoded name, such as if the name contains characters that the output system cannot display, the application SHOULD show the name in ACE format instead of displaying the name with the replacement character (U+FFFD). This is to make it easier for the user to transfer the name correctly to other programs using copy-and-paste techniques. Programs that by default show the ACE form when they cannot show all the characters in a name part SHOULD also have a mechanism to show the name with as many characters as possible and replacement characters in the positions where characters cannot be displayed. 2.1.5 Automatic detection of ACE An application which receives a host name SHOULD verify whether or not the host name is in ACE. This is possible by verifying the prefix in each of the labels, and seeing whether or not the label is in ACE. This MUST be done regardless of whether or not the communication channel used (such as keyboard input, cut and paste, application protocol, application payload, and so on) has negotiated ACE. The reason for this requirement is that many applications are not ACE-aware. Applications that are not ACE-aware will send host names in ACE but mark the charset as being US-ASCII or some other charset which has the characters that are valid in [STD13] as a subset. 2.1.6 Bidirectional text In IDNA, bidirectional text is entered and displayed exactly as it is specified in ISO/IEC 10646. Both ISO/IEC 10646 and the Unicode standard have extensive discussion of how to deal with bidirectional text. Any input mechanism and display mechanism that handles characters from bidirectional scripts should already conform to those specifications. Note that the formatting characters that manually change the direction of display are prohibited by nameprep, thus making the task for input and display mechanisms easier. 3. Name Server Considerations It is imperative that there be only one encoding for a particular host name. ACE is an encoding for host name parts that use characters outside those allowed for host names [STD13]. Thus, a primary master name server MUST NOT contain an ACE-encoded name that decodes to a host name that is allowed in [STD13] and [STD3]. Name servers MUST NOT have any records with host names that contain internationalized name parts unless those name parts have be prepared according to [NAMEPREP]. If names that are not legal in [NAMEPREP] are passed to an application, it will result in an error being passed to the application with no error being reported to the name server. Further, no application will ever ask for a name that is not legal in [NAMEPREP] because requests always go through [NAMEPREP] before getting to the DNS. Note that [NAMEPREP] describes how to handle versioning of unallocated codepoints. The host name data in zone files (as specified by section 5 of RFC 1035) MUST be both nameprepped and ACE encoded. 4. Root Server Considerations

Because there are no changes to the DNS protocols, adopting this protocol has no effect on the DNS root servers. 5. Security Considerations Much of the security of the Internet relies on the DNS. Thus, any change to the characteristics of the DNS can change the security of much of the Internet. This memo describes an algorithm which encodes characters that are not valid according to STD3 and STD13 into octet values that are valid. No security issues such as string length increases or new allowed values are introduced by the encoding process or the use of these encoded values, apart from those introduced by the ACE encoding itself. When detecting an ACE-encoded host name, and decoding the ACE, care must be taken that the resulting value(s) are valid characters which can be handled by the application. This is described in more detail in section 2.1.4. Host names are used by users to connect to Internet servers. The security of the Internet would be compromised if a user entering a single internationalized name could be connected to different servers based on different interpretations of the internationalized host name. Because this document normatively refers to [NAMEPREP], it includes the security considerations from that document as well. 6. References [NAMEPREP] Paul Hoffman & Marc Blanchet, "Preparation of Internationalized Host Names", draft-ietf-idn-nameprep. [RFC2119] Scott Bradner, "Key words for use in RFCs to Indicate Requirement Levels", March 1997, RFC 2119. [STD3] Bob Braden, "Requirements for Internet Hosts -- Communication Layers" (RFC 1122) and "Requirements for Internet Hosts -- Application and Support" (RFC 1123), STD 3, October 1989. [STD13] Paul Mockapetris, "Domain names - concepts and facilities" (RFC 1034) and "Domain names - implementation and specification" (RFC 1035, STD 13, November 1987. B. Changes from the -01 draft 1.1: Revised whole section to deal with more proposals. 2.1: Clarified the ASCII art 2.1.1: Changed the section title. Added the last three paragraphs. 2.1.4: Added the second paragraph. 2.1.6: Added this section. 2.1.5: Added this section. 3: Added note in the last sentence of second paragraph. 5: Added second and third paragraphs. C. Authors Addresses Patrik Faltstrom Cisco Systems

Arstaangsvagen 31 J S-117 43 Stockholm Sweden paf@cisco.com Paul Hoffman Internet Mail Consortium and VPN Consortium 127 Segre Place Santa Cruz, CA 95060 USA phoffman@imc.org