メインコンテンツまでスキップ

3. Design Considerations (設計上の考慮事項)

本節およびそのサブセクションは、DoQ に使用された設計ガイドラインを提示します。本文書の他のすべてのセクションは規範的ですが、本節は情報提供的な性質を持ちます。

3.1. Provide DNS Privacy (DNS プライバシーの提供)

DoT [RFC7858] は、TLS 上で DNS メッセージを送信する方法を規定することにより、"DNS Privacy Considerations" [RFC9076] で説明されているいくつかの問題を軽減する方法を定義しています。"Usage Profiles for DNS over TLS and DNS over DTLS" [RFC8310] は、スタブリゾルバが再帰リゾルバを認証する方法を含む、DoT の厳格 (Strict) および日和見的 (Opportunistic) 使用プロファイルを規定しています。

QUIC 接続のセットアップには、"Using TLS to Secure QUIC" [RFC9001] で規定されているように、TLS を使用したセキュリティパラメータのネゴシエーションが含まれ、QUIC トランスポートの暗号化を可能にします。QUIC 上で DNS メッセージを送信することは、厳格および日和見的使用プロファイル [RFC8310] を含む、DoT [RFC7858] と本質的に同じプライバシー保護を提供します。これについての詳細な議論は第 7 節で提供されます。

3.2. Design for Minimum Latency (最小レイテンシのための設計)

QUIC は、プロトコルによる遅延を削減するために特別に設計されており、以下のような機能を備えています:

  1. セッション再開中の 0-RTT データのサポート。

  2. "QUIC Loss Detection and Congestion Control" [RFC9002] で規定されている高度なパケット損失回復手順のサポート。

  3. 複数のストリーム上でのデータの並列配信を可能にすることによる、ヘッドオブラインブロッキング (head-of-line blocking) の軽減。

DNS から QUIC へのこのマッピングは、これらの機能を 3 つの方法で活用します:

  1. セッション再開中に 0-RTT データを送信するためのオプションのサポート (これのセキュリティおよびプライバシーへの影響は後のセクションで議論されます)。

  2. 複数の DNS トランザクションが実行される長期的な QUIC 接続により、高度な回復機能から利益を得るために必要な持続的なトラフィックを生成します。

  3. 各 DNS クエリ/レスポンストランザクションを個別のストリームにマッピングし、ヘッドオブラインブロッキングを軽減します。これにより、サーバーは「順不同」でクエリに応答できます。また、クライアントは、サーバーが以前に投稿したレスポンスの順序どおりの配信を待つことなく、レスポンスが到着次第すぐに処理できます。

これらの考慮事項は、第 4.2 節の DNS トラフィックから QUIC ストリームへのマッピングに反映されています。

3.3. Middlebox Considerations (ミドルボックスに関する考慮事項)

QUIC を使用すると、パディング、トラフィックペーシング、トラフィックシェーピングなどの暗号化およびトラフィック分析抵抗技術を使用して、ネットワークパス上のデバイスからプロトコルの目的を隠すことができる可能性があります。本仕様には、そのような分類を回避するように設計された措置は含まれていません。第 5.4 節で定義されているパディングメカニズムは、DNS クエリとレスポンスに含まれる特定のレコードを難読化することを意図していますが、これが DNS トラフィックであるという事実を難読化することは意図していません。その結果、ファイアウォールやその他のミドルボックスは、DoQ を HTTP などの QUIC を使用する他のプロトコルと区別し、異なる処理を適用できる可能性があります。

本仕様にプロトコル分類を回避する措置がないことは、そのような慣行を支持するものではありません。

3.4. No Server-Initiated Transactions (サーバー起動トランザクションなし)

第 1 節で述べたように、本文書は、確立された DoQ 接続内でのサーバー起動トランザクションのサポートを規定していません。つまり、DoQ 接続の開始者のみが接続を介してクエリを送信できます。

DSO は既存の接続内でのサーバー起動トランザクションをサポートしています。しかし、ここで定義されている DoQ は、メッセージの順序どおりの配信を保証しないため、DSO の適用可能なトランスポートの基準を満たしていません。[RFC8490] の第 4.2 節を参照してください。