[1] [DFN[[[IDN]]]] ([DFN[[[Internationalized Domain Name]]]]、[DFN[[[国際化ドメイン名]]]]) は、 [[文字集合]]を [[ASCII]] から [[Unicode]] に拡大した[[ドメイン名]]です。 [WEAK[([[ASCII文字]]のみの[[ドメイン名]]も定義上 [[IDN]] に含まれます。)]] [13] [[IDN]] の利用方法は [[IDNA]] として定義されています。 [[IDN]] は [[Punycode]] によって[[符号化]] ([[ASCII文字]]に転写) することによって、 [[DNS]] をはじめとする各種のプロトコルで利用することができます。 * 仕様書 - [14] [[IDNA2003]] -- [15] [CITE@en[RFC 3490 - Internationalizing Domain Names in Applications (IDNA)]] --- [16] '''''' --- [17] * 定義 [11] > An "internationalized domain name" (IDN) is a domain name in which every label is an internationalized label. This implies that every ASCII domain name is an IDN (which implies that it is possible for a name to be an IDN without it containing any non-ASCII characters). This document does not attempt to define an "internationalized host name". Just as has been the case with ASCII names, some DNS zone administrators may impose restrictions, beyond those imposed by DNS or IDNA, on the characters or strings that may be registered as labels in their zones. Such restrictions have no impact on the syntax or semantics of DNS protocol messages; a query for a name that matches no records will yield the same response regardless of the reason why it is not in the zone. Clients issuing queries or interpreting responses cannot be assumed to have any knowledge of zone-specific restrictions or conventions. [SRC[>>16]] [12] - [[各ラベル]]が[[国際化ラベル]]である[[ドメイン名]]を [[IDN]] といいます。 - [[ASCIIドメイン名]]はすべて [[IDN]] でもあります。 - 「[[国際化ホスト名]]」なるものは定義しません。 [[ASCII]] の[[ホスト名]]同様、利用できる文字の制限はその[[ゾーン]]の管理者に委ねられます。 * 処理モデル ** IDN 未対応ドメイン名スロットで利用する [23] [[ドメイン名]]が[[IDN未対応ドメイン名スロット]]に入れられる時には、 [[ASCII文字]]のみを含まなければ[['''なりません''']]。そのために、 [[IDN]] と等価な [[ASCII文字]]のみの[[ドメイン名]]を、 - [[各ラベル]]に対して [[ToASCII]] [[演算]]を適用する - [[ラベル分離子]]である[[点]]をすべて [CODE(char)[[[U+002E]]]] [CODE(charname)@en[[[FULL STOP]]]] にする ... 必要があります [SRC[>>17]]。 ** ドメイン名スロットから取り出す [24] [[ドメイン名スロット]]で[[ACEラベル]]が用いられている場合には、次のようにします [SRC[>>17]]。 - 非 [[ACE]] 形を扱えると分かっている時は、明示的に [[ACE]] 形を要求された場合を除き、[[ACEラベル]]を隠す[['''べき''']]です。 - 非 [[ACE]] 形を扱えるかわからないときは、非 [[ACE]] 形のままとしても[['''構いません''']]し、 [[ACE]] 形にしても[['''構いません''']]。 -- 非 [[ACE]] 形のままだと正常に処理されないかもしれません。 -- [[ACE]] 形にすると[[利用者]]には変に見えるかもしれません。 [[IDN]] から [[ACEラベル]]を含まない[[等価]]な[[ドメイン名]]へは、[[各ラベル]]に [[ToUnicode]] [[演算]]を適用することで変換できます。 [SRC[>>17]] >>18 もまた適用される場合においては、 >>18 が優先されます [SRC[>>17]]。 ** 比較する [25] 2つの[[ラベル]]は、 - [[ToASCII]] [[演算]]を適用して [[ASCII]] 形に変換して、 - [[大文字・小文字不区別]]で [[ASCII]] として[[比較]]して、 ... 両者が[[一致]]する場合に、[RUBYB[[[等価]]]@en[equivalent]]です。 [SRC[>>17]] [27] 2つの[[ラベル]]の[[比較]]では、 両者が[[等価]]である場合、その場合に限って、[RUBYB[[[一致]]]@en[match]]するとして扱わなければ[['''なりません''']]。 [SRC[>>17]] [26] 2つの[[名前]]の[[比較]]では、[[ラベル分離子]]が何であるかに関わらず、 対応する[[ラベル]]がそれぞれ[[一致]]していれば、その場合に限って、[RUBYB[[[一致]]]@en[match]]するとして扱わなければ[['''なりません''']]。 [SRC[>>17]] * 参考 - IETF-idn -- 日本語訳 - [2] [WEAK[2002-12-25 17:35]] ''[[名無しさん]]'': IDN WG もとうとう終わりらしいですね [3] [CITE[スラッシュドット ジャパン | 国際化ドメイン名対応Webブラウザにアドレス詐称の懸念]] > アルファベットの 'a' の代わりにキリル文字の 'а' を使うなど、信頼されているサイトのURLに使われている文字に字形の似た別の文字を使うことで、アドレスバーなどのURL表示を信頼されているサイトのURLのように見せかけることができるという点。 予定通りこういう問題がでてきたわけですが。 ([[名無しさん]] [WEAK[2005-02-08 12:05:48 +00:00]]) [4] [CITE[Bug 4279 - IDNを含むURL表示のセキュリティ問題(U+2215を含むドメイン名)]] ([[名無しさん]] [sage]) [5] [CITE[ヘサヤ大墨堂、日本語ドメイン「ぢ.jp」を申請]] ([[名無しさん]] [sage]) [6] [[RFC 4185]] [CITE@en[National and Local Characters for DNS Top Level Domain (TLD) Names]] ([[名無しさん]] [WEAK[2005-10-20 02:16:46 +00:00]]) [7] [CITE[スラッシュドット ジャパン | 中国が独自に漢字TLDを開始?]] ([[名無しさん]] [WEAK[2006-03-03 01:57:28 +00:00]]) [8] [CITE[IDN-enabled TLDs]] ([CODE[2008-03-18 16:36:38 +09:00]] 版) ([[名無しさん]]) [9] [CITE[貓朋狗友鳥事人家]] ([TIME[2008-06-21 10:55:41 +09:00]] 版) 「--」 [10] [CITE[ICANN | First IDN ccTLDs Requests Successfully Pass String Evaluation]] ([TIME[2010-03-27 10:33:17 +09:00]] 版)