3. Background to DNS64-DNSSEC Interaction (DNS64-DNSSEC相互作用の背景)
DNSSEC ([RFC4033], [RFC4034], [RFC4035])は, DNS64にとって特別な課題を提示します。なぜなら, DNSSECはDNS応答への変更を検出するように設計されており, DNS64は権威サーバーからの応答を変更する可能性があるためです。
再帰リゾルバは, セキュリティ認識型 (security-aware) またはセキュリティ非認識型 (security-oblivious) にすることができます。さらに, セキュリティ認識型の再帰リゾルバは, オペレータポリシーに従って, 検証型 (validating) または非検証型 (non-validating) にすることができます。以下のケースでは, 再帰リゾルバもDNS64を実行しており, 検証するローカルポリシーがあります。この一般的なケースをvDNS64と呼びますが, 以下のすべてのケースで, DNS64機能が必要であると想定する必要があります。
DNSSECには, クエリの発信者が理解する内容のいくつかの指標を提供するシグナリングビットが含まれています。
"DNSSEC OK" (DO)ビットが設定されたクエリがvDNS64デバイスに到着した場合, クエリの発信者はDNSSECを理解していることを示しています。DOビットは, クエリの発信者が応答を検証することを示すものではありません。これは, クエリの発信者がDNSSECデータを含む応答を理解できることを意味するだけです。逆に, DOビットがクリアされている場合, それはクエリを行うエージェントがDNSSECを認識していないという証拠です。
"Checking Disabled" (CD)ビットが設定されたクエリがvDNS64デバイスに到着した場合, クエリを行うエージェントが自分自身でチェックを実行できるように, すべての検証データを要求していることを示しています。ローカルポリシーによって, vDNS64は依然として検証できますが, とにかくすべてのデータをクエリを行うエージェントに返さなければなりません (MUST)。
以下が可能なケースです:
-
DNS64 (DNSSEC認識型またはDNSSEC非認識型)がDOビットがクリアされたクエリを受信する。この場合, クエリを行うエージェントはDNSSEC応答を理解しないため, DNSSECは懸念事項ではありません。DNS64は, ローカルポリシーで指示されている場合, 応答の検証を実行できます。
-
セキュリティ非認識型のDNS64がDOビットが設定され, CDビットがクリアまたは設定されたクエリを受信する。これは非DNS64ケースと同じです: サーバーがそれをサポートしていないため, クエリを行うエージェントは運が悪いです。
-
セキュリティ認識型で非検証型のDNS64がDOビットが設定され, CDビットがクリアされたクエリを受信する。このようなリゾルバは, おそらくローカルポリシーのため, 応答を検証していません ([RFC4035], セクション4.2を参照)。その理由で, このケースは前のケースと同じになり, 検証は行われません。
-
セキュリティ認識型で非検証型のDNS64がDOビットが設定され, CDビットが設定されたクエリを受信する。この場合, DNS64は取得したすべてのデータをクエリイニシエータに渡すことになっています ([RFC4035]のセクション3.2.2を参照)。このケースは, 検証リゾルバがDNS64自体を実行する準備ができていない限り, DNS64では機能しません。DNS64がレコードを変更すると, クライアントはデータを受信して検証しようとしますが, データはクライアントに関する限り無効になります。
-
セキュリティ認識型で検証型のDNS64リゾルバがDOビットがクリアされ, CDビットがクリアされたクエリを受信する。この場合, リゾルバはデータを検証します。失敗した場合, RCODE 2 (Server failure)を返します。それ以外の場合は, 応答を返します。これはvDNS64の理想的なケースです。リゾルバはデータを検証し, その後新しいレコードを合成してそれをクライアントに渡します。おそらく検証していない (そうでなければDOとCDを設定しているはずです) クライアントは, DNS64が関与していることを知ることができません。
-
セキュリティ認識型で検証型のDNS64リゾルバがDOビットが設定され, CDビットがクリアされたクエリを受信する。これは前のケースのように機能しますが, リゾルバは応答に"Authentic Data" (AD)ビットも設定する必要があります (SHOULD)。
-
セキュリティ認識型で検証型のDNS64リゾルバがDOビットが設定され, CDビットが設定されたクエリを受信する。これは, セキュリティ認識型で非検証型の再帰リゾルバが同様のクエリを受信する場合と事実上同じであり, 同じことが起こります: DNS64が合成を実行した場合, ダウンストリーム検証機はデータを無効としてマークします。ノードはDNS64自体を実行する必要があり, そうでなければ通信は失敗します。