利用者:Mirror-kt/sandbox/GNU Privacy Guard

GNU Privacy Guard
作者 ヴェルナー・コッホ
開発元 GNUプロジェクト
初版 1999年9月7日 (1999-09-07)[1]
最新版
Stable2.4.5[2] ウィキデータを編集 / 12 3月 2024
LTS2.2.43[3] ウィキデータを編集 / 16 4月 2024
プログラミング
言語
C言語
プラットフォーム クロスプラットフォーム
種別 暗号化ソフト
ライセンス GNU General Public License
テンプレートを表示

GNU Privacy Guard (GnuPG, GPG) とは、Pretty Good Privacy (PGP) の別実装として、GPLのもとで公開されている暗号化ソフトである。OpenPGPの標準規格(RFC 4880)に完全準拠しているが、古い PGP との互換性は完全ではない。

GnuPGはGNUプロジェクトの一部であり、1999年にドイツ政府から大規模な資金提供を受けた[4]

概要[編集]

GnuPGはハイブリッド暗号を用いた暗号化ソフトウェアであり、従来の共通鍵暗号方式による高速化と、公開鍵暗号方式による安全な鍵交換の容易さの両方を提供している。通常は受信者の公開鍵を使って、1度だけ使用されるセッション鍵英語版を暗号化する。この方式はOpenPGP標準の一部として定められており、PGPの最初のバージョンから採用されている。

GnuPG 1.x系では暗号化機能が内蔵されていたが、GnuPG 2.x系からは暗号化機能がLibgcrypt英語版に分割された。

GnuPGでは、ユーザーが個別に生成した公開鍵ペアを用いてメッセージを暗号化する。生成された公開鍵はネットワーク上で公開されるキーサーバー英語版など様々な方法で他のユーザーと交換することができる[注釈 1]。またメッセージにデジタル署名を追加することもでき、通信経路が信頼できる場合にメッセージの完全性[注釈 2]と送信者を検証することができる。

アルゴリズム[編集]

GnuPGは、特許で制限されているアルゴリズムを含んでいない。

したがって、従来の GnuPG では、PGP の過去のバージョンで標準で用いられていた International Data Encryption Algorithm (IDEA) を使うことができず、使用にはプラグインが必要であったが、各国における IDEA の特許切れ[5]に伴い、1.4.13/2.0.20 から IDEA が含まれるようになった[6][7]。これは、過去のコンテンツの署名検証、復号および古いPGPからGnuPGへの移行といった互換性維持のための最低限のサポートであり、既定では新しい鍵の作成における選択肢には現れない[8]

RSA は 2000 年に特許が切れたので、1.0.3 から含まれるようになった[9]

また、1.4.10/2.0.12 から Camellia も含まれるようになった[10]

GnuPG 2.xの最近のリリース("modern"シリーズと、非推奨である"stable"シリーズ)ではLibgcrypt英語版が提供するほとんどの暗号関数とアルゴリズムが使用でき、特に"modern"シリーズ(GnuPG 2.1以降)では楕円曲線暗号(ECDHECDSAEdDSA)のサポートが含まれる[11]

2022年時点での安定版である2.3系列および長期サポート版 (LTS) である2.2系列において対応しているアルゴリズムは、下記のとおりである。

公開鍵暗号
RSA, ElGamal, DSA, ECDH (cv25519, cv448,[注釈 3] nistp256, nistp384, nistp521, brainpoolP256r1, brainpoolP384r1, brainpoolP512r1, secp256k1), ECDSA (nistp256, nistp384, nistp521, brainpoolP256r1, brainpoolP384r1, brainpoolP512r1, secp256k1), EdDSA (ed25519, ed448[注釈 3])
共通鍵暗号
3DES, IDEA(後方互換性のため), CAST5, Blowfish, Twofish, AES-128, AES-192, AES-256, Camellia-128, Camellia-192, Camellia-256
ハッシュ関数
MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512, SHA-224
データ圧縮
圧縮なし, ZIP, ZLIB, BZIP2

開発[編集]

GnuPG の開発は ヴェルナー・コッホ(Werner Koch) によって始められた。現在では David Shaw と Timo Schulz も加わっている。また、g10 Code が Werner Koch と Timo Schulz を資金面で援助している。

バージョン 1.0.0 は 1999 年にリリースされ、それ以降 2002 年の 1.2.0 や 2004 年の 1.4.0 のように、安定版は最初の小数部分が偶数になるバージョンでリリースされている。

一方、 S/MIME 機能の導入を目的とした別系列の開発版が 1.9 系列として開発が進められていた。この系列は2006年11月23日に 2.0 としてリリースされた。

2014年11月、楕円曲線暗号のサポートなど新しいOpenPGP規格に準拠した 2.1 系列がリリースされた。

2.0 系列、2.2/2.1 系列と並行して 1.4 系列のサポートは継続しており、1.4 系列は 2.2/2.1 系列あるいは 2.0 系列と同時にインストール、独立して運用することが可能である。2.2/2.1 系列と 2.0 系列を同時にインストールすることはできない[11]

系列[編集]

2022年8月現在、GnuPG には 3 つの系列が存在する。

  • "Stable" (2.3): 最新の安定版。初版リリースは2021年4月8日[12]
  • "LTS" (2.2): 2017年8月28日に、2.2.0として新たな安定版となった[13]。初版リリースは2014年11月6日[11]。サポート終了は2024年12月31日の予定。
  • "Legacy" (1.4): 旧来のスタンドアロン版。古いシステムや組み込み用途に適している。初版リリースは2004年12月16日[14]

既にサポートが終了した系列は 3 つ存在する。

  • 2.0 系列: 初版リリースは2006年11月13日[15]。最終版は2016年3月31日リリースの2.0.30[16]
  • 1.2 系列: 初版リリースは2002年9月22日[17]、最終版は2004年10月26日リリースの1.2.6[18]
  • 1.0 系列: 初版リリースは1999年9月7日[1]、最終版は2002年4月30日リリースの1.0.7[19]

利用形態[編集]

GnuPG は数多くの OS に含められてきた。

また、GUIフロントエンドも開発されており、KMailEvolution といった電子メールクライアントに統合されたものや、 KDEKGpgGNOMESeahorse のように単独のアプリケーションもある。これらフロントエンドの多くは GnuPG 開発者が用意した GPGME (GnuPG Made Easy) ライブラリを利用している。

脚注[編集]

注釈[編集]

  1. ^ この際中間者攻撃を防ぐため、公開鍵が本当に正しい相手のものであることを注意深く確認する必要がある
  2. ^ メッセージが改ざんされていたり、情報が欠落したりしていないこと
  3. ^ a b 2.3でのみ使用可能

出典[編集]

  1. ^ a b Release Notes”. GnuPG. 2014年11月6日閲覧。
  2. ^ ヴェルナー・コッホ (12 3月 2024). “[Announce GnuPG 2.4.5 released]”. 12 3月 2024時点のオリジナルよりアーカイブ。12 3月 2024閲覧。
  3. ^ Noteworthy changes in version 2.2.43” (16 4月 2024). 27 5月 2024閲覧。
  4. ^ online, heise (1999年11月15日). “Bundesregierung fördert Open Source” (ドイツ語). heise online. 2024年2月21日閲覧。
  5. ^ 欧州および日本:2011年5月16日、アメリカ合衆国:2012年1月7日
  6. ^ [Announce] GnuPG 1.4.13 released” (英語). Werner Koch (2012年12月20日). 2013年5月17日閲覧。
  7. ^ GnuPG 2.0 系列 で用いられる Libgcrypt がバージョン 1.5.2 で IDEA をサポートし、これが GnuPG 2.0.20 に組み込まれたから。 [Announce] Libgcrypt 1.5.2 released” (英語). Werner Koch (2013年4月18日). 2013年5月17日閲覧。
  8. ^ GnuPG 1.4.13 released” (英語). Werner Koch (2012年12月21日). 2013年5月19日閲覧。
  9. ^ GnuPG 1.0.3 released” (英語). Werner Koch (2000年9月20日). 2013年5月17日閲覧。
  10. ^ GnuPG 1.4.10 released” (英語). Werner Koch (2009年9月2日). 2012年12月30日閲覧。
  11. ^ a b c Werner Koch (2014年11月6日). “[Announce] GnuPG 2.1.0 "modern" released”. gnupg.org. 2014年11月6日閲覧。
  12. ^ Werner Koch (2021年4月8日). “[Announce] GnuPG 2.3.0 released”. gnupg.org. 2022年8月4日閲覧。
  13. ^ Werner Koch (2017年8月28日). “[Announce] GnuPG 2.2.0 released”. gnupg.org. 2017年9月21日閲覧。
  14. ^ Werner Koch (2006年11月13日). “[Announce] GnuPG stable 1.4 released”. gnupg.org. 2004年12月16日閲覧。
  15. ^ Werner Koch (2006年11月13日). “[Announce] GnuPG 2.0 released”. gnupg.org. 2014年1月30日閲覧。
  16. ^ Werner Koch (2016年3月31日). “[Announce] GnuPG 2.0.29 released”. gnupg.org. 2016年4月1日閲覧。
  17. ^ Werner Koch (2002年9月6日). “[Announce]GnuPG 1.2 released”. gnupg.org. 2014年11月6日閲覧。
  18. ^ Werner Koch (2004年8月26日). “[Announce] GnuPG 1.2.6 released”. gnupg.org. 2014年11月6日閲覧。
  19. ^ Werner Koch (2002年4月30日). “[Announce] GnuPG 1.0.7 released”. gnupg.org. 2014年11月6日閲覧。

関連項目[編集]

外部リンク[編集]

  • URLが見つかりません。ここでURLを指定するかウィキデータに追加してください。 (英語)