# Internationalized domain name

Een internationalized domain name (IDN) is een domeinnaam waar in minstens één label, één of meerdere niet-ASCII-tekens voorkomen. Deze tekens zijn bijvoorbeeld letters van het Latijns alfabet mét diakritische tekens of karakters van een ander schrift of alfabet, zoals Chinese karakters of Arabische letters.
Meer dan de helft van de 1,6 miljard internetgebruikers spreekt een taal met een niet-Latijns schrift.

## Internationalized Domain Names in Applications

Het Domain Name System (DNS)-protocol legt beperkingen op wat betreft de toegestane tekens in de labels van domeinnamen. Een van deze beperkingen is de LDH-regel die stelt dat een label alleen cijfers, letters en het koppelteken uit de ASCII-tekenset mag bevatten. Wat de letters betreft betekent dat dat alleen de gebruikelijke 26 letters, zonder diakrieten, mogen worden gebruikt. Bovendien mag het koppelteken niet vooraan of achteraan in een label voorkomen.
Om te voorkomen dat de bestaande DNS-infrastructuur moet worden aangepast om niet-ASCII-tekens te ondersteunen, werd besloten om een systeem te ontwerpen waar webbrowsers (en andere gebruikerstoepassingen) de niet-ASCII-labels in een domeinnaam omzetten naar ASCII-labels. Internationalized Domain Names in Applications (IDNA) specificeert hoe deze omzetting dient te gebeuren.
Voor de omzetting van een niet-ASCII-label naar een ASCII-label, wordt eerst gebruikgemaakt van het Nameprep-algoritme. Nameprep voert verscheidene normalisaties uit zoals het omzetten van hoofdletters in kleine letters. Het resultaat van deze bewerking wordt vervolgens via Punycode omgezet naar een ASCII-label. Nadien wordt het prefix xn-- toegevoegd. Het resultaat is de zgn. ASCII Compatible Encoding (ACE)-string.

### Voorbeeld van IDNA-codering

IDNA-codering kan worden geïllustreerd aan de hand van de volgende domeinnaam: www.Café.eu. Deze domeinnaam heeft drie labels, namelijk "www", "Café" en "eu". Het eerste en laatste label bestaan uitsluitend uit tekens uit de ASCII-tekenset en worden bijgevolg niet gewijzigd door IDNA. Het tweede label wordt eerst door Nameprep omgezet in "café" en vervolgens door Punycode omgezet in "caf-dma". Ten slotte wordt het prefix toegevoegd, met als resultaat de ACE-string "xn--caf-dma". Samengevat, de domeinnaam www.Café.eu wordt via IDNA omgezet in www.xn--caf-dma.eu

### Voorbeelden van IDN-domeinnamen

Dit zijn enkele klikbare voorbeelden van IDN-domeinnamen:
* Arabisch: ايكيا.com
* Chinees (Vereenvoudigd): 北京大学.cn
* Chinees (Traditioneel): 東華大學.tw
* Duits: övv.at
* Japans: 日本レジストリサービス.jp
* Spaans: realacademiaespañola.es

## Misbruik van IDN met homogliefen

In de Unicode-tekenset komen veel homogliefen voor. Een homoglief is een karakter dat (op het eerste gezicht) er identiek uitziet als één of meerdere andere karakters. Bijvoorbeeld, de Latijnse letter a (U+0061) ziet er identiek uit als de Cyrillische letter а (U+0430). Hoewel de karakters visueel niet te onderscheiden zijn, gaat het hier technisch wel degelijk om verschillende tekens in de Unicode-tekenset.
Oplichters kunnen hiervan misbruik maken door een domeinnaam te registreren die visueel niet te onderscheiden is van een bonafide domeinnaam. De malafide domeinnaam kan dan gebruikt worden in phishing-aanvallen om gevoelige data van nietsvermoedende gebruikers te ontfutselen.
Merk op dat dit geen ontwerpfout is van IDN. Homogliefen kunnen ook voorkomen in ASCII-labels, bijvoorbeeld de letter O en het cijfer 0. Door het groot aantal tekens in de Unicode-tekenset, zijn er in IDN-domeinnamen meer potentiële homogliefen.
Onder meer daarom hebben sommige registrars van IDN-domeinnamen één of meer van de volgende maatregelen getroffen:
* bundelen van visueel identieke of gelijkaardige domeinnamen
* niet toestaan om verschillende schriften in één domeinnaam te gebruiken
* alleen een beperkte (taaleigen) subset van de Unicode-tekenset toestaan
* voorlopig uitstellen van het implementeren van IDN
Voorbeeld:
* Apple: https://www.аррӏе.com is een namaak-site, bedoeld als demonstratie en veilig te bezoeken.

