IDN (国際化ドメイン名)

ドメイン基礎
中国語、アラビア語、キリル文字などの非 ASCII 文字を含むドメイン名。ネイティブ言語の Web アドレスを有効にします。
← 用語集に戻る

IDNとは

IDN(Internationalized Domain Name)は、元のDNS仕様で使われた従来のASCII集合以外の文字を含むドメイン名です。中国語(中文.com)、アラビア語(مثال.com)、キリル文字(пример.com)など、母語の文字体系によるドメイン名を可能にします。

IDNが重要な理由

元のDNSは英語話者を前提に設計され、ドメイン名を次に制限していました。

これはラテン文字を使わない言語の数十億人を排除していました。IDNは次を可能にしてインターネットを民主化します。

IDNの仕組み: Punycodeとの関係

DNS基盤はASCIIだけを理解するため、IDNはPunycodeというエンコード方式を使います。IDNを登録またはアクセスすると:

1. 利用者が入力: 中文.com(中国語で「中国語」)

2. ブラウザーがエンコード: xn--fiq228c.com(Punycode表現)

3. DNSが解決: 標準ASCIIとして検索する

4. ブラウザーが表示: 中文.com(元の形式)

「xn--」接頭辞はPunycodeでエンコードされた文字列を示します。この処理は利用者からは見えません。

Punycodeの例

IDNPunycode
münchen.dexn--mnchen-3ya.de
中文.comxn--fiq228c.com
правда.рфxn--80aafi6cg.xn--p1ai
各行は、Unicodeのドメイン名とDNSで使うPunycode表記の対応例です。

利用者が見る文字列と、名前解決で送られるASCII文字列はこのように異なります。

TLD間のIDN対応

IDN対応はTLDによって異なります。

完全対応

多くの現代的なgTLDとccTLDがIDNに対応しています。

国際化TLD

TLD自体がIDNであるものもあります。

限定対応または非対応

IDNを制限するTLDや、まったく対応しないTLDもあります。対象TLDのIDN対応を必ず確認してください。

セキュリティ上の考慮: ホモグラフ攻撃

IDNでは、異なる文字体系の見た目が似た文字で偽のドメインを作るホモグラフ攻撃のリスクが生じます。

apple.com   (legitimate - Latin letters)

аpple.com (attack - Cyrillic 'а' looks like Latin 'a')

ホモグラフ攻撃への対策

ブラウザーの動作: 現代のブラウザーは、不審なIDNをUnicode形式ではなくPunycodeで表示し、攻撃を明らかにします。 レジストリポリシー: 一部のレジストリは、1つのドメインで組み合わせられる文字集合を制限します。 ドメイン監視: DomScanのタイポスクワッティング検出などのツールで、ブランドに似たホモグラフの登録を見つけられます。

IDN対応の実装

ドメインツールを開発する場合:

検証

// Check if domain contains non-ASCII

function isIDN(domain) {

return /[^\x00-\x7F]/.test(domain);

}

変換

// Convert to Punycode for DNS queries

const punycode = require('punycode/');

const ascii = punycode.toASCII('中文.com'); // xn--fiq228c.com

const unicode = punycode.toUnicode('xn--fiq228c.com'); // 中文.com

RDAPクエリ

多くのRDAPサーバーは両方の形式に対応します。

# Both work

curl "https://rdap.verisign.com/com/v1/domain/xn--fiq228c.com"

curl "https://rdap.verisign.com/com/v1/domain/中文.com"

ベストプラクティス

IDNを扱うときは:

1. 内部では常にPunycode形式を保存・処理する

2. 利用者にはUnicode形式を表示する

3. セキュリティ機能にホモグラフ検出を実装する

4. 登録前にTLD固有のIDNポリシーを確認する

この知識を実践する

DomScan の API を使用してドメインの可用性、状態などを確認します。