VPNを二層重ねるべきか?確認すべき三つの条件
二つのVPN層が役立つのは、別々のホストで終端し、独立した鍵を使う場合だけです。三つの条件が、入れ子がセキュリティを高めるのか、CPUコストだけを増やすのかを決めます。
VPNに二層目の暗号化を追加する前に、一つの問いに正直に答えてください。両方の層が仕事を終えた後、観測者は何をまだ手にしているでしょうか。答えが内側の暗号文であり、変わっていないなら、入れ子は時間を買っただけで、それ以外の何も買っていません。以下は推奨ではなく、判断の手順です。同じ図が、ある導入では無駄なCPUになり、別の導入では正解になります。その二つを分けるのは三つの条件だけです。
観測者が何を保持するかを書き出す
攻撃者が今日保存できる対象を記録し、次に最終的に平文を露出させる除去の順序を記録します。外側のトンネルは暗号文を生成します。その保護が終わったとき残るのは、内側のトンネルの暗号文で、まだ封印されています。ラッパーを外すことは復号ではありません。この文は入れ子を説明しており、内側の鍵が生きている間だけ成り立ちます。二つの層が何かを共有した瞬間、時間軸は一つの出来事に崩れます。
したがって有用な成果物は箱の図ではなく時間軸です。各層について、終端点、鍵の所有者、身元確認、そしてその前提が破れると予想される年を書いてください。
自分の主張を試す実用的な方法は、観測者がすべてを記録し、決して諦めないと仮定することです。その仮定の下で、設計は要求される寿命の間、ペイロードをまだ保護しているでしょうか。答えが、観測者が通信を保存しない方を選ぶことに依存するなら、その設計に答えはありません。
条件一:層は別々の場所で終端するか
入れ子が報われるのは、二つの層が異なる信頼ドメインで終端する場合です。たとえば、プロバイダーが管理するIPsecゲートウェイの前方に、自分のネットワーク内で終端するアプリケーション層のトンネルを置く場合です。そのとき外側の層を破っても、自分のホストしか開けない暗号文が得られ、プロバイダーはどの時点でも平文を見ません。両方の層を同じゲートウェイに置けば、その性質は消えます。箱を侵害した者は、図がいくつのラッパーを示していても、二つの復号処理の間の通信を読みます。
それを設計ではなく導入済みの状態で確認してください。Linuxでは、ip xfrm stateがすべてのセキュリティアソシエーションとその終端点を一覧表示し、各層が実際にどこで止まるかを確定します。
条件二:鍵素材は本当に独立しているか
一つの証明書、一つの事前共有鍵、または一つのベンダーライブラリから作られた二つの層は、手順が増えた一つの層です。その場合、一つの資格情報の漏えいが両方を解錠し、一つの実装バグが両方を一度に取り除きます。独立性は設定に現れていなければならず、スライドで主張するものではありません。
ここで、ハイブリッド鍵確立がトンネルの積み重ねに勝ります。IKEv2は一回のネゴシエーションで複数の鍵交換を運べるため、古典的な群とポスト量子KEMの両方が、互いに包み合うのではなく同じセッション鍵に供給できます。結果は、両方の秘密に依存する鍵を持つ一つのセキュリティアソシエーションであり、攻撃者は両方を破らなければなりません。これは構成が定義された文書化された構造であり、二つのVPN製品を手作業で積んだものではありません。strongSwanでは、swanctl --list-sasが各SAについて交渉された提案を出力し、設定したことではなく実際に動いたことをこうして確認します。
条件三:データは外側の前提より長く生きるか
二十年持ちこたえる必要のある層には、二十年の論拠が必要です。今記録して後で復号するのは安価であり、だからこそ古典的な外側の層を、より強い何かの周りの一時的なラッパーとして扱うことはできません。
各鍵がいつ回復可能になるかを問い、暗号が今日破られているかは問いません。前方秘匿性のない静的鍵交換は、秘密鍵が落ちた日に遡って失敗します。一時的な鍵合意が失敗するのは、攻撃者が稼働中に攻撃できるセッションだけであり、あるいはアルゴリズム自体が弱まったときです。その違いが、内側の層が2040年にもまだ役立つかどうかを決めます。また、外側の層がそもそも何かを変えるかどうかも決めます。鍵の寿命が弱い外側の層は、単に時間軸上の最も早い点になるからです。
答えが「いいえ」のときに代わりに何を作るか
三つの条件のどれかが失敗するなら、入れ子をやめ、その努力を寿命要件を実際に担う層に注いでください。すでに運用しているプロトコルでハイブリッド鍵交換を設定し、実装を最新に保ち、依存する構成を書き留めます。設計文書にML-KEMと書くことはセキュリティ特性ではなく、FIPS 203が定義するのは鍵カプセル化の仕組みであり、あなたのトンネルではありません。
二層目が本当にその場所を得る場合、それを証明としてではなく多層防御として説明してください。次に構成を検証します。どの終端点がどの鍵を持ち、各側がどの身元を確認し、コンソールアクセスを持つ運用者が何を読めるのか。これら三つの問いに耐える設計は、追加のCPUに値します。耐えない設計は、単なる図です。
変更ウィンドウの前に現在のSAテーブルと交渉済みの提案を取得し、その後で再取得して比較するのは、意味のある唯一の証拠がデバイスが実際に合意した内容だからです。