Internationalisierter Domainname

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 Internetstandard Internationalizing Domain Names in Applications (IDNA) ermöglicht.

Grundsätzlich sind fast[1] alle Unicode-Zeichen in IDNs zulässig. Jede Vergabestelle für Domains regelt jedoch individuell, welche Zeichen sie für Domain-Registrierungen erlaubt.

Der Anteil von IDNs an allen registrierten Domains unterhalb von .de beträgt rund vier Prozent.[2]

Funktionsweise

Unicode-Domainnamen werden zu ASCII-kompatiblen Kodierungen (englisch ASCII-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 IDNA2003-fähige Browser:

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.

Siehe auch

Einzelnachweise

  1. Tabelle der IDNA-Zeichen, unicode.org
  2. Statistik der Domainentwicklung auf denic.de
  3. RFC 3490 – Internationalizing Domain Names in Applications (IDNA). März 2003 (englisch).
  4. RFC 5890 – Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework. August 2010 (englisch).
  5. RFC 5891 – Internationalized Domain Names in Applications (IDNA): Protocol. August 2010 (englisch).
  6. RFC 5892 – The Unicode Code Points and Internationalized Domain Names for Applications (IDNA). August 2010 (englisch).
  7. RFC 5893 – Right-to-Left Scripts for Internationalized Domain Names for Applications (IDNA). August 2010 (englisch).
  8. RFC 5894 – Internationalized Domain Names for Applications (IDNA): Background, Explanation, and Rationale. August 2010 (englisch).
  9. a b „ß“ künftig in zulässigem Zeichensatz für .de-Domains. DENIC, Pressemitteilung, 26. Oktober 2010.
  10. Unicode Technical Standard #46 – Unicode IDNA Compatibility Processing. The Unicode Consortium (englisch); abgerufen am 24. Januar 2019
  11. Internationalized Domain Names (IDN) FAQ – How does IDNA2008 differ from IDNA2003? The Unicode Consortium (englisch); abgerufen am 24. Januar 2019
  12. a b c IDNA Hell. Anne van Kesteren, 27. November 2012; abgerufen am 24. Januar 2019
  13. Erste komplett nicht-lateinische Domains gehen online. heise online.
  14. verisign.com abgerufen am 18. Februar 2023
  15. verisign.com abgerufen am 18. Februar 2023
  16. iana.org abgerufen am 18. Februar 2023
  17. IDNs. (Memento vom 10. Februar 2007 im Internet Archive) nic.at
  18. Allgemeine Geschäftsbedingungen für die Registrierung und Verwaltung von Domain-Namen unter „.ch“ und „.li“, Anhang 2. nic.ch
  19. IDN-Liste. DENIC.
  20. Unterstützte Schriftzeichen (Memento vom 29. Juli 2013 im Internet Archive). The European Registry of Internet Domain Names.
  21. Bug 479520. Mozilla.