Als internationalisierte Domainnamen (internationalized domain name, IDN), umgangssprachlich auch Umlautdomain oder Sonderzeichendomain, werden Domainnamen bezeichnet, die Umlaute, diakritische Zeichen oder Buchstaben aus anderen Alphabeten als dem lateinischen Alphabet enthalten. Solche Zeichen waren ursprünglich im Domain Name System nicht vorgesehen und wurden nachträglich durch den InternetstandardInternationalizing Domain Names in Applications (IDNA) ermöglicht.
Unicode-Domainnamen werden zu ASCII-kompatiblen Kodierungen (englischASCII-compatible encoding; ACE) umgewandelt. Die Umwandlung erfolgt beim Client (zum Beispiel dem Browser oder Mailprogramm), so dass die Server-Infrastruktur nicht angepasst werden muss. Statt der Unicode-Strings kann der Benutzer im Client auch direkt die ACE-Strings eingeben. So können auch Clients ohne IDN-Fähigkeit mit internationalisierten Domains arbeiten, sofern der Benutzer den ACE-String kennt. Dies ist jedoch umständlicher, da man als Benutzer aus einem ACE-String den Unicode-Domainnamen nicht auf einfache Weise ablesen kann.
Im ursprünglichen Verfahren IDNA2003 (RFC 3490[3]) wurden die Domainnamen zunächst durch das Nameprep-Verfahren normalisiert. Die Normalisierung bestand darin, alle Großbuchstaben durch Kleinbuchstaben zu ersetzen und äquivalente Zeichen auszutauschen. So war zum Beispiel „ß“ als äquivalent zu „ss“ spezifiziert, so dass die Domainnamen „STRaße“ und „strasse“ identisch waren. Mit der neuen Version IDNA2008, die teilweise auch als IDNAbis bekannt geworden ist und von 2008 bis 2010 entwickelt wurde (RFC 5890,[4] RFC 5891,[5] RFC 5892,[6] RFC 5893,[7] RFC 5894[8]), ist die Normalisierung nicht länger Teil von IDNA, sondern liegt im Verantwortungsbereich der Benutzerschnittstelle. IDNA2008 schreibt zwar keine Normalisierung mehr vor, empfiehlt aber einen allgemeinen Algorithmus, bei dem die Umwandlung von Groß- zu Kleinbuchstaben und ein paar weitere Regeln weiterhin vorgesehen sind. Bei .de ist es seit dem 16. November 2010 (für Inhaber einer Domain mit „ss“ schon vorher) möglich, separate Domains mit „ß“ zu registrieren.[9]
Im Anschluss an die Normalisierung werden mittels Punycode die Nicht-ASCII-Zeichen aus dem Namen entfernt und am Ende des Namens ein daraus abgeleiteter ASCII-String hinzugefügt, in dem die Position und Art des Unicode-Zeichens kodiert ist. Um einen IDN- von einem ASCII-Domainnamen zu unterscheiden, beginnt der Punycode-String mit dem Präfix xn--. Die ungewöhnliche Zeichenfolge xn-- wurde gewählt, weil sie in realen Wörtern oder Eigennamen praktisch nicht vorkommt und Konflikte mit ASCII-Domains daher äußerst unwahrscheinlich sind.
Inkompatibilitäten von IDNA2003 und IDNA2008
Der Unicode Technical Standard 46[10] beschreibt Maßnahmen, mit denen die Inkompatibilitäten zwischen IDNA2003 und IDNA2008 in der Praxis minimiert werden sollen, um den Umstieg von IDNA2003 auf IDNA2008 zu erleichtern. Aber auch drei Jahre nach Einführung ist die Browserunterstützung für IDNA2008 noch dürftig (siehe auch Abschnitt Unterstützung im Browser): Da IDNA2003 „ß“ zwingend zu „ss“ umwandelt, sind die neuen „ß“-Domains daher oftmals nicht aufrufbar bzw. verweisen auf die bisherigen „ss“-Domains. Solange „ß“-Domain und „ss“-Domain zum selben Angebot gehören, bekommt der Benutzer davon üblicherweise nichts mit; wenn allerdings „ß“-Domain und „ss“-Domain zu unterschiedlichen Angeboten gehören, führt dies mitunter zu Verwirrungen.
Darüber hinaus erlaubt IDNA2008 etwa 8000 Unicode-Zeichen nicht mehr, die nach IDNA2003 noch gültige Bestandteile von Domainnamen waren,[11]
so dass bisher gültige Domainnamen, die diese Zeichen enthalten, beim Umstieg von IDNA2003 auf IDNA2008 ungültig werden.[12]
Beispiel-Domains
dömäin.example → xn--dmin-moa0i.example
äaaa.example → xn--aaa-pla.example
aäaa.example → xn--aaa-qla.example
aaäa.example → xn--aaa-rla.example
aaaä.example → xn--aaa-sla.example
déjà.vu.example → xn--dj-kia8a.vu.example
efraín.example → xn--efran-2sa.example
ñandú.example → xn--and-6ma2c.example
foo.âbcdéf.example → foo.xn--bcdf-9na9b.example
موقع.وزارة-الاتصالات.مصر → xn--4gbrim.xn----ymcbaaajlc6dj7bxne2c.xn--wgbh1c
☃.example → xn--n3h.example (erlaubt nach IDNA2003, aber unzulässig nach IDNA2008[12])
fußball.example → xn--fuball-cta.example (wird nach IDNA2003 zwingend zu fussball.example, nicht jedoch nach IDNA2008)
Eine Whois-Abfrage der Form whois -h whois.denic.de -- -C ISO-8859-1 example.com bzw. whois -h whois.denic.de -- -C UTF-8 example.com auf Unicode-basierenden Systemen liefert bei registrierten Domains u. a. die Schreibweise in Punycode.
Zeichensätze
Seit Mai 2010 gibt es IDN-Top-Level-Domains und damit komplette Domains aus nicht-lateinischen Buchstaben.[13] So gibt es beispielsweise die Top-Level-Domain .مصر, die das arabische Wort für Ägypten (Misr) darstellt; die Website des ägyptischen Ministeriums für Kommunikation und Informationstechnologie ist über die ausschließlich aus arabischen Zeichen bestehende Domain موقع.وزارة-الاتصالات.مصر erreichbar. Der Domainname ist dabei dem Arabischen entsprechend von rechts nach links zu lesen.
Viele Top-Level-Domains lassen verschiedene Schriften zu, setzen jedoch voraus, dass alle Zeichen eines Domainnamens derselben Schrift zugeordnet sind. Eine Vermischung von verschiedenen Schriften ist nicht erlaubt. So erlauben .com und .net beispielsweise insgesamt mehrere zehntausend Zeichen aus mehreren Dutzend Schriften.[14][15] Die IANA pflegt ein Repository, in dem Registries Tabellen mit den jeweils erlaubten Zeichen pro Schrift ablegen können.[16] Dieses IDN Repository wird von gTLDs wie .org und .info, sowie von einzelnen ccTLDs genutzt.
Nachfolgend wird für einige Top-Level-Domains aufgelistet, welche Nicht-ASCII-Zeichen in den jeweiligen IDN-Domains erlaubt sind:
.at
à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø œ š ù ú û ü ý ÿ ž þ[17]
.ch und .li
à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø œ ù ú û ü ý ÿ þ[18]
.de
à á â ã ä å æ ā ă ą ç ć ĉ ċ č ď đ è é ê ë ē ĕ ė ę ě ĝ ğ ġ ģ ĥ ħ ì í î ï ĩ ī ĭ į ı ð ĵ ķ ĸ ĺ ļ ľ ł ñ ń ņ ň ŋ ò ó ô õ ö ø ō ŏ ő œ ŕ ŗ ř ś ŝ ş š ţ ť ŧ ù ú û ü ũ ū ŭ ů ű ų ŵ ý ŷ ÿ ź ż ž þ ß[9][19]
.eu
à á â ã ä å æ ā ă ą ç ć ĉ ċ č ď đ è é ê ë ē ĕ ė ę ě ĝ ğ ġ ģ ĥ ħ ì í î ï ĩ ī ĭ į ı ð ĵ ķ ĺ ļ ľ ŀ ł ñ ń ņ ň ʼn ŋ ò ó ô õ ö ø ō ŏ ő œ ŕ ŗ ř ś ŝ š ș ť ŧ ț ù ú û ü ũ ū ŭ ů ű ų ŵ ý ŷ ÿ ź ż ž þ ΐ ά έ ή ί ΰ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ ς σ τ υ φ χ ψ ω ϊ ϋ ό ύ ώ а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ ἐ ἑ ἒ ἓ ἔ ἕ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ ὀ ὁ ὂ ὃ ὄ ὅ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾰ ᾱ ᾲ ᾳ ᾴ ᾶ ᾷ ῂ ῃ ῄ ῆ ῇ ῐ ῑ ῒ ΐ ῖ ῗ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ ῲ ῳ ῴ ῶ ῷ[20]
Unterstützung im Browser
Die Unterstützung für internationalisierte Domainnamen ist in aktuellen Browsern gängig, zumindest nach IDNA2003. Hingegen wurde IDNA2008 auch im Jahr 2013 von kaum einem Browser unterstützt.[12][21]
Einige IDNA2008-fähige Browser (Stand: Dezember 2016):
Firefox (seit Firefox Nightly 46.0a1)
Safari ab Version 10.1 (ab webkit.org (Safari Technology Preview 19))
ASCII-Spoofing-Problematik
Die Verwendung von Unicode in Domain-Namen macht es einfacher, Webseiten mittels homographischem Angriff zu spoofen, da es die visuelle Repräsentation der IDN-Zeichenfolge in einem Browser manchmal unmöglich macht, eine legitime Seite von einer gespooften zu unterscheiden, abhängig vom verwendeten Zeichensatz. Beispielsweise sieht das Unicode-Zeichen U+0430, das kyrillische kleine а, aus wie das Unicode-Zeichen U+0061, was dem kleinen Buchstaben a des lateinischen Schriftsystems entspricht. Besagtes kyrillisches Zeichen ist z. B. Teil der obigen Liste der möglichen Zeichen innerhalb von .eu.