IDN(国際化ドメイン名)の解説と、Safariの対応について

IDNにおける jpドメイン(日本語ドメイン)について

初版作成日 2005年4月17日
最終更新日 2005年6月27日

Safariは、IDNに完全対応

Mac OS X標準のWebブラウザー「Safari」は、2000年後半~2001年初頭にかけて運用が開始され、現在では本格的に普及が進んでいる「IDN(Internationalized Domain Name、国際化ドメイン名)」に完全対応しています。他にもFirefox、Opera等、条件付きにて対応しているブラウザーは幾つか存在しますが、制限なしに完全対応を果たしているのは、現時点ではSafariが唯一の存在となります(2005年4月現在)。今回は、他ブラウザーとの比較においてもSafariがアドバンテージの一つとしている「IDN」に関して、その概要等を簡単に纏めてみたいと思います。

日本語.jp

まずは上記のリンクを、お手元のWebブラウザーにてクリックしてみて下さい(安全なサイトです)。「Internet Explorer」以外のブラウザーであれば、殆どの場合において「日本語.jp」と称される、jpドメインを管轄している公式サイトが表示されたのではないでしょうか。

このハイパーリンクは、マウスオーバーした時のステータスバーの表示を見ても分かる通り、HTMLのソースにおいても「http://日本語.jp/」と記述してあります。これが、今回テーマにしている「IDN」のカテゴリーの一つ「jpドメイン(日本語ドメイン)」です。

そもそも「IDN」とは?

まずは「IDN」について簡単に説明します。

「Internationalized Domain Name」の略称となる「IDN」は、日本では「国際化ドメイン名」とも表記されます。これは、本来ASCIIコード(注)でしか表記する事ができないURLに対して、日本や中国で用いられている漢字、朝鮮半島で用いられているハングル、或いは日本独自の平仮名や片仮名(半角含む)等を使用可能とすべくした技術仕様の事を指しています。

そして、マルチバイト言語でのURL表記を実現させるために、既存の「DNS(Domain Name System)」(注)の仕組みを変更する事なく、ソフトウェア(ブラウザー)レベルにて「正規化→Punycode変換」を行い、DNSに対しては 従来までのASCIIコードを用いて問い合わせを行います(既存のシステムに影響や混乱を与える事なく、スムーズに導入する事が可能)。

正規化

入力された国際化ドメイン名を、NAMEPREPに基づき、一定の標準形に整形する仕組み。例えば、アルファベットの大文字は全て小文字に、特定のカタカナ(例えば「ア」)の全角文字(2バイト文字)は半角文字(1バイト文字)に、全角の「。」(句点)は半角の「.」(ドット)に、 全角の「jp」は半角の「jp」に各々変換される(類似した文字を、同一の文字として扱う仕組み)。

Punycode変換

非ASCII文字にて構成されるURLから DNSに問い合わせを行う場合には、ACE(ASCII Compatible Encoding)と称されるエンコード規則に則って ASCII文字のURLへと変換する必要があるが、その際に必要とされるエンコード規則の一つ。

尚、Punycode変換後のURL(IDN非対応のブラウザーにおいてもアクセスする事が可能な、従来のASCIIコード形式)がどのように表示されるのか、幾つかの例を以下に示します。

尚、日本語ドメイン名を取得した場合に、当該のドメインが DNSにおいてどのようなアドレス表記で登録されるのかは、JPドメイン名のサービス案内(JPRS)のサイトから調べる事ができます(逆変換も可能)。

IDNのアドレス解決
↑IDN(国際化ドメイン名)におけるアドレス解決の仕組

このように、元来はIPアドレスによるアクセスにしか対応していなかったWebサーバーに対して、まずはDNSの技術により 7bitのASCII制御文字を利用可能とし、更にはIDNによって、2byte文字を含む非英語圏の文字もサポート。技術の進化の過程において、我々日本人は より直感的、且つ認識し易い表記にて、インターネットにアクセスする事が可能となった訳です。

主要なブラウザーにおけるIDNへの対応状況

前述の通り、非常に利便性に優れたIDNですが、利用に際してはソフトウェア(Webブラウザー)側の対応が必須となりますので、以下に各ブラウザーにおけるIDNへの対応状況を纏めてみます。

Internet Explorer

ブラウザーの機能としては非対応だが、Ver. 5以降では プラグイン(「i-Nav」「JWord」)を通じて、ほぼ完全対応。

Netscape

Ver. 7.1以上において対応。但し、逆変換表示(注)やブックマーク、履歴からの利用には非対応。

Mozilla Application Suite、Firefox

Netscapeと同様に、逆変換表示やブックマーク、履歴からの利用には非対応。その他は対応可能。尚、デフォルトの状態では、IDNの表示機能が無効となっている。

Opera

Ver. 7.1以上において対応。但し、 正規化のプロセスにおいて 半角カタカナや全角英数字の変換を行う事ができないため、完全対応には至っていない。

※上記の記述は、全て2005年4月現在の情報です。

上記に纏めた通りに、Safari以外のブラウザーでは、対応はしていても 何れかの制限事項(注釈)が付されているのが現状であり、未だ普及途上の技術といった位置付けです。多くのユーザーに深く認知されるためには、やはりInternet Explorerにおける完全対応が必須となってくるでしょう(次世代版の「Internet Explorer 7」において、完全対応が予定されています)

発見された脆弱性と、各ベンダーにおける対応状況

上記のように、インターネットの利用に多大な改革を齎す事が期待されるIDNですが、今年に入って その普及を鈍化させるような脆弱性(セキュリティーホール)が発見されています。

脆弱性を伝える記事では、「英数字以外を利用する各国言語の中には、視覚的にアルファベットに類似した形の文字が存在する。今回報道されているのは、ロシア地方のキリル文字の「а」とアルファベットの「a」が視覚的に類似した形状を有している事を利用して、アドレスバーやステータスバーの表記はそのままに、ユーザーを悪意を持ったサイトに誘導しようとするもの。そして、この仕組みを悪用する事によって、結果的にフィッシング詐欺にも繋がる危険性がある」といった概要が報じられています。

つまり、ブラウザー側の問題というよりは、IDNの仕組み そのものが抱えている問題であり、Internet Explorerが該当しないのは、単にIDNへの対応が遅れているだけの話です。そして、この件に関する技術の提供側の見解は日本語.jpの公式サイトで述べられていますので、一読される事をお勧め致します。

基本的には、

導入当初より、このケースの問題は認識されており、対処方法としてのガイドラインも定めてある。後は、登録を管理するレジストリ側が 如何に厳格なポリシーを持って管理するかどうかにかかっている。そして、jpドメインでは 既に対策は実施済みである。

といった見解が表明されています。

また、Mozilla Application Suite、Firefoxが 初期状態でIDN機能を無効化し、有効化するために幾つかのステップを踏まなければならなくなった事や、Operaが次版において「.JP」や「.KR」以外のIDN機能を無効化した事に対しては、「非常に残念である」といった遺憾の意も表明されています。

尚、Mac OS X標準のWebブラウザー「Safari」に関しては、Appleより米国時間2005年3月21日付にてリリースされた「Security Update 2005-003」を適用する事によって、前記のセキュリティーホールに対しては概ねの対策が施されています。具体的には、現時点でIDNを使用しても問題がないと評価されている言語をホワイトリスト化し、リストに無い言語(脆弱性が指摘されているチェロキー語、キリル語、ギリシャ語)の文字がURLで使用されていた場合には、前述のPunycode変換後のASCII形式によるURLの表記が適用される事となります。

尚、Safariが参照しているホワイトリスト(IDNScriptWhiteList.txt)は「/System/Library/Frameworks/WebKit.framework/Versions/A/Resources/」に属しています。

このように、高い利便性を有すると同時に、インターネットの普及にも多大な貢献を齎すと予想されるIDNが 今後どのような発展を見せるのか、興味深く注視していきたいと考えています。

Made on a Mac

Made on a Mac
Mac、Macロゴは、米国およびその他の国で登録されているApple Computer, Inc.の商標です。Made on a MacバッジはApple Computer Inc.の商標であり、同社の許可により使用しています。