[12] [DFN[IDNA2008]] は、 [[IDNA]] の2008年頃の改訂版です。 ;; [13] 2008年「頃」というのは、この種の仕様の例に漏れず、仕様策定に時間がかかって2008年に完成していないからです。 [14] [[IDNA2008]] は [[IDNA2003]] を改訂して置き換えるものですが、非互換な変更を含んでいるため、 [[IDNA2003]] も引き続き実装されて残っています。 * 仕様書 - [6] [CITE@en[RFC 5890 - Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework]] ([TIME[2010-08-05 01:32:35 +09:00]] 版) - [7] [CITE@en[RFC 5891 - Internationalized Domain Names in Applications (IDNA): Protocol]] ([TIME[2010-08-05 01:32:40 +09:00]] 版) - [8] [CITE@en[RFC 5892 - The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)]] ([TIME[2010-08-05 01:32:32 +09:00]] 版) - [9] [CITE@en[RFC 5893 - Right-to-Left Scripts for Internationalized Domain Names for Applications (IDNA)]] ([TIME[2010-08-05 01:32:45 +09:00]] 版) - [10] [CITE@en[RFC 5894 - Internationalized Domain Names for Applications (IDNA): Background, Explanation, and Rationale]] ([TIME[2010-08-05 01:32:43 +09:00]] 版) - [11] [CITE@en[RFC 5895 - Mapping Characters for Internationalized Domain Names in Applications (IDNA) 2008]] ([TIME[2010-09-15 04:55:59 +09:00]] 版) - [15] [[IDNA2003]] のうち [[Punycode]] ([[RFC 3492]]) は [[IDNA2008]] でも使われています。 * IDNA2003 からの変更点 - [19] 用語が整理されています。詳しくは [[ラベル]]の項を参照してください。 [20] [[IDNA2003]] と [[IDNA2008]] の間の非互換変更により、 [[IDNA2003]] における解釈を期待していた[[ドメイン名]]が [[IDNA2008]] では解釈できなくなる場合があります。その場合、 [[lookup]] は[[失敗]]としても構いませんし、 失敗したら [[IDNA2003]] で [[lookup]] し直しても構いませんし、最初から [[IDNA2003]] と [[IDNA2008]] の両方で [[lookup]] しても構いません。ただし、 解釈の違いを突いた攻撃ができるかもしれないので注意が必要です。 ;; [CITE@en[RFC 5890 - Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework]] ;; [21] [[IDNA2003]] 使っても良いとか本当にそんな姿勢でいいのか・・・? * 歴史 [1] [CITE@en-us[UTS #46: Unicode IDNA Compatible Preprocessing]] ([TIME[2008-12-10 08:56:55 +09:00]] 版) [2] [CITE@en-us[Unicode IDNA Compatible Preprocesssing]] ([TIME[2009-09-30 06:24:51 +09:00]] 版) [3] [CITE@en[draft-ietf-idnabis-mappings-04 - Mapping Characters in IDNA]] ([TIME[2009-09-29 08:04:24 +09:00]] 版) [4] しかしなんで連中はこう、[[非互換変更]]が好きなのかねぇ。 [5] [CITE[Security Degradations with IDNA2008 (Macchiato)]] ([TIME[2010-01-29 03:18:08 +09:00]] 版) * 各種仕様書・実装の対応 [16] [[Web Applications 1.0]] は現在でも [[IDN2003]] を採用しています。 [TIME[2011-03-19T10:39:25.300Z]] * メモ [17] [[IDNA2008]] は [[IDNA2003]] からいくつかの[[文字]]の解釈を変更しているので、 [[ゾーン管理者]]は注意する[RUBYB[べき]@en[should]]です。 ;; [18] [CITE@en[RFC 5890 - Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework]] [22] [[IDNA2008]] の [[RFC]] はすごく読みにくい。 - [23] 複数の [[RFC]] に分かれているせいで話題がまとまっていない - [24] 同じ概念を表す用語と思われるもののぶれが大きく、わざわざ別の表現で言い直したり -- [25] [[非妥当Uラベル]]などはわざわざ数種類の同じ意味の表現を導入している -- [26] 定義されているのはまだましな方で、殆どの場合は本当に同じ意味なのかどうか文脈で推測するしかない - [27] 他の場所への言及がわかりにくい -- [28] 「第○節のチェック」というのはましな方で、「以降のチェック」とか「○○文書の一覧表」など曖昧なポインターを多用している --- [34] しかもそのポインターが、同じとみられるものでも場所によって違う表現になっている -- [29] せめて何か相互参照用の名前か数字でも付けて欲しいものだ - [30] 手順の説明に補足説明や関連する話題が混じったり、手順内での条件分岐がよく読まないと気づかなかったりで、読んで容易に追えるようになっていない - [33] 何が要件でいつそれが満たされなければならないのか明確でない -- [31] 実装依存の要件が多く、その要件に依存した要件や説明があったりして難解過ぎる -- [32] [[RFC 2119]] の[[助動詞]]を使っていたり、[[小文字]]の[[助動詞]]を使ったりして、何に従えばいいのかわからない