WolfSSL
開発元 | Todd Ouska |
---|---|
初版 | 2006年2月19日[1] |
最新版 | 5.5.0 - 2022年8月30日[2] [±] |
リポジトリ | |
プログラミング 言語 | C言語 |
対応OS | マルチプラットフォーム |
サポート状況 | Active |
種別 | セキュリティ・ライブラリー |
ライセンス | GNU GPL2 または 商用ライセンス |
公式サイト |
www |
wolfSSL (旧称 CyaSSL (C - Yet another SSL)) は組込みシステム開発者向けのコンパクトでポータブルな組込み向けSSLプログラミング・ライブラリ、C言語、C++、Javaプログラムなどに組み込まれる オープンソース のSSLライブラリ (SSL 3, TLS 1.0, 1.1, 1.2, DTLS 1.0, 1.2)である。SSLクライアント・ライブラリー、サーバ・ライブラリーの両方、またSSLおよびTLSで定義される各種APIを実現している。また、OpenSSLで主に利用されている関数と互換[3]のインタフェースを実現している。
wolfSSL/CyaSSLの前身である yaSSL は、組み込み環境やリソースの限られたリアルタイムOS向けのC++で書かれたSSLライブラリである。
プラットフォーム
wolfSSLは、Win32/64、Linux、macOS、Solaris、FreeBSD、NetBSD、OpenBSD、組み込みLinux、Haiku、OpenWrt、iPhone、Android、Nintendo Wii およびDevKitProを通じてGamecube、QNX、VxWorks、MontaVista、ThreadX、ITRON、NonStop、OpenCL、 MicriumのMicroC/OS-II、FreeRTOS、フリースケールMQX、Nucleus、およびTinyOSにおいて利用可能である。
歴史
yaSSLの始まりは2004年に遡る。2004年当時、OpenSSLがSSLライブラリとして利用可能であったが、そのライセンスはOpenSSL License および SSLeay licenseでのデュアルライセンス[4]という独特のものであった。yaSSLは、商用ライセンスとGPLでのデュアルライセンスにおいて利用可能なOpenSSLの代替として開発された[5]。yaSSLはより洗練されたAPI、商用開発におけるサポート、OpenSSLとの完全な互換性を提供した[3]。yaSSLは始めMySQL[6]で利用された。この結果、yaSSLはMySQLへの組込みを通して数百万単位の極めて広い普及を実現した。
現在、wolfSSLはオープンソース、商用プロジェクトの双方で利用されている[7]。wolfSSLは車載スマートデバイス、IP電話、携帯電話、ルータ、プリンタやクレジットカード・スキャナのようなさまざまな種類のネットワーク・デバイスに組み込まれている。
プロトコル
wolfSSLは以下の各種プロトコルを実現している:[8]
ただし、SSL 2.0は安全性の問題から含まれていない。また、SSL 3.0は既定では無効とされている。
アルゴリズム
wolfSSLは以下の暗号化ライブラリーを使用している:
wolfCrypt
wolfSSLは標準ではwolfCrypt[9]を使用する。wolfCryptは、SSLのようなものに向けて必要な機能に特化する一方で、最大限のポータビリティーが得られるように配慮されている。wolfCryptはRSA、楕円曲線暗号、DSS、Diffie Hellman、NTRU、DES、Triple DES、AES (CBC、CTR、CCM、GCM)、Camellia、ARC4、HC-128、ChaCha20、MD2、MD4、MD5、SHA-1、SHA-2、BLAKE2、RIPEMD-160、Poly1305、乱数生成、大規模整数演算、ベース16/64エンコーディング/デコーディング。EUのeSTREAMのパブリック・ドメインのストリーム・サイファーRabbitも含まれている。Rabbitは高性能、高負荷環境での暗号化のために有効であると考えられる。
wolfCryptは、例えば ケルベロス認証[10]のようないくつかのソフトウェア・パッケージやライブラリーのバックエンド暗号化インプリメンテーションとして活躍している。
NTRU
CyaSSL+にはNTRU[11]による公開鍵暗号化が含まれている。 CyaSSL+はのNTRUの追加はwolfSSLとSecurity Innovation.[11] のパートナーシップによって実現した。NTRUは、他の公開鍵暗号と同レベルのセキュリティをより小さなビット数で実現できるため、モバイルや組込み環境でうまく機能する。NTRUはまた、公開鍵暗号化へのquantum attackに対しても脆弱性が知られていない。CyaSSL+ではAES-256、RC4、または HC-128など、NTRUを使用したいくつかのサイファー・スイートが利用可能である。
製品
開発マイルストーン:
- wolfSSL version 3.4.6: 2015年3月30日リリース
- wolfSSL version 3.4.0: 2015年2月23日リリース
- CyaSSL version 3.3.0: 2014年12月5日リリース
- CyaSSL version 3.2.0: 2014年9月10日リリース
- CyaSSL version 3.1.0: 2014年7月14日リリース
- CyaSSL version 3.0.0: 2014年4月30日リリース
- CyaSSL version 2.9.4: 2014年4月9日リリース
- ...
- CyaSSL version 2.3.0: 2012年8月10日リリース
- CyaSSL version 2.2.0: 2012年5月18日リリース
- CyaSSL version 2.0.8: 2012年2月24日リリース
- CyaSSL version 2.0.0rc3: 2011年9月28日リリース
- CyaSSL version 1.9.0: 2011年3月2日リリース
- CyaSSL version 1.6.0: 2010年8月27日リリース
- CyaSSL version 1.5.0: 2010年5月11日リリース
- CyaSSL version 1.2.0: 2009年11月2日リリース
- CyaSSL version 1.1.0: 2009年9月2日リリース
- CyaSSL version 1.0.2: 2009年4月2日リリース
- CyaSSL version rc3-1.0.0: 2009年2月25日リリース
- CyaSSL version rc1-1.0.0: 2008年12月17日リリース
ライセンス
wolfSSLはGNU General Public License GPLv2.[12]によるオープンソースと商用ライセンスの双方で利用可能である。
受賞
2011 Tomorrow's Technology Today - Mobile Encryption[13]
脚注
- ^ “wolfSSL ChangeLog”. 2015年5月29日閲覧。
- ^ “wolfSSL ChangeLog”. 2022年9月5日閲覧。
- ^ a b wolfSSL - Embedded Communications Products
- ^ OpenSSL: Source, License
- ^ wolfSSL - License
- ^ MySQL, Using SSL Connections
- ^ wolfSSL - Community
- ^ wolfSSL - Docs | CyaSSL Manual - Chapter 4 (Features)
- ^ wolfSSL - Docs | CyaSSL Manual - Chapter 10 (CTaoCrypt Usage Reference)
- ^ Kerberos: The Network Authentication Protocol
- ^ a b NTRU CryptoLabs
- ^ GNU License
- ^ 2011 Tomorrow's Technology Today - Mobile Encryption