IDN Edmon Chung & David Leung Internet Draft Neteka Inc. Intended Category: Informational June 2002 Internationalized Domain Name Transition (IDNX) STATUS OF THIS MEMO This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 except that the right to produce derivative works is not granted. 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 reader is cautioned not to depend on the values that appear in examples to be current or complete, since their purpose is primarily educational. Distribution of this memo is unlimited. 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 This document describes a strategy for domain name server operators to prepare and transition their services for multilingual domain names (IDN û Internationalized Domain Names). The IDNX approach accepts that users with non-IDN aware applications will be attempting to access multilingual domain names. Hence it is the registry or domain operator's responsibility to provide an IDN solution that resolves these issues to make it a seamless transition experience for technically unsophisticated users. In essence, the IDNX approach embraces a complementary server-side implementation to smooth the transition. IDNX compliant domain servers will successfully resolve IDN requests sent via non-IDN aware applications, whether they are formatted in local encoding, UTF-8 or an identifiable variant. The IDNX approach also utilizes a dynamic CNAME mechanism to provision for the sub-delegation of multilingual domain names to hosts running non-IDN aware DNS servers. Chung & Leung [Page 1] IDNX IDN Transition June 2002 Table of Contents Abstract...........................................................1 1. Introduction....................................................2 1.1 Terminology....................................................2 1.2 Assumptions....................................................2 2. Common Misconceptions & The IDNX Premise........................2 3. The reality of a Purebred IDNA Approach.........................3 3.1 Lengthy Transition & User Confusion............................4 3.2 Registry Responsibilities......................................5 4. Complementary Server-end Brute Force Resolution.................5 4.1 Resolving Domain Names.........................................5 4.2 Extent of Resolution...........................................6 4.3 Ambiguity Resolution...........................................6 4.4 Complementing IDNA.............................................7 5. Delegating Multilingual Domain Names............................7 5.1 Dynamic CNAME..................................................7 5.2 Setting up a Multilingual Domain Name at the Registry..........8 5.3 Setting up a Multilingual Domain Zone at the Host..............9 5.4 Complementing IDNA.............................................9 6. Security Considerations.........................................9 7. Intellectual Property Considerations............................9 8. References.....................................................10 1. Introduction During the lengthy discussion at the IETF IDN workgroup, the question about time-to-deployment is often being raised and considered a critical consideration. However little word was said on any actual solid transition path towards IDN. This document will provide a comprehensive guide to the issues surrounding the deployment as well as information on resolving them during the transition period. 1.1 Terminology The key words "MUST", "SHALL", "REQUIRED", "SHOULD", "RECOMMENDED", and "MAY" in this document are to be interpreted as described in RFC 2119 [RFC2119]. 1.2 Assumptions This document assumes that the reader has basic knowledge of the DNS and IDN. For more information on the IDN discussions and background knowledge checkout: http://neteka.com/en/pages/products/position.html 2. Common Misconceptions & The IDNX Premise There is a common misconception among domain registries and registrars that once a proposed IETF standard (in the form of an RFC: Request for Comments) for multilingual and Internationalized domain names (IDNÆs) is published; Registries will immediately be able to accept registrations and deliver a working multilingual domain names Chung & Leung [Page 2] IDNX IDN Transition June 2002 to end-users. In fact, the publishing of RFCs for IDN is but the beginning of a long transition towards a common and universal multilingual namespace. Another common misconception is that a server-end approach would cause a lengthier transition. That however is only based on a server protocol overhaul for IDN and not the use of a server-end transitory solution. IDNX is specifically designed for the transition. The premises of IDNX are: 1. To support the adoption of the open IDN standard. 2. To present a working solution that provides a seamless transition to the IDN standard. 3. Understanding that the client only approach to IDN will not work speedily because there is no effective distribution method and will result in low initial acceptance and accessibility, causing customer confusion, dissatisfaction, customer support issues and ultimately slower adoption. 4. Be fully compliant with the IDN standard by preparing the registry for multilingual domain requests sent via existing applications as well as upgraded IDN (Internationalized Domain Names) aware applications; 5. It accepts and addresses the fact that multilingual domain requests will be successfully sent to the registry from existing software and will resolve those requests instead of avoid them; 6. Provide a solution that will make multilingual domain names functional immediately; 7. To allow the host for a multilingual domain name to use an existing (BIND, etc.) DNS software by using only an ACE record (only registry Servers need be updated or supplemented); 8. To complement a client end approach with a transitional strategy on the server end; In short, we understand that a server side approach to IDN is a crucial component for the successful deployment of a Multilingual Registry to ensure accessibility to multilingual domain names and the seamless migration to the IDN standard. This document will outline the approaches to the resolving of an IDN and how the IDNX solution can both accelerate adoption and reduce the risk of deployment of the IDN standard for registries. 3. The reality of a Purebred IDNA Approach Simply put, ACE is a process whereby multilingual domain names are converted into an alphanumeric string containing only A-Z, 0-9 and hyphens ô-ô (e.g. bq--ad9ebbvfnqerv.com). IDNA mandates that this transformation take place before an application, for example the browser, sends a DNS request over the Internet to a registry name server. Chung & Leung [Page 3] IDNX IDN Transition June 2002 Success of a ôClientô only approach has two inherent pre-conditions; 1. Firstly, all software programs that interact with a domain name MUST be upgraded with the ACE standard (browsers, email applications, html editors, audio/video streaming applications, word processors, operating system tools, ftp agents, etc.) before the prescribed IDN system would function universally; and 2. The success of IDNÆs will depend on the successful propagation of the client software, which will be highly dependant on a) the successful dustribution of client plug-in in the short-term and b) the incorporation of the standard in next generations of application software (e.g. IE ad Outlook) 3.1 Lengthy Transition & User Confusion A key concern with respect to a client only approach to IDN is that there are simply no efficient or effective means to distribute the client plug-ins. Companies, who have been dedicated advocates of the client approach to multilingual domain names failed to achieve a critical mass of adoption of their respective client software even with aggressive promotion for over 2 years now. And, the recent demise of RealNames has made it difficult for registries that elected to align their IDN strategy with RealNamesÆ anticipated strategy of being a launch pad for client distribution. Furthermore, even if we assume that a dominant software provider, such as Microsoft, with their stranglehold on the browser and email client market, was to introduce a new version of its Internet Explorer and Outlook line of products with the IDNA client built in, it will still take a considerable amount of time before these new versions reach the majority of desktops around the Internet. Using Microsoft IE 6.0 as a yardstick for new browser adoption rates, which yielded an eye-popping 36% penetration within 9 months of its release, the industry is still effectively looking at a minimum of 24-36 months or more before a critical mass of Internet users will have adopted an IDN standard-ready-browser. That is not taking into consideration the lead-time for Microsoft to release the next version of their software, let alone whether IDN will make the cut for its next version, and that the IDNA components are stable. This will realistically add another 12 months to the process. Under some very realistic assumptions, even if Microsoft incorporates the IETF standard into the next version of Internet Explorer, less than half of the worldwide Internet users will have a browser that supports the IETF standard by the end of 2004. In short, even if third party software vendors like Microsoft do adopt the standard and Registries like VeriSign do put effort in promoting a client plug-in, these combined efforts will still not achieve any meaningful universality in 24-36 months and beyond. Finally, the client side approach to internationalized domains is especially susceptible to client plug-in software conflicts as Chung & Leung [Page 4] IDNX IDN Transition June 2002 providers scramble to push out these plug-in software applications. Client plug-in providers may purposefully or inadvertently interfere with how the browsers handle multilingual characters causing greater confusion. To summarize, the purebred client approach requires no changes to the DNS infrastructure but does require fast and efficient distribution of client software that supports the standard û as we have demonstrated above this will be difficult to achieve. Registries that cannot guarantee almost universal access to multilingual domains from the start will likely experience support headaches and many dissatisfied customers who are confused and frustrated because their multilingual domain names do not work. Further, without universal access the value of multilingual domains will be compromised. 3.2 Registry Responsibilities Because the average Internet user is not expected to be technically sophisticated and know that they have to upgrade their existing applications (such as the browser) before using multilingual domain names, it will become the registryÆs responsibility to provide a multilingual domain deployment that is transparent to its users. In other words, the registry should be prepared to accept and resolve multilingual domain requests from users with existing software when they deploy and offer multilingual domain registrations to registrants. 4. Complementary Server-end Brute Force Resolution Multilingual domain name requests sent by existing software (browsers, etc.) will reach the registry server. Whether the registry decides to resolve the name or not is the relevant question. Server side solutions that resolve these domain requests provide an easy transition to the IETF standard and user-friendly approach to implementing multilingual domains. Client-only approaches that are likely to result initially in lower resolution rates, and greater customer confusion and are likely to cause support nightmares. 4.1 Resolving Domain Names In general, there are three types of IDN requests that a registry server will receive: 1. Domain in the form of UTF8 encoding; 2. Domain in the form of its local encoding (GB, Big-5, JIS, KSC, ISO8859-1..13 etc.); 3. Domain is in an ACE (ASCII Compatible Encoding) format. Each of these types includes both the possibility that the received request is in its pure form or that it is a variant of the type. Because the application (browser or the operating system) was not designed for multilingual domain names, even though it does send out the domain request, it often tampers with the characters before sending, causing the advent of a variant being generated. Chung & Leung [Page 5] IDNX IDN Transition June 2002 4.2 Extent of Resolution Type 1 requests, where a domain is sent in the form of UTF8 encoded characters, are generally received from more recent versions of browsers and operating platforms. These include Microsoft Internet Explorer 5 and above, Netscape 6 and above and applications based on the Windows 2000 or XP platform. These applications were designed to deal with multilingual characters using Unicode, however, because it was not specifically programmed for IDNs, it sometimes malfunction when presented with such. The result is that a variant of original UTF8 character is formed and sent to the DNS. Type 2 requests, where a domain is sent in the form of local encoded characters (GB, Big-5, JIS, KSC, ISO8859-1..13, etc.), are generally received from earlier versions of browsers and operating platforms. These include Microsoft Internet Explorer 4, Netscape 4 most other applications based on the Windows 98 or earlier platform. These applications were not designed to deal with multilingual characters using Unicode at all and therefore will be sending out the IDN in its local encoding. Mostly, the domain is also not tampered with before sending; therefore a pure local encoding may be received. However under some platforms and circumstances, it will also try to reinterpret a multilingual domain name. The result is that a variant of original local encoded character is formed and sent to the DNS. Type 3 requests, where a domain is sent in the form of ACE encoded characters (RACE, DUDE, UTF5, AMC-Z, etc.), means that the application has been upgraded with an IDN client. Because of the evolving standard depending on the version or provider of the client, the type of ACE string may be different. Additionally, these client plug-ins are susceptible to buggy code, as they are being created as beta products by providers experimenting with the evolving IDN standard. Misbehaviors caused by browsers and operating systems, which are not taken into consideration by the client also gives way to the creation of variants in ACE formats. Even though variants are created as a derivation form the pure form, these variations are consistent and predictable, and therefore can be resolved definitively and uniquely. There is no guessing involved. An IDNX capable server could be designed to handle both requests sent in its pure form as well as its variants from the three types of multilingual domain name requests. The extent of the coverage is only dependent on the extent of research an implementer has put on the subject and their understanding of the IDN issues. 4.3 Ambiguity Resolution Another concern is for character encoding conflicts between the various 8-bit encoding schemes (including UTF8 and local encoding schemes). The IDNX solution suggests the handling of these issues at the point of registration. On the registration side, the domain name is definitively registered using Unicode, regardless of whether Unicode or local encoding was used as input. The desired domain name Chung & Leung [Page 6] IDNX IDN Transition June 2002 is confirmed with the user at the interface, ensuring that the name registered is accurate. During the availability search, encoding conflict is checked to ensure no existing domain name caused an encoding conflict with the requested domain. In essence, it SHOULD maintain uniqueness of a codepoint string regardless of its original encoding scheme. The system SHOULD reject domain names on a first come first serve basis for domains that will cause conflict with any local encoding or UTF8 string (or variants if applicable). By taking care of both the domain registration and the resolution side at a domain registry, IDNX can ensure a complete solution and extensive coverage for multilingual domain resolution. Not only will users with IDN aware plug-ins be able to access the multilingual domain names offered by registries or domain operators with IDNX, users who are using existing software, existing browsers will also be able to successfully access these names, making it a truly seamless and transparent transition. 4.4 Complementing IDNA To complement the propagation of IDNA clients, IDNX servers could also improve the download experience by dynamically prompting the user for download when the first tries to access a multilingual domain name. Because the IDNX solution includes a server-end deployment, the server could be configured to act as a channel for the IDN client at the point of access to multilingual domain names. In essence, with an IDNX capable server, the registry would be able to successfully intercept multilingual domain requests and offer the user the option to download an IDN client plug-in. If the user chooses to download the plug-in, then the domain would be resolved using the ACE format. If the user declines the option to download, IDNX, preserving the seamless resolution experience for the end-user, would still resolve the domain. 5. Delegating Multilingual Domain Names Besides being backward compatible with existing client side applications, the IDNX solution also intends to make it backward compatible for name servers hosting delegated multilingual domain names. Besides resolving the IDNs, the other biggest challenge for a registry in rolling out multilingual domain names is how domain registrants could host it. With IDNX deployed at the registry level, the delegated domain hosts SHOULD simply use their existing name server (BIND, etc.) and load in the long term ACE as the domain. They could also further delegate sub-domains to other hosts, just like with the current English only domain names. 5.1 Dynamic CNAME The ability to sub-delegate multilingual domain names to ACE only hosts is achieved by using a dynamic CNAME mechanism to glue the Chung & Leung [Page 7] IDNX IDN Transition June 2002 multilingual domain name to the long term ACE equivalent at the registry DNS server. The following is a brief explanation on how the dynamic CNAME SHOULD work: - Application sends www..example to DNS - .example Registry responds with: www..example CNAME www.xx--ACE.example - Application then uses www.xx--ACE.example to query the host - Therefore the host will only have to setup the xx--ACE.example zone While the registrant for a multilingual domain names will be able to host their names with their existing DNS server software and be able to create English sub-domains from it, if multilingual sub-domains are desired, then the registrant SHOULD also make their system IDNX capable. 5.2 Setting up a Multilingual Domain Name at the Registry The concept of Dynamic CNAME is relatively simple, imagine the multilingual domain name being setup at the registry as: *..example IN CNAME *.xx--ACE.example xx--ACE.example IN NS ns1.xx--ACE.example An IDNX compatible DNS will therefore successfully provide the requestor the corresponding ACE record of a multilingual domain request via a CNAME response, which is supported by regular DNS resolvers. In essence, no matter what the sub-domains may be for the .example domain, it will be successfully sub-delegated to the host server in its ACE name. The setup of the different types of possible requests and variants could also be conceptually imagined to be set up as: *..example IN CNAME *.xx--ACE.example *..example IN CNAME *.xx--ACE.example *..example IN CNAME *.xx--ACE.example The actual implementation of an IDNX compatible server however may cause the setup to be different. For example, the implementation SHOULD make the forking of the variants transparent to the zone administrator, so the administrator only needs to provide one definitive record, for example simply: xx--ACE.example IN NS ns1.xx--ACE.example Upon loading the zone file, the IDNX server should identify the xx-- ACE.example domain as a multilingual domain and fork the variants out automatically for resolution purposes. Chung & Leung [Page 8] IDNX IDN Transition June 2002 5.3 Setting up a Multilingual Domain Zone at the Host The multilingual domain name will simply be setup as a regular English only domain name with the ACE record. For example: xx--ACE.example IN SOA ns1.xx--ACE.example dnsmaster.xx ( 2002062400 1800 900 86400 3600 ) NS ns1.xx--ACE.example MX 0 mail.xx--ACE.example ns1 A 123.4.5.6 www A 123.4.5.7 mail A 123.4.5.8 As you may see, it is exactly identical to what you would do for setting up an English only domain. 5.4 Complementing IDNA Furthermore, because the IDNX architecture for registries allows for the delegation of IDNs in ACE format to non-IDN aware host servers, this again complements the evolving client side standard whereby the hosts do not necessarily have to upgrade their system for multilingual domains. 6. Security Considerations This document does not talk about DNS security issues, and it is believed that the proposal does not introduce additional security problems not already existent and/or anticipated by adding multilingual characters to DNS and/or using ACE. Although some may argue that multilingual characters create more ambiguity issues and hence are more susceptible to confusion and attacks, it is actually no more problematic than issues brought about by the use of the letter ôOö and the digit ô0ö or the letter ôIö and the digit ô1ö. Because DNSSEC provides coverage for wildcard records, the Dynamic CNAME feature will also not cause any additional security concerns. 7. Intellectual Property Considerations It is the intention of Neteka to submit the elements of the Neteka multilingual domain name server solution to IETF for review, comment and/or standardization. Neteka Inc. has applied for one or more patents on the technology related to multilingual domain name server software and multilingual email server software suite. If a standard is adopted by IETF and Chung & Leung [Page 9] IDNX IDN Transition June 2002 any patents are issued to Neteka with claims that are necessary for practicing the standard, any party will be able to obtain the right to implement, use and distribute the technology or works when implementing, using or distributing technology based upon the specific specifications under fair, reasonable and non-discriminatory terms. 8. References [IDNA] Internationalizing Domain Names in Applications, draft-ietf-idn-idna, Feb 2002, Patrik Faltstrom, Paul Hoffman, Adam M. Costella [PUNYCODE] Punycode: An encoding of Unicode for use with IDNA, draft-ietf-idn-punycode, Feb 2002, Adam M. Costella [STRINGPREP]Preparation of Internationalized Strings, draft-hoffman-stringprep, Feb 2002, Paul Hoffman, Marc Blanchet [NAMEPREP] Nameprep: A Stringprep Profile for Internationalized Domain Names, draft-ietf-idn-nameprep, Feb 2002, Paul Hoffman, Marc Blanchet Authors: Edmon Chung Neteka Inc. Suite 100, 243 College St. Toronto, Ontario, Canada M5T 1R5 edmon@neteka.com David Leung Neteka Inc. Suite 100, 243 College St. Toronto, Ontario, Canada M5T 1R5 david@neteka.com Chung & Leung [Page 10]