IKEv2 の SA ライフタイム:ソフト再鍵交換、ハード失効、分離された再認証
ソフト制限は置き換えを開始し、ハード制限は古い状態を退役させ、使用量制限が先に発動することもあります。いずれもユーザー認証を繰り返しません。
タイマーはトンネルの鍵をいつ交換するかを決めますが、関係する二つのしきい値はしばしば一つとして読まれます。そうではありません。ソフトライフタイムは、現在のセキュリティアソシエーションがまだトラフィックを運んでいる間にピアへ置き換えの構築を求め、ハードライフタイムは、置き換えが成功したかどうかに関わらず古いアソシエーションが消える期限です。両者の間には、パケットが隙間に落ちないための重複ウィンドウがあります。
ライフタイムが実際に制限するもの
IPsec のセキュリティアソシエーションは、片方向の鍵、セキュリティパラメータインデックス、アルゴリズム群、セレクタで構成される暗号状態の束です。ライフタイムはその状態を使える期間を制限し、ひいては一つの鍵が守るトラフィック量を制限します。これは鍵の封じ込め策であり、ユーザーセッションがどれだけ続くべきかという話ではありません。
IKE の制御アソシエーションには独自の鍵と独自のライフタイムがあり、データを運ぶ子アソシエーションとは別です。ここが二つのスケジュールを混同する最初の地点です。
ソフトは置き換えを始め、ハードは古い状態を終わらせる
ソフトしきい値が近づくと、ピアは置き換えを開始します。実装は通常、数百のトンネルを抱えるヘッドエンドが一斉に鍵を更新しないよう、早めに発火してタイミングをランダム化します。IKEv2 では、置き換えは新しい nonce を運ぶ CREATE_CHILD_SA 交換であり、完全前方秘匿性が設定されていれば Diffie-Hellman 交換も伴います。結果として、新しい鍵を持つ新しいアソシエーションの組ができます。
重複は意味を持ちます。短時間、ピアは古いアソシエーションと新しいアソシエーションの両方を保持でき、キャプチャには二組の識別子が現れます。これは仕組みが働いている証拠であり、障害ではありません。
ハードしきい値は容赦しません。それまでに置き換えが完了していなければ、古いアソシエーションは退役させられ、それだけで守られていたトラフィックは停止します。 ハード失効まで達する、繰り返し失敗する再鍵交換 は、トンネルが毎サイクル期限に支えられているため、調査すべき運用上のシグナルです。
使用量制限はどんな時計よりも先に発動できる
時間だけが制限ではありません。実装は一つの鍵が守るバイト数やパケット数を上限にでき、多忙なトンネルは数時間のタイマーよりずっと早く使用量制限に達します。strongSwan は時間・バイト・パケットに対してライフタイムとマージンを別々に設定できるため、実効的な更新点は先に来るほうのしきい値から設定済みマージンを引いたものです。
トンネルが設定された時間のはずよりはるかに頻繁に更新される場合は、時計を疑う前にバイト数とパケット数の制限を確認してください。同じ時間設定の飽和リンクと遊休リンクでは、再鍵交換の頻度が明らかに異なり、タイマーに従っているのは片方だけです。
各ピアは自らのポリシーを適用する
IKEv2 は、両方のピアが同一に表示しなければならない単一のライフタイムを交渉しません。各側はローカルポリシーを適用し、自分の制限が近づけば置き換えを開始できます(RFC 7296 の 2.8 節に記述)。したがって、二つのピアの設定時間の不一致は自動的に欠陥ではありませんが、一方が他方がたった今導入した状態を置き換え続けると、大きく異なる値は混乱を生みます。
調整とは、交換に十分な長さの重複ウィンドウ、再試行の余地を残すマージン、どちらの側が各更新を開始したかを示す監視といった、互換性のある振る舞いを意味します。
再鍵交換は再認証ではない
再鍵交換は、既存の認証済み関係の下で鍵を更新します。再認証は、証明書交換であれ EAP の会話であれ、身元確認をやり直します。両者は別々のスケジュールで動き、再鍵交換の成功は、アカウントがまだアクセスを持つべきかどうかについて何も語りません。
この区別は失効にとって重要です。アカウントの無効化、証明書の失効、セッションの終了は実装に明示的なポリシーを要するアクセス判断であり、SA タイマーから導かれるものではないため、すでに権限を剥奪された身元に対しても再鍵交換は平然と続きます。
トンネルごとに記録すべきこと
どのアソシエーションが更新を引き起こしたか、古い識別子と新しい識別子、どのしきい値が発動したか、重複の中で置き換えが完了したかを記録してください。この四つの項目があれば、再鍵交換の問題は障害になる前に見え、攻撃的なポリシーと失敗しているポリシーを区別できます。
アクセス削除のスケジュールは、その記録の中ではなく横に置いてください。暗号衛生と身元ポリシーは別の統制であり、時間どおりに鍵を回すトンネルでも、誰も残すつもりのなかったセッションを保持していることがあります。