Internationalized domain name

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Example of Greek IDN with domain name in non-Latin alphabet: ουτοπία.δπθ.gr

An internationalized domain name (IDN) is an Internet domain name that contains at least one label that is displayed in software applications, in whole or in part, in a language-specific script or alphabet, such as Arabic, Chinese, Cyrillic, Tamil, Hebrew or the Latin alphabet-based characters with diacritics or ligatures, such as French. These writing systems are encoded by computers in multi-byte Unicode. Internationalized domain names are stored in the Domain Name System as ASCII strings using Punycode transcription.

The Domain Name System, which performs a lookup service to translate user-friendly names into network addresses for locating Internet resources, is restricted in practice[1] to the use of ASCII characters, a practical limitation that initially set the standard for acceptable domain names. The internationalization of domain names is a technical solution to translate names written in language-native scripts into an ASCII text representation that is compatible with the Domain Name System. Internationalized domain names can only be used with applications that are specifically designed for such use; they require no changes in the infrastructure of the Internet.

IDN was originally proposed in December 1996 by Martin Dürst[2][3] and implemented in 1998 by Tan Juay Kwang and Leong Kok Yong under the guidance of Tan Tin Wee. After much debate and many competing proposals, a system called Internationalizing Domain Names in Applications (IDNA)[4] was adopted as a standard, and has been implemented in several top-level domains.

In IDNA, the term internationalized domain name means specifically any domain name consisting only of labels to which the IDNA ToASCII algorithm (see below) can be successfully applied. In March 2008, the IETF formed a new IDN working group to update[5] the current IDNA protocol.

In October 2009, the Internet Corporation for Assigned Names and Numbers (ICANN) approved the creation of internationalized country code top-level domains (IDN ccTLDs) in the Internet that use the IDNA standard for native language scripts.[6][7] In May 2010 the first IDN ccTLD were installed in the DNS root zone.[8]

Internationalizing Domain Names in Applications

Internationalizing Domain Names in Applications (IDNA) is a mechanism defined in 2003 for handling internationalized domain names containing non-ASCII characters. These names either are Latin letters with diacritics (ñ, é) or are written in languages or scripts which do not use the Latin alphabet: Arabic, Hangul, Hiragana and Kanji for instance. Although the Domain Name System supports non-ASCII characters, applications such as e-mail and web browsers restrict the characters which can be used as domain names for purposes such as a hostname. Strictly speaking it is the network protocols these applications use that have restrictions on the characters which can be used in domain names, not the applications that have these limitations or the DNS itself. To retain backwards compatibility with the installed base the IETF IDNA Working Group decided that internationalized domain names should be converted to a suitable ASCII-based form that could be handled by web browsers and other user applications. IDNA specifies how this conversion between names written in non-ASCII characters and their ASCII-based representation is performed.

An IDNA-enabled application is able to convert between the internationalized and ASCII representations of a domain name. It uses the ASCII form for DNS lookups but can present the internationalized form to users who presumably prefer to read and write domain names in non-ASCII scripts such as Arabic or Hiragana. Applications that do not support IDNA will not be able to handle domain names with non-ASCII characters, but will still be able to access such domains if given the (usually rather cryptic) ASCII equivalent.

ICANN issued guidelines for the use of IDNA in June 2003, and it was already possible to register .jp domains using this system in July 2003 and .info[9] domains in March 2004. Several other top-level domain registries started accepting registrations in 2004 and 2005. IDN Guidelines were first created[10] in June 2003, and have been updated[11] to respond to phishing concerns in November 2005. An ICANN working group focused on country code domain names at the top level was formed in November 2007[12] and promoted jointly by the country code supporting organization and the Governmental Advisory Committee.

Mozilla 1.4, Netscape 7.1, Opera 7.11 were among the first applications to support IDNA. A browser plugin is available for Internet Explorer 6 to provide IDN support. Internet Explorer 7.0[13][14] and Windows Vista's URL APIs provide native support for IDN.[15]

