あなたのIPv4アドレス:
オペレーティングシステム:
プロバイダー:

Punycodeと国際化ドメイン名の仕組み

Punycodeは、国際化ドメイン名でUnicodeの文字をASCII互換の形式で表すためのエンコード方式です。そのため、各国の文字で書かれたドメインが、技術的なデータの中ではxn--で始まるラベルとして表示されることがあります。エンコードによって変わるのは表現形式だけで、Webサイトが本物であることを証明するものではありません。

UnicodeのラベルとDNSのラベル

人の目に触れるのはUnicodeのラベルで、U-labelと呼ばれることがよくあります。これに対応するASCII互換のラベルがA-labelで、Punycodeが使われている場合はxn--で始まります。ドットで区切られたラベルのうち、対象となるものがそれぞれ個別に処理されます。この変換はURL全体をエンコードするものではなく、スキーム、パス、クエリには別のルールが適用されます。

たとえば、IDNのテスト用ラベルbücherのA-labelはxn--bcher-kvaです。該当するIDNAのルールに従って処理されれば、どちらの形式も同じドメインラベルを指します。実際にどのラベルを登録できるかについては、レジストリがさらに制限を設けていることもあります。

表示が変わることがある理由

ブラウザーは、セキュリティや言語に関する独自のルールに基づき、あるドメインはUnicodeの形で、別のドメインはA-labelで表示することがあります。そのため、URLを診断ツールにコピーすると、見慣れないxn--の文字列が現れることがあります。多くの国際化ドメイン名ではこれが当然の動作であり、それ自体は攻撃の証拠ではありません。

しかし、異なる文字体系の文字が似て見えることがあります。紛らわしいドメインは、よく知られたブランドに見えても、内部のコードポイントが異なっている場合があります。Punycodeはそうした文字を忠実にエンコードするだけで、なりすましを検出したり、所有者を確認したり、サイトの内容をチェックしたりはしません。

不審なアドレスを確認する

認証情報を入力する前に、ドメインの末尾も含めてホスト名全体を読みましょう。信頼できるブックマークや、組織が公表しているアドレスと比べてください。急ぎを装うメッセージ内のリンクには注意し、ブラウザーが警告を出したときは証明書の名前を確認します。

変換ツールを使えばUnicodeとASCIIの両方の形式を確認できますが、変換しただけで安全かどうかを判断することはできません。登録データが状況を知る手がかりになることはあっても、非公開または限定的な記録では送信者の身元を証明できません。迷ったときは、怪しいリンクをたどらず、自分でサービスにアクセスしましょう。

不審な名前を記録するときは、UnicodeとA-labelの両方の形式を保存しておきます。そうすれば、コピー&ペーストやフォントの違いによって、実際にアクセスしたドメインが正確にわからなくなるのを防げます。

不審なリンクの証拠を残す場合は、目に見えるUnicodeのつづりと、それに対応するA-labelの両方をコピーしてください。フォントの違いやリンクの自動プレビューによって、実際に使われていた文字がわからなくなることがあります。また、完全なURLはドメインとは別に記録しておきましょう。正規のホストの下に、誤解を招くパスが続いていることもあります。

IDNも通常のDNSの仕組みを使う

変換後のA-labelは、ほかの有効なラベルと同じようにDNSで扱われます。委任、キャッシュ、DNSSEC、レコードタイプもそのまま適用されます。Unicodeの名前で問題が起きた場合は、ブラウザーの表示だけに頼らず、正確なASCII形式とDNSの応答を比べてみましょう。