Nom de domini internacionalitzat

De Viquipèdia
Dreceres ràpides: navegació, cerca

Un nom de domini internacionalitzat o Internationalized Domain Name (IDN) és un nom de domini d'Internet que pot contenir caràcters que no són ASCII. Aquest tipus de dominis poden contenir caràcters amb accents diacrítics, tal com requereixen moltes llengües europees (per exemple el català), o caràcters de sistemes d'escriptura no llatins com l'àrab o el xinès. Tanmateix, l'estàndard de noms de domini no permet aquest tipus de caràcters, i la major part de la feina esmerçada a elaborar una norma ha passat per trobar-ne una solució, ja sigui canviant-ne l'estàndard o adoptant un criteri convingut de conversió de noms de domini internacionalitzats a ASCII estàndard tot mantenint l'estabilitat del sistema de noms de domini.

L'estàndard IDN es va proposar originalment el 1998. Després de moltes discussions i diverses propostes, es va adoptar com a estàndard un sistema anomenat Internacionalització de noms de domini en aplicacions (Internationalizing Domain Names in Applications - IDNA) i l'any 2005 va tenir lloc la seva presentació pública.

En l'IDNA, el terme nom de domini IDN denota qualsevol nom de domini que pugui ser transformat en ASCII mitjançant l'algorisme IDNA ToASCII, basat en la codificació ASCII Punycode de cadenes Unicode normalitzades.

Internacionalització de noms de domini en aplicacions (IDNA)[modifica | modifica el codi]

És un mecanisme definit l'any 2003 per a manejar noms de domini IDN que contenen caràcters no ASCII. Aquests noms de domini no poden ser manejats per l'existent infraestructura de resolució de noms i DNS. En lloc de tornar a dissenyar la infraestructura DNS existent, es va decidir que els noms de domini amb caràcters no-ASCII han de ser convertits en una forma basada en ASCII pels navegadors web i altres aplicacions d'usuari; IDNA especifica com ha de realitzar-se aquesta conversió.

IDNA va ser dissenyat per a una màxima compatibilitat cap enrere amb el sistema DNS existent, el qual va ser dissenyat per a ser usat amb noms utilitzant només un subconjunt dels caràcters ASCII existents. Una aplicació habilitada per a IDNA és capaç de convertir entre ASCII restringit i representacions no ASCII per a un domini, utilitzant la forma ASCII en els casos on es necessiti (com el lookup DNS), però que sigui capaç de presentar la forma no ASCII, de millor lectura als usuaris. Les aplicacions que no suportin IDNA no seran capaces de manejar noms de domini amb caràcters no ASCII, però encara seran capaços d'accedir a tals dominis si els és donat l'equivalent ASCII (normalment més críptic).

La ICANN va presentar guies per a l'ús d'IDNA el juny del 2004 i ja era possible registrar dominis .jp i va usar aquest sistema el juliol de 2004. Molts altres registradors de dominis d'alt nivell van començar a acceptar registres el març de 2004. Les primeres aplicacions a suportar IDNA van ser Mozilla 1.4, Netscape 7.1 i Opera 7.11. Les versions d'Internet Explorer anteriors a la 7 requereixen un arxiu addicional (plug-in) per a suportar IDNA. Els navegadors que utilitzen Internet Explorer com a base en una versió anterior a la 7 per a mostrar pàgines web, tals com Avant Browser, tampoc admeten aquesta tecnologia.

Exemples:

ToASCII i ToUnicode[modifica | modifica el codi]

La conversió entre les formes ASCII i no-ASCII d'un nom de domini es realitza mitjançant algorismes anomenats ToASCII i ToUnicode. Aquests algorismes no s'apliquen a tot el nom de domini en el seu conjunt, sinó a etiquetes individuals. Per exemple, si el nom de domini és www.example.com, llavors les etiquetes són www, example i com, i ToASCII o ToUnicode s'aplicarien a cadascun ells per separat. A continuació es mostra una visió general del seu comportament.

