| 原作者 | ヴェルナー・コッホ | ||||
|---|---|---|---|---|---|
| 開発者 | GNU プロジェクト | ||||
| 初回リリース | 1999年9月7日 | ||||
| 安定リリース | |||||
| |||||
| プレビューリリース | |||||
2.5.2 [3]
/ 2024年12月6日 | |||||
| リポジトリ | gnupg のソース | ||||
| 書かれた | C | ||||
| オペレーティング·システム | Microsoft Windows、macOS、RISC OS、Android、Linux | ||||
| タイプ | オープンPGP | ||||
| ライセンス | 2007: GPL-3.0 以降[a] 1997: GPL-2.0 以降[b] | ||||
| Webサイト | gnupg.org | ||||
GNU Privacy Guard ( GnuPGまたはGPG ) は、Symantecの暗号化ソフトウェアスイートPGPのフリーソフトウェア代替品です。このソフトウェアは、 OpenPGPのIETF標準仕様であるRFC 4880に準拠しています。PGP の最新バージョンは、GnuPG やその他の OpenPGP v4 準拠システムと相互運用可能です。 [4]
2023年11月には、2007年のOpenPGP v4仕様(RFC4880)の更新を目的とした2つのドラフトが発表され、最終的には2024年7月にRFC 9580の標準提案が発表されました。GnuPG開発者からの提案はLibrePGPと呼ばれています。[5]
GnuPGはGNUプロジェクトの一部であり、 1999年にドイツ政府から多額の資金提供を受けた。 [6]
概要
GnuPG は、従来の対称鍵暗号化方式による速度の向上と、公開鍵暗号化方式による安全な鍵交換の容易さの組み合わせを使用するハイブリッド暗号化ソフトウェア プログラムです。通常、受信者の公開鍵を使用して、 1 回だけ使用されるセッション キーを暗号化します。この動作モードは OpenPGP 標準の一部であり、PGP の最初のバージョンからその一部となっています。
GnuPG 1.x シリーズでは統合された暗号化ライブラリが使用されますが、GnuPG 2.x シリーズではこれがLibgcryptに置き換えられます。
GnuPG は、GnuPG ユーザーが個別に生成した非対称キー ペアを使用してメッセージを暗号化します。生成された公開キーは、インターネットキー サーバーなどのさまざまな方法で他のユーザーと交換できます。公開キーと「所有者」の ID の対応関係が破損して ID が偽装されるのを防ぐため、常に慎重に交換する必要があります。また、メッセージに暗号化デジタル署名を追加して、特定の対応関係が破損していない場合は、メッセージの整合性と送信者を検証することもできます。
GnuPGは対称暗号化アルゴリズムもサポートしています。デフォルトでは、GnuPGはバージョン2.1以降AES対称アルゴリズムを使用しています。 [7]それ以前のバージョンでは CAST5が使用されていました。GnuPGは特許取得済みまたはその他の制限のあるソフトウェアやアルゴリズムを使用していません。代わりに、GnuPGはさまざまな特許取得されていないアルゴリズムを使用しています。[8]
長い間、 PGP で使用されているIDEA暗号化アルゴリズムをサポートしていませんでした。実際には、プラグインをダウンロードすることで GnuPG で IDEA を使用することができましたが、IDEA が特許を取得している国では、一部の使用にライセンスが必要になる場合があります。バージョン 1.4.13 および 2.0.20 以降、GnuPG は IDEA をサポートしています。これは、IDEA の最後の特許が 2012 年に失効したためです。IDEA のサポートは、「古いデータを復号化しようとしている人や、PGP から GnuPG にキーを移行しようとしている人からの質問をすべて取り除く」ことを目的としており、[9]そのため、通常の使用には推奨されません。
GnuPG 2.xの最近のリリース(「モダン」および現在非推奨となっている「安定」シリーズ)では、 Libgcrypt(その暗号化ライブラリ)が提供するほとんどの暗号化機能とアルゴリズムが公開されており、これには「モダン」シリーズ(つまりGnuPG 2.1以降)の楕円曲線暗号化(ECDH、ECDSA、EdDSA)[10]のサポートが含まれます。
アルゴリズム
GnuPG バージョン 2.3 または 2.2 では、次のアルゴリズムがサポートされています。
- 公開鍵
- RSA、エルガマル、DSA、ECDH ( cv25519、cv448、[c] nistp256、nistp384、nistp521、brainpoolP256r1、brainpoolP384r1、brainpoolP512r1、secp256k1)、ECDSA (nistp256、nistp384、nistp521、brainpoolP256r1、brainpoolP384r1、brainpoolP512r1、secp256k1)、EdDSA (ed25519、ed448 [c] )
- 暗号
- 3DES、IDEA(下位互換性のため)、CAST5、Blowfish、Twofish、AES-128、AES-192、AES-256、Camellia-128、-192、-256
- ハッシュ
- MD5、SHA-1、RIPEMD-160、SHA-256、SHA-384、SHA-512、SHA-224
- 圧縮
- 非圧縮、ZIP、ZLIB、BZIP2
歴史
GnuPGは当初、ヴェルナー・コッホによって開発されました。[11] [12] 最初の製品版であるバージョン1.0.0は、最初のGnuPGリリース(バージョン0.0.0)からほぼ2年後の1999年9月7日にリリースされました。[13] [11]ドイツ連邦経済技術省は、 2000年にドキュメントの作成とMicrosoft Windowsへの移植に資金を提供しました。[12]
GnuPGはOpenPGP標準に準拠したシステムであるため、OpenPGPの歴史は重要です。OpenPGPは、当初Phil Zimmermannによって設計・開発された電子メール暗号化プログラムであるPGPと相互運用できるように設計されました。[14] [15]
2014年2月7日、GnuPGのクラウドファンディングが終了し、新しいウェブサイトとインフラの改善のために36,732ユーロが調達されました。 [16]
支店
2021年10月のバージョン2.3.3から始まる安定したGnuPG 2.3のリリース以来、GnuPGの3つの安定したブランチが積極的にメンテナンスされています。[17]
- 「安定ブランチ」。現在(2021 年現在)は 2.3 ブランチです。
- 「LTS (長期サポート)ブランチ」。現在 (2021 年現在) は 2.2 ブランチです (以前は 2.0 ブランチに対して「モダン ブランチ」と呼ばれていました)。
- 古い「レガシーブランチ」(以前は「クラシック ブランチ」と呼ばれていました) は、1.4 ブランチのままです。
GnuPG 2.3 より前では、GnuPG の 2 つの安定したブランチが積極的にメンテナンスされていました。
- 「モダン」(2.2)は、楕円曲線暗号などの多数の新機能を備えたもので、以前の「安定」(2.0)ブランチと比較して、2017年8月28日のGnuPG 2.2.0のリリースに置き換えられました。[18]最初にリリースされたのは2014年11月6日でした。[10]
- 「クラシック」(1.4)は、非常に古いが、現在もメンテナンスされているスタンドアロンバージョンで、時代遅れのプラットフォームや組み込みプラットフォームに最適です。2004年12月16日に最初にリリースされました。[19]
異なる GnuPG 2.x バージョン (例: 2.2 ブランチと 2.0 ブランチ) を同時にインストールすることはできません。ただし、任意の GnuPG 2.x バージョンと一緒に「クラシック」 GnuPG バージョン (例: 1.4 ブランチ) をインストールすることは可能です。[10]
GnuPG 2.2(「最新版」)のリリース前は、現在では非推奨となっている「安定版」ブランチ(2.0)が一般向けに推奨されており、2006年11月13日に最初にリリースされました。[20]このブランチは2017年12月31日にサポート終了となりました。 [21]最終バージョンは2017年12月29日にリリースされた2.0.31です。[22]
GnuPG 2.0 のリリース以前は、すべての安定リリースは単一のブランチから発生していました。つまり、2006 年 11 月 13 日以前は、複数のリリース ブランチが並行して維持されることはありませんでした。これらの以前の連続リリース ブランチ (1.4 まで) は次のとおりです。
- 1.2ブランチは2002年9月22日に最初にリリースされ、[23] 1.2.6が最終バージョンとして2004年10月26日にリリースされました。[24]
- 1.0ブランチは1999年9月7日に最初にリリースされ、[13] 1.0.7が最終バージョンとして2002年4月30日にリリースされました。[25]
(GnuPG 2.3.0 のリリース前は、奇数のマイナー リリース番号 (例: 2.1、1.9、1.3) を持つブランチは開発ブランチであり、"+ 0.1" 高いバージョン番号 (例: 2.2、2.0、1.4) を持つ安定リリース ブランチにつながっていました。したがって、ブランチ 2.2 と 2.1 は両方とも "modern" シリーズに属し、ブランチ 2.0 と 1.9 は両方とも "stable" シリーズに属し、ブランチ 1.4 と 1.3 は両方とも "classic" シリーズに属します。
GnuPG 2.3.0 のリリースにより、この命名法は、「モダン」シリーズの「安定」および「LTS」ブランチと、最後にメンテナンスされた「クラシック」ブランチである 1.4 で構成されるように変更されました。また、マイナー リリース番号が偶数または奇数であっても、安定リリース ブランチまたは開発リリース ブランチを示すことはなくなりました。
プラットフォーム

基本的な GnuPG プログラムにはコマンドライン インターフェイスがありますが、グラフィカル ユーザー インターフェイスを提供するさまざまなフロントエンドが存在します。たとえば、GnuPG 暗号化サポートは、最も人気のあるLinuxデスクトップであるKDEとGNOMEに搭載されているグラフィカルメール クライアントであるKMailとEvolutionに統合されています。また、GNOME 用のSeahorse、 KDE 用のKGPGや Kleopatra など、グラフィカルな GnuPG フロントエンドもあります。
GPGToolsは、 macOS用のインストーラパッケージ[26]を介したGnuPGのインストールだけでなく、暗号化と鍵管理のOS統合のためのフロントエンドを多数提供しています。GPG Suite [26]は、GnuPGベースの暗号化を使用するために、関連するすべてのOpenPGPアプリケーション(GPGキーチェーン)、プラグイン(GPGメール)、依存関係(MacGPG)に加えて、GPGサービス(macOSサービスメニューへの統合)をインストールします。
PsiやFireなどのインスタントメッセージングアプリケーションは、GnuPGがインストールされ設定されていると自動的にメッセージを保護できます。HordeなどのWebベースのソフトウェアもこれを利用しています。クロスプラットフォーム拡張機能のEnigmailは、 Mozilla ThunderbirdとSeaMonkeyにGnuPGサポートを提供します。同様に、EnigformはMozilla FirefoxにGnuPGサポートを提供します。FireGPGは2010年6月7日に廃止されました。[27]
2005年、g10 Code GmbHとIntevation GmbHは、 Windows用のGnuPG、GNU Privacy Assistant、 Windows ExplorerとOutlook用のGnuPGプラグインを含むソフトウェアスイートであるGpg4winをリリースしました。これらのツールは標準のWindowsインストーラーに包まれており、WindowsシステムにGnuPGを簡単にインストールして使用できます。[28]
脆弱性
OpenPGP 標準では、メッセージのデジタル署名に複数の方法が指定されています。2003 年、これらの方法の 1 つをより効率的にするための GnuPG の変更で発生したエラーが原因で、セキュリティ上の脆弱性が生じました。[29]この脆弱性は、メッセージのデジタル署名に 1 つの方法のみ、GnuPG の一部のリリース (1.0.2 から 1.2.3) のみに影響し、キー サーバーに登録されているキーの数は 1000 未満でした。[30]ほとんどの人はこの方法を使用しておらず、いずれにしても使用を控えるよう勧められていたため、被害 (公に報告されていないため、被害があったとしても) は最小限だったと思われます。この発見後にリリースされた GnuPG バージョン (1.2.4 以降) では、この方法のサポートが削除されました。
2006年初頭にはさらに2つの脆弱性が発見された。1つ目は、署名検証にGnuPGをスクリプトで使用すると誤検知が発生する可能性があること[31]、 2つ目は、非MIMEメッセージが、デジタル署名でカバーされていないが署名されたメッセージの一部として報告されるデータの挿入に対して脆弱であること[32] 。どちらの場合も、発表時にGnuPGの更新バージョンが利用可能になった。
2017年6月、 Bernstein、BreitnerらによりLibgcrypt内に脆弱性(CVE-2017-7526)が発見された。LibgcryptはGnuPGが使用するライブラリで、RSA-1024の完全な鍵復元とRSA-2048の鍵の約1/8以上を復元可能であった。このサイドチャネル攻撃は、Libgcryptが指数計算にスライディングウィンドウ方式を使用しており、指数ビットの漏洩と完全な鍵復元につながるという事実を悪用する。 [33] [34]また、発表時にはGnuPGの更新バージョンが利用可能になった。
2017年10月、 PGP/GPGでよく使用されるYubiKey 4トークンによって生成されたRSAキーに影響を及ぼすROCA脆弱性が発表されました 。公開されている多くのPGPキーがこの脆弱性の影響を受けることが判明しました。[35]
2018年6月頃、SigSpoof攻撃が発表されました。これにより、攻撃者はデジタル署名を偽装することが可能になりました。[36] [37]
2021年1月にLibgcrypt 1.9.0がリリースされましたが、簡単に悪用できる重大なバグが含まれていることが判明しました。10日後にLibgcrypt 1.9.1で修正がリリースされました。[38]
参照
- 音響暗号解読
- 鍵署名パーティー
- オフレコメッセージング (OTRとも呼ばれる)
- OpenPGP カード – 多くの GnuPG 機能を備えたスマートカード
- パッケージマネージャー
- Retroshare – PGP認証に基づく友人同士のネットワーク
- 信頼のウェブ
注記
- ^ 2.x については 2007-07-04 以降、1.x については 2007-10-23 以降。
- ^ GPL-2.0 以降、2.x については 1997-11-18 から 2007-07-04 まで、1.x については 2007-10-23 まで。
- ^ ab は 2.3 でのみ使用可能
参考文献
- ^ Werner Koch (2024年11月28日). 「GnuPG 2.4.7およびGpg4win 4.4.0がリリースされました」 。 2024年11月28日閲覧。
- ^ 「バージョン 2.2.43 の注目すべき変更点」. 2024 年 4 月 16 日. 2024 年5 月 27 日閲覧。
- ^ Werner Koch (2024年12月6日). 「GnuPG 2.5.2 リリース」 . 2024年12月10日閲覧。
- ^ 「Gnu Privacy Guard」。GnuPG.org。2015年4月29日時点のオリジナルよりアーカイブ。2015年5月26日閲覧。
- ^ 「OpenPGP の世界における分裂」 Linux Weekly News . 2023 年 12 月 9 日閲覧。
- ^ 「Bundesregierung fördert Open Source」 (ドイツ語)。ハイセオンライン。 1999 年 11 月 15 日。 2013 年 10 月 12 日のオリジナルからアーカイブ。2013 年7 月 24 日に取得。
- ^ 「[発表] GnuPG 2.1 の最終ベータ版」。2019 年 5 月 2 日時点のオリジナルよりアーカイブ。2019 年 3 月 28 日閲覧。
- ^ 「GnuPG の機能」。2009 年 10 月 4 日時点のオリジナルよりアーカイブ。2009 年10 月 1 日閲覧。
- ^ Koch, Werner (2012-12-21). 「GnuPG 1.4.13 リリース」(メーリング リスト). gnupg-users. 2013-02-12 にオリジナルからアーカイブ。2013-05-19に取得。
- ^ abc Koch, Werner (2014-11-06). 「[発表] GnuPG 2.1.0 "modern" リリース」. gnupg.org. 2014-11-06 時点のオリジナルよりアーカイブ。2014-11-06取得。
- ^ ab Angwin, Julia (2015年2月5日). 「世界の電子メール暗号化ソフトウェアは破産寸前の一人の男に依存している」ProPublica。 2015年2月6日時点のオリジナルよりアーカイブ。 2015年2月6日閲覧。
- ^ ab Wayner, Peter (1999年11月19日). 「ドイツ、暗号化に助成金を授与」. The New York Times . 2014年8月25日時点のオリジナルよりアーカイブ。2014年8月8日閲覧。
- ^ ab 「リリースノート」。GnuPG。2014年2月9日時点のオリジナルよりアーカイブ。2014年1月30日閲覧。
- ^ 「Gnu Privacy Guard」。OpenPGP.org。2014年2月27日時点のオリジナルよりアーカイブ。2014年2月26日閲覧。
- ^ 「PGP の入手先」 Philzimmermann.com。2014 年 2 月 26 日時点のオリジナルよりアーカイブ。2014 年 2 月 26 日閲覧。
- ^ 「GnuPG: 新しいウェブサイトとインフラストラクチャ」。 goteo.org。 2014年3月30日時点のオリジナルよりアーカイブ。2014年3月9日閲覧。
- ^ 「GnuPG 2.3.3 がリリースされました」。
- ^ Koch, Werner (2017-08-28). 「[発表] GnuPG 2.2.0 がリリースされました」。gnupg-announce (メーリングリスト)。2017-08-29 時点のオリジナルよりアーカイブ。2017-09-21閲覧。
- ^ Koch, Werner (2004-12-16). 「[発表] GnuPG stable 1.4 がリリースされました」. gnupg.org. 2005-01-03 にオリジナルからアーカイブ。2004-12-16に取得。
- ^ Koch, Werner (2006-11-13). 「[発表] GnuPG 2.0 がリリースされました」. gnupg.org. 2014-02-14 にオリジナルからアーカイブ。2014-01-30に取得。
- ^ Koch, Werner (2017-01-23). 「[発表] GnuPG 2.1.18 がリリースされました」. gnupg.org. 2017-02-11 にオリジナルからアーカイブ。2017-02-04に取得。
- ^ “GnuPG 2.0.31”. 2017年12月29日. 2017年12月30日閲覧。
- ^ Koch, Werner (2002-09-06). 「[発表]GnuPG 1.2 がリリースされました」. gnupg.org. 2014-06-17 にオリジナルからアーカイブ。2014-11-06に取得。
- ^ Koch, Werner (2004-08-26). 「[発表] GnuPG 1.2.6 がリリースされました」. gnupg.org. 2014-06-17 にオリジナルからアーカイブ。2014-11-06に取得。
- ^ Koch, Werner (2002-04-30). 「[発表] GnuPG 1.0.7 がリリースされました」. gnupg.org. 2014-06-17 にオリジナルからアーカイブ。2014-11-06に取得。
- ^ ab "GPG Suite". GPGTools . 2017年12月24日閲覧。
- ^ 「FireGPG の開発者ブログ」 2010 年 6 月 7 日。2013 年 7 月 27 日時点のオリジナルよりアーカイブ。2013年7 月 24 日閲覧。
- ^ 「Gpg4win – Gpg4winについて」。gpg4win.org 。 2021年3月23日閲覧。
- ^ Nguyen, Phong Q. 「暗号化ソフトウェアは信頼できるか? GNU Privacy Guard v1.2.3 の暗号化の欠陥」 EUROCRYPT 2004: 555–570。2017 年 12 月 4 日時点のオリジナルよりアーカイブ。2019年 8 月 23 日閲覧。
- ^ Koch, Werner (2003 年 11 月 27 日)。「GnuPG の ElGamal 署名キーが危険にさらされる」。2004 年 3 月 18 日時点のオリジナルよりアーカイブ。2004年5 月 14 日閲覧。
- ^ Koch, Werner (2006 年 2 月 15 日)。「GnuPG における誤検知署名検証」。2006 年 6 月 17 日時点のオリジナルよりアーカイブ。2006年5 月 23 日閲覧。
- ^ Koch, Werner (2006 年 3 月 9 日)。「GnuPG は、署名されていないデータの注入を検出しません」。2006 年 5 月 5 日時点のオリジナルからアーカイブ。2006年5 月 23 日閲覧。
- ^ Edge, Jake (2017年7月5日). 「サイドチャネルによるLibgcrypt RSAの突破」LWN.net。2017年7月28日時点のオリジナルよりアーカイブ。 2017年7月28日閲覧。
- ^ 「右にスライドして災害に突入: 左から右にスライドする窓の漏洩」(PDF) 。 2017年6月30日時点のオリジナルよりアーカイブ(PDF) 。 2017年6月30日閲覧。
- ^ 銅細工師の攻撃の復活: 広く使用されている RSA モジュライの実用的な因数分解、Wayback Machineに 2017 年 11 月 12 日にアーカイブ、Matus Nemec、Marek Sys、Petr Svenda、Dusan Klinec、Vashek Matyas、2017 年 11 月
- ^ 「数十年前のPGPのバグにより、ハッカーはほぼ誰の署名でも偽装可能」2018年6月14日。2018年9月7日時点のオリジナルよりアーカイブ。 2018年9月7日閲覧。
- ^ 「合格が不合格に: Simple Password Store に GnuPG スプーフィング バグ発生」The Register。2018 年 6 月 30 日時点のオリジナルよりアーカイブ。2018年 9 月 7 日閲覧。
- ^ 「GPGなどで使用されているLibgcryptの重大なバグが大きな問題を引き起こし、パッチの緊急配布を促進」。2021年2月21日時点のオリジナルよりアーカイブ。
外部リンク
- 公式サイト
- ヴェルナー・コッホ著『GNU プライバシーガードの短い歴史』は、GnuPG の 10 周年を記念して出版されました。
