[15] [DFN@en[[[IDNA]]]] ([DFN@en[Internationalizing Domain Names in Applications]])
は、 [[IDN]] ([[国際化ドメイン名]]) を[[インターネット]]の様々な[[アプリケーション]]で扱うための技術です。

[17] [[IDNA]] では、既存の[[プロトコル]]や実働しているシステムへの変更無しで [[IDN]]
を扱うために、 [[IDN]] を [[ASCII文字]]に転写し、 [[IDN]] と [[ASCII]] 
の[[ドメイン名]]との変換を末端の[[アプリケーション]]内で行います。この [[ASCII文字]]への転写法としては
[[Punycode]] が採用されています。

* 版

[16] [[IETF]] 的には、 [[IDNA]] には2つの (非互換な) 版があります。
[FIG(short list)[
- [13] [[IDNA2003]]
- [14] [[IDNA2008]]
]FIG]

[6] しかし実際に使われているのは [[UTS #46]] です。

* 技術

[7] 
[FIG(short list)[
- [[ドメインをASCIIに]]
-- [[ToASCII]]
- [[ドメインをUnicodeに]]
-- [[ToUnicode]]
- [[Unicode IDNA互換性処理]]
-- [[Punycode]]
--- [[Bootstring]]
-- [[IDNA写像表]]

[HISTORY[
- [[Nameprep]]
-- [[Stringprep]]
]HISTORY]
]FIG]

* テストケース

[30] [CITE[Nameprep and IDNA Test Vectors]]
( ([TIME[2011-03-07 08:02:42 +09:00]] 版))
<http://www.gnu.org/software/libidn/draft-josefsson-idn-test-vectors.html>

[31] 
[CITE@en-US[Savannah Git Hosting - libidn.git/tree - tests/]]
<http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=tree;f=tests>

* 実装

[29] [CITE[Net::IDN::Encode - search.cpan.org]]
<http://search.cpan.org/dist/Net-IDN-Encode/lib/Net/IDN/Encode.pm>

* メモ

[12] [CITE@en[RFC 5992 - Internationalized Domain Names Registration and Administration Guidelines for European Languages Using Cyrillic]]
([TIME[2010-10-05 09:48:08 +09:00]] 版)
<http://tools.ietf.org/html/rfc5992>


[32] [CITE[IRC logs: freenode / #whatwg / 20121107]]
( ([TIME[2012-11-25 12:45:34 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20121107#l-633>

[33] [CITE[Updating RFC 5890-5893 (IDNA 2008) to Full Standard]]
( ([TIME[2012-11-09 00:27:02 +09:00]] 版))
<http://www.alvestrand.no/pipermail/idna-update/2012-November/007450.html>

[34] [CITE[URL: IDNA2008 — Anne’s Blog]]
( ([TIME[2012-11-29 09:02:36 +09:00]] 版))
<http://annevankesteren.nl/2012/09/idna2008>

[35] [CITE@en[RFC 6912 - Principles for Unicode Code Point Inclusion in Labels in the DNS]]
( ([TIME[2013-07-31 04:26:59 +09:00]] 版))
<http://tools.ietf.org/html/rfc6912>

[36] [CITE[IRC logs: freenode / #whatwg / 20130813]]
( ([TIME[2013-08-14 23:34:42 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20130813#l-558>

[37] [CITE[IRC logs: freenode / #whatwg / 20130816]]
( ([TIME[2013-08-17 16:16:01 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20130816#l-62>

[38] [CITE[''''''[''''''whatwg'''''']'''''' URL standard: Query string parsing; host parsing]]
( ([TIME[2013-08-19 10:56:48 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-August/040504.html>

[39] [CITE[IRC logs: freenode / #whatwg / 20130819]]
( ([TIME[2013-08-20 19:40:50 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20130819>

[40] [CITE[URL: IDNA2003 — Anne’s Blog]]
( ([TIME[2013-08-20 19:56:56 +09:00]] 版))
<http://annevankesteren.nl/2013/08/idna2003>

[41] [CITE@en[Re: Standardizing on IDNA 2003 in the URL Standard]]
( ([[Anne van Kesteren]] 著, [TIME[2013-08-20 21:32:23 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-tag/2013Aug/0085.html>

[42] [CITE[IRC logs: freenode / #whatwg / 20130912]]
( ([TIME[2013-09-15 16:17:53 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20130912#l-744>

[43] [CITE[Issue 23642003: Support IDNA 2008 - Code Review]]
( ([TIME[2013-10-01 20:50:21 +09:00]] 版))
<https://codereview.chromium.org/23642003>

[44] [CITE@en[479520 – (IDNA2008) Implement new IDNA2008 standards]]
( ([TIME[2013-10-01 20:50:45 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=479520>

[45] [CITE@en[How does IE handle the IDN2008 RFCs? - I'm not a Klingon (<span style="font-family:pIqaD,code2000;"> </span>) - Site Home - MSDN Blogs]]
( ([TIME[2013-10-01 20:56:41 +09:00]] 版))
<http://blogs.msdn.com/b/shawnste/archive/2013/09/09/how-does-ie-handle-the-idn2008-rfcs.aspx>

[46] [CITE@en[Web Applications 1.0 r8381 Defer to URL spec for IDNA stuff.]]
( ([TIME[2014-01-08 06:12:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8380&to=8381>

[47] [CITE@en[Bug 23009 – Unicode normalization can produce / code points in domain names]]
( ([TIME[2014-01-16 00:31:55 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=23009>

[48] [CITE[IRC logs: freenode / #whatwg / 20140414]]
( ([TIME[2014-04-15 17:34:13 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20140414>

[49] [CITE[IRC logs: freenode / #whatwg / 20140415]]
( ([TIME[2014-04-16 14:05:04 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20140415>

[50] [CITE@en[RFC 6797 - HTTP Strict Transport Security (HSTS)]]
( ([TIME[2014-06-02 05:16:10 +09:00]] 版))
<http://tools.ietf.org/html/rfc6797#section-10>

[51] [CITE@en[RFC 6797 - HTTP Strict Transport Security (HSTS)]]
( ([TIME[2014-06-02 05:16:10 +09:00]] 版))
<http://tools.ietf.org/html/rfc6797#section-13>

[52] [CITE[URL: Unicode IDNA Compatibility Processing (Unicode Technical Standard #46) — Anne’s Blog]]
( ([TIME[2014-07-02 07:05:29 +09:00]] 版))
<http://annevankesteren.nl/2014/06/url-unicode>

[53] [CITE@en[RFC 6265 - HTTP State Management Mechanism]]
( ([TIME[2014-10-12 15:11:47 +09:00]] 版))
<http://tools.ietf.org/html/rfc6265#section-6.3>

[FIG(quote)[
[FIGCAPTION[
[1] [CITE@en[RFC 7469 - Public Key Pinning Extension for HTTP]]
([TIME[2015-05-05 21:00:37 +09:00]] 版)
<https://tools.ietf.org/html/rfc7469#section-2.3>
]FIGCAPTION]

> Note that
>    internationalized domain names SHALL be canonicalized according to
>    the scheme in Section 10 of '''['''RFC6797''']'''.

]FIG]


[2] [CITE@en[Add a section on rendering URLs with some advice around bidirectional… · whatwg/url@d1152b9]]
([TIME[2015-08-27 11:53:23 +09:00]] 版)
<https://github.com/whatwg/url/commit/d1152b94a16ae91e1f72d128fd5ef589635f0e7c>

[3] [CITE@en[479520 – (IDNA2008) Implement IDNA2008 and Unicode UTS #46]]
([TIME[2015-09-21 21:43:51 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=479520>

[4] [CITE@en[How does IE handle the IDN2008 RFCs? - I'm not a Klingon (<span style="font-family:pIqaD,code2000;"> </span>) - Site Home - MSDN Blogs]]
([TIME[2015-09-21 21:46:33 +09:00]] 版)
<http://blogs.msdn.com/b/shawnste/archive/2013/09/09/how-does-ie-handle-the-idn2008-rfcs.aspx>

[5] [CITE[Issue 23642003: Support IDNA 2008 - Code Review]]
([TIME[2015-09-21 21:46:46 +09:00]] 版)
<https://codereview.chromium.org/23642003>

[FIG(quote)[
[FIGCAPTION[
[8] [CITE@en[RE: Standardizing on IDNA 2003 in the URL Standard]]
([[Shawn Steele]]著, [TIME[2014-01-20 03:53:50 +09:00]])
<https://lists.w3.org/Archives/Public/www-tag/2014Jan/0126.html>
]FIGCAPTION]

> And, just to be clear, our APIs are currently IDNA2008 plus UTS46 (compatibility) minus contextual/bidi validation (and have been for a while and are unlikely to change in the foreseeable future).

]FIG]


[9] [CITE@en[Unicode IDNA feedback]]
([[Anne van Kesteren]]著, [TIME[2016-11-21 17:39:08 +09:00]])
<https://lists.w3.org/Archives/Public/www-archive/2016Nov/0001.html>

[10] [CITE[チェンジセット 208902 – WebKit]]
([TIME[2016-11-27 15:29:47 +09:00]])
<https://trac.webkit.org/changeset/208902>

[11] [CITE@en[Re: IDNA tests]]
([[Alex Christensen]]著, [TIME[2017-01-07 03:40:37 +09:00]])
<https://lists.w3.org/Archives/Public/www-archive/2017Jan/0008.html>

[18] [CITE@en[Re: Unicode IDNA feedback]]
([[Anne van Kesteren]]著, [TIME[2017-01-07 01:20:21 +09:00]])
<https://lists.w3.org/Archives/Public/www-archive/2017Jan/0007.html>

[19] [CITE@en[IDNA2008 · Issue #223 · whatwg/url]]
([TIME[2017-02-05 12:09:13 +09:00]])
<https://github.com/whatwg/url/issues/223>

[20] [CITE[curl - IDNA 2003 makes curl use wrong]]
([TIME[2016-11-07 20:02:21 +09:00]])
<https://curl.haxx.se/docs/adv_20161102K.html>

[21] [CITE@en[Issues · whatwg/url]]
([TIME[2017-02-15 00:31:45 +09:00]])
<https://github.com/whatwg/url/labels/idna>

[22] [CITE@en[Use Nontransitional_Processing for IDNA ToASCII]]
([[annevk]]著, [TIME[2017-02-20 18:51:49 +09:00]])
<https://github.com/whatwg/url/commit/f4d84a52e67b154b2d11e04889fe0a35a029c833>


- [23] 
[CITE@ja[XユーザーのKoichiさん: 「これユニコードの特殊な文字だけど、上はURLとしてアクセスできないけど、下はURLとしてアクセス可能なの仕様としておかしくない?最近フィッシングがこのユニコードを悪用してますが、URLとして識別されるのを避ける為なんだろうか。 https://🅖🅞🅞🅖🅛🅔.🅒🅞🅜 https://🄶🄾🄾🄶🄻🄴.🄲🄾🄼」 / X]], [TIME[午後5:46 · 2025年5月27日][2025-05-27T08:46:28.000Z]], [TIME[2025-05-28T08:09:48.000Z]] <https://x.com/x64koichi/status/1927285263383867491>
-- [24] [CITE@ja[XユーザーのKoichiさん: 「よく考えるとレピュテーションベースのURLフィルタリング機能対策ですね。メールの本文のURLをセキュリティ機能がBlacklist URLを照合してもユニコードだからヒットしない。でも、クリックするとアクセスできてしまう。サンドボックスがあれば問題ないはずですが。」 / X]], [TIME[午前8:58 · 2025年5月28日][2025-05-27T23:58:57.000Z]], [TIME[2025-05-28T08:09:48.000Z]] <https://x.com/x64koichi/status/1927514897220243502>


[25] 
酷い仕様ではあるけど何十年もこの状態でちゃんと標準化もされてるのだから、
それに対応できないで「セキュリティ」を称している製品があるのなら詐欺に近いのではなかろうか。