ToASCII and ToUnicode

The conversions between ASCII and non-ASCII forms of a domain name are accomplished by algorithms called ToASCII and ToUnicode. These algorithms are not applied to the domain name as a whole, but rather to individual labels. For example, if the domain name is www.example.com, then the labels are www, example, and com. ToASCII or ToUnicode are applied to each of these three separately.

The details of these two algorithms are complex, and are specified in RFC 3490. The following gives an overview of their function.

ToASCII leaves unchanged any ASCII label, but will fail if the label is unsuitable for the Domain Name System. If given a label containing at least one non-ASCII character, ToASCII will apply the Nameprep algorithm, which converts the label to lowercase and performs other normalization, and will then translate the result to ASCII using Punycode[16] before prepending the four-character string "xn--".[17] This four-character string is called the ASCII Compatible Encoding (ACE) prefix, and is used to distinguish Punycode encoded labels from ordinary ASCII labels. The ToASCII algorithm can fail in several ways; for example, the final string could exceed the 63-character limit of a DNS name. A label for which ToASCII fails cannot be used in an internationalized domain name.

The function ToUnicode reverses the action of ToASCII, stripping off the ACE prefix and applying the Punycode decode algorithm. It does not reverse the Nameprep processing, since that is merely a normalization and is by nature irreversible. Unlike ToASCII, ToUnicode always succeeds, because it simply returns the original string if decoding fails. In particular, this means that ToUnicode has no effect on a string that does not begin with the ACE prefix.

Example of IDNA encoding

IDNA encoding may be illustrated using the example domain Bücher.ch. “Bücher” is German for “books”, and .ch is the ccTLD of Switzerland. This domain name has two labels, Bücher and ch. The second label is pure ASCII, and is left unchanged. The first label is processed by Nameprep to give bücher, and then converted to Punycode to result in bcher-kva. It is then prefixed with xn-- to produce xn--bcher-kva. The resulting label suitable for use in the DNS is therefore xn--bcher-kva.ch.

Top-level domain implementation

In 2009, ICANN decided to implement a new class of top-level domains, assignable to countries and independent regions, similar to the rules for country code top-level domains. However, the domain names may be any desirable string of characters, symbols, or glyphs in the language-specific, non-Latin alphabet or script of the applicant's language, within certain guidelines to assure sufficient visual uniqueness.

The process of installing IDN country code domains began with a long period of testing in a set of subdomains in the test top-level domain. Eleven domains used language-native scripts or alphabets, such as δοκιμή,[18] meaning test in Greek.

These efforts culminated in the creation of the first internationalized country code top-level domains (IDN ccTLDs) for production use in 2010.

In the Domain Name System, these domains use an ASCII representation consisting of the prefix xn-- followed by the Punycode translation of the Unicode representation of the language-specific alphabet or script glyphs. For example, the Cyrillic name of Russia's IDN ccTLD is рф. In Punycode representation, this is p1ai, and its DNS name is xn--p1ai.

Non-IDNA or non-ICANN registries that support non-ASCII domain names

There are other registries that support non-ASCII domain names. The company ThaiURL.com in Thailand supports .com registrations via its own IDN encoding, ThaiURL. However, since most modern browsers only recognize IDNA/punycode IDNs, ThaiURL-encoded domains must be typed in or linked to in their encoded form, and they will be displayed thus in the address bar. This limits their usefulness; however, they are still valid and universally accessible domains.

ASCII spoofing concerns

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

The use of Unicode in domain names makes it potentially easier to spoof web sites as the visual representation of an IDN string in a web browser may make a spoof site appear indistinguishable to the legitimate site being spoofed, depending on the font used. For example, Unicode character U+0430, Cyrillic small letter a, can look identical to Unicode character U+0061, Latin small letter a, used in English. As a concrete example, using Cyrillic letters а, е (“Ie”/“Ye”, U+0435, looking essentially identical to Latin letter e), Belarusian-Ukrainian і (U+0456, essentially identical to Latin letter i), р (“Er”, U+0440, essentially identical to Latin letter p), we form the URL wіkіреdіа.org (xn--wkd-8cdx9d7hbd.org in encoded form), which is virtually indistinguishable from the visual representation of the legitimate wikipedia.org (possibly depending on fonts).

Top-level domains accepting IDN registration

Many top-level domains have started to accept internationalized domain name registrations at the second or lower levels.

DotAsia, the registrar for the TLD Asia, conducted a 70-day sunrise period starting May 11, 2011 for second-level domain registrations in the Chinese, Japanese and Korean scripts.[19]

Timeline

  • 1996-12: Martin Dürst's original Internet Draft proposing UTF5 (the first example of what is known today as an ASCII-compatible encoding (ACE)) – UTF-5 was first defined by Martin Dürst at the University of Zürich[20][21][22]
  • 1998-03: Early Research on IDN at National University of Singapore (NUS), Center for Internet Research (formerly Internet Research and Development Unit – IRDU) led by Prof. Tan Tin Wee (T.W.Tan) (IDN Project team – Tan Juay Kwang and Leong Kok Yong) and subsequently continued under a team at Bioinformatrix Pte. Ltd. (BIX Pte. Ltd.) – an NUS spin-off company led by Prof. S. Subbiah.
  • 1998-07: Geneva INET'98 conference with a BoF discussion on iDNS and APNG General Meeting and Working Group meeting.
  • 1998-07: Asia Pacific Networking Group (APNG, now still in existence[23] and distinct from a gathering known as APSTAR)[24] iDNS Working Group formed.[25]
  • 1998-10: James Seng, a former student of Tan Tin Wee at Sheares Hall, NUS, and student researcher at Technet and IRDU, Computer Centre, NUS, was recruited by CEO S. Subbiah to lead further IDN development at BIX Pte. Ltd.
  • 1999-02: iDNS Testbed launched by BIX Pte. Ltd. under the auspices of APNG with participation from CNNIC, JPNIC, KRNIC, TWNIC, THNIC, HKNIC and SGNIC led by James Seng[26]
  • 1999-02: Presentation of Report on IDN at Joint APNG-APTLD meeting, at APRICOT'99
  • 1999-03: Endorsement of the IDN Report at APNG General Meeting 1 March 1999.
  • 1999-06: Grant application by APNG jointly with the Centre for Internet Research (CIR), National University of Singapore, to the International Development Research Center (IDRC), a Canadian Government funded international organisation to work on IDN for IPv6. This APNG Project was funded under the Pan Asia R&D Grant administered on behalf of IDRC by the Canadian Committee on Occupational Health and Safety (CCOHS). Principal Investigator: Tan Tin Wee of National University of Singapore.[27]
  • 1999-07 Tout, Walid R. (WALID Inc.) Filed IDNA patent application number US1999000358043 Method and system for internationalizing domain names. Published 2001-01-30[28]
  • 1999-07: Internet Draft on UTF5 by James Seng, Martin Dürst and Tan Tin Wee.[29] Renewed 2000.[30]
  • 1999-08: APTLD and APNG forms a working group to look into IDN issues chaired by Kilnam Chon.[31]
  • 1999-10: BIX Pte. Ltd. and National University of Singapore together with New York Venture Capital investors, General Atlantic Partners, spun off the IDN effort into 2 new Singapore companies – i-DNS.net International Inc. and i-Email.net Pte. Ltd. that created the first commercial implementation of an IDN Solution for both domain names and IDN email addresses respectively.
  • 1999-11: IETF IDN Birds-of-Feather in Washington was initiated by i-DNS.net at the request of IETF officials.
  • 1999-12: i-DNS.net InternationalPte. Ltd. launched the first commercial IDN. It was in Taiwan and in Chinese characters under the top-level IDN TLD ".gongsi" (meaning loosely ".com") with endorsement by the Minister of Communications of Taiwan and some major Taiwanese ISPs with reports of over 200 000 names sold in a week in Taiwan, Hong Kong, Singapore, Malaysia, China, Australia and USA.
  • Late 1999: Kilnam Chon initiates Task Force on IDNS which led to formation of MINC, the Multilingual Internet Names Consortium.[32]
  • 2000-01: IETF IDN Working Group formed chaired by James Seng and Marc Blanchet
  • 2000-01: The second ever commercial IDN launch was IDN TLDs in the Tamil Language, corresponding to .com, .net, .org, and .edu. These were launched in India with IT Ministry support by i-DNS.net International.
  • 2000-02: Multilingual Internet Names Consortium(MINC) Proposal BoF at IETF Adelaide.[33]
  • 2000-03: APRICOT 2000 Multilingual DNS session.[34]
  • 2000-04: WALID Inc. (with IDNA patent pending application 6182148) started Registration & Resolving Multilingual Domain Names.
  • 2000-05: Interoperability Testing WG, MINC meeting. San Francisco, chaired by Bill Manning and Y. Yoneya 12 May 2000.[35]
  • 2000-06: Inaugural Launch of the Multilingual Internet Names Consortium (MINC) in Seoul[36] to drive the collaborative roll-out of IDN starting from the Asia Pacific.[37]
  • 2000-07: Joint Engineering TaskForce (JET) initiated in Yokohama to study technical issues led by JPNIC (K.Konishi)and TWNIC (Kenny Huang)
  • 2000-07: Official Formation of CDNC Chinese Domain Name Consortium to resolve issues related to and to deploy Han Character domain names, founded by CNNIC, TWNIC, HKNIC and MONIC in May 2000.[38][39]
  • 2001-03: ICANN Board IDN Working Group formed
  • 2001-07: Japanese Domain Name Association : JDNA Launch Ceremony (July 13, 2001) in Tokyo, Japan.
  • 2001-07: Urdu Internet Names System (July 28, 2001) in Islamabad, Pakistan, Organised Jointly by SDNP and MINC.[40]
  • 2001-07: Presentation on IDN to the Committee Meeting of the Computer Science and Telecommunications Board, National Academies USA (JULY 11–13, 2001) at University of California School of Information Management and Systems, Berkeley, CA.[41]
  • 2001-08: MINC presentation and outreach at the Asia Pacific Advanced Network annual conference, Penang, Malaysia 20 August 2001
  • 2001-10: Joint MINC-CDNC Meeting in Beijing 18–20 October 2001
  • 2001-11: ICANN IDN Committee formed
  • 2001-12: Joint ITU-WIPO Symposium on Multilingual Domain Names organised in association with MINC, 6–7 Dec 2001, International Conference Center, Geneva.
  • 2003-01: Free implementation of StringPrep, Punycode, and IDNA release in GNU Libidn.
  • 2003-03: Publication of RFC 3454, RFC 3490, RFC 3491 and RFC 3492
  • 2003-06: Publication of ICANN IDN Guidelines for registries Adopted by .cn, .info, .jp, .org, and .tw registries.
  • 2004-05: Publication of RFC 3743, Joint Engineering Team (JET) Guidelines for Internationalized Domain Names (IDN) Registration and Administration for Chinese, Japanese, and Korean
  • 2005-03: First Study Group 17 of ITU-T meeting on Internationalized Domain Names.[42]
  • 2005-05: .IN ccTLD (India) creates expert IDN Working Group to create solutions for 22 official languages
  • 2006-04: ITU Study Group 17 meeting in Korea gave final approval to the Question on Internationalized Domain Names.[43]
  • 2006-06: Workshop on IDN at ICANN meeting at Marrakech, Morocco
  • 2006-11: ICANN GNSO IDN Working Group created to discuss policy implications of IDN TLDs. Ram Mohan elected Chair of the IDN Working Group.[44]
  • 2006-12: ICANN meeting at São Paulo discusses status of lab tests of IDNs within the root.
  • 2007-01: Tamil and Malayalam variant table work completed by India's C-DAC and Afilias
  • 2007-03: ICANN GNSO IDN Working Group completes work, Ram Mohan presents report at ICANN Lisboa meeting.[45]
  • 2007-10: Eleven IDNA top-level domains were added to the root nameservers in order to evaluate the use of IDNA at the top level of the DNS.[46][47]
  • 2008-01: ICANN: Successful Evaluations of .test IDN TLDs [48]
  • 2008-04: IETF IDNAbis WG chaired by Vint Cerf continues the work to update IDNA [49]
  • 2008-06: ICANN board votes to develop final fast-track implementation proposal for a limited number of IDN ccTLDS.[50]
  • 2008-10: ICANN Seeks Interest in IDN ccTLD Fast-Track Process [51]
  • 2009-09: ICANN puts IDN ccTLD proposal on agenda for Seoul meeting in October 2009[52]
  • 2009-10: ICANN approves the registration of IDN names in the root of the DNS through the IDN ccTLD Fast-Track process at its meeting in Seoul, Oct. 26–30, 2009.[53]
  • 2010-01: ICANN announces that Egypt, the Russian Federation, Saudi Arabia, and the United Arab Emirates were the first countries to have passed the Fast Track String Evaluation within the IDN ccTLD domain application process.[54]
  • 2010-05: The first implementations go live. They are the ccTLDs in the Arabic alphabet for Egypt, Saudi Arabia and the United Arab Emirates.[8]
  • 2010-08: The IETF publishes the updated "IDNA2008" specifications as RFC 5890 - 5894

See also

References

  1. RFC 2181, Clarifications to the DNS Specification: section 11 explicitly allows any binary string
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. RFC 3490, IDN in Applications, Faltstrom, Hoffman, Costello, Internet Engineering Task Force (2003)
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. 8.0 8.1 Lua error in package.lua at line 80: module 'strict' not found.
  9. Mohan, Ram, German IDN, German Language Table, March 2003
  10. Dam, Mohan, Karp, Kane & Hotta, IDN Guidelines 1.0, ICANN, June 2003
  11. Karp, Mohan, Dam, Kane, Hotta, El Bashir, IDN Guidelines 2.0, ICANN, November 2005
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. What's New in Internet Explorer 7
  14. International Domain Name Support in Internet Explorer 7
  15. Handling Internationalized Domain Names (IDNs)
  16. RFC 3492, Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA), A. Costello, The Internet Society (March 2003)
  17. IANA e-mails explaining the final choice of ACE prefix
  18. IANA Report on Delegation of Eleven Evaluative Internationalised Top-Level Domains
  19. Dot-Asia releases IDN dates, Managing Internet IP, April 14, 2011.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. http://archive.minc.org/about/history/
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. [1] Archived April 22, 2006 at the Wayback Machine
  26. [2] Archived August 23, 2003 at the Wayback Machine
  27. [3] Archived August 11, 2006 at the Wayback Machine
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. [4] Archived August 23, 2003 at the Wayback Machine
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. [5] Archived November 10, 2004 at the Wayback Machine
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. [6] Archived January 26, 2004 at the Wayback Machine
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. urduworkshop.sdnpk.org
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Mohan, Ram, GNSO IDN Working Group, Outcomes Report (PDF), ICANN
  46. On Its Way: One of the Biggest Changes to the Internet
  47. My Name, My Language, My Internet: IDN Test Goes Live
  48. Successful Evaluations of .test IDN TLDs
  49. IDNAbis overview (2008)
  50. ICANN - Paris/IDN CCTLD discussion - Wiki
  51. ICANN Seeks Interest in IDN ccTLD Fast-Track Process
  52. Proposed Final Implementation Plan: IDN ccTLD Fast Track Process, 30 September 2009
  53. Regulator approves multi-lingual web addresses, Silicon Republic, 30.10.2009
  54. Lua error in package.lua at line 80: module 'strict' not found.

External links