Qu'est-ce qu'un ADN ?
Un IDN (Internationalized Domain Name) est un nom de domaine qui contient des caractères en dehors de l'ensemble ASCII traditionnel utilisé dans la spécification DNS originale. Les IDN permettent des noms de domaine dans des scripts natifs comme le chinois (中文.com), l'arabe (مшال.com), le cyrillique (юример.com), et bien d'autres.
Pourquoi les IDN sont-ils importants?
Le DNS original a été conçu pour les anglophones, limitant les noms de domaine à :
- Lettres a-z (insensible à l'affaire)
- Nombres 0-9
- Hyphènes (pas au début ou à la fin)
Cela excluait des milliards de personnes dont les langues n'utilisent pas l'alphabet latin. Les RDI démocratisent l'internet en permettant :
- Adresses linguistiques locales: Les utilisateurs peuvent taper des URL dans leur propre langue
- Protection des marques: Les entreprises peuvent sécuriser leurs noms en plusieurs scripts
- Accessibilité culturelle: réduit l'obstacle à la participation à Internet
Comment fonctionnent les IDN : la connexion Punycode
L'infrastructure DNS ne comprend que l'ASCII, donc les IDN utilisent un système d'encodage intelligent appelé Punycode. Lorsque vous enregistrez ou accédez à un ID :
1. Types d'utilisateurs: 中文.com (chinois pour "chinois")
2. Encodes de navigation: xn--fiq228c.com (représentation de codes de puny)
3. Restaurants NNS: recherche standard ASCII
4. 中文.com (formulaire original)
Le préfixe "xn--" indique une chaîne encodée Punycode. Cela se produit de manière transparente pour les utilisateurs.
Exemples de Punycode
| IDN | Code puny |
|---|---|
| München.de | xn--mnchen-3ya.de |
| 中文.com | xn--fiq228c.com |
| C'est pas vrai. | xxn--80aafi6cg.xn--p1ai |
Soutien à l'IDN dans les TLD
Le support de l'IDN varie selon le TLD:
Soutien complet
La plupart des gTLD modernes et de nombreux ccTLD supportent les IDN:
- .com, .net, .org (Vérisign)
- .de (caractères allemands)
- .jp (Japonais)
- .cn (chinois)
Les TLD internationalisés
Certains TLD sont eux-mêmes des IDN:
- .рш (Russie, cyrillique)
- .中ш (Chine)
- .السعوديш (Arabie saoudite, arabe)
Soutien limité ou sans soutien
Certains TLD limitent les IDN ou ne les soutiennent pas du tout. Vérifiez toujours le support de l'IDN pour votre TLD cible.
Considérations de sécurité: Attaques d'homographe
Les IDN introduisent des risques de sécurité au moyen d'attaques d'homographes, où des caractères visuellement similaires de différents scripts créent des domaines trompeurs :
apple.com (legitimate - Latin letters)
аpple.com (attack - Cyrillic 'а' looks like Latin 'a')
Protections contre les attaques homographiques
Browser Behavior: Les navigateurs modernes affichent Punycode pour les IDN suspects au lieu de la forme Unicode, révélant l'attaque. Politiques relatives au registre: Certains registres limitent les ensembles de caractères qui peuvent être combinés dans un seul domaine. Surveillance du domaine** : Des outils comme la détection de typosquattage de DomScan peuvent identifier des variantes homographiques enregistrées de votre marque.Mise en œuvre du soutien à l'IDN
Pour les développeurs construisant des outils de domaine :
Validation
// Check if domain contains non-ASCII
function isIDN(domain) {
return /[^\x00-\x7F]/.test(domain);
}
Conversion
// 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
Questions du RDAP
La plupart des serveurs RDAP acceptent les deux formulaires :
# Both work
curl "https://rdap.verisign.com/com/v1/domain/xn--fiq228c.com"
curl "https://rdap.verisign.com/com/v1/domain/中文.com"
Meilleures pratiques
Lorsque vous travaillez avec des IDN:
1. Toujours stocker et traiter le formulaire Punycode en interne
2. Afficher le formulaire Unicode aux utilisateurs
3. Mettre en œuvre la détection homographe pour les caractéristiques de sécurité
4. Vérifier les politiques d'IDN spécifiques à TLD avant l'enregistrement