Nemzetközi tartománynév

A Wikipédiából, a szabad enciklopédiából

A nemzetközi tartománynév vagy nemzetköziesített tartománynév (internationalized domain name, IDN) olyan internetes tartománynév, aminek legalább egy címkéjét (a pontokkal elválasztott részek) az alkalmazások ASCII kódtáblán kívül eső karakterekkel (pl. a magyar ábécé ékezetes karaktereivel, vagy akár cirill betűkkel vagy arab írással) mutatják – pl. ékezet.example.com. Ezeket a tartományneveket az internetes névfeloldást végző DNS-ben a Punycode átírás segítségével végső soron ASCII karakterláncokként tárolják.

A Domain Name Systemben, ami a felhasználóbarát doménneveket az internetes erőforrások elérését lehetővé tevő hálózati címekre fordítja, történelmi okokból kizárólag ASCII karaktereket használnak. Ezen a technikai korlátozáson egy olyan megoldással lehet átlépni, ami a nyelvspecifikus karaktereket kölcsönösen egyértelmű megfeleltetéssel ASCII karakterlánccá alakítja, ami már a DNS-sel kompatibilis.

A nemzetközi tartománynevek csak az erre az oda-visszaalakításra felkészített alkalmazásokkal használhatók (az alkalmazási réteg kezeli le őket); magát az internet infrastruktúráját nem kellett megváltoztatni miattuk.

A nemzetközi tartománynevek először Martin Dürst 1996 decemberi javaslatában szerepeltek[1][2], amit T.W. Tan irányítása mellett Tan Juay Kwang és Leong Kok Yong valósított meg, 1998-ban. Számos vita és az eredetivel versengő javaslat után az Internationalizing Domain Names in Applications (IDNA – magyarul „Alkalmazásokban használt nemzetközi tartománynevek”) nevű rendszert [3] fogadták el szabványként, és ültették át a gyakorlatba jó néhány legfelső szintű tartományban.

Az IDNA szabványban a „nemzetközi tartománynév” kifejezés alatt azokat a tartományneveket értik, amikre az IDNA-ban leírt ToASCII algoritmus (lásd lejjebb) sikeresen alkalmazható. 2008 márciusában az IETF új IDN munkacsoportot alakított [4] az IDNA protokoll megújítására.

2009 októberében az Internet Corporation for Assigned Names and Numbers (ICANN) engedélyezte az IDNA szabvány szerinti országkód szerinti legfelső szintű tartománynevek, tehát a legfelső szintű nemzetközi tartományok létrehozását.[5][6] 2010 májusában léptek működésbe az első IDN ccTLD-k.[7]

Alkalmazásokban használt nemzetközi tartománynevek[szerkesztés | forrásszöveg szerkesztése]

Az „alkalmazásokban használt nemzetközi tartománynevek” (Internationalizing Domain Names in Applications, IDNA) egy 2003-ban megalkotott mechanizmus a nem-ASCII karaktereket tartalmazó, nemzetköziesített tartománynevek kezelésére. Ezek a nevek vagy diakritikus jelekkel (mint a ñ, é betűkben) kiegészített latin betűs nevek, vagy latin betűket egyáltalán nem alkalmazó nyelveken vagy írásrendszerekben íródtak: arab írás, hangul, hiragana, kandzsi stb.

Bár maga a DNS nem csak ASCII karaktereket képes kezelni (bájtközpontú protokollként bármilyen oktettet képes lenne átvinni), az alkalmazások (e-mail, webböngésző) korlátozzák a doménnevekben (pl. hostname/állomásnév számára) használható karaktereket. Tulajdonképpen az alkalmazások által használt hálózati protokollok miatt kell a használható karakterek körét korlátozni, nem is maguk az alkalmazások vagy a DNS miatt.

A telepített alkalmazásokkal való visszamenőleges kompatibilitás miatt az IETF IDNA munkacsoportja úgy döntött, hogy a nemzetköziesített doménneveket olyan ASCII-alapú formára kell konvertálni, amit a webböngészők és más alkalmazások képesek lesznek kezelni. Az IDNA meghatározza, hogy a nem-ASCII karakterekkel írt név és az ASCII-alapú forma közötti konvertálást hogyan kell elvégezni.

Egy IDNA-kompatibilis alkalmazás képes a doménnevek nemzetközi és az ASCII alakjai közötti konvertálásra. DNS-lekérdezéseknél az ASCII alakot használja, de a felhasználó felé a teljes Unicode karakterkészlettel leírható alakot mutatja. Az IDNA-val nem kompatibilis alkalmazások nem képesek kezelni a nem-ASCII karakterekkel leírt doménneveket, mégis képesek lesznek elérni azokat, ha azok nevének (elég rejtélyesen kinéző) ASCII megfelelőjét kapják meg bemenetként.

Az ICANN 2003 júniusában iránymutatásokat adott ki az IDNA használatával kapcsolatban, és ennek alapján 2003 júliusában már lehetséges volt a .jp alá nemzetközi tartományneveket regisztrálni, az .info[8] alá pedig 2004 márciusától. Magyarországon 2004. március 1-jétől vált lehetségessé ékezetes doménnevek bejegyzése[9]. Számos doménregisztrátor tette lehetővé az IDNA használatát 2004-2005 között. Először 2003 júniusában adták ki az IDN iránymutatásokat[10] amit azután 2005 novemberében frissítettek [11] az adathalászattal kapcsolatos aggályokra válaszolva. Az országkód szerinti legfelső szintű tartományokra fókuszáló ICANN munkacsoport 2007 novemberében alakult meg[12].

A Mozilla 1.4, a Netscape 7.1, az Opera 7.11 voltak az első webböngészők, amik az IDNA-t támogatták. Az Internet Explorer 6-hoz külön bővítményre van szükség az IDN-támogatáshoz, míg az Internet Explorer 7.0[13][14] és a Windows Vistában bevezetett URL API-k már natívan támogatták az IDN-t.[15]

ToASCII és ToUnicode[szerkesztés | forrásszöveg szerkesztése]

A tartománynevek ASCII és nem-ASCII formái közötti konverziót a ToASCII és ToUnicode algoritmusok végzik. Ezeket nem a teljes tartománynévre futtatják le, hanem az egyes címkékre. Pl. ha a doménnév a www.example.com, akkor az egyes címkék a következők: www, example és com. A ToASCII és ToUnicode algoritmusokat egyenként mind a háromra le kell futtatni.

A két algoritmus meglehetősen komplex, a részleteket az RFC 3490 határozza meg. Az alábbiakban az algoritmusok áttekintése olvasható.

A ToASCII az ASCII címkéket változatlanul hagyja, és sikertelenül fut le, ha a címke nem felel meg a Domain Name System számára. Ha a címke legalább egy nem-ASCII karaktert tartalmaz, a ToASCII alkalmazza a Nameprep algoritmust, ami kisbetűssé konvertálja a címkét és más normalizációt is végez rajta, majd az eredményül kapott karakterláncot a Punycode segítségével fordítja le ASCII-ra[16], mielőtt elétenné a négykarakteres „xn--” szekvenciát.[17] Ez a négy karakter együtt az ASCII-kompatibilitási előtag (ASCII Compatible Encoding – „ACE” – prefix), és az ASCII címkék és a Punycode-dal kódolt címkék megkülönböztetésére szolgál. A ToASCII algoritmus futása több ok miatt is sikertelenül végződhet: például az eredményül kapott karakterlánc hossza meghaladhatja a DNS-nevek 63 karakteres határértékét. Olyan címkét, amire a ToASCII nem futtatható le sikeresen nem lehet nemzetközi tartománynév részeként használni.

A ToUnicode a ToASCII hatását fordítja vissza; levágja az ACE-előtagot, és alkalmazza a Punycode-dekódoló algoritmust. A Nameprep-feldolgozást nem fordítja vissza, mivel az normalizációs műveletként természeténél fogva irreverzibilis. A ToASCII-tól eltérően a ToUnicode mindig sikeresen lefut, mert ha a dekódolás sikertelen, egyszerűen a kiindulási karakterláncot adja vissza. Ez azt is jelenti, hogy az ACE-előtag nélküli karakterláncokon nincs hatása a ToUnicode algoritmusnak.

Példa IDNA-kódolásra[szerkesztés | forrásszöveg szerkesztése]

Az IDNA-kódolást illusztrálhatjuk a példaként használt Árvíztűrő.hu doménnel. Az Árvíztűrő egy gyakori példaszöveg része, míg a .hu Magyarország ccTLD-je. Így a domén két címkéből áll, ezek az Árvíztűrő és a hu. A második címke tisztán ASCII, ezért változatlanul marad. Az első címkére a Nameprepet alkalmazva az árvíztűrő sztringet kapjuk. Ezt a Punycode-on átfuttatva az eredmény rvztr-wqa0gx3bwi. Ennek az elejére fűzve az xn-- karakterláncot xn--rvztr-wqa0gx3bwi-t kapunk. A végleges, használható doménnév ezek szerint xn--rvztr-wqa0gx3bwi.hu.

Ha a ToUnicode-ot lefuttatjuk a végeredményre, árvíztűrő.hu-t kapunk, látszik tehát, hogy a normalizáció hatása nem fordult vissza.

Megvalósítása legfelső szintű tartományok esetén[szerkesztés | forrásszöveg szerkesztése]

Egy legfelső szintű nemzetközi tartomány olyan országkód szerinti legfelső szintű tartomány (ccTLD), ami nem latin írással van leírva. Jelenleg (2010. május) négy ilyen IDN ccTLD létezik: az arab ‏السعودية.‎, ‏مصر.‎, ‏امارات.‎ és a cirill betűs .рф.

Léteznek további, tesztelésre használható legfelső szintű nemzetközi tartományok, mint a .δοκιμή,[18], ami görög nyelven tesztet jelent. Lásd pl: http://παράδειγμα.δοκιμή/ .

Az IDNA/ICANN-tól eltérő, nem-ASCII tartományneveket támogató regisztrátorok[szerkesztés | forrásszöveg szerkesztése]

Léteznek olyan regisztrátorok, amelyek más módon támogatják a nem-ASCII tartományneveket. Például a thaiföldi ThaiURL.com saját, módosított DNS-ébe, a ThaiURL-be végez regisztrációkat. Az ilyen módosított DNS-t használó szervezetek nem vetik alá magukat az ICANN irányításának, ezért alternatív DNS-gyökérnek tekinthetők. Így az ide regisztrált doméneket a legtöbb internetszolgáltató nem fogja támogatni, és a felhasználók többsége nem tudja feloldani az itt bejegyzett doménneveket, csak ha manuálisan átállítja a számítógépét az alternatív DNS-kiszolgáló használatára.

ASCII-imitációs aggodalmak[szerkesztés | forrásszöveg szerkesztése]

A teljes Unicode karakterkészlet használata a doménnevekben sebezhetővé teszi az oldalakat a hamisításos támadásokkal (spoofing) szemben; egyes IDN-karakterek hasonlóak lehetnek egymáshoz, vagy más ASCII karakterekhez. Például a cirill kis „а” betű (Unicode: U+0430) a legtöbb betűtípusban megegyezik a latin kis „a” betűvel (Unicode: U+0061), így a webböngésző címsorában problémát okozhat az egy-egy betűben eltérő, homografikus URL-ek megkülönböztetése. A probléma persze az IDN tartománynevek előtt is fennállt, pl. a felületes szemlélő könnyen összetévesztheti a rnicrosoft.com és a microsoft.com doméneket.

Ezen jogos aggodalmak miatt a webböngészők, noha meg tudnák jeleníteni az IDN webcímeket, nem minden esetben teszik meg ezt. A Google Chrome pl. csak a nyelvi beállításokban megadott nyelvekhez tartozó IDN-karaktereket jeleníti meg, egyébként az ASCII-változatot mutatja; egyes más webböngészők fehérlisták (pozitív kivétellisták) segítségével döntenek a megjelenítési módok között.

IDN regisztrációkat elfogadó legfelső szintű tartományok[szerkesztés | forrásszöveg szerkesztése]

Források[szerkesztés | forrásszöveg szerkesztése]

  1. Dürst, Martin J.: Internet Draft: Internationalization of Domain Names. The Internet Engineering Task Force (IETF), Internet Society (ISOC), 1996. december 10. (Hozzáférés: 2009. október 31.)
  2. Dürst, Martin J.. „URLs and internationalization”, World Wide Web Consortium, 1996. december 20. (Hozzáférés ideje: 2009. október 30.) 
  3. RFC 3490, IDN in Applications, Faltstrom, Hoffman, Costello, Internet Engineering Task Force (2003)
  4. John Klensin: Internationalized Domain Names in Applications (IDNA): Protocol. IETF IDNAbis WG, 2008
  5. Internet Corporation For Assigned Names and Numbers (ICANN) (October 30, 2009). "ICANN Bringing the Languages of the World to the Global Internet". Press release. Elérés: 2009-10-30.
  6. Internet addresses set for change”, BBC News, 2009. október 30. (Hozzáférés ideje: 2009. október 30.) 
  7. Internet Corporation For Assigned Names and Numbers (ICANN) (May 5, 2010). "First IDN ccTLDs now available". Press release. Elérés: 2010-05-06.
  8. Mohan, Ram, German IDN, German Language Table, March 2003
  9. hu.inter.net: magyar ékezetes domain nevek regisztrációja
  10. Dam, Mohan, Karp, Kane & Hotta, IDN Guidelines 1.0, ICANN, June 2003
  11. Karp, Mohan, Dam, Kane, Hotta, El Bashir, IDN Guidelines 2.0, ICANN, November 2005
  12. Jesdanun, Anick (Associated Press). „Group on Non-English Domains Formed”, 2007. november 2. (Hozzáférés ideje: 2010. május 16.) 
  13. What's New in Internet Explorer 7
  14. International Domain Name Support in Internet Explorer 7
  15. Handling Internationalized Domain Names (IDNs)
  16. RFC 3492, Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA), A. Costello, The Internet Society (March 2003)
  17. IANA e-mails explaining the final choice of ACE prefix
  18. IANA Report on Delegation of Eleven Evaluative Internationalised Top-Level Domains
  19. NeuStar IDN részletek
  20. EC adopts IDN amendments to .eu regulation. News archive of The European Registry of Internet Domain Names. June 26, 2009.
  21. '.eu' internet domain to be available also in Cyrillic and Greek alphabets. Europa.eu Press Release. June 26, 2009.
  22. Internationalized Domain Name (IDN) Questions Public Interest Registry

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]