PGPとは:安全な通信を行うその仕組みと設定・使用方法
PGPは、メールやファイルを暗号化するための非常に強力なプロトコルの一つです。しかし、その複雑さから、多くの人にとっては使いこなすのが難しいのも事実です。実際にPGPを使おうとしたことがある方なら、暗号鍵の生成や共有、管理がどれほど手間のかかる作業か、ご存じではないでしょうか。
幸い、最近のPGPサービスでは、こうした面倒な手順の多くが自動化されています。そのおかげで、誰でもより簡単にメールの暗号化を導入し、その恩恵を受けられるようになりました。
この記事ではPGPとは何か、そしてその仕組みや用途、どのように使い始めればよいのかを、簡単にご紹介していきます。
Pretty Good Privacy(PGP)とは?
Pretty Good Privacy(PGP)は、公開鍵暗号を使ってデジタル通信やファイルを保護する手法です。この仕組みでは、ユーザーそれぞれが「共有できる公開鍵」と「自分だけが保持する秘密鍵」という、対になった鍵を持ちます。
誰かがPGPを使ってあなたに暗号化メッセージを送信する場合、メッセージの内容はまず一時的に生成される対称鍵で暗号化されます。次に、その対称鍵があなたの公開鍵で暗号化されます。復号に使えるのはあなたの秘密鍵だけで、この秘密鍵で対称鍵を復号する仕組みです。
PGPでは、メッセージやファイルにデジタル署名することもできます。秘密鍵で署名を行うと、あなたの公開鍵を持つ人なら誰でも、そのデータが確かにあなたから送られたものであり、途中で改ざんされていないことを確認できます。これにより、安全な通信におけるプライバシーと完全性が保護されます。
現在、PGPはOpenPGPという標準の形で提供されています。OpenPGPはオリジナルのPGPシステムを現代的な仕様へと発展させたもので、公開されており、オープンソースとの相性も良く、相互運用可能なバージョンです。OpenPGPは、その仕様に準拠するソフトウェアであれば、暗号化データや署名付きデータを安全に交換できるため、特定企業の製品に縛られる必要はありません。
また現在では、PGPとOpenPGPは、ほぼ同じ意味で使われています。PGP暗号化の使用について話す場合、それは一般的にOpenPGPを使用するツールまたはソフトウェアについて話しています。
なお、PGPをVPNのような他の暗号化ソフトウェアと混同しないようにしてください。PGP は、さまざまなサイバーセキュリティツールで利用されており、メッセージやファイル、およびその他同様のコンテンツを暗号化するのに役立ちます。
PGPの用途
PGPは一般的にメールの暗号化に使われますが、ほかにもさまざまな用途があります。ここでは、PGPによる暗号化が役立つ例をいくつかご紹介します。
メールの暗号化
前述のとおり、これがPGPの主な用途です。PGPでメールを暗号化すると、受信者の秘密鍵を持つ人だけがメッセージを読むことが可能です。これにより、メールサービスの提供者や行政機関、サイバー犯罪者など、第三者による会話の盗み見を防げます。
公開鍵を交換すると、ほとんどの最新ツールは暗号化と復号を自動的に処理してくれます。受信トレイ自体はそのまま維持されますが、各メールの内容は保護されます。つまり、PGPを使うことで、別のメッセージングサービスを使わずに、普段のメールサービスを安全な通信手段として利用できるようになるのです。
デジタル署名の検証
PGPはデータの機密性を守るだけでなく、送信者の正当性も証明します。秘密鍵でメッセージやファイルに署名すれば、あなた本人とそのコンテンツの両方に紐づく固有の暗号署名が生成されます。
あなたの公開鍵を持つ人なら誰でも、その署名を検証し、メッセージが本当にあなたから送られたものであることを確認可能です。これにより、偽造メールや書き換えられた文書が紛れ込むのを防げます。PGPのこの仕組みは、特に企業にとって重要です。
また、この機能はダークウェブでもよく使われています。たとえば、オンラインマーケットプレイスは、利用者が鍵を使って正当性を確認できるように、定期的に自分たちのPGP鍵を公開鍵サーバーに掲載しています。
ファイルの暗号化
PGPを使用して、ローカルファイルを暗号化することも可能です。PGPでファイルを使用するには、基本的に2つの方法があります。誰かの公開鍵でファイルを暗号化すると、その人の秘密鍵だけが復号して開くことができます。また、自分用にファイルを暗号化することもできます。どちらの方法でも、コンピュータへの不正アクセスを試みる脅威アクターからファイルを保護できます。
PGP暗号化の仕組みとは?
PGP暗号化は、対称暗号と非対称暗号を組み合わせることで、安全なメッセージ送信を実現します。以下では、そのプロセスを段階的にご説明します。

- 非対称鍵ペアの生成(初回のみ):暗号化されたメッセージを送受信する前に、各ユーザーはPGPソフトウェアで公開鍵と秘密鍵のペアを生成しなければなりません。公開鍵は他のユーザーと共有し、相手があなた宛てのメッセージを暗号化できるようにします。秘密鍵は厳重に管理し、受信メッセージの復号と、メッセージの信頼性を証明する署名に使用します。
- メッセージの作成:メッセージをプレーンテキストで作成します。この段階ではまだ暗号化されていないため、そのまま送信すると傍受される可能性があります。
- 一意の対称セッション鍵の生成:PGPは、安全な乱数生成器を用いてランダムな対称鍵(セッション鍵)を生成します。この鍵が、実際のメッセージの暗号化に使用されます。
- セッション鍵を使用してメッセージが暗号化される:高速な暗号化アルゴリズム(例:AESなど)が使用されます。これにより、暗号化と復号化が効率的に行われます。
- セッション鍵自体は受信者の公開鍵で暗号化される:このセッション鍵を復号化できるのは受信者の秘密鍵だけです。この仕組みによって、メールの内容と復号に必要な鍵の両方を第三者が入手できなくなります。
- メッセージに署名する(任意だが一般的):プレーンテキストメッセージの暗号ハッシュ(例:SHA-256)を生成し、それを秘密鍵で暗号化してデジタル署名を生成します。受信者はあなたの公開鍵を用いて署名を検証し、メッセージの信頼性と完全性を確認できます。
- メッセージが送信される:最終的なメッセージには以下の要素が含まれます。
- 暗号化されたメッセージ
- 暗号化されたセッション鍵
- (任意)デジタル署名
このハイブリッド方式により、対称暗号の高速性と、非対称暗号の安全な鍵交換と検証が両立できるのです。
- 受信者が信頼性を検証し復号する:メッセージを受信すると、受信者はまず公開鍵を使用して署名(存在する場合)を検証します。次に、自身の秘密鍵で暗号化されたセッション鍵を復号します。最後に、そのセッション鍵を使ってメッセージ本文を復号します。
PGP暗号化は安全なのか?
PGPは、機密性の高いファイルやメッセージを保護するための最も安全な方法のひとつです。これは強力な暗号化アルゴリズムと、コンテンツを秘密に保つために設計された公開鍵システムを使用しています。ただし、いくつかの気をつけておくべき制限もあります。ここでは、その長所と短所を詳しく見ていきましょう。
PGPのメリット
PGPの最大のメリットは、暗号鍵を自分で管理できる点です。第三者に鍵の保管や管理を任せる必要がなく、自分で安全に保管・管理が行えます。つまり、誰が通信を傍受しようとしても、あなたの秘密鍵を持つ人だけがメッセージを復号できるのです。
PGPでは、メールやファイルにデジタル署名を付けることもできます。署名を追加することで、コンテンツが確かにあなたから送られたものであり、送信中に悪意のある人物によって改ざんされていないことを証明できます。
もう1つのメリットは、その汎用性です。PGPは相互運用可能なプロトコルであり、安全なメールサービスや、GPGのようなコマンドラインツールなどのさまざまなソフトウェアで使用されています。つまり、特定のPGPプロバイダーに依存する必要はなく、自分に合ったものを自由に選べるのです。

制限とメタデータの露出
PGPはメッセージやファイルの内容を安全に保つうえで優れていますが、いくつか制限もあります。具体的には、メールのヘッダーや件名、そしてやり取りをしているという事実など、メッセージのメタデータを隠せないということです。
つまり、誰かがあなたのネットワークトラフィックを監視している場合、メッセージを読むことはできなくても、誰と、いつ連絡を取っているかは分かってしまいます。
もう1つの問題は、PGPでは自分で秘密鍵を保護し、パスワードを覚えておく必要があることです。端末がマルウェアに感染したり、フィッシング詐欺に遭ったり、パスワードを失くしてしまったりすると、暗号化されたデータに永久にアクセスできなくなるかもしれません。
全体的にPGPには多くのセキュリティ上のメリットがありますが、メッセージのメタデータは暗号化されず、秘密鍵を失ったり管理できなくなった場合には、ファイルにアクセスできなくなる可能性があるのです。
PGP vs GPG vs OpenPGP
PGPは、1990年代初頭にPhil Zimmermann氏によって開発されたソフトウェアです。OpenPGPはその技術を基にした公式標準(現在はRFC 9580)で、さまざまなセキュリティツールで使われています。
GnuPG、略してGPGは、OpenPGP標準に基づいて作られた最も広く使われているオープンソースソフトウェアです。現在、PGP鍵を生成する際に使用されるのは、一般的にこのGPGとなっています。
機能的には、これらはいずれも強力な暗号化とデジタル署名を提供します。これらの違いは主に、歴史的な背景か、ライセンスや特定の機能によるものです。メールを安全に保ちたい場合は、信頼できるソースによるPGPプロトコルであればどれでも役立ちます。
端末にPGPをセットアップする方法
PGPのセットアップは、以前よりずっと簡単になりました。現在は、PGPを内蔵した安全なメールサービスを使う方法と、既存のメールクライアントに直接組み込めるソフトウェアをインストールする方法があります。ポイントは、自分のニーズと使用しているサービスに合ったツールを選ぶことです。
PGPソフトウェアのインストールとセットアップ
選択したPGPツールのインストールは簡単で、通常は数分で完了します。
まず、どのタイプのPGPソフトウェアを使うかを決めます。ProtonMailやGpg4winのようにPGP保護を内蔵した専用メールサービス、またはGmailなどのよく使われているメールサービスでメールを暗号化できるMailvelopeのようなプラグインの2つが、一般的に主な選択肢となっています。
プラグインは、既存のメールアカウントをそのまま使いながらメールを暗号化できる便利な方法ですが、専用の安全なメールアカウントが必要な場合は、スタンドアロン型のサービスを使う方が適しています。
初期セットアップを数分で完了するには、以下の手順で進めましょう。
- PGP対応のアプリまたはプラグインを選びます。
- 公式の案内に従ってソフトウェアをダウンロードし、インストールします。
- アプリまたは拡張機能を開き、暗号化またはOpenPGPのセットアップメニューを探し、初期設定を開始します。
PGPキーペアを作成する
キーペアはPGPの安全性を支える重要な要素です。PGPで使用する公開鍵と秘密鍵を生成する手順は、以下のとおりです。
- PGPソフトウェアを起動し、新しいキーペアを生成します。
- 指示に従って、名前とメールアドレスを入力します。
- 秘密鍵を保護するために、強力で一意のパスワードを作成します。ここでは、ExpressVPN Keysなどのパスワードマネージャーを使用して、強力なパスワードを生成・保存することをおすすめします。
- ツールが、端末上に公開鍵と秘密鍵のペアを生成します。
復旧用の情報やバックアップを保存する
秘密鍵やパスフレーズを失うと、暗号化されたデータにアクセスできなくなってしまいます。ですからまずは、復旧用の情報やバックアップ情報を確実に保存しておきましょう。
- 秘密鍵を、安全な暗号化バックアップファイルまたは安全な保存場所にエクスポートします。
- パスフレーズを書き留め、オフラインで安全に保管します。
- ソフトウェアが復旧フレーズや印刷して保管できる復旧用の情報を提供している場合は、ExpressVPN Keysの保管庫など、安全な場所に保管してください。パスフレーズを失うということは、PGPツールにアクセスできなくなることを意味します。
公開鍵を共有する
他の人から暗号化されたメッセージを受け取るには、あなたの公開鍵を渡す必要があります。手順は簡単で、個人情報が露出することもありません。
- ソフトウェアから公開鍵をエクスポートするか、もしくはコピーします。
- 暗号化されたコンテンツを送受信したい相手に、公開鍵を送ります。
- ジャーナリズムなど重要な用途でPGPを使う場合は、他の人が見つけやすいよう、キーサーバーに公開鍵をアップロードしたり、メール署名に追加したりすることも検討してください。
メッセージやファイルの暗号化と署名
セットアップが完了したら、メールやファイルを暗号化できるようになります。
- 通常どおりメールを作成するか、ファイルを準備します。この時点ではプレーンテキスト形式で、まだ暗号化されていません。
- ソフトウェアの暗号化と署名オプションをクリックします。多くのサービスでは自動的に署名が付与されますが、自動で署名されない場合は、PGPソフトウェア内で署名機能をオンにしてください。
- キーリングから受信相手の公開鍵を選択します。
- 暗号化されたメッセージやファイルを、通常どおり送信します。
受信メッセージの復号と検証
復号は暗号化と同様に簡単で、ほとんどの処理はソフトウェアが自動で行います。
- PGPソフトウェアで、暗号化されたメッセージやファイルを開きます。
- 秘密鍵のロックを解除するように求められたら、パスフレーズを入力します。
- ソフトウェアが自動的にコンテンツを復号し、送信者の署名を検証するため、改ざんされていないことを確認できます。
鍵の更新と失効(必要な場合)
鍵が漏えいした可能性がある場合は、鍵を無効化し、新しい鍵に置き換えましょう。手順は以下のとおりです。
- 秘密鍵を紛失した場合や漏えいした可能性がある場合は、すぐに新しいキーペアを生成します。
- 新しい公開鍵を公開し、連絡先に古い鍵を使わないように伝えます。
- 必要に応じて、一部のツールでは失効証明書を発行することもできます。この証明書は、公開鍵サーバー上で古い鍵が無効であることを通知します。
PGP暗号化の使用例
重要な通信やファイルを保護したい場合は、PGP暗号化を使用してください。以下では、実際にPGPが使用されている例をご紹介します。
- ジャーナリストや内部告発者: PGPは、メールや文書を意図した相手だけが読めるように保護するためによく利用されます。調査の過程で機密資料を共有する際にも活用されています。
- 企業や組織:企業はPGPを使って社内外の通信を暗号化し、企業秘密、契約書、顧客データなどを保護します。デジタル署名は送信者の検証やフィッシング攻撃を防ぐのにも有効です。多くの業界で、PGPの導入はプライバシーやデータ保護に関する法令遵守にも役立っています。
- 個人の通信:プライバシーを重視するユーザーは、PGPを使って個人のメールやファイルをインターネットサービスプロバイダーやメールサービス運営者などから保護できます。相手の公開鍵でメッセージを暗号化すると相手だけが読めるようになります。また、署名を付与すれば自分が送信したものであることを証明できます。
FAQ:PGPに関するよくある質問
PGPキーを入手するにはどうすればよいですか?
PGPキーを入手するには、端末にPGP対応ソフトウェアをインストールするだけです。最新のPGPソフトウェアの多くは、鍵の生成や受信相手との鍵共有などの複雑な処理を自動で行ってくれます。
PGPはGPGやOpenPGPと同じものですか?
PGP、GPG、OpenPGPは密接に関連していますが、それぞれに違いがあります。PGPは Pretty Good Privacyの略で、1990年代初頭に開発されたソフトウェアセキュリティプロトコルです。
OpenPGPは、PGPの設計を基に作られた標準化されたプロトコルです。こちらは公開されており、さまざまなセキュリティサービスで採用されています。また、これまでに複数回アップデートが行われてきました。
GPGまたはGnuPGは、OpenPGPに準拠した広く使われているオープンソース版です。こちらは、Linuxなど他のOSでもPGP環境を構築できます。現在PGPキーを作成する際には、ほとんどの場合、OpenPGP対応ソフトウェアを通じて生成されています。
PGPは解読できますか?
理論上はどんな暗号化サービスでも解読される可能性があります。しかし、PGPは最新の強力なアルゴリズムと適切に管理された鍵を使えば、非常に高いセキュリティを維持します。
PGPではAES-256やTwofishなど複数の暗号化アルゴリズムを選択可能です。また、従来のデフォルト方式であるCAST5など、一部の古い暗号化モデルもサポートしています。ただし、サポートされている暗号化アルゴリズムがすべて同じレベルで安全というわけではないため、古い方式の利用は避けるべきです。
もう1つの問題点は、PGPには完全な前方秘匿性がないことです。これは、あなたの秘密鍵が侵害された場合、その公開鍵で暗号化された過去のすべてのメールが復号可能になることを意味します。
さらに、「今は保存しておき、後で復号する」といったタイプの攻撃(store-now-decrypt-later attack)などの新たな脅威も登場しています。こうした攻撃では、量子コンピュータによる復号技術の進歩を見越して、暗号化された情報を先に収集しておきます。
PGPはメタデータを隠しますか?
いいえ。PGPはメッセージやファイルそのものの内容は暗号化しますが、メタデータは隠しません。これは、メールの件名、送信者・受信者のアドレス、送信時刻といった情報は保護されないことを意味します。
メールでPGPを使用すると、メールのヘッダーはトラフィックを監視しているすべての人に表示されます。PGPでプライバシーを高めたい場合は、件名を汎用的な表現にすることを試してみてください。また、VPNを利用すればトラフィックが暗号化されます。ですから、ExpressVPNとOpenPGPを併用すれば、メタデータが第三者に盗み見られるリスクを軽減できます。ただし、メールサービス提供者には、引き続きメタデータが見えてしまいます。
PGPは現在も使用されていますか?
はい。PGPはOpenPGPおよびOpenPGPを利用するさまざまなサービスを通じて、今も広く使用されています。プライバシー重視のメールサービス、ファイル暗号化ツール、ソフトウェアの更新システムなど、多くの場面で、機密メールやファイルの暗号化にOpenPGPが活用されているのです。
現在では、通信の多くが安全なメッセージングアプリで行われていますが、より高度な保護が求められるサービスでは、PGPがよく用いられています。
ネット上で身を守るための第一歩を踏み出しましょう。リスクなしでExpressVPNをお試しください。
ExpressVPN を入手