要約
- Opt-Out 付き NSEC3 区間は、実在する未保護委任を覆いながら、その存在も不存在も主張しない。したがって、署名ノードの一覧は親ゾーンの完全な委任一覧ではない。
- 運用者は、プロビジョニング台帳、署名世代、全権威サーバーの NS/DS 応答、検証器の判断を別々に保管する。区間を「空」と読む処理は署名の権限を越える。
監査システムが NSEC3 鎖を一周し、ある子名に対応するノードを見つけられなかったとする。すべての RRSIG は正しい。システムは委任を削除済みと報告する。しかし親へ直接問い合わせると、DS を伴わない NS referral が返る。子は未保護のまま委任されている。
この例で壊れたのは暗号ではない。完全性を約束していない資料を、完全台帳として読んだ判断である。
RFC 5155 では、未保護委任の owner name hash を NSEC3 鎖から省略できる。該当ハッシュを覆う record に Opt-Out flag があれば、その区間は委任が存在するとも存在しないとも述べない。隣接ノードを再生成せずに適格な委任を追加・削除できるのは、この非主張があるためだ。
元帳を投影物から復元しない
親の元帳には、子名、NS、必要な glue、DS、変更時刻、承認経路がある。署名器はそれを入力に、hash algorithm、flags、iterations、salt、next hash、type bitmap を持つ NSEC3 を生成する。
一致するノードは元の名前にある RR type を示し、覆うノードは限定された否定証明に参加する。ハッシュ順の鎖は、元の名前をすべて取り戻せる転送形式ではない。
NS があり DS がない子だけが未保護委任である。NS と DS がある安全な委任や、親側の権威データを便宜的に Opt-Out へ隠すことはできない。省略ごとに、元名、NS/DS 状態、計算ハッシュ、覆う区間、flag、署名世代、各権威応答を結び付ける必要がある。
この対応表がなければ、正当な省略、署名器の欠落、セカンダリの世代遅れが同じ「ノードなし」に見えてしまう。
不明を不存在へ変換しない
Opt-Out 区間に対する正しい台帳判定は「存在しない」ではなく「この鎖からは決められない」である。完全性が必要なら、許可されたゾーン転送、登録データ、または親への NS と DS の直接照会を使う。
RFC 8198 の aggressive negative caching にも同じ制約がある。検証済み NSEC/NSEC3 の範囲から新しい否定応答を合成できる場合があるが、覆う NSEC3 に Opt-Out があれば名称の不存在を証明していないため、その合成はできない。
flag を捨てて「DNSSEC 成功」だけを保存すると、禁止条件が消える。監査装置も resolver と同じく、署名されていない否定を作ってはならない。
実在する最近接祖先と証明できる祖先
wildcard 処理は、問い合わせ名の最長の既存祖先である closest encloser を使う。Opt-Out により委任や、それだけから生じる empty non-terminal が鎖に現れない場合、証明は closest provable encloser までしか到達できない。
応答保全では、問い合わせ、NSEC3、RRSIG、next-closer、matching/covering 関係、hash 空間の折り返し、bitmap、検証時刻を残す。緑色の結果だけでは、どの祖先が証明され、どこから先が非主張だったか分からない。
現行指針は計算量を増やさない
RFC 9276 は、NSEC3 の機能が不要なら NSEC を優先する。NSEC3 を使う場合は algorithm 1、追加 iterations 0、empty salt が推奨値である。
反復回数を増やすと権威側と検証側の負荷が増え、相互運用性も悪化する。salt は推測可能な名前を秘密にしない。検証器は対応上限を超える iterations を insecure 扱いまたは SERVFAIL とし、対象 record を検証した後なら EDE 27 を返せる。それは資源ポリシーの結果であり、委任不存在の証拠ではない。
小規模ゾーンで Opt-Out は推奨されない。非常に大きく、委任中心で、大半が未保護というゾーンに限り効果を説明しやすい。規模、DS 比率、変更頻度、署名コスト、照合能力を定期的に見直す。
パラメータ変更は鎖全体の交代
salt や iterations の変更には新しい完全な NSEC3 鎖と再署名が必要である。検証器が確認するのは NSEC3 自体のパラメータであり、NSEC3PARAM 単独では否定証明にならない。
展開前に、元帳、旧新世代、serial、RRSIG 有効期間、全セカンダリの転送状態を比較する。既知の不存在名、Opt-Out された未保護委任、安全な委任、wildcard 境界を全権威アドレスへ照会する。
予定外に二世代が残れば、到達可能性を成功条件にしない。キャッシュ内の旧証明と TTL も含め、最後の整合世代へ戻るか展開を完了するかを決める。
情報源
- RFC 5155 — DNSSEC Hashed Authenticated Denial of Existence
- RFC 9276 — Guidance for NSEC3 Parameter Settings
- RFC 8198 — Aggressive Use of DNSSEC-Validated Cache
- RFC 4033 — DNS Security Introduction and Requirements
- RFC 4034 — Resource Records for DNS Security Extensions
- RFC 4035 — Protocol Modifications for DNS Security Extensions
- RFC 4592 — The Role of Wildcards in the Domain Name System
- RFC 6840 — DNS Security Clarifications
- RFC 6781 — DNSSEC Operational Practices, Version 2
- RFC 7129 — Authenticated Denial of Existence in the DNS
- IANA — DNSSEC NSEC3 Parameters
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
