要約
- RFC 9523 の Khronos は、大きな NTP サーバー集合から少数を無作為に選び、両端のオフセットを除外し、必要ならローカル時計の制御を引き受ける監視機構である。
- 保護の条件は、侵害された時刻標本の比率である。合格した推定値は、IP アドレスの背後にある運営、ネットワーク、実装、上流基準の独立性を証明しない。
- 信頼できる時刻という判断には、母集団構成、独立性、選択、標本、推定、時計操作、外部基準の七つの記録が必要だ。
障害対応会議で「Khronos は正常」と報告されたとする。次に聞くべき質問は、オフセットの平均値ではない。「今回の候補を、誰が、どの経路で、どの基準から供給したか」である。
十五の応答が密集し、下位と上位の三分の一を除いた中央群がすべての条件を満たしていても、その多くが同じ上流基準に依存している可能性は残る。これは実在の事故を示すものではなく、制御境界を確かめる仮説である。
RFC 9523 は標本の一部を支配する攻撃者に対して強い仕組みを示す。しかし、その数理的な耐性を、候補集合の来歴証明へ拡張してはいない。
通常は受動、閾値を越えれば能動
Khronos は NTPv4 のワイヤープロトコルを変更しない。平常時はバックグラウンドで独自のオフセットを計算し、通常の NTP クライアントによる精密な時計調整を妨げない。その推定が閾値 H を越えたとき、時刻ずらしの兆候として時計制御を引き受ける。
各周期では、n 個のローカル候補から m 個を一様無作為に選ぶ。RFC の代表例は n=500、m=15 である。選択の予測可能性は攻撃者に次の対象を教えてしまうため、安全な乱数が必要になる。
応答しないサーバーは除かれ、数が不足すれば再抽出する。十分な標本からオフセットの下位三分の一と上位三分の一を捨て、残りの幅と、前回から累積した時計変化との整合性を検査する。失敗すれば再度選び、K 回続けば panic mode に入る。
この手順は監査しやすい。n、m、選択されたメンバー、全応答、除外した値、残した値、判定条件、再抽出回数、最終操作を保存できる。そこから言えるのは計算の履歴であり、背後の組織関係ではない。
二十年という数字には前提がある
RFC は、侵害された時刻標本が三分の二未満なら時計の移動を防ぐと述べる。また、500 台のうち七分の一を攻撃者が支配し、毎回 15 台を問い合わせ、100 ミリ秒を超えてずらす場合、成功までの期待時間が二十年を超えるという例を示す。
これは指定された比率とパラメーターに基づく期待値であり、あらゆる実装への保証期間ではない。現場で使うなら、n、m、攻撃者比率、周期、成功条件を同時に示す必要がある。
さらに、アドレス数は独立した障害単位の数ではない。異なる運営者が同じホスティングやトランジットを使うことも、異なる場所のサーバーが同じソフトウェアや上流基準に従うこともある。両端を切る統計処理は極端値への耐性を与えるが、相関した中央値の由来までは判定しない。
キャリブレーションは前処理ではなく安全境界
Khronos は、NTP pool への複数の DNS 問い合わせでローカル集合を組み立て、定期的に更新する。RFC は州や地域だけに限らない一般的な pool を推奨し、手作業での追加や他の時刻サービスも認める。
つまり無作為抽出の前に、問い合わせる名前、DNS の経路、返されたアドレス、重複排除、保持期間、手動追加という選択がある。暗号学的に安全な抽出でも、元の集合にない独立性を生み出すことはできない。
母集団構成の記録には、問い合わせ時刻、回答、保持と除外の規則、変更履歴が必要だ。独立性の記録には、判明する範囲で運営主体、ASN と経路、実装系列、設置環境、上流の基準時刻を記す。分からない関係は「不明」であり、IP が違うことを理由に「独立」としてはならない。
NTP Pool Project は、ボランティアのサーバーと安定したアドレス、監視を組み合わせる重要な発見基盤である。一方、pool への参加は、各クライアントが必要とする管理上・計量上の独立性を監査した証明書ではない。目的の違いを欠陥として扱うべきではないが、証明の肩代わりをさせてもいけない。
認証された応答も、誤った時刻を運び得る
NTS は通信相手を認証し、中間者による操作を難しくする。RFC 9523 が指摘する通り、サーバー自体が侵害されていれば効果は小さい。悪意がなくても、認証済みサーバーが誤った上流基準を忠実に配ることはあり得る。
従って通信の記録と基準の記録を分ける。前者は endpoint、認証、要求と応答を示す。後者は stratum、参照識別子、判明した来歴、別の統治系統にある基準との比較を示す。「誰が答えたか」と「答えが正しいか」は別の事実である。
七つの記録で主張を限定する
構成の記録は候補全体を、独立性の記録は共同支配と共通障害を示す。選択の記録は乱数実装、seed の来歴、n、m、選択先を保存する。標本の記録は応答、無応答、遅延、オフセット、stratum、leap 状態を残す。
推定の記録は切り落とした両端、中央群、二つの検査、再抽出と最終値を示す。時計操作の記録は H、K、受動・能動・panic の状態、実際の補正を示す。外部基準の記録は、別の統治系統と比較し、その側の不確かさも明示する。
Heng Lu が区別する最小仕様、稼働するコード、観測された現実は、ここでは実務の分担になる。RFC は仕組みを定め、実装者は乱数とフィルターを作り、運用者は集合と閾値を決め、利用側が結果を引き受ける。一つの緑色表示でこれらを同一視しないことが、説明責任である。
この資料からは言えないこと
採用状況の全数調査、製品対応表、特定事故、世界的な故障率は確認していない。共通上流の例も説明用である。H の超過は不一致を示すが、攻撃だけでなく設定、経路、参照基準の変化も候補に残る。合格した推定値が証明するのは Khronos の条件であり、UTC そのものではない。
情報源
- RFC 9523
- RFC 9523 情報ページ
- RFC 9523 テキスト
- RFC 9523 XML
- RFC 9523 errata
- IETF 履歴
- Khronos draft 25
- RFC 5905 — NTPv4
- RFC 7384 — NTP security
- RFC 8633 — NTP 運用指針
- RFC 8915 — NTS
- RFC 4086 — 安全な乱数
- NDSS 2018 Khronos 論文
- NDSS 2021 Ananke 論文
- NTP Pool Project
- IANA NTP parameters
- Heng Lu — Running code is primary
- Heng Lu — Minimum initial specification
- Heng Lu — Reality layers
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加

