Wat is een IDN?
Een IDN (Internationalized Domain Name) is een domeinnaam die tekens bevat buiten de traditionele ASCII set die gebruikt wordt in de originele DNS specificatie. IDN's maken domeinnamen mogelijk in native scripts zoals Chinees (
Waarom IDN's materie
De originele DNS is ontworpen voor Engelstaligen en beperkt domeinnamen tot:
- Brieven a-z (hoofdletter ongevoelig)
- Nummers 0-9
- Hyfenen (niet bij begin of einde)
Dit sloot miljarden mensen uit wiens talen het Latijnse alfabet niet gebruiken. IDN democratiseert het internet door het mogelijk te maken:
- Native Language Adresses: Gebruikers kunnen URL's in hun eigen taal typen
- Brand Protection: Bedrijven kunnen hun namen beveiligen in meerdere scripts
- Cultural Accessibility: Vermindert de belemmering voor internetparticipatie
Hoe IDN werkt: De Punycode-verbinding
DNS-infrastructuur begrijpt alleen ASCII, dus IDN's gebruiken een slim coderingssysteem genaamd Punycode. Wanneer u een IDN registreert of opent:
1. User Types: (Chinees voor "Chinees")
2. Browser Encodes: xn--fiq228c.com (Punycode representation)
3. DNS Oplossen: Standaard ASCII opzoeken
4. Browser Displays:
Het "xn-" voorvoegsel geeft een Punycode gecodeerde tekenreeks aan. Dit gebeurt op transparante wijze voor gebruikers.
Punycode voorbeelden
| IDN | Punycode |
|---|---|
| münchen.de | xn--mnchen-3ya.de |
| xn--fiq228c.com | |
| превда.рф | xn-80aafi6cg.xn--p1ai |
IDN-ondersteuning over TLD's
IDN-ondersteuning varieert per TLD:
Volledige ondersteuning
De meeste moderne gTLD's en vele ccTLD's ondersteunen IDN's:
- .com, .net, .org (Verisign)
- .de (Duitse karakters)
- .jp (Japans)
- .cn (Chinese)
Geïmnationaliseerde TLD's
Sommige TLD's zijn zelf IDN's:
- .рф (Rusland, Cyrillisch)
- ... (China)
- (India, Devanagari)
- (Saudi-Arabië, Arabisch)
Beperkte of geen ondersteuning
Sommige TLD's beperken IDN's of ondersteunen ze helemaal niet. Controleer altijd IDN-ondersteuning voor uw target TLD.
Veiligheidsoverwegingen: Homografische aanvallen
IDN's introduceren beveiligingsrisico's via homograph attacks, waarbij visueel vergelijkbare tekens uit verschillende scripts misleidende domeinen creëren:
apple.com (legitimate - Latin letters)
аpple.com (attack - Cyrillic 'а' looks like Latin 'a')
Bescherming tegen aanvallen op homo's
Browser Gedrag: Moderne browsers tonen Punycode voor verdachte IDNs in plaats van de Unicode vorm, onthullen van de aanval. Registratiebeleid: Sommige registers beperken welke tekensets in één domein kunnen worden gecombineerd. Domeinmonitoring: Hulpmiddelen zoals DomScan's typosquatting detectie kan geregistreerde homograaf varianten van uw merk identificeren.IDN-ondersteuning uitvoeren
Voor ontwikkelaars die domeintools bouwen:
Validatie
// Check if domain contains non-ASCII
function isIDN(domain) {
return /[^\x00-\x7F]/.test(domain);
}
Conversie
// 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 Queries
De meeste RDAP-servers accepteren beide vormen:
# Both work
curl "https://rdap.verisign.com/com/v1/domain/xn--fiq228c.com"
curl "https://rdap.verisign.com/com/v1/domain/中文.com"
Beste praktijken
Bij het werken met IDN's:
1. Altijd opslaan en verwerken van de Punycode formulier intern
2. Geef het Unicode formulier weer aan gebruikers
3. Implementeren homograph detectie voor beveiligingsfuncties
4. Controleer het TLD-specifieke IDN-beleid vóór registratie