「Netscape 7.1リリース、国際化ドメイン名を標準サポート」という記事が出ていた。これで思い出すのは、「Mozilla dot Party in Japan 4.0」に参加したときの、桃井さんとの会話。
桃井さん曰く、Netscape社内ではいつもセキュリティについて真剣に議論しているとのこと。新しい機能を入れるときにはそれがセキュリティ上の問題を招かないか喧々諤々の議論をしているのだそうだ。例えばどんな話題で?とたずねたところ出てきたのが、国際化ドメイン名の話だった。
US-ASCII以外の文字列をドメイン名に使うことになれば、似ているが異なるドメイン名というのが、これまで以上に増えるおそれがある。おそらく、日本語ドメイン名の仕様を検討していた人達が、そのあたりに注意して、記号文字の排除など、使える文字を限定しているだろうとは思うのだが、次の例の後者のようなドメイン名は取得できてしまうのではなかろうか。
http://日本レジストリサービス.jp/ http://日本レジストリサ一ビス.jp/http://日本語ドメイン名協会.jp/ http://日本語ドメイソ名協会.jp/
ドメイン名を国際化するにあたっては、サイバースクワッティング問題に配慮するだけではだめで、ドメイン名がセキュリティ上、重要な信頼の基点であるということを忘れてはならない。国際化ドメイン名関連のRFCを見てみたところ、RFC 3491に次の記述があった。(日本語訳は私によるもの)
9. Security Considerations
The Unicode and ISO/IEC 10646 repertoires have many characters that look similar. In many cases, users of security protocols might do visual matching, such as when comparing the names of trusted third parties. Because it is impossible to map similar-looking characters without a great deal of context such as knowing the fonts used, stringprep does nothing to map similar-looking characters together nor to prohibit some characters because they look like others.
UnicodeとISO/IEC 10646のレパートリーは、似たような見栄えの沢山の文字を持つ。多くの場合において、セキュリティプロトコルのユーザは、信頼できる第三者の名前を比較するなどの際に、視覚的な照合をするかもしれない。似て見える文字をマップすることは、使用しているフォントを知っているなど多量の文脈を使うことなしには不可能であるから、stringprepは、似て見える文字のマップについて何もしないし、他の文字に似ているからといってある文字を禁止することもしない。
Security on the Internet partly relies on the DNS. Thus, any change to the characteristics of the DNS can change the security of much of the Internet. ...
インターネット上のセキュリティは部分的にDNSを頼りにしている。したがって、DNSの性質に対するいかなる変更も、インターネットのほとんどのセキュリティを変えてしまい得る。 ...
Current applications might assume that the characters allowed in domain names will always be the same as they are in [STD13]. This document vastly increases the number of characters available in domain names. Every program that uses "special" characters in conjunction with domain names may be vulnerable to attack based on the new characters allowed by this specification.
現在のアプリケーションは、ドメイン名に許される文字が常に[STD13]にあるのと同じだろうと想定しているかもしれない。この文書は、ドメイン名に使用できる文字の数を膨大に増加させる。「特別な」文字をドメイン名と共に使うすべてのプログラムは、この仕様によって許された新たな文字に基づいた攻撃に対して脆弱な場合がある。
Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN), RFC 3491
このRFCには、懸念の指摘は書かれているものの、じゃあどうすればよいのかということについては書かれていない。
日本語ドメイン名協会、JPNIC、日本レジストリサービスあたりに、そういったことについての消費者向けの注意喚起の解説といった文書はあるのだろうか。
国際化ドメインの導入にどのような利点があるとされてきたかというと、広告媒体等で表示されるドメイン名を消費者が覚えやすいという点だろう。たとえば、日本レジストリサービスの「日本語JPドメイン名はこんなに良い!」という説明にこう書かれている。
日本語JPドメイン名は誰にでも「分かりやすい」「覚えやすい」というよさがあります。広告やパンフレット・名刺掲載も今なら注目度抜群。印象に残る日本語JPドメイン名で、見た人を確実にWebサイトに誘導することができます。
つまり、入力するための利便性として国際化ドメイン名は考えられてきたと言える。しかし、ドメイン名の役割には、入力する(アクセス先を指定する)ことだけでなく、表示する(今アクセスしているところがどこか確認する)ことにもある。後者の視点で、国際化ドメインのことが十分に考えられてきたのかどうか。「http://総務省.jp/」にアクセスしてみると、即座に http://www.soumu.go.jp/ へリダイレクトされる。これは、入力のための日本語ドメインとしてだけ活用されていると言える。
名前を国際化したいという話は、ドメイン名だけでなく、PKIの証明書にもある。例えば、サーバ証明書では、Webブラウザで確認する際に、現在では英語名称の組織名での確認を強いられている。日本人にとって英語名称の組織名に馴染みがあるはずもなく、消費者がサーバ証明書の目視確認の意義を理解することの妨げになっているだろう。例えば、https://www.shinsei.soumu.go.jp/ のサーバ証明書のSubject名は、
CN = www.shinsei.soumu.go.jp OU = MPHPT O = Japanese Government C = JPとなっており、「MPHPT」の意味を理解できる国民は皆無に近いだろう。ここに、
CN = www.shinsei.soumu.go.jp OU = 総務省 O = 日本国政府 C = JPと表示できるようになることの意義は大きい。
同様に、ドメイン名を日本語で確認できるようになることにも、セキュリティ上のメリットがあると考えられる。これまでは、ドメイン名を英数字記号として暗記して確認する必要があった。
問題は、「よく似た文字が存在し得る文字列を本物かどうか目視確認する」という作業に、人々はまだ慣れていないという点だ。これまでに、そういう必要性のある機会は存在していなかったのではなかろうか。「イソターネット」と「インターネット」を見分ける必要性はもはや洒落ではなくなってくるということだ。見分けを補助する技術の開発、採用が必要となるのかもしれない。
あるいは、ドメイン名の見分けは無理があると諦めて、「http://総務省.jp/」のように、US-ASCIIドメインのサイトへリダイレクトする使い方しかしないということも考えられる。この場合、消費者は、信頼するサイトのUS-ASCIIのドメイン名を覚えなくてはならず、日本語ドメイン名は、初めて訪れるときの暗記用キーワードとして使われることになる。
今年4月に行われたらしい日本語ドメイン名協会の講演会での、桃井さんらのプレゼンテーション資料が、同協会のサイトにあった。
そういえば、cookieのドメイン指定への影響も考えないといけないと、あのときも桃井さんが言っていたような。