PR

 実際,日本レジストリサービス(JPRS)は2月9日,「今回報告されたURL偽装は,ブラウザではなく,レジストリが原因」とアナウンスした関連記事)。「ブラウザはIDNの仕様に従って動作しているだけ。問題は,紛らわしいドメイン名の登録を許したレジストリ」だという。上記の例では,「http://www.paypаl.com」とアドレス・バーに表示するFirefoxが悪いのではなく,「paypаl.com」というドメイン名の登録を許したCOMドメインのレジストリが悪いとする。

 さらにJPRSによれば,IDNを導入した時点で今回のような事態は十分予想されていて,防ぐためのガイドライン――「JETガイドライン(RFC3743)」「ICANNガイドライン」――を用意しているという。これらに基づいて,IDN登録を運用すれば,多くの場合,今回のような事態は避けられる。

 例えば,前述の「paypаl.com」については,キリル文字「а」をASCII文字「a」のvariant(同一とみなすべき文字)として定義して,上記のガイドラインに従って「variantを含むドメイン名は受け付けない」という運用をしていれば,URL偽装を防げるという。

 実際,JPRSではガイドラインに従った運用をしているので,「example.jp」(すべてASCII)は登録できるが,「exаmple.jp」(ASCIIにキリル文字аが混入)は登録できない。

FirefoxはデフォルトでIDNを無効に

写真3●Firefox 1.0.1でデモ・サイト「paypаl.com」にアクセスした結果
 確かに,レジストリが適切な運用を実施していれば,今回のような問題の多くは防げる。しかしMozilla Foundationでは,すべてのレジストリに適切な運用を期待するのは,すぐには難しいと考えたのだろう。2月14日,その時点での次期バージョンFirefox 1.0.1とMozilla 1.8 Betaでは,IDNをサポートしないことを表明した。例えば,Firefox 1.0ではデフォルトでIDNが有効(アドレス・バーにIDNが表示される)だが,Firefox 1.0.1では無効,つまりアドレス・バーにはPunycodeが表示される(写真3[拡大表示])。1.0.1でIDNを表示させるには,設定変更する必要がある。

 なお,ここで注意してほしいのは,「IDNが無効」といっても,IDNが表示されないだけで,そのサイトへはアクセスできるということ。例えば,Firefox 1.0.1のアドレス・バーに「http://paypаl.com」と入力すれば,Firefox 1.0のときと同じように,Secuniaのデモ・サイトへアクセスできる。ただ,アドレス・バーにはPunycodeに変換された「http://www.xn--paypl-7ve.com」という文字列が表示される。

 もう一点,Mozilla Foundationのアナウンスでは,今回の対処を「Mozilla Foundation's short-term response」としていることにも注意したい。IDNを無効にするという対処は,あくまでも短期的なもので,レジストリのほとんどがガイドラインに従うようになれば,また有効に戻すつもりなのではないだろうか。

 このMozilla Foundationのアナウンスに対して,CENTR(The Council of European National TLD Registries)は2月22日,批判の声を上げたJPRSによる参考訳)。CENTRとは,TLDレジストリで構成される協会。CENTRの声明では,「ブラウザがIDNをデフォルトで無効にすると,多くのユーザーは有効にしないので,インターネットの国際化を妨げる」「以前から知られている問題。今さら慌てる必要はない」などとしている。

 だが,Mozilla Foundationは予定通り,デフォルトではIDNを無効にしたFirefox 1.0.1を2月24日にリリースした(関連記事)。編集部で試したところ,前述のように,アドレス・バーには,IDNがPunycodeで表示されるようになった。

OperaはTLDによって表示を変更

写真4●Opera新版ベータ2でデモ・サイト「paypаl.com」にアクセスした結果
 ノルウェーOpera Softwareも,すべてのレジストリがすぐにガイドラインに従うようになるとは思っていないようだ。2月28日に公開した「Opera」新版のベータ2で,今回のIDN問題に対応した(関連記事)。だが,Mozilla Foundationの対応とは若干異なる。ベータ2で「http://paypаl.com」にアクセスした場合には,Firefox 1.0.1と同じように,IDNではなくPunycodeが表示される(写真4[拡大表示])。

 ところが,ガイドラインに従って運用していることが確認できているレジストリが管理するTLD(例えば,jpやkr)のURLについては,従来通り,IDNをそのまま表示する(写真5[拡大表示])。

写真5●Opera新版ベータ2で「日本語.jp」にアクセスした結果
 Operaのリリースなどによれば,新版ベータ2には信頼できるレジストリのTLD(例えば,jpやkr)のリストが含まれていて,そこに記載されているTLDのURLについては,従来通りアドレス・バーにIDNをそのまま表示する。そして,リストにないTLDのURLはPunycodeに変換してから表示するという。リストに掲載するかどうか(そのTLDのレジストリが信頼できるかどうか)は同社が判断し,リストは定期的に更新する。

 FirefoxとOpera。どちらの対応が好ましいかは判断が分かれるところだろう。そもそも,「IDNは必要ない」と思っている方も少なくないだろう。また一方で,必要性を感じている人も多いだろう。ただ,いずれの場合でも,今回の「URL偽装問題」が改めてIDNに関心を集めたことは確かだ。せっかくの機会なので,IDNの有用性について改めて考えてみてはいかがだろうか。

(勝村 幸博=IT Pro)