
2026/05/05 20:56
ルートキーのローリング
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
DNSSEC 用の暗号化鍵は永久ではなく、変化する計算環境において信頼を維持するために定期的な更新を行う必要があります。多くのゾーンでは、鍵の有効期間は数月から約 2 年までであり、一方、ルート KSK は歴史的に beaucoup更长(例:約 8 年)持続していましたが、現在は 2026 年 10 月に KSK-2017 から KSK-2024 への移行が設定されています。運用者は定期的な更新を目標とし、週間ごとのロールリングは短すぎ、数十年間鍵を維持することは不適切であり、新しい鍵と古い鍵が共存する期間足够に長く設定し、少なくとも 1 つの DNS キャッシュ有効期間をカバーしてから切り替えることが望ましい、という慎重な導入期間を採用すべきです。
運用ルールは厳格な待機期間を強制します:RFC 5011 は、元の TTL のどちらか大きい方の 30 日間のホールドダウンを要求しており、これは resolver が新しい鍵を含む 2 つの有効化された DNSKEY RRSets を見るまで受け付けることを意味します。UDP フラグメント制限(歴史的には 512 バイト、実際には典型的なペイロードによって実質的に制約される)を超えないようにするために、運用者は異なる鍵で署名された複数の RRSIG を公開する可能性がありますが、応答を安全なサイズ内に保つ必要があります。再帰型 resolver は、ゾーンで定義されたガイドラインにもかかわらず独自のキャッシュ有効期間を適用することが多く、古い鍵とレコードの慎重な削除の必要性を強めています。
測定データは観察される導入における明確な乖離を示しています:RFC 8145 の結果(2012 年 12 月以降)は、2025 年 3 月に報告された resolver の約 90% が KSK-2024 を信頼のアンカーセットに追加しており、30 日間の導入期間 이후 の導入が加速したと示しています。対照的に、RFC 8509 の測定(2026 年 4 月)では、DNSSEC 検証を行う resolver の背後にいるユーザーのうち KSK-2024 を導入したのは 20% よりも少ないことが見出されました。この不一致は、ノイズの多い SERVFAIL 応答、エンドツーエンドのクエリ/応答追跡の欠如、RFC 8145 または RFC 8509 のようなメカニズムを正しくサポートする再帰型 resolver の真の割合を決定する困難さなどの課題に起因します。したがって、インターネットユーザーの約 35% が DNSSEC 検証を行う resolver の背後にいるように見える一方で、RFC 5011 に従って新しい鍵を適切に導入することをすべてのそのような resolver が行うと確信して仮定するには、さらなる改善とより明確な測定方法論が必要であり、現在の不十分な明確さが残っていると言えます。
本文
暗号鍵のライフサイクルと DNSSEC 作動に関する分析:ルート KSK ロールの考察
暗号学において、どの暗号鍵も永久に存在し続けるものはない。鍵の復号は計算上不可能な問題というよりは、計算上非現実的な問題である!実際には、秘密鍵の値を導出するために試すべき全ての可能性を試すために、十分な処理能力と時間を集約することは実用的に不可能だ。しかし、キーが長時間使用され続ければ、潜在的な攻撃者もその同じ期間を通じて鍵を破ろうとする機会を得ることになる。
キーの使用期間を制限し、暗号化された材料を機密情報として扱う期間を制限することは、そうした範囲内での情報の秘匿性を確保する上で役立つ。
暗号材料の再評価
結論として、計算能力の進化および情報の意図された秘密保持期間の変化に応じて、暗号鍵やアルゴリズム、キー長などの暗号材料は定期的に見直しおよび改定を必要とする。デジタル署名または暗号化された情報の完全性を維持したい期間を通じて、利用可能な(そして予測される利用可能な)計算リソースを用いて破られるべきではない暗号的に適切なアルゴリズムと鍵が存在しなければならない。
予測される計算能力の要因を考慮する必要性が高まる中、課題もより複雑さを増している。秘密情報として一般的な 20 年間保護すべきキーを扱う場合、その期間中に量子コンピュータがアクセス可能な計算能力 arsenal の一部となるかどうかを検討する必要がある。答えが「はい」であれば、直ちにいわゆる「後量子暗号(Post-Quantum Cryptography)」アルゴリズムへの移行策を検討しなければならない。一方で、秘密情報の意図された使用寿命が 5 年以内である場合、生産環境で使用するための cryptographically relevant な量子コンピュータの構築についてはそれほど懸念するべきではない。
DNSSEC および DNS インフラの大部分においては、現時点では DNSSEC が使用するアルゴリズムはこれらの厳格な後量子暗号基準を満たす必要はない。DNSSEC キーの意図される使用寿命は一般的に数ヶ月であり、多くても 1~2 年程度である。
例外:ルートキー署名鍵(Root KSK)
この観察事項に対する唯一の例外が DNS のルートキー、すなわちルートキー署名鍵(Root KSK)である。
- 歴史的背景: 初代の KSK は 8 年間サービスを提供し、その後任も今に至るまでわずかに 8 年未満の期間運用されている。
- 理由: ルート KSK の長い使用寿命は、新しい KSK の値を導入し、それを迅速に全ての DNSSEC バリデーション対応の DNS リゾルバーの信頼根拠(Trust Anchor: TA)セットに統合する Convenient な方法がないためである。選択された解決策は、この KSK を長期にわたって使用しつつ、ルートゾーンへの新しい鍵の導入とその利用を開始するまでに時間を掛けるものである。
- 将来への影響: Internet Assigned Numbers Authority (IANA) のルートゾーン管理者がこのような拡張された KSK キー的使用寿命を一般的な慣行として採用している場合、大幅に大型化した後量子アルゴリズムやキーへの移行は益々近づいている!
DNSSEC キーマネジメントに関する一般論
この暗号鍵の過渡的性質についての一般的な考慮事項が DNSSEC にとって何を意味するか。それは、DNSSEC フレームワークで使用される全ての暗号鍵を定期的にローリング(入れ替え)すべきであることを意味する。「定期」という解釈は人によって異なるが、選択されたアルゴリズムとキー長は少なくともそのキーの使用期間 boyunca攻撃に対して耐性を持つべきである。キーのローリングは定期的に実施されることで、DNS ゾーンの運営者がキーローリングプロセスに慣れ親しむことが望ましい。
DNSSEC キーを毎週ローリングするのはおそらく間隔が短すぎすぎるが、暗号鍵を 25 ヵ月(原文 25 years)の間そのまま放置することも同様に不賢い。しかしながら、全ての DNS ゾーン管理者に適用される単一の区間は存在しない。
運用上の慣行
良い運用慣行としては、ゾーンの
DNSKEY レコードに新しい鍵を導入し、その後少なくとも 1 つの DNS キャッシュ有効期限(キャッシュ寿命)の間はそのままおき、切り替えを行う新鍵を使用することである。また、署名されたゾーン内で複数の RRSIG レコードを選択して公開し、それぞれのリソースレコードをそれぞれ異なるキーで署名することで、新しい鍵を即座に使用するという選択肢もある。
注意: DNS レスポンズに追加する材料には気をつけ、有用な UDP パケットの断片化閾値である 1,210 バイト(原文 bytes)を超えて肥大化しないよう配慮すべきである。
また、ゾーンで定義されるキャッシュ有効期限は単なるガイドラインであり、リクルーシブリゾルバーが自らの有効期限を適用していることが観察されているため留意が必要である。古いキーとそのキーで署名された全てのレコードを削除する前の適切な導入期間の定義には、慎重なアプローチを取るのが望ましい。
関連する RFC
- RFC 6781: DNSSEC Operational Practices, Version 2 (December 2012)
- RFC 7583: DNSSEC Key Rollover Timing Considerations (October 2015)
- これらの両者は、本題に関する不可欠な追加読み物となっている。
ルート KSK に関する具体的な考慮事項
しかしながら、DNS のルートゾーンで使用されるルート KSK については、全く異なる一連の考慮事項が適用される。KSK が公開されている上位文脈が存在しないため、その受容性を決定する仕組みがない。むしろ、新しい KSK はルートゾーンに導入され、現在の KSK によって署名されなければならない('古い鍵で新しい鍵を署名する')。その後、DNSSEC バリデーション対応のクライアントが新しいキーを検知し、信頼するのに十分な時間を確保するために、Extended period(長い期間)が必要となる。
RFC 5011 信頼根拠更新ガイダンス:
"Hold-down time は 30 日か、最初に新しい鍵を含む信頼ポイントである DNSKEY RRSet の元の TTL 切れ時期のいずれか大きい方とする。これにより、キーが受容される前に、少なくとも 2 つの新しい鍵を含む検証済み DNSKEY RRSet がリゾルバーに観測されることを保証する。"
ルートゾーン KSK の運用上の使用寿命として公式には 5 ヵ年とされているが、実務経験においてこの期間は延長されており、最初のローリングは 2018 年 10 月 11 日に実施された。次の KSK キーローリングは 2026 年 5 月現在進行中である。これはアルゴリズムの変更ではなく、単に秘密鍵の値の変更である。
- 流入キー(KSK-2024): 2024 年 7 月に IANA ウェブサイトに公開され、2025 年 1 月にルートゾーンの
リソースレコードに追加された。DNSKEY - 予定されるローリング: 2026 年 10 月に行われる予定であり、その時点では既存のキー(KSK-2017)の代わりに、ルートゾーンの
リソースレコードへのデジタル署名生成に使用される。DNSKEY
測定上の課題
この KSK ロールはどの程度進展しているのか?既に全ての DNSSEC バリデーション対応のリクルーシブリゾルバーが KSK-2024 を知り、それをローカル TA セットに取り込んだか?
インターネットの DNS インフラを調査し、どの DNS リゾルバーがローカルの TA セットに KSK-2024 を追加したかを特定するために使用されている 2 つの主要な技術がある:
- RFC 8145: DNS Security Extensions への信頼根拠知識のシグナリング。
- RFC 8509: DNSSEC 用のルートキー信頼根拠センテナリ( Sentinel)。
測定分析と見解
RFC 8145 シグナリング
この技術では、リゾルバーはルートゾーンのオーソリティティブ サーバー宛てに送信するクエリの中に、その信頼済みキーのキータグを埋め込む。この情報はルートサーバーの管理者が管理するクエリログで確認可能である。
- 発見事項(2025 年 3 月): 全ての報告リゾルバーは KSK-2017 を TA として設定していた(緑色の線)。わずかな数のリゾルバー(約 0.5%)のみが KSK-2010 (2019 年に撤回されたもの)をまだ信頼しており、OS のソフトウェア更新の残留影響による可能性がある。
- 採用タイムライン: 少数の集団が 2024 年 7 月に KSK-2024 を含むように始めた;30 日後に大きなジャンプがあり、これは RFC 5011 のタイミングと一致している。
- 限界: レポートを提供したリゾルバーの中で 90% が KSK-2024 を追加したとしても、これらのリゾルバーによってサービスされているエンドユーザー人口の推定値には容易にマッピングできない。さらに、このデータは TA シグナリングメカニズムを使用していないリゾルバーについては示さない。
RFC 8509 センテナリ測定
RFC 8509 は異なるアプローチを提唱しており、シグナルはルートゾーンサーバーへではなく、クエリアー(質問者)へと折り返して送られる。リゾルバーは DNS クエリネームの左端ラベルを特定し、その信頼済みキーセットに基づいてレスポンスを生成する(Table 1)。
テストロジック:
キーが信頼されている場合は元の答えを返す;信頼されていない場合は SERVFAIL を返す。is-ta-<key-tag>:
キーが信頼されている場合は SERVFAIL を返す;信頼されていない場合は元の答えを返す。not-ta-<key-tag>:
| シナリオ | キーステータス | レスポンス挙動 |
|---|---|---|
| 信頼済み | 元の答えを返す |
| 信頼未定 | SERVFAIL を返す |
| 信頼済み | SERVFAIL を返す |
| 信頼未定 | 元の答えを返す |
(出典: Table 1 — RFC 8509 測定レスポンス)
私々は APNIC の ad ベースの測定システムを使用して、毎日これらクエリを提出する。目標は、KSK-2024 をローカル TA セットに追加していない DNSSEC バリデーション対応リゾルバーの背後にあるエンドユーザー人口を定量化することである。
観察事項:
- Figure 2 の結果: 2026 年 4 月(30 日タイマー終了から 13 ヵ月後)において、データは DNSSEC バリデーション対応リゾルバーの背後に位置するユーザーのうち、20% 未満が KSK-2024 をローカル TA セットに加えたことを示している。
- サンプル選択:
とis-ta-20326
の結果が完了/解決または失敗/不成功とそれぞれ一致するサンプルを選択し、これらがメカニズムをサポートしていることを示唆する。not-ta-20326 - 解決成功率: RFC 8509 センテナリをサポートするリゾルバーの背後に位置するユーザーのうち、わずかに半数未満が KSK-2017 の信頼を報告した。
測定における技術的な課題:
- SERVFAIL の複雑さ: SERVFAIL は難しいレスポンスコードである。それは単に名前の非存在を示すものではなく、多くの場合キャッシュされない(一部のリゾルバーによって 1-2 秒間のみ)。リゾルバーはこれを異なるサーバーや内部制限へのアクセスを試すよう招待と解釈する。
- シグナルのノイズ: リゾルバーが SERVFAIL コードを受け取った際により「良い」レスポンスを見つけるため、大幅なノイズが存在する。
- 証明書制約: テスト URL に使用されたユニークなラベル成分は左端のラベルでなかったため、従来のワイルドカード TLS 証明書の使用を妨げた。TLS ハンドシェイクが失敗したとしても、意図を確認するにはパケットキャプチャでの SNI 検査が必要だった。
洗練されたテスト結果(2026 年 4 月): KSK-2024 のテスト (
not-ta-3896) を追加することで、KSK-2024 を信頼しているレポートサンプルの割合は 17% から 12% に低下した。現在、KSK-2024 を信頼していないと報告する逆のシグナル(7%)が観察されている。
- ?? カテゴリ: KSK-2017 が信頼されるが、
とis-ta-3896
の両方が正常に解決するケースを表す。これは、少なくともユーザーのいずれかのリゾルバーが RFC 8509 センテナリメカニズムをサポートしていないことを示しており、KSK-2017 への信頼という仮定された明確なシグナルと矛盾する。not-ta-3896
結論と議論
DNS システムはレジリエンスを念頭に設計されており、潜在的に速いが不確定なレスポンス(SERVFAIL)よりも、慎重な検索による明確なレスポンス(NOERROR または NXDOMAIN)を好む。SERVFAIL シグナルに依存する測定フレームワークを設定する(RFC 8509 センテナリに基づく場合)ことは、大量の測定の不確実性を招く。
主な制限事項:
- トレースの欠如: DNS はクエリ/レスポンスに対する同等のトレース機能を持たない。内部動作が不透明であり、個別のリゾルバーの振る舞いを分離することが困難である。
- 測定目標の不確実性: RFC 5011 プロシージャに従っていない失敗を測定しているのか、それとも 2026 年 10 月のロールの影響を受ける人口を推定しているのか。両方の技術には問題と不確実性が存在する。
- RFC 8145: シグナル収集はルートサーバー管理者に限定されており、転送パスによって個々のリゾルバーへの帰属が歪められる;非サポートリゾルバーを決定できない。
- RFC 8509: 大規模なサンプリング上の課題;SERVFAIL ハンドリングによるノイジーなシグナル;サポートするリゾルバーの数が不明。
最終評価: インターネットユーザーベースの約 35% が DNSSEC バリデーションを実行する DNS リクルーシブリゾルバーの背後に位置し、RFC 5011 に従って新しい KSK を「学習」すると考えられることについては中等度な自信を持っているが、収集されたデータはこの仮定に対して明確さを提供していない。我々はただ事実を知り得ない。
我々はこの測定を 2026 年 10 月まで継続するが、正直に言えば、結果の品質に著しい改善は期待しない!必然的に、KSK をローリングする際に DNSSEC バリデーション対応のリクルーシブリゾルバーの実装が関連する RFC を正確に実装していると信頼するしかない。
注: この記事の執筆者が表明する見解は独自のものとし、必ずしも APNIC の見解を反映するものではありません。本ブログには行動規範(Code of Conduct)が適用されることに留意してください。