i18n and L10n: 5 - International Domain Names

Article about International Domain Names and Punycode for Domain Name Servers

Author: Matthew Wittering | Published: 21st July 2009

Now that I have written several articles on Internationalization and Localization I would like to consider an interesting topic which draws upon several different topics and technologies. I intend to explain upon the conclusion of this weblog International Domain Names. This is a complicated topic, so whatever your knowledge about Domain Name Servers and the Internet I think we should start from the beginning.

Domain Name Servers

The purpose of the Domain Name Server is to convert the human readable address such as http://www.matthewwittering.co.uk/ to the relevant machine through the magic of the TCP/IP protocol. This transaction will include your the url you specified and information necessary to return the selected data.

The Domain Name system was invented by Paul Mockapetris in 1983 at the request of Jon Postel. In 1984, four Berkeley students; Douglas Terry, Mark Painter, David Riggle and Songnian Zhou - programmed the first implementation of the DNS for UNIX machines. Despite the work completed by the four programmers, Kevin Dunlap in 1985 of DEC significantly re-wrote the DNS implementation and renamed it BIND - Berkeley Internet Name Domain.

To date BIND is in version nine and comes packaged with UNIX and LINUX operating systems. This history lesson is all well and good you may think but what is the impact of the BIND project and the Domain Name Server for the Internationalization and hence Localization.

BIND has considerable impact on the Localization of domain names. For security reasons Domain Name Servers will only accept a subset of the ASCII character-encoding set. For those who also read Internationalization and Localization: 2 - Unicode, would have already inferred that only Latin characters are present within ASCII.

This then poses quite a dilemma. How do you write an address in Mandarin using the Simplified Chinese script if the Domain Name Server only processes ASCII characters? By using PunyCode we can create International Domain Names with only ASCII characters.

PunyCode

PunyCode is a Bootstring which converts the Unicode characters into the ASCII characters which enables the Domain Name Server to handle the addresses.

Examples of Internationalized Domain Names can be link to from http://www-staff.lboro.ac.uk/~coas/international-computing/IDNs.html, by André Schappo of Loughborough University Computer Science Department. Follow the internationalized links to Loughborough University.

Currently the address are not supported unless you the Cesidian Root Service.

The Cesidian Root is an independent root (or Internet) started by the President of the Fifth World Council on 30 September 2005, and for the benefit of Fourth, Fifth, and Sixth Worlders who wish to utilise this resource for reasons of independence and/or national security.

Quote 1: Cesidian Root Goal, Credit Cesidian Root.

Whitelist with Mozilla Firefox

If you do choose to use the Cesidian Root Service you will need to configure the Network IDN whitelist for Firefox. Instruction can be found at http://kb.mozillazine.org/Network.IDN.whitelist.*.

Homograph Spoofing

The security concern which I alluded to is called homograph spoofing. This is done through the registration of domain names using a combination of scripts for example Latin and Cyrillic to construct IDNs to deceive computer users. Crimals do this by exploiting the fact that many different alphabets contain characters with indistinguishable glyphs. This technique can be used in phishing attacks.

Examples include the Unicode character U+0430 for the Cyrillic small letter "а" which is identical to Unicode character U+0061 of the Latin small letter "a".

  1. Latin - http://www.paypal.com
  2. Latin and Cyrillic - http://www.pаypаl.com

The danger of homograph spoofing is both of the above IDNs look identical. However the Unicode code points used to construct the two are unmatched. Those examples demonstrate the dilemma and challenges facing computer users.

Internationalized Domain Name Registration

If you would like to register an Internationalized Domain Name, check out dynadot.com.

Summary

I hope that you would agree that both Internationalization and Localization of Domains is both an important and logical step to convert the Internet into a fully digital international forum for computer users around the planet. Localized TLDs while do much to ensure this. Currently only the People's Republic of China and the Russian Federation have country code International Domain Names, ccIDNs. I am sure in the future more will follow.

Links

  1. http://en.wikipedia.org/wiki/Domain_Name_System
  2. http://en.wikipedia.org/wiki/Paul_Mockapetris
  3. http://en.wikipedia.org/wiki/Jon_Postel
  4. http://en.wikipedia.org/wiki/BIND
  5. http://www.bind9.net/
  6. http://en.wikipedia.org/wiki/Punycode
  7. http://cesidianroot.net/
  8. http://kb.mozillazine.org/Network.IDN.whitelist.*
  9. http://twitter.com/andreschappo
  10. http://www-staff.lboro.ac.uk/~coas/international-computing/IDNs.html
  11. http://en.wikipedia.org/wiki/IDN_homograph_attack
  12. http://www.dynadot.com/
  13. http://www.domainnews.com/en/promotion-of-chinese-domain-name-.%E4%B8%AD%E5%9B%BD-china-starts.html

This work is licenced under a Creative Commons Licence

A brief introduction

Matthew WitteringI am a graduate of Lougborough University where I read Computing and Management BSc (Hons) earning a 2:1 classification.

Currently I am working in the Product Team as a Junior Product Manager at Ask Jeeves UK. Continue