PGP (Pretty Good Privacy) は、オンライン通信システムにプライバシー、セキュリティ、認証を提供するために設計された暗号化ソフトウェアです。 Phil Zimmerman 氏は最初の PGP プログラムを作成し、彼によると、プライバシーへの要求の高まりを受けてこのプログラムが一般公開されるようになりました。
1991 年の導入以来、PGP ソフトウェアの多くのバージョンが作成されてきました。 1997 年、Phil Zimmerman は、PGP のオープンソースで一般に受け入れられている標準である Internet Engineering Task Force (IETF) の設立を提案しました。この提案は受け入れられ、キーとメッセージの標準的な暗号化形式を定義する OpenPGP プロトコルの作成につながりました。
PGP はもともと電子メールとその添付ファイルを保護するためにのみ使用されていましたが、現在ではデジタル署名、フルディスク暗号化、ネットワーク セキュリティなど、より幅広いアプリケーションで使用されています。
PGP は元々 PGP Inc が所有していましたが、後に Network Associates Inc に買収されました。2010 年に Symantec Corp. が 3 億ドルで PGP を買収し、現在この用語は同社の OpenPGP 互換製品に使用される商標となっています。
これはどのように作動しますか?
PGP は、公開鍵暗号化を実装するための最初に広く利用可能になったプログラムの 1 つです。これは、対称暗号化と非対称暗号化の両方を使用して高いレベルのセキュリティを実現するハイブリッド暗号システムです。
基本的なプロセスでは、暗号化は平文データ(簡単に理解できるデータ)を暗号文(判読できないデータ)に変換します。しかし、暗号化プロセスが始まる前に、ほとんどの PGP システムは圧縮を実行します。 PGP はテキスト ファイルを圧縮することで、ディスク領域と転送時間を節約し、セキュリティも強化します。
ファイルが圧縮されると、暗号化プロセスが開始されます。この段階では、圧縮されたテキスト ファイルは、セッション キーと呼ばれるワンタイム キーを使用して暗号化されます。このキーは対称暗号化を使用してランダムに生成され、各 PGP 通信セッションには独自のセッション キーが存在します。
次に、セッション キー (1) は非対称暗号化を使用して暗号化されます。つまり、受信者 (ボブ) は、メッセージの送信者 (アリス) に公開キー (2) を提供し、送信者がセッション キーを暗号化できるようにします。このステップにより、セキュリティ レベルに関係なく、アリスはインターネット経由でボブとキーを安全に共有できます。

セッション キーの非対称暗号化は通常、RSA アルゴリズムを使用して実行されます。インターネットの大部分を保護するトランスポート層セキュリティ (TLS) プロトコルなど、他の多くの暗号化システムでもこれが使用されています。
メッセージの暗号文と暗号化されたセッションキーを受信すると、ボブは自分の秘密鍵(3)を使用してセッションキーを復号化し、そのセッションキーを使用して暗号文を復号化できます。

PGP は、基本的な暗号化と復号化のプロセスに加えて、少なくとも次の 3 つの機能を実行するデジタル署名もサポートしています。
認証: ボブはメッセージの送信者がアリスであることを確認できます。
整合性: ボブはメッセージが元の形式のままであることを確信できます。
否認不可: メッセージがデジタル署名されると、アリスは自分がそのメッセージを送信していないと主張することができなくなります。
アプリケーションオプション
PGP の最も一般的な用途の 1 つは、電子メールを保護することです。 PGP で保護された文字は、読み取ることができない文字列 (暗号化されたテキスト) に変換され、適切なキーでのみ復号化できます。メッセージのセキュリティを確保するためのセキュリティ メカニズムはほぼ同じであり、PGP を他のものの上に実装して、暗号化システムをセキュリティ保護されていないメッセージング サービスに効果的に統合できるソフトウェア アプリケーションもあります。
PGP は主にインターネット通信のセキュリティ保護を目的として設計されていますが、個々のデバイスの暗号化にも使用できます。この場合、プログラムは PC またはモバイル デバイス上のディスク パーティションに適用できます。ハードドライブを暗号化すると、ユーザーはシステムを起動するたびにパスワードを入力する必要があります。
利点と欠点
PGP では、対称暗号化と非対称暗号化を組み合わせて使用することで、ユーザーがインターネット経由で情報や暗号化キーを安全に交換できるようになります。ハイブリッド システムである PGP は、非対称暗号化のセキュリティ上の利点と対称暗号化の速度を兼ね備えています。これらの利点に加えて、PGP はデジタル署名を実装し、データの整合性と送信者の信頼性を保証します。
OpenPGP プロトコルにより標準化された競争環境が生まれ、現在では複数の企業や組織によって PGP ソリューションが提供されています。ただし、OpenPGP 標準に準拠するすべての PGP プログラムは相互に互換性があります。つまり、あるプログラムで作成されたファイルとキーは、別のプログラムでも問題なく使用できます。
欠点としては、PGP システムは、特に技術スキルの低いユーザーにとっては、使いやすく理解しやすいものではありません。さらに、公開鍵の長さが長いことは、多くの人に不便だと考えられています。
2018 年、電子フロンティア財団 (EFF) は EFAIL と呼ばれる重大な脆弱性を公開しました。この問題により、ハッカーは暗号化された電子メール内のアクティブな HTML コンテンツを使用して、メッセージの復号化されたバージョンにアクセスできるようになります。
しかし、EFAIL で説明されている問題の一部は、1990 年代後半から PGP ユーザー コミュニティでは既に知られており、実際には脆弱性は PGP 自体ではなく、電子メール クライアント側のさまざまな実装に存在していました。したがって、警告的で誤解を招くような見出しにもかかわらず、PGP は依然として高いレベルのセキュリティを備えています。
結論
PGP は 1991 年の導入以来、データ保護に不可欠なツールであり、現在ではほとんどのアプリケーションで使用され、通信システムやデジタル サービス プロバイダーにプライバシー、セキュリティ、認証を提供しています。
2018 年に EFAIL が発見されたことで、プロトコルの実行可能性について深刻な懸念が生じましたが、基盤となるテクノロジーは依然として安全で、暗号的に健全であると考えられています。 PGP の実装によってセキュリティ レベルが異なる場合があることに注意してください。
