PGP (Pretty Good Privacy)
PGP系暗号化ソフトウェアのオリジナル。現在はセマンティック社が権利を保有している。
当時反核活動家であったPhilip Zimmermannは、アメリカ合衆国当局の調査によって反核活動のメンバーリストを強引に奪われたことを受け、情報の暗号化の為に開発した。PGPを開発しインターネットで公開したことにより、PGPは人気を獲得し普及していった。PGP 2系になると、品質が格段に向上し、アメリカ合衆国政府が「兵器」とみなし、その危険性を危惧する程のものとなった。PGPはインターネット上で公開していたが、その結果「高度な暗号化ソフトウェアを海外に流出させた」として調査を受けることになった。そのためインターネット上でPGPを公開できなくなった。そこでPhilip Zimmermannは言論の自由を盾に出版物としてPGPのソースコードを出版した。それをベースにして開発されたPGPi(国際版PGP)が開発された。その後、法改正によりPGPは輸出可能な状態となった。それからPGPは商用化の道を模索するがあまり上手くいかなかった。
OpenPGP
PGPの仕様を標準化し、オープンな仕様としたもの。いくつかのRFCで構成される。公開鍵暗号方式の1つであるRSAの特許失効後に、PGPは有償になった。そこで自由なライセンスを持ったPGPを実装する目的としてIETFにOpenPGPワーキンググループが発足した。ワーキンググループは標準化の作業を進め、RFCを公開していった。
さまざなソフトウェアがOpenPGPに準拠する形で機能を実装している。
PGP
- RFC 1991: PGP Message Exchange Formats
OpenPGP
- RFC 2440: OpenPGP Message Format
- RFC 4880: OpenPGP Message Format
- RFC 5581: The Camellia Cipher in OpenPGP
- RFC 6637: Elliptic Curve Cryptography (ECC) in OpenPGP
- draft-ietf-openpgp-crypto-refresh OpenPGP Message Format
PGP/MIME
- RFC 2015: MIME Security with Pretty Good Privacy (PGP)
- RFC 3156: MIME Security with OpenPG
GnuPG (GNU Privacy Guard)
OpenPGPの仕様の標準化により、自由ソフトウェアとして実装したもの。
1997年4月にDiffie-Hellman米国特許4200770が、Hellman-Merkle特許(米国特許4218582)の特許の期限が切れた。これら2つは公開鍵暗号方式の基本的な部分をカバーしていた。GNUはそれまでPGPの自由な実装が必要だと考えてきたが、特許があったため実装を進められていなかった。特許が切れたことにより、それが実装が可能となった。
しかし特許は切れていても、アメリカ合衆国の武器売買法によってアメリカ合衆国国民は高度な暗号技術を有するソフトウェアの実装に制限を受ける状態は続いていた。そこでRMSはヨーロッパのハッカーに向けて公開鍵暗号のソフトウェアの開発を呼び掛けた。その呼び掛けに応じたハッカーが開発を開始し、数名が合流し開発が続けられた。そして1999年7月にgnupg-1.0.0がリリースさた。2004年にはgnupg-2.0.0がリリースされた。そして現在も開発が続いている。
参考資料
- https://baldanders.info/pubkeys/
- https://gnupg.hclippr.com/official/shorthist/
- https://ja.wikipedia.org/wiki/Pretty_Good_Privacy
- https://jigoku1119.hatenablog.jp/entry/2019/07/07/155457
- https://lab4ict.com/system/archives/1281
- https://qiita.com/y518gaku/items/435838097c700bbe6d1b
- https://text.baldanders.info/openpgp/
- https://text.baldanders.info/openpgp/gnupg-cheat-sheet/
- https://text.baldanders.info/openpgp/openpgp-key-management/
- https://text.baldanders.info/remark/2019/07/openpgp-certificate-flooding/#fn:1
- https://www.confrage.com/security/pgp/
- https://www.confrage.com/security/pgp/pgp6_01.html
- https://www.ipswitch.com/jp/blog/the-difference-between-pgp-openpgp-and-gnupg-encryption