完全な前方秘匿性とは何でしょうか?なぜ重要なのでしょうか?
完全な前方秘匿性は、後から暗号鍵が侵害された場合でも、暗号化された会話のプライバシーが保たれることを保証します。
その仕組み、暗号化においてなぜ重要なのか、そしてインターネット上でどのように使用されているかについてご覧ください。

完全な前方秘匿性とは?
完全な前方秘匿性(PFS、または前方秘匿性)は、長期的な秘密鍵が後から侵害された場合でも、過去の通信の安全性を確保する暗号化システムのセキュリティ機能です。
通常、暗号化されたシステムでは、長期間にわたって変更されない暗号化用の秘密鍵が使用されます。 通信が既に行われた後に何者かがその鍵を盗んだ場合、過去に記録された通信を復号化される可能性があります。
例:前方秘匿性がある場合とない場合
リモートワーク中にお客様が、経費精算書や個人の給与情報を提出するために、HTTPS経由で会社の古い社内ウェブポータルにログインしていると仮定します。 このシステムは、完全な前方秘匿性をサポートしていない古いTLS構成を使用しています。
ネットワークパス上のどこかにいる攻撃者(例えば、パブリックWi-Fiや侵害されたルーター上など)が、暗号化されたトラフィックを記録します。 当時は暗号化されているため、それを読み取ることはできません。
数か月後、会社が侵害に遭い、サーバーの長期的な秘密暗号鍵が漏洩します。 システムが前方秘匿性を使用していなかったため、攻撃者はその鍵を使用して、以前に記録されたトラフィックを復号化し、お客様が先に提出した機密情報を閲覧できてしまいます。
システムが前方秘匿性を使用していた場合、各セッションで一時的な暗号鍵が使用され、後に破棄されるため、サーバー鍵が漏洩しても攻撃者が過去の通信を復号化することはできません。
完全な前方秘匿性はどのように機能するのでしょうか?
完全な前方秘匿性は、通信セッションごとに一時的な非対称鍵交換を行い、新しい一時的なセッション鍵を生成します。 これは通常、Diffie-Hellman(DH)や、より効率的な楕円曲線暗号である楕円曲線Diffie-Hellman(ECDH)などのエフェメラル鍵交換プロトコルを使用して実現されます。
楕円曲線Diffie-Hellmanは、従来のDiffie-Hellmanと同じセキュリティを提供しながら、はるかに小さい鍵サイズを使用するため、パフォーマンスが向上し、現在広く好まれています。 従来のDiffie-Hellmanは大きな素数に依存しており、脆弱なパラメータや再利用されたパラメータの選択が、過去に悪用(新しいウィンドウ)されたことがあります。
以下の図は、完全な前方秘匿性を備えたTLSハンドシェイクを示しています。 クライアントとサーバーの両方がエフェメラル鍵ペアを生成し、それぞれの公開鍵を交換して、共有セッションシークレットを導出します。 これらの鍵は一時的なものであるため、サーバーの長期鍵が後から侵害された場合でも、過去のセッションは安全に保たれます。

完全な前方秘匿性の一般的な用途
- オンラインバンキングやショッピングを含む、最も安全なウェブサイト(HTTPS)。 HTTPSはTLSを使用してウェブサイトへの接続を暗号化し、TLS 1.3には前方秘匿性が含まれています。
- SignalやWhatsAppなど、エンドツーエンド暗号化を備えたメッセージングアプリ。 これらは通常、頻繁に鍵をローテーションし、メッセージごとにローテーションすることもあります。
- VPN(新しいウィンドウ)アプリが、WireGuard®(新しいウィンドウ)やOpenVPN(新しいウィンドウ)(エフェメラルDiffie-Hellmanを使用)などの最新のVPNプロトコルを使用している場合。 Proton VPNは前方秘匿性をサポートしています(新しいウィンドウ)。
- OpenSSH(macOSやほとんどのLinuxシステムに組み込み)やPuTTY(Windows用のSSHクライアント)などのSSHリモートアクセスツール。
- メールサービスは通常、サーバー間で送信されるメールを暗号化します。多くの場合、前方秘匿性をサポートするTLSが使用されるため、第三者が簡単に傍受することはできません。 しかし、メールプロバイダー自体は、PGPなどの暗号化で保護されていない限り、保管されているメールを読み取ることができます。
データを自分で管理する
Protonは、当初からお客様のデータを保護するために構築されました。 エンドツーエンド暗号化、オープンソースアプリ、そして第三者機関による監査により、お客様の情報はお客様だけのものです。
よくある質問
- なぜ完全な前方秘匿性が暗号化にとって重要なのでしょうか?
- Proton VPNはどのように前方秘匿性を使用していますか?
- Proton Mailは暗号化と前方秘匿性をどのように処理しますか?


