Punycodeとは
Punycodeは、非ASCII文字を含むUnicodeのドメイン名を、ドメインネームシステム(DNS)で利用できる標準化されたASCII形式に変換するエンコード方式です。アラビア語、中国語、キリル文字といった言語の文字を、従来のDNSインフラと互換性のある形で表現することで、国際化ドメイン名(IDN)を実現します。
DNSは英字(A〜Z)、数字(0〜9)、ハイフンしか解釈できないため、Punycodeは複雑な文字体系を xn-- で始まる読み取り可能なASCII表現へ変換する翻訳レイヤーの役割を果たします。これにより、世界中のユーザーが技術的な互換性を保ちながら、母国語でドメインを登録し、アクセスできるようになります。
Punycodeのしくみ
変換の例を示します。
bücher.de → xn--bcher-kva.de
ブラウザはDNSクエリを送信する前に「bücher.de」をPunycode形式に変換します。サーバーから応答が返されると、ブラウザはユーザーにUnicode形式を表示します。
Punycodeとセキュリティ上のリスク
Punycodeは言語の包摂性を可能にする一方で、ホモグラフ攻撃などのセキュリティ上の懸念ももたらします。攻撃者は、異なる文字セットを使って見た目のよく似たドメインを登録し、信頼されたブランドになりすますことがあります。例えば、ラテン文字の「a」をキリル文字の「а」に置き換えて「apple.com」を偽装するといった手口です。
こうしたリスクを軽減するため、ブラウザやセキュリティシステムは複数文字体系が混在するドメイン名を制限したり、警告を表示したりすることがよくあります。また、SPF、DKIM、DMARCといったメール認証プロトコルも、Punycodeの類似性を悪用したなりすましの検出と防止に役立ちます。
PunycodeとDMARCeye
DMARCeyeは、AIベースの技術を用いて認証レポート内のPunycodeドメインをデコードして正規化し、国際化された多言語ドメイン全体で正確な可視性を確保します。類似ドメインや悪意を持って登録された変種を特定することで、DMARCeyeは組織が世界的なブランドの存在を守り、ドメインなりすましを防ぐのを支援します。
この機能により、IDNであっても完全なDMARC保護の対象となり、言語や文字セットをまたいだ一貫性が維持されます。その結果、誰があなたのメールドメインを使って、何を、誰に送っているのかを把握でき、不正利用が疑われる場合には迅速に対応できます。
ご自身のドメインの保護状況が気になりますか?無料でDMARCをチェックしましょう:
DMARCeyeの無料トライアルに登録して、メールドメインを保護しましょう。
DMARCおよび関連用語について詳しくは、DMARCeye用語集をご覧ください。