| GnuTLS | |
|---|---|
| 開発者 | ニコス・マブロジャノプロス、サイモン・ジョセフソン |
| 安定版リリース | 3.8.11 [ 1 ] |
| リポジトリ | |
| 書かれた | C、アセンブリ |
| オペレーティング·システム | Linux、macOS、Windows、BSD |
| プラットフォーム | x86、x86-64、ARM [ 2 ] |
| タイプ | 暗号化ライブラリ |
| ライセンス | LGPL-2.1以降[ 3 ] |
| Webサイト | www.gnutls.org |
GnuTLS(/ ˈɡnuːˌtiːˌɛlˈɛs /、 GNUトランスポート層セキュリティライブラリ)は、TLS、SSL、DTLSプロトコルのフリーソフトウェア実装です。アプリケーションがネットワークトランスポート層を介した安全な通信を可能にするためのアプリケーションプログラミングインターフェース(API)に加え、 X.509、PKCS#12、OpenPGPなどの構造にアクセスするためのインターフェースも提供します。
特徴
GnuTLSは、クライアントアプリケーションが利用可能なプロトコルを使用して安全なセッションを開始できるようにするライブラリで構成されています。また、X.509証明書マネージャ、テストクライアントとサーバー、ランダムキーとパスワードジェネレータなどのコマンドラインツールも提供しています。
GnuTLS には次の機能があります。
- TLS 1.3、TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 プロトコル
- データグラム TLS (DTLS) 1.2 および DTLS 1.0 プロトコル
- TLS-SRP : TLS認証のためのセキュアリモートパスワードプロトコル(SRP)
- TLS-PSK : TLS認証用の事前共有鍵(PSK)
- X.509およびOpenPGP証明書[ 4 ]の取り扱い
- CPU支援暗号化と暗号化アクセラレータのサポート(/dev/crypto)、VIA PadLock、AES-NI命令セット[ 5 ]
- スマートカードとハードウェアセキュリティモジュールのサポート
- システムのTrusted Platform Module (TPM)に暗号鍵を保存する
歴史
起源
GnuTLSは、2000年3月[ 6 ]から11月[ 7 ]頃にニコス・マヴロギアンノプロスによって開発され、 GNUプロジェクトのアプリケーションがTLSなどのセキュアプロトコルを利用できるようにしました。OpenSSLはすでに存在していましたが、 OpenSSLのライセンスはGPLと互換性がないため[ 8 ]、GNUソフトウェアなどのGPLソフトウェアは、GPLリンク例外を適用せずにOpenSSLを使用することができませんでした。
ライセンス
GnuTLS ライブラリは、もともとGNU Lesser General Public License v2 に基づいてライセンスされていましたが、含まれているアプリケーションはGNU General Public Licenseを使用します。
2011年8月にライブラリはLGPLv3に更新されました。[ 9 ]ライセンスの変更により、特に他のフリーソフトウェアとのライセンス互換性に新たな問題が発生することが判明したため[ 10 ] 、議論の末、 2013年3月にライセンスはLGPLv2.1に再度ダウングレードされました。[ 11 ]
GNUから分離
GnuTLSはGNUプロジェクトのために作成されたが、[ 12 ] [ 13 ]、2012年12月にそのメンテナーであるニコス・マヴロギアンノポウロスは、フリーソフトウェア財団とのポリシー論争の後、プロジェクトをGNUから切り離した。[ 12 ] [ 13 ]リチャード・ストールマンはこの動きに反対し、代わりにプロジェクトをフォークすることを提案した。 [ 14 ]その後まもなく、開発者のパオロ・ボンジーニは、GnuTLSメンテナーのマヴロギアンノポウロスと同様の懸念を表明し、GNU SedとGrepのメンテナーとしての立場を終了した。[ 15 ]
展開
GnuTLS を使用するソフトウェア パッケージには以下が含まれます。
- GNOME
- センターIM
- 輸出入[ 16 ]
- ウィーチャット
- 雑種
- ワイヤーシャーク
- slrn
- オオヤマネコ[ 16 ]
- カップ
- グノミント[ 16 ]
- GNU Emacs
- Synology DiskStation マネージャー
- オープンコネクト[ 17 ]
参照
- TLS実装の比較
- wolfSSL(旧CyaSSL)
- mbed TLS(旧PolarSSL)
- 無料およびオープンソースのソフトウェアパッケージのリスト
- ネットワークセキュリティサービス
参考文献
- ^ Daiki Ueno (2025年11月20日). 「gnutls 3.8.11 リリース」 . 2025年11月20日閲覧。
- ^ 「Debian -- busterのパッケージgnutls-binの詳細」 . packages.debian.org . 2020年6月27日閲覧。
- ^ "LICENSE" . GitLab . 2019年9月5日閲覧。
- ^ RFC 6091
- ^ GnuTLS トランスポート層セキュリティライブラリ
- ^ 「GNU TLS (8aef5fff) のリポジトリを初期化しました · コミット · gnutls / GnuTLS · GitLab」 . GitLab . 2000年3月7日. 2023年6月23日閲覧。
- ^ "gnutls0-0-4 · Tags · gnutls / GnuTLS · GitLab" . GitLab . 2000年11月15日. 2023年6月23日閲覧。
- ^ Mark McLoughlin (2004年6月22日). 「OpenSSLライセンスとGPL」 . 2016年4月11日時点のオリジナルよりアーカイブ。2011年4月6日閲覧。
- ^バージョン 2.99.4 (2011-07-23 リリース)[...] ** libgnutls: ライセンスが LGPLv3 にアップグレードされました
- ^ Mavrogiannopoulos, Nikos (2013年3月26日). 「LGPLv3の危険性」 . gnutls.org . 2015年11月18日閲覧。LGPLv3
は、GNU Lesser General Public Licenseの最新版です。成功を収めたLGPLv2.1ライセンスを踏襲し、フリーソフトウェア財団によってGNU General Public Licenseバージョン3のカウンターパートとしてリリースされました。GNU Lesser General Public Licenseの目標は、プロプライエタリソフトウェアとフリーソフトウェアの両方で利用できるソフトウェアを提供することです。この目標はこれまでLGPLv2.1によって達成されており、多くのライブラリがこのライセンスを使用しています。そして、LGPLv3が最新版となりましたが、LGPLv3はこの目標をどれほど達成しているのでしょうか?私の意見では、ほとんど達成できていません。LGPLv3の主な目標がフリーソフトウェアでの使用だと仮定すると、LGPLv3は明らかにその目標を果たせていません。
- ^ 2013-03-14 Nikos Mavrogiannopoulos ([email protected]) * COPYING.LESSER、README: gnutls 3.1.10 は LGPLv2.1 です
- ^ a b GnuTLS、著作権譲渡、そしてlwn.netにおけるGNUプロジェクトのガバナンス、マイケル・ケリスク著(2012年12月20日)
- ^ a b Nikos Mavrogiannopoulos (2012年12月18日). 「gnutls is moving」 . 2012年12月11日閲覧。
- ^ Stallman, Richard (2012年12月11日). 「GNUTLSはどこにも行きません」 . gnutls-devel (メーリングリスト).
GNUTLSをGNUプロジェクトから外すことはできません。
- ^ Bonzini, Paolo (2012年12月22日). 「GNU sed 4.2.2 リリース、そしてメンテナーからのコメント」 . bug-gnu-utils (メーリングリスト).
- ^ a b c「GnuTLS - GNUプロジェクト - フリーソフトウェア財団 (FSF)」フリーソフトウェア財団2010年5月22日. 2010年5月31日時点のオリジナルよりアーカイブ。 2015年1月25日閲覧。
- ^ 「OpenConnect VPN クライアントの技術詳細」。
外部リンク
- 公式サイト

- GNU Friends - GNU TLS開発者ニコス・マヴロヤノプロス氏へのインタビュー- 2003年のインタビュー
- サイモン・ヨセフソン氏とのフェローシップインタビュー– 2009年のインタビュー