IDN (Nombre de Dominio Internacionalizado)

Fundamentos de Dominios
Un nombre de dominio que contiene caracteres no ASCII como chino, árabe o scripts cirílicos, permitiendo direcciones web en idiomas nativos.
← Volver al Glosario

¿Qué es un IDN?

Un IDN (Nombre de Dominio Internacionalizado) es un nombre de dominio que contiene caracteres fuera del conjunto ASCII tradicional utilizado en la especificación DNS original. Los IDN permiten nombres de dominio en scripts nativos como chino (中文.com), árabe (مثال.com), cirílico (пример.com) y muchos otros.

Por qué los IDN son importantes

El DNS original fue diseñado para hablantes de inglés, limitando los nombres de dominio a:

Esto excluyó a miles de millones de personas cuyos idiomas no utilizan el alfabeto latino. Los IDN democráticos el internet al permitir:

Cómo funcionan los IDN: La conexión Punycode

La infraestructura DNS solo entiende ASCII, por lo que los IDN utilizan un sistema de codificación inteligente llamado Punycode. Cuando registra o accede a un IDN:

1. Usuario escribe: 中文.com (chino para "chino")

2. Navegador codifica: xn--fiq228c.com (representación Punycode)

3. DNS resuelve: Búsqueda ASCII estándar

4. Navegador muestra: 中文.com (forma original)

El prefijo "xn--" indica una cadena codificada en Punycode. Esto sucede de forma transparente para los usuarios.

Ejemplos de Punycode

IDNPunycode
münchen.dexn--mnchen-3ya.de
中文.comxn--fiq228c.com
правда.рфxn--80aafi6cg.xn--p1ai

Soporte IDN en todos los TLD

El soporte IDN varía según el TLD:

Soporte completo

La mayoría de gTLD modernos y muchos ccTLD soportan IDN:

TLD internacionalizados

Algunos TLD son en sí mismos IDN:

Soporte limitado o inexistente

Algunos TLD restringen IDN o no los soportan en absoluto. Siempre verifique el soporte IDN para su TLD objetivo.

Consideraciones de seguridad: Ataques de homografía

Los IDN introducen riesgos de seguridad a través de ataques de homografía, donde caracteres visualmente similares de diferentes scripts crean dominios engañosos:

apple.com   (legítimo - letras latinas)

аpple.com (ataque - 'а' cirílico se parece a 'a' latino)

Ambos se muestran idénticamente pero son dominios diferentes.

Protecciones contra ataques de homografía

Comportamiento del navegador: Los navegadores modernos muestran Punycode para IDN sospechosos en lugar de la forma Unicode, revelando el ataque. Políticas de registro: Algunos registros restringen qué conjuntos de caracteres pueden combinarse en un solo dominio. Monitoreo de dominio: Herramientas como la detección de typosquatting de DomScan pueden identificar variantes de homografía registradas de su marca.

Implementación de soporte IDN

Para desarrolladores que construyen herramientas de dominio:

Validación

// Comprobar si el dominio contiene no ASCII

function isIDN(domain) {

return [...domain].some(char => char.charCodeAt(0) > 127);

}

Conversión

// Convertir a Punycode para consultas DNS

const punycode = require('punycode/');

const ascii = punycode.toASCII('中文.com'); // xn--fiq228c.com

const unicode = punycode.toUnicode('xn--fiq228c.com'); // 中文.com

Consultas RDAP

La mayoría de servidores RDAP aceptan ambas formas:

# Ambos funcionan

curl "https://rdap.verisign.com/com/v1/domain/xn--fiq228c.com"

curl "https://rdap.verisign.com/com/v1/domain/中文.com"

Mejores prácticas

Al trabajar con IDN:

1. Siempre almacene y procese la forma Punycode internamente

2. Muestre la forma Unicode a los usuarios

3. Implemente detección de homografía para características de seguridad

4. Verifique políticas IDN específicas de TLD antes del registro

Pon Este Conocimiento en Práctica

Usa la API de DomScan para comprobar disponibilidad de dominios, estado y mucho más.