要約
- DNS greasing は未割当値を日常的に使い、将来の拡張を拒む実装や中間装置を早期に露出させる。
- 応答側が未知値を挿入する実験は、送信者が下流結果を観測できないため特に慎重であるべきで、第03版は既定で無効にするよう求める。
権威サーバーは応答に未知の EDNS フラグを一つ加えた。パケットは正常に送信された。その後、同じ問い合わせは来なかった。
これは成功だろうか。クエリアが未知フラグを無視して回答を利用したのかもしれない。拒否して別の権威サーバーへ移ったのかもしれない。再試行せず失敗した可能性も、利用者が処理を諦めた可能性もある。最初のサーバーから見ると、どれも同じ沈黙である。
draft-ietf-dnsop-grease-03 は、この非対称性を明示する。2026 年 7 月 6 日付の DNSOP ワーキンググループ Internet-Draft で、想定状態は Informational。RFC でも導入報告でもない。予約範囲、詳細動作、フォールバック、設定、テレメトリには未完成部分が残る。
未知値を平時に使う理由
拡張点はレジストリに空きがあるだけでは維持できない。受信者が未知値を仕様どおり扱えることが必要である。長期間、割当済み値しか見なければ、実装は現在の一覧を固定的な許可リストへ変えやすい。
greasing は未割当値を意味のない段階で送る。正しい受信者は無視など定められた処理を行い、通信を継続する。拒否する経路は、実際の新機能が必要になる前に発見される。
候補には DNS ヘッダーフラグ、Opcode、EDNS Version とフラグ、Class、RR Type、EDNS Option Code がある。RCODE は応答状態そのものを変えるため除外される。EDNS オプションではコードだけでなくランダムなデータ形状も必要になる。
未知値を受け入れたことは、将来その値に与えられる意味を正しく実装できる証明ではない。測れるのは無意味な未知値への耐性である。
問い合わせ側は比較結果を持てる
リゾルバーが grease を付けて問い合わせる場合、自分で応答またはタイムアウトを観測できる。失敗後に値を除いて再試行し、成功と比較することもできる。通常問い合わせと greased 問い合わせを並列に送り、前者を利用者向け、後者を測定専用にする方法もある。
それでも故障箇所は自動的には分からない。権威サーバー、プロキシ、負荷分散装置、ファイアウォール、中間装置のどこでも拒否できる。anycast やキャッシュ差も比較を乱す。
しかし少なくとも問い合わせ側には二つの結果が戻る。応答側実験では、その比較対象が下流へ隠れる。送信者は自分の行為だけを記録し、受容を推測しがちになる。
送信記録を受領証にしない
応答に未知値を載せたログは、実験が開始された証拠である。クエリアが回答を使用した証拠ではない。受容を確かめるには、制御されたクライアント、別の観測チャネル、DNS Error Reporting、または利用者報告が必要になる。
初期の委任拡張測定のように、対象を限定した応答側 greasing は有用になり得る。だが影響範囲、停止条件、観測方法が必要である。第03版が応答側 greasing を既定で無効とするのは、能力不足ではなく証拠不足への対応である。
サーバー運用者が「未知値を送ったが苦情がない」と結論づけるのも危険だ。苦情の欠如は、成功、静かな再試行、低頻度利用、監視不足のどれとも両立する。
フォールバックは利用者を救い、実験を隠す
問い合わせ側は通常、失敗時に未知拡張を外して再試行する。利用者は回答を得られるが、最初の失敗を保存しなければ経路は健全に見える。
将来の拡張が安全性を担う場合、攻撃者が失敗を誘発して保護なしの再試行へ追い込む可能性がある。greasing はその不耐性を早く直し、将来フォールバックを外せるようにするためのものだ。
再試行の成功と最初の失敗は別々に所有される証拠である。最終応答時間だけを記録してはならない。
予約値も未知値のふりを覚えられる
未割当空間からランダムに選ぶと一般的な処理を試せる一方、将来割り当てられる値と衝突する。予約された grease 範囲は衝突を避け、観測しやすい。
しかし中間装置が予約範囲だけを許可すれば、試験は通り、他の未知値は拒否され続ける。反硬直化の範囲が自ら硬直する。第03版はどのレジストリに範囲を置くか合意済みとはしていない。
終了日を設定する案も、実行中の旧ソフトが停止しなければ機能しない。レジストリ、リリース、設定の状態を結び付ける必要がある。
標本は観測対象を説明しなければならない
高トラフィックのリゾルバーは一部だけを複製できる。草案の「千分の一か」という記述は問いであり要件ではない。人気ドメインと大規模権威基盤が標本を支配し、古い低頻度システムが抜けることもある。
複数運用者の集計には、分母、地域、対象、値選択、トランスポート、再試行規則が必要である。大きな件数は比較可能性を生まない。
固定的な値列はリゾルバー製品のフィンガープリントにもなる。実験は拡張性だけでなく、識別可能性と追加トラフィックも管理しなければならない。
応答側 greasing の中心的な教訓は単純である。制御できるのは送信までであり、結果は別の主体が持つ。送信を成功と呼ばず、受容、再試行、アプリケーション結果を観測できるときだけ結論を進める。その証拠経路がない実験は、既定で止めておく方が誠実である。
出典
- https://www.ietf.org/archive/id/draft-ietf-dnsop-grease-03.txt
- https://www.ietf.org/archive/id/draft-ietf-dnsop-grease-03.html
- https://www.ietf.org/archive/id/draft-ietf-dnsop-grease-03.xml
- https://datatracker.ietf.org/doc/draft-ietf-dnsop-grease/
- https://datatracker.ietf.org/doc/draft-ietf-dnsop-grease/history/
- https://datatracker.ietf.org/doc/draft-ietf-dnsop-grease/references/
- https://datatracker.ietf.org/api/v1/doc/document/draft-ietf-dnsop-grease/
- https://www.ietf.org/archive/id/draft-huque-dnsop-grease-00.txt
- https://www.rfc-editor.org/rfc/rfc8701.txt
- https://www.rfc-editor.org/rfc/rfc6891.txt
- https://www.rfc-editor.org/rfc/rfc1034.txt
- https://www.rfc-editor.org/rfc/rfc1035.txt
- https://www.rfc-editor.org/rfc/rfc2671.txt
- https://www.rfc-editor.org/rfc/rfc7871.txt
- https://www.rfc-editor.org/rfc/rfc7873.txt
- https://www.rfc-editor.org/rfc/rfc8126.txt
- https://www.rfc-editor.org/rfc/rfc7766.txt
- https://www.rfc-editor.org/rfc/rfc5452.txt
- https://www.rfc-editor.org/rfc/rfc9499.txt
- https://www.ietf.org/archive/id/draft-edm-protocol-greasing-04.txt
- https://www.rfc-editor.org/rfc/rfc9567.txt
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
