Was ist eine IDN?
Eine IDN (Internationalized Domain Name) ist ein Domainname, der Zeichen außerhalb des traditionellen ASCII-Zeichensatzes der ursprünglichen DNS-Spezifikation enthält. IDNs ermöglichen Domainnamen in nativen Schriftsystemen wie Chinesisch (中文.com), Arabisch (مثال.com), Kyrillisch (пример.com) und vielen weiteren.
Warum IDNs wichtig sind
Das ursprüngliche DNS wurde für englischsprachige Nutzer entwickelt und beschränkte Domainnamen auf:
- Buchstaben von a bis z, ohne Beachtung der Groß- und Kleinschreibung
- Ziffern von 0 bis 9
- Bindestriche, jedoch nicht am Anfang oder Ende
Dadurch wurden Milliarden Menschen ausgeschlossen, deren Sprachen nicht das lateinische Alphabet verwenden. IDNs machen das Internet zugänglicher, indem sie Folgendes ermöglichen:
- Adressen in der eigenen Sprache: Nutzer können URLs in ihrer eigenen Sprache eingeben
- Markenschutz: Unternehmen können ihre Namen in mehreren Schriftsystemen sichern
- Kulturelle Zugänglichkeit: Die Hürde für die Teilnahme am Internet wird gesenkt
Wie IDNs funktionieren: Die Punycode-Verbindung
Die DNS-Infrastruktur versteht nur ASCII. Deshalb verwenden IDNs ein Kodierungssystem namens Punycode. Wenn Sie eine IDN registrieren oder auf sie zugreifen:
1. Nutzer gibt ein: 中文.com (Chinesisch für „Chinesisch“)
2. Browser kodiert: xn--fiq228c.com (Punycode-Darstellung)
3. DNS löst auf: Standardmäßige ASCII-Abfrage
4. Browser zeigt an: 中文.com (ursprüngliche Darstellung)
Das Präfix „xn--“ kennzeichnet eine Punycode-kodierte Zeichenfolge. Dieser Vorgang läuft für Nutzer transparent ab.
Punycode-Beispiele
| IDN | Punycode |
|---|---|
| münchen.de | xn--mnchen-3ya.de |
| 中文.com | xn--fiq228c.com |
| правда.рф | xn--80aafi6cg.xn--p1ai |
IDN-Unterstützung über TLDs hinweg
Die Unterstützung von IDNs unterscheidet sich je nach TLD:
Vollständige Unterstützung
Die meisten modernen gTLDs und viele ccTLDs unterstützen IDNs:
- .com, .net, .org (Verisign)
- .de (deutsche Zeichen)
- .jp (japanische Zeichen)
- .cn (chinesische Zeichen)
Internationalisierte TLDs
Einige TLDs sind selbst IDNs:
- .рф (Russland, Kyrillisch)
- .中国 (China)
- .भारत (Indien, Devanagari)
- .السعودية (Saudi-Arabien, Arabisch)
Eingeschränkte oder fehlende Unterstützung
Einige TLDs schränken IDNs ein oder unterstützen sie überhaupt nicht. Prüfen Sie deshalb immer die IDN-Unterstützung der gewünschten TLD.
Sicherheitsaspekte: Homograf-Angriffe
IDNs bringen Sicherheitsrisiken mit sich. Bei Homograf-Angriffen erzeugen visuell ähnliche Zeichen aus verschiedenen Schriftsystemen täuschend echte Domains:
apple.com (legitimate - Latin letters)
аpple.com (attack - Cyrillic 'а' looks like Latin 'a')
Schutz vor Homograf-Angriffen
Browserverhalten: Moderne Browser zeigen bei verdächtigen IDNs statt der Unicode-Darstellung die Punycode-Darstellung an und machen den Angriff dadurch sichtbar. Registry-Richtlinien: Einige Registries beschränken, welche Zeichensätze in einer einzelnen Domain kombiniert werden dürfen. Domainüberwachung: Werkzeuge wie die Typosquatting-Erkennung von DomScan können registrierte Homograf-Varianten Ihrer Marke identifizieren.IDN-Unterstützung implementieren
Für Entwickler, die Domainwerkzeuge erstellen:
Validierung
// Check if domain contains non-ASCII
function isIDN(domain) {
return /[^\x00-\x7F]/.test(domain);
}
Konvertierung
// Convert to Punycode for DNS queries
const punycode = require('punycode/');
const ascii = punycode.toASCII('中文.com'); // xn--fiq228c.com
const unicode = punycode.toUnicode('xn--fiq228c.com'); // 中文.com
RDAP-Abfragen
Die meisten RDAP-Server akzeptieren beide Formen:
# Both work
curl "https://rdap.verisign.com/com/v1/domain/xn--fiq228c.com"
curl "https://rdap.verisign.com/com/v1/domain/中文.com"
Bewährte Vorgehensweisen
Bei der Arbeit mit IDNs:
1. Speichern und verarbeiten Sie intern immer die Punycode-Darstellung
2. Zeigen Sie Nutzern die Unicode-Darstellung an
3. Implementieren Sie für Sicherheitsfunktionen eine Homograf-Erkennung
4. Prüfen Sie vor der Registrierung die TLD-spezifischen IDN-Richtlinien