PGPとは?
PGPとは?
ホーム記事

PGPとは?

中級者
2w ago
5m
PGPとは、Pretty Good Privacyの略で、オンライン通信システムのプライバシー、セキュリティ、認証を提供するために設計された暗号化ソフトウェアです。最初のPGPプログラムを作成したのはフィル・ジマーマン氏で、彼によると、プライバシーに対する社会的な需要が高まったため、自由に利用できるようになったと述べました。

1991年に作成されて以来、様々なバージョンのPGPソフトウェアが作成されてきました。1997年、フィル・ジマーマン氏はインターネット技術タスクフォース(IETF)にオープンソースのPGP標準の作成を提案しました。この提案は受容され、暗号化キーとメッセージの標準フォーマットを定義するOpenPGPプロトコルの作成につながりました。

PGPは当初、電子メールメッセージと添付ファイルのセキュリティ保護にのみ使用されていましたが、現在ではデジタル署名、フルディスク暗号化、ネットワーク保護など、広範囲な用途に使用されています。

PGPは当初、PGP社が所有していましたが、後にNetwork Associates社に買収されました。2010年にSymantec社が3億ドルでPGPを買収し、現在ではOpenPGP準拠製品の商標として使用されています。


どのように機能するのか?

PGPは、公開鍵暗号を実装した最初の広範囲で利用可能なソフトウェアの1つです。これは、対称暗号と非対称暗号の両方を使用して、高レベルのセキュリティを実現するハイブリッド暗号システムです。
テキスト暗号化の基本的なプロセスでは、平文(明確に理解可能なデータ)を暗号文(解読不能なデータ)に変換します。しかし、暗号化のプロセスが行われる前に、大半のPGPシステムはデータ圧縮を行います。平文ファイルを送信する前に圧縮することで、PGPはディスク容量と送信時間の両方を節約し、セキュリティを向上させます。

ファイル圧縮の後、実際の暗号化プロセスが開始されます。この段階で、圧縮された平文ファイルは、セッションキーと呼ばれる単一使用キーで暗号化されます。この鍵は対称暗号方式を用いてランダムに生成され、各PGP通信セッションは一意のセッション鍵を保持します。

次に、セッション鍵(1)体を非対称暗号化を用いて暗号化します。意図した受信者(ボブ)は、メッセージの送信者(アリス)に自身の公開鍵(2)を提供し、アリスがセッション鍵を暗号化できるようにします。このステップにより、アリスはセキュリティ条件に関係なく、インターネットを介してボブとセッション鍵を安全に共有することができます。

セッション鍵の非対称暗号化は通常、RSAアルゴリズムを使用して行われます。他の多くの暗号化システムでもRSAを使用していますが、その中にはインターネットの大部分を保護するTLS(Transport Layer Security)プロトコルも含まれています。

メッセージの暗号文と暗号化されたセッション鍵が送信されると、ボブは自分の秘密鍵(3)を使用してセッション鍵を復号化し、暗号文を復号化して元の平文に戻すことができます。

暗号化と復号化の基本的なプロセスのほかに、PGPはデジタル署名もサポートしています。デジタル署名には、少なくとも以下の3つの機能があります。

  • 認証:ボブはメッセージの送信者がアリスであることを確認できます。

  • 完全性:ボブはメッセージが改ざんされていないことを確認できます。

  • 否認防止:メッセージがデジタル署名された後、アリスは自分が送信したのではないと主張できません。


使用事例

PGPの最も一般的な用途の1つは、電子メールの保護です。PGPで保護された電子メールは、解読不能な文字列(暗号文)に変換され、対応する復号化キーでしか解読できません。動作メカニズムは、テキストメッセージを保護するためのものと実質的に同様であり、他のアプリ上にPGPを実装し、効果的に非保護メッセージングサービスに暗号化システムを追加することを可能にするソフトウェアアプリケーションもあります。

PGPは主にインターネット通信のセキュリティ保護に使用されますが、個々のデバイスの暗号化にも適用することができます。この文脈において、PGPはコンピュータまたはモバイルデバイスのディスクパーティションに適用されることもあり、ハードディスクを暗号化することで、ユーザーはシステムが起動するたびにパスワードを入力する必要があります。


メリットとデメリット

PGPは、対称暗号化と非対称暗号化を組み合わせて使用することで、ユーザーがインターネットを通じて情報と暗号鍵を安全に共有することを可能にします。ハイブリッドシステムとして、PGPは非対称暗号化のセキュリティと対称暗号化の速度の両方のメリットを享受します。セキュリティと速度に加えて、デジタル署名はデータの完全性と送信者の真正性を保証します。 

OpenPGPプロトコルにより、標準化された競争環境の出現が可能となり、現在では複数の企業や組織がPGPソリューションを提供しています。それでも、OpenPGP規格に準拠したすべてのPGPプログラムは相互に互換性があります。要するに、あるプログラムで生成されたファイルや鍵を別のプログラムでも問題なく使用できるということです。

欠点に関しては、PGPシステムは、特に技術的知識の少ないユーザにとっては、使用や理解があまり容易ではなく、公開鍵の長さが長いことは、多くの人にとって非常に不便だと考えられています。

2018年、EFAILと呼ばれる重大な脆弱性が電子フロンティア財団(EFF)によって公開されました。EFAILにより、攻撃者は暗号化された電子メール内のアクティブなHTMLコンテンツを悪用して、プレーンテキスト形式のメッセージにアクセスすることを可能にしました。

しかし、EFAILLによって記述された懸念事項のいくつかは、1990年代後半からすでにPGPコミュニティで認知されおり、実際には、脆弱性はメールクライアント側の一部の異なる実装に関連しており、PGP自体には関連していません。そのため、警告や誤解を招くような見出しにもかかわらず、PGPは壊れておらず、高い安全性を維持しています。


まとめ

1991年に開発されて以来、PGPはデータ保護に欠かせないツールとなっており、現在では様々な通信システムやデジタルサービスプロバイダにプライバシー、セキュリティ、認証を提供するなど、幅広い用途で使用されています。

2018年に発見されたEFAILの欠陥は、プロトコルの実現可能性について重大な懸念を提起しましたが、コア技術は依然として堅牢で暗号技術的に健全であるとみなされています。異なるPGP実装によって、さまざまなレベルのセキュリティが提示される可能性があることは注目に値します。