パーフェクトフォワードシークレシーの定義
パーフェクトフォワードシークレシー(PFS)は、ある時点で共有(または推定)された鍵が漏えいしたとしても、その影響が「過去の通信」には及びにくいようにする設計思想です。ポイントは、過去のやり取りに使われた鍵(セッション鍵など)を、将来の単一の鍵に強く依存させないことです。
その結果、仮に鍵が後から入手されても、過去に記録されていた通信内容が復号できる可能性を下げられます。ここでの「匿名性」は別の性質で、誰が通信しているかを隠すこととは直結しません。
仕組みを簡単なモデルで理解する
イメージとして、通信が行われるたびに固有の鍵(セッションごとの鍵)を用意し、その鍵の作り方に「長期の鍵だけでは足りない」要素を取り入れる考え方があります。これにより、仮に長期の鍵が漏れても、すでに確立された過去セッションの鍵をそのまま再現できない(あるいは再現が困難)方向に寄せられます。
注意点として、PFSは「過去通信の復号を完全に不可能にする」ことをいつでも約束するものとして語られるべきではありません。実際の効果は、暗号方式・鍵交換の方式・実装の品質・設定・運用(鍵や証明書の扱い)に依存します。
匿名性とセキュリティで、PFSが効く範囲
PFSが直接効きやすいのは、主に「通信内容の秘匿性」を時間軸で強化する面です。たとえば、攻撃者が通信を記録しておいて、後から鍵を得た場合でも、過去データを復号できる難しさが増えることがあります。
一方、PFSは「追跡されにくさ(匿名性)」を自動的に保証しません。追跡は、IPアドレス、アカウント情報、ブラウザの識別子、アクセス先のログ、行動パターンなど、暗号化とは別の要因で起きます。したがって、匿名性の達成はPFSだけではなく、他の対策と組み合わせて考える必要があります。