El ToASCII deixa sense cap canvi qualsevol etiqueta ASCII, però actuarà si l'etiqueta és inservible per a DNS. Si una etiqueta donada conté almenys un caràcter no ASCII, ToASCII aplicarà l'algorisme Nameprep (el qual converteix l'etiqueta a minúscules i realitza alguna altra normalització) i llavors es traduirà el resultat a ASCII usant Punycode abans d'anteposar la cadena de quatre caràcters "xn--". Aquesta cadena de quatre caràcters es diu el prefix ACE, on ACE significa ASCII Compatible Encoding (Codificació Compatible ASCII), i es fa servir per a distingir les etiquetes codificades en Punycode de les etiquetes ASCII ordinàries. Cal notar que l'algorisme ToASCII pot fallar de moltes maneres; per exemple, l'etiqueta final pot excedir el límit de 63 caràcters del DNS. Una etiqueta en el qual ToASCII falla, no pot ser utilitzada en IDN.

El ToUnicode reverteix l'acció de ToASCII, despullant el prefix ACE i aplicant l'algorisme de descodificació Punycode. No reverteix el processament de Nameprep, a causa del fet que és simplement una normalització i és per naturalesa irreversible. AL contrari de ToASCII, ToUnicode sempre encerta, perquè simplement retorna la cadena original si la descodificació arribés a fallar. Això significa que ToUnicode no té efecte en una cadena que no comença amb el prefix ACE.

Exemple de codificació IDNA[modifica | modifica el codi]

Com a exemple de com funciona IDNA, suposem que el domini a codificar és [Ñandú.cl] (de fet, aquest domini existeix). Aquest té dues etiquetes, Ñandú i cl. La segona etiqueta és ASCII pura, de manera que es deixa sense canvis. La primera etiqueta és processada per Nameprep para retornar ñandú, i llavors mitjançant Punycode s'obté and-6dt.2c, i llavors s'annexa prèviament xn-- per a obtenir xn--and-6dt.2c. El domini final utilitzat per a l'ús de DNS és xn--and-6dt.2c.cl.

Possibles aplicacions en enganys[modifica | modifica el codi]

A causa del fet que IDN permet fer servir, als llocs d'Internet, noms complets en Unicode, també és possible el registre de dominis que semblin uns altres en la seva versió Unicode; no obstant això, la versió ACE del domini és diferent, la qual cosa permet descobrir-hi les diferències. Aquest tipus d'atacs no es deuen a deficiències tècniques en les especificacions Unicode o IDNA, sinó al fet que diferents caràcters en diferents llenguatges poden semblar iguals, depenent de la font (tipus de lletra) que s'hagi fet servir. Per exemple, el caràcter Unicode U+0430 ("a" ciríl·lica minúscula), pot semblar idèntic al caràcter Unicode O+0061 ("a" llatina minúscula, emprada en català). Tècnicament, els caràcters que s'assemblen gràficament són coneguts com a homògrafs. La similitud només es troba en la versió Unicode del nom de domini, ja que la versió ACE dels dominis és diferent. Per exemple, sabent que la primera "a" de pаypal.com és una "a" ciríl·lica, la versió ACE del domini és xn--pypal-4ve.com. Aquests atacs enganyosos poden exposar els usuaris a atacs de phishing.

Història dels dominis IDN[modifica | modifica el codi]

  • 07/98: Àsia Pacific Networking Group (també conegut com a APSTAR) forma iDNS Working Group presidit per James Seng
  • 1999: Primeres investigacions sobre IDN en la National University of Singapore, Center for Internet Research
  • 02/99: Llançades proves base de iDNS amb la participació de CNNIC, JPNIC, KRNIC, TWNIC, THNIC, HKNIC i SGNIC
  • 01/00: Es forma IETF IDN Working Group presidit per James Seng i Marc Blanchet
  • 03/01: Es forma l'ICANN Board IDN Working Group
  • 11/01: Es forma l'ICANN IDN Committee
  • 03/03: Publicació dels RFC 3454, RFC 3490, RFC 3491 i RFC 3492
  • 06/03: Publicació de l'ICANN IDN Guidelines
  • 05/04: Publicació dels RFC 3743, Joint Engineering Team (JET) Guidelines for Internationalized Domain Names (IDN) Registration and Administration per a xinesos, japonesos i coreans.

Dominis que han adoptat els dominis IDN[modifica | modifica el codi]