ñandú.com.arxn--and-6ma2c.com.armünchen.dexn--mnchen-3ya.decontacto@correo.españa.escontacto@correo.xn--espaa-rta.eshttps://日本語.jp/ページhttps://xn--wgv71a119e.jp/%E3%83%9A%E3%83%BC%E3%82%B8аррӏе.comxn--80ak6aa92e.comDas Label besteht vollständig aus kyrillischen oder griechischen Buchstaben, die genauso aussehen wie lateinische. Es kann sich als bekannte Domain ausgeben: Prüfe die xn--Form, bevor du dem Link vertraust.
Kodiert oder dekodiert beliebigen Text mit dem reinen Punycode-Algorithmus, ohne das Präfix xn-- und ohne Domain-Normalisierung. Nützlich, um eine eigene Implementierung zu debuggen.
maana-ptaSo funktioniert es
Das DNS akzeptiert nur ASCII-Buchstaben, Ziffern und Bindestriche, daher kann eine Domain wie ñandú.com.ar nicht unverändert übertragen werden. Internationalisierte Domains (IDN) lösen das mit Punycode (RFC 3492): Jedes Label mit Zeichen außerhalb von ASCII wird mit einem Algorithmus kodiert, der die gewöhnlichen Buchstaben beibehält und die Position der Sonderzeichen am Ende anhängt, und erhält das Präfix xn--. So wird aus ñandú xn--and-6ma2c.
Vor dem Kodieren normalisiert IDNA den Namen: Es wandelt in Kleinbuchstaben um, vereinheitlicht die Unicode-Formen und ersetzt alternative Punkte wie den japanischen 。. Dieses Tool verwendet dasselbe Mapping (UTS #46), das der Browser beim Öffnen einer Adresse anwendet, sodass das Ergebnis mit dem übereinstimmt, was letztlich beim DNS angefragt wird. Bei E-Mail-Adressen wird nur die Domain umgewandelt, bei URLs nur der Host.
Außerdem schlüsselt es jedes Label mit seiner Länge und den verwendeten Schriften auf und warnt, wenn eine Domain Alphabete mischt oder mit kyrillischen oder griechischen Buchstaben geschrieben ist, die mit lateinischen identisch aussehen: Das ist die Grundlage von Homograph-Angriffen, bei denen ein Link vorgibt, von einer bekannten Website zu stammen.
Beispiele
ñandú.com.arxn--and-6ma2c.com.arNur das Label mit Sonderzeichen ändert sich; com und ar bleiben gleich. Diese Form gehört ins DNS und in die SAN eines Zertifikats.faß.dexn--fa-hia.deMit IDNA2008 ist das deutsche ß ein gültiger Buchstabe und wird kodiert. Nach dem früheren Standard wurde es zu ss und zeigte auf fass.de, eine andere Domain: Deshalb lösen manche ältere Systeme etwas anderes auf.аррӏе.comxn--80ak6aa92e.comDas Homograph, das Xudong Zheng 2017 veröffentlichte: fünf kyrillische Buchstaben, die genau wie apple aussehen. Seitdem zeigen Chrome und Firefox solche Domains in ihrer xn--Form an.пример.рфxn--e1afmkfd.xn--p1aiAuch Top-Level-Domains können international sein: .рф ist die russische auf Kyrillisch und wird im DNS als xn--p1ai geschrieben.Anwendungsfälle
- Die xn--Form einer Domain mit Umlauten oder Akzenten ermitteln, um DNS-Einträge anzulegen, sie in der Konfiguration von nginx oder Apache zu verwenden oder in die SAN eines Zertifikats einzutragen.
- Verstehen, welche echte Domain hinter einem xn-- steckt, das in einem Log, in einer Phishing-Meldung oder in der Adressleiste des Browsers auftaucht.
- Einen verdächtigen Link prüfen, um kyrillische oder griechische Buchstaben zu erkennen, die lateinische imitieren.
- Die Domain einer internationalisierten E-Mail-Adresse für einen Server umwandeln, der SMTPUTF8 nicht unterstützt.
- Prüfen, dass eine internationale Domain nach der Kodierung höchstens 63 Zeichen pro Label hat.
Häufige Fragen
Was bedeutet das Präfix xn--?
Es ist das ACE-Präfix (ASCII Compatible Encoding), das kennzeichnet, dass das Label in Punycode vorliegt. Labels mit Bindestrichen an der dritten und vierten Stelle sind für solche Präfixe reserviert, daher erlauben Registrierungsstellen keine Domain, die mit xn-- beginnt, wenn sie kein gültiger IDN ist.
Welche Form verwende ich im DNS, auf dem Webserver und im Zertifikat?
Die ASCII-Form mit xn-- an allen technischen Stellen: DNS-Einträge, server_name bei nginx, ServerName bei Apache, SAN des Zertifikats und Host-Header. Die Unicode-Form dient nur der Anzeige für Menschen; Browser wandeln sie vor der Anfrage um.
Was ist ein Homograph-Angriff?
Dabei wird eine Domain registriert, die mit Buchstaben eines anderen Alphabets genauso aussieht wie eine andere, etwa mit dem kyrillischen a statt des lateinischen. Browser zeigen die xn--Form an, wenn ein Label Schriften mischt oder einer bekannten Domain ähnelt. Wenn ein Link normal aussieht, seine ASCII-Form aber mit xn-- beginnt, sei misstrauisch.
Kann man Umlaute oder Akzente in einer E-Mail-Adresse verwenden?
In der Domain ja, und sie lässt sich für jeden Server in xn-- umwandeln. Der Teil vor dem @ ist eine andere Sache: Mit Nicht-ASCII-Zeichen müssen alle Server auf dem Weg SMTPUTF8 (RFC 6531) unterstützen, und es gibt dafür keine entsprechende Punycode-Form.
Warum hat sich meine Domain mit Großbuchstaben verändert?
Domainnamen unterscheiden nicht zwischen Groß- und Kleinschreibung, und IDNA wandelt vor dem Kodieren alles in Kleinbuchstaben um: MÜNCHEN.de und münchen.de sind dieselbe Domain, xn--mnchen-3ya.de. Reiner Punycode behält Großbuchstaben dagegen bei, deshalb liefert der Konverter ohne Präfix andere Ergebnisse.