Pretty Good Privacy (PGP)
Pretty Good Privacy(プリティ・グッド・プライバシー、略称: PGP)は、1991年に
フィル・ジマーマンによって開発されたデータ通信における
暗号化プログラムです。PGPは、テキストメッセージ、
電子メール、ファイル、ディレクトリおよびディスクパーティション全体に対して、署名、
暗号化、復号化、および通信のセキュリティを強化する機能を提供します。また、PGPや関連する
ソフトウェアは、データの
暗号化と復号化を行うためのオープンスタンダードであるOpenPGP標準(RFC 4880)に準拠しています。これにより、PGPはGnuPGなど他のOpenPGP準拠システムとの互換性があります。
PGPの歴史と発展
PGPが世に出た当初、米国政府は
暗号を戦略的な
武器として見なしており、その輸出が禁止されていました。このため、PGPは米国外で容易には入手できませんでした。ジマーマンは
アメリカ合衆国憲法修正第1条による言論・出版の自由を利用し、
ソースコードを出版物として出版し、合法的にPGPを国外に広めることに成功しました。これによりPGPの国際版(PGPi)が開発されました。
しかし、1999年12月、米国政府はPGPの輸出を一部の国を除き許可したことで、海外でも合法的にUS版のPGPが使用できるようになりました。これに伴い、国際版の開発は終了しました。2001年には、PGPの開発元であるネットワーク・アソシエーツ社がPGP部門の解体を発表し、2002年に売却先が見つかり、PGP社を設立して再開発へと移行しました。
2005年には、PGP 9.0.2がリリースされ、日本語版も公開されました。さらに2006年には日本法人が設立され、以降日本でのサポートも行われています。PGPの製品は
英語、ドイツ語、日本語で利用可能です。また、PGP社は2010年にシマンテックに買収されました。
PGPの仕組み
PGPは
公開鍵暗号方式を使用しています。まず送信者は、送信したいメッセージのサイズに応じて、ランダムな共通鍵(セッションキー)を生成します。この鍵を用いて、メッセージを共通鍵
暗号方式で
暗号化します。次に、送信者は受信者の公開鍵を使って、このセッションキー自体を
公開鍵暗号方式で
暗号化します。
暗号化されたメッセージ本文と
暗号化されたセッションキーをセットにして受信者に送信します。受信者は自分の秘密鍵で受け取ったセッションキーを復号し、それを使ってメッセージ本体を復号することで、元のメッセージを読み取ることができます。
OpenPGP Standards
PGPの仕様は、インターネット標準としてRFCに公開されています。最初はRFC 1991で提供されていましたが、
1998年にはRFC 2440として標準化され、後にRFC 4880によって更新されました。さらに、RFC 5581では
Camellia暗号が追加され、RFC 6637では楕円曲線
暗号の対応が紹介されています。
また、PGP/MIMEフォーマットに関するRFC 2015およびRFC 3156も別途標準化されています。OpenPGPの標準化に基づいて、
GNU Privacy Guardなる実装が1999年にリリースされており、Android向けのOpenKeychainやiOS向けのiPGMailといった実装も存在しています。
これらの標準や関連項目は、PGP技術の発展において重要な要素を提供し、利用者のデータの安全性を確保する基盤となっています。