## IDN-topleveldomeinen

Sinds 16 november 2009 kunnen landen (en gebieden) bij ICANN een aanvraag indienen voor IDN ccTLD's, zodat ook de landcodes (zoals .nl) in het eigen schrift kunnen worden gebruikt. In mei 2010 werden de eerste 21 op IDN gebaseerde topleveldomeinen in de DNS-rootzone geïnstalleerd. Landen met geïnternationaliseerde ccTLD's houden daarnaast ook hun traditionele ASCII-ccTLD's aan.
In december 2014 waren er 45 geïnternationaliseerde ccTLD's ingevoerd. De populairste waren .рф (Rusland) met meer dan 900.000 domeinnamen, .台灣 (Taiwan) met ongeveer 500.000 en .中国 (China) met ongeveer 200.000.
Hoewel het hier wordt geacht te gaan om landcodes, gebruiken sommige landen hele woorden voor de ccTLD. Zo is bijvoorbeeld السعودية (as-Suʻūdiyya) geen afkorting van "Saudi-Arabië" maar de algemeen gangbare korte naam van het land in het Arabisch.
Merk op dat voor de URL in het Arabisch schrift, het topleveldomein het label tussen "http://" en het puntje is, en dus niet het label rechts van het puntje. Het Arabisch schrift wordt immers van rechts naar links geschreven.

## Browserondersteuning

IDN-domeinnamen worden onder meer ondersteund door volgende browsers: Internet Explorer 7+, Firefox 0.8+, Mozilla 1.4+, Netscape 7.1+, Opera 7.22+ en Safari 1.2+ voor MacOS X.
Firefox en Opera maken gebruik van een whitelist met topleveldomeinen van registries die maatregelen nemen tegen homoglief-misbruiken. Standaard wordt in deze browsers een IDN URL als ACE-string weergegeven (o.a. in de adresbalk), alleen voor topleveldomeinen die in de whitelist voorkomen wordt de URL in Unicode weergegeven.
In Internet Explorer kan de gebruiker instellen welke talen in Unicode moeten worden weergegeven. Wanneer er meerdere schriften in een domeinnaam voorkomen, wordt deze domeinnaam als ACE-string weergegeven. Er zijn wel uitzonderingen waardoor schriften soms toch als Unicode weergegeven worden als ze samen gebruikt worden.

## Aanbevolen literatuur

* RFC's gerelateerd aan IDN
* Repository of IDN Practices
* ↑ Internet addresses set for change, BBC (30 oktober 2009). Gearchiveerd op 21 juni 2023.
* ↑ LDH staat in het Engels voor: "letter/digit/hyphen"
* ↑ RFC 3696, Application Techniques for Checking and Transformation of Names, 2. Restrictions on domain (DNS) names, J. Klensin, The Internet Society (Februari 2004)
* ↑ RFC 3490, Internationalizing Domain Names in Applications (IDNA), P. Faltstrom, P. Hoffman, A. Costello, The Internet Society (maart 2003)
* ↑ RFC 3491, Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN), P. Hoffman, M. Blanchet, The Internet Society (maart 2003)
* ↑ RFC 3492, Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA), A. Costello, The Internet Society (maart 2003)
* ↑ Unicode Character 'LATIN SMALL LETTER A', FileFormat.info. Gearchiveerd op 30 januari 2023.
* ↑ Unicode Character 'CYRILLIC SMALL LETTER A', FileFormat.info. Gearchiveerd op 7 april 2023.
* ↑ The Homograph Attack, Evgeniy Gabrilovich & Alex Gontmakher, Communications of the ACM, 45(2):128 (februari 2002)
* ↑ Homoglief-bundeling, in het Engels "homoglyph bundling" of "IDN bundling", European Registry of Internet Domain Names (EURid)
* ↑ IDN-beleid voor .pl-domeinnamen Registering Internationalized Domain Names under .PL, Krzysztof Olesik & Andrzej Bartosiewicz, NASK (Juli 2007)
* ↑ IDN-beleid voor .cat-domeinnamen, Catalaanse registrar Fundacio puntCAT laat alleen een taaleigen subset van Unicode toe voor domeinnamen.
* ↑ SIDN Jaarverslag 2006 (pdf). SIDN. Geraadpleegd op 17 februari 2024. “Tot slot is vastgesteld dat IDN voorlopig niet in het .nl-domein ingevoerd zal worden, vanwege mogelijke gebruikersrisico’s en een gebrek aan marktvraag.”
* ↑ "Internet addresses set for change", BBC News Online, October 30, 2009. Geraadpleegd op 30 oktober 2009.
* ↑ "'Historic' day as first non-Latin web addresses go live", BBC News Online, May 6, 2010. Geraadpleegd op May 7, 2010.
* ↑ World report on Internationalised Domain Names 2014, pagina 94
* ↑ Weergave van IDN-domeinnamen in browsers, Active 24
* ↑ Mozilla IDN-beleid, Mozilla. Gearchiveerd op 6 augustus 2013.
* ↑ International Domain Name Support in Internet Explorer 7, Microsoft
* ↑ Changes to IDN in IE7 to now allow mixing of scripts, Microsoft
A .ac .ad .ae .af .ag .ai .al .am .ao .aq .ar .as .at .au .aw .ax .az  B .ba .bb .bd .be .bf .bg .bh .bi .bj .bm .bn .bo .br .bs .bt .bw .by .bz  C .ca .cc .cd .cf .cg .ch .ci .ck .cl .cm .cn .co .cr .cu .cv .cw .cx .cy .cz  D .de .dj .dk .dm .do .dz  E .ec .ee .eg .er .es .et .eu  F .fi .fj .fk .fm .fo .fr  G .ga .gd .ge .gf .gg .gh .gi .gl .gm .gn .gp .gq .gr .gs .gt .gu .gw .gy  H .hk .hm .hn .hr .ht .hu  I .id .ie .il .im .in .io .iq .ir .is .it  J .je .jm .jo .jp  K .ke .kg .kh .ki .km .kn .kp .kr .kw .ky .kz  L .la .lb .lc .li .lk .lr .ls .lt .lu .lv .ly  M .ma .mc .md .me .mg .mh .mk .ml .mm .mn .mo .mp .mq .mr .ms .mt .mu .mv .mw .mx .my .mz  N .na .nc .ne .nf .ng .ni .nl .no .np .nr .nu .nz  O .om  P .pa .pe .pf .pg .ph .pk .pl .pm .pn .pr .ps .pt .pw .py  Q .qa  R .re .ro .rs .ru .rw  S .sa .sb .sc .sd .se .sg .sh .si .sk .sl .sm .sn .so .sr .ss .st .su .sv .sx .sy .sz  T .tc .td .tf .tg .th .tj .tk .tl .tm .tn .to .tr .tt .tv .tw .tz  U .ua .ug .uk .us .uy .uz  V .va .vc .ve .vg .vi .vn .vu  W .wf .ws  Y .ye .yt  Z .za .zm .zw
IDN-ccTLD's: Cyrillisch schrift .бг (Bulgarije) .бел (Wit-Rusland) .ею (Europese Unie) .қаз (Kazachstan) .мон (Mongolië) .мкд (Noord-Macedonië) .рф (Rusland) .срб (Servië) .укр (Oekraïne)  Arabisch schrift الجزائر. (Algerije) مصر. (Egypte) بھارت. (India) ایران. (Iran) الاردن. (Jordanië) فلسطين. (Palestina) پاکستان. (Pakistan) قطر. (Qatar) السعودية. (Saoedi-Arabië) سوريا. (Syrië) تونس. (Tunesië) امارات. (VAE) عمان. (Oman) مليسيا. (Maleisië) المغرب. (Marokko) سودان. (Soedan) اليمن. (Jemen)  Brahmische schriften .বাংলা (Bangladesh) .ভাৰত (India) .ভারত (India) .भारत (India) .భారత్ (India) .ભારત (India) .ਭਾਰਤ (India) .ଭାରତ (India) .இந்தியா (India) .ລາວ (Laos) .சிங்கப்பூர் (Singapore) .ලංකා (Sri Lanka) .இலங்கை (Sri Lanka) .ไทย (Thailand)  Chinees schrift .中国 (China) .中國 (China) .香港 (Hong Kong) .澳門 (Macau) .澳门 (Macau) .新加坡 (Singapore) .台灣 (Taiwan) .台湾 (Taiwan)  Overige schriften .հայ (Armenië) .ευ (Europese Unie) .გე (Georgië) .ελ (Griekenland) .한국 (Zuid-Korea) ישראל. (Israël)
Voorgesteld: .κπ (Cyprus) - .日本 (Japan)
Gereserveerd: .bl .bq .eh .mf .xk Ongebruikt: .bv .gb .sj Verouderd: .su Verwijderd: .an .bu .cs .dd .tp .um .yu .zr
Zie ook: generieke TLD’s · secondleveldomeinen