PGP暗号化で守れるもの/守れないもの

PGP暗号化(OpenPGP)は、データを第三者に読まれにくくする「暗号化」と、データの出所が意図した相手かを確かめる「デジタル署名」を組み合わせて扱う仕組みです。メールやファイルなど、対象となるデータに対して「内容の秘匿」や「改ざん検知・なりすまし検証」を目指します。

一方で、PGPはオンラインの“行動”を丸ごと隠す仕組みではありません。たとえば、どのサイトにアクセスしたかや、通信の相手先・発生自体まで完全に隠す目的には、別の考え方が必要です。ここを混同すると、「暗号化したから安心」と思っても守れていない部分が残り得ます。

仕組み:公開鍵・秘密鍵・暗号化と署名

PGPの基本は公開鍵暗号です。

  • 公開鍵:誰でも入手して使える鍵で、暗号化や署名検証に使います。
  • 秘密鍵:本人だけが保持する鍵で、暗号文の復号や署名生成に使います。

実務では次の流れがよく使われます。

  1. 暗号化:送る相手の公開鍵でメッセージを暗号化します。
  2. 復号:受け手は自分の秘密鍵で復号し、元の内容を読み取ります。
  3. 署名(必要なら):送信者は自分の秘密鍵で署名を作り、受け手は送信者の公開鍵で検証します。

このとき重要なのは、暗号化は「読めないようにする」ことで、署名は「誰が作った可能性が高いか」「内容が途中で変えられていないか」を補強する点です。暗号化と署名は別の役割であり、必要な目的に応じて組み合わせるのが自然です。

制限:鍵管理が安全性を左右する

PGPで最も重要な制限は、鍵の“正当性”と“管理”です。暗号化が成立するかどうかは、公開鍵が本当に相手のものかに依存します。

典型的な落とし穴は次のようなものです。

  • 鍵を入手した経路が曖昧で、別人の鍵と入れ替わっている(なりすまし)
  • 秘密鍵が漏えい、紛失、または不適切に扱われる
  • 鍵の有効期限や失効状態、複数の鍵(複数アドレス等)との対応関係を理解しないまま運用する

また、PGPは万能ではありません。たとえば、相手が同じ仕組みを使っていない、鍵が用意できていない、署名検証が行われない、といった状況では、狙ったレベルの保証を得にくくなります。

実践的な確認方法:暗号化・署名・鍵の対応関係を点検する

「PGPで守れているか」を確認するときは、次の観点を順番に見ると整理しやすいです。

  1. 暗号化できているか
  • 受信側で復号できることだけでなく、送信時に“相手の正しい公開鍵”で暗号化したかを確認します。
  • もし復号に失敗するなら、鍵の対応関係や設定の誤りが疑われます。
  1. 署名が付いているか、検証が成功しているか
  • 署名を作ったなら、受け手側で検証結果が成功しているかを確認します。
  • 検証が失敗している場合、内容の改ざんや鍵の取り違えなどが起きている可能性があります。
  1. 鍵の正当性をどう担保しているか
  • 公開鍵を“どこから得たか”を意識します。