| 開発者 | トッド・ウスカ |
|---|---|
| 初回リリース | 2006年2月19日[1] |
| 安定リリース | 5.7.4 [2]
/ 2024年10月24日 |
| リポジトリ | github.com/wolfssl/wolfssl |
| 書かれた | C |
| オペレーティング·システム | マルチプラットフォーム |
| タイプ | 暗号化 ライブラリ |
| ライセンス | GPL-2.0以降またはプロプライエタリ[3] |
| Webサイト | ウルフ |
wolfSSL は、組み込みシステム開発者向けの小型でポータブルな組み込み SSL/TLS ライブラリです。C プログラミング言語で書かれたTLS (SSL 3.0、TLS 1.0、1.1、1.2、1.3、およびDTLS 1.0、1.2、1.3)のオープンソース実装です。SSL/TLS クライアント ライブラリと SSL/TLS サーバー実装、および SSLとTLSで定義されているものを含む複数の API のサポートが含まれています。wolfSSL には、最も一般的に使用される OpenSSL 関数との OpenSSL 互換性インターフェイスも含まれています。 [ 4 ] [5]
プラットフォーム
wolfSSL は現在、Microsoft Windows、Linux、macOS、Solaris、ESP32、ESP8266、Threadx、VxWorks、FreeBSD、NetBSD、OpenBSD、組み込み Linux、Yocto Project、OpenEmbedded、WinCE、Haiku、OpenWrt、iPhone、Android、Wii、GameCube(DevKitPro サポート経由)、QNX、MontaVista、Tronバリアント、NonStop OS、OpenCL、Micrium のMicroC/OS-II、FreeRTOS、SafeRTOS、Freescale MQX、Nucleus、TinyOS、TI-RTOS、HP-UX、uTasker、uT-kernel、embOS、INtime、mbed、RIOT、CMSIS-RTOS、FROSTED、Green Hills INTEGRITY、Keilで利用可能です。 RTX、TOPPERS、PetaLinux、Apache Mynewt、PikeOSなど。[6]
歴史
wolfSSLの起源は2004年に遡ります。当時OpenSSLは利用可能であり、 OpenSSLライセンスとSSLeayライセンスのデュアルライセンスでした。[7] 一方、yaSSLは商用ライセンスとGPLの両方で開発され、デュアルライセンスされました。[8] yaSSLはより現代的なAPI、商用スタイルの開発者サポートを提供し、OpenSSL互換レイヤーを完備していました。[4] wolfSSL/CyaSSL/yaSSLの最初の主要ユーザーはMySQLでした。[9] MySQLとのバンドルにより、yaSSLは数百万という非常に高い配布量を達成しました。
2019年2月、cURLの作者であるダニエル・ステンバーグが、wolfSSLプロジェクトに雇われ、cURLの開発に携わった。[10]
プロトコル
wolfSSL軽量SSLライブラリは以下のプロトコルを実装している: [11]
- SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3
- TLS1.0、TLS1.2、TLS1.3
- 拡張機能:サーバー名表示(SNI)、最大フラグメント長、切り捨てHMAC、アプリケーション層プロトコルネゴシエーション(ALPN)、拡張マスターシークレット
- 暗号スイート: TLS セキュア リモート パスワード、TLS 事前共有キー
- 耐量子暗号: ML-DSA が sigAlgs に追加され、ML-KEM がサポート対象グループに追加され、QSH (非推奨となり削除されました)
- 公開鍵暗号標準:
プロトコルノート:
- SSL 2.0 – SSL 2.0 は 2011 年に RFC 6176 によって非推奨 (禁止) になりました。wolfSSL はこれをサポートしていません。
- SSL 3.0 – SSL 3.0は2015年にRFC 7568によって非推奨(禁止)となりました。POODLE攻撃への対応として、wolfSSL 3.6.6以降ではSSL 3.0はデフォルトで無効になっていますが、コンパイル時のオプションで有効にすることができます。[12]
アルゴリズム
wolfSSL は次の暗号化ライブラリを使用します。
ウルフクリプト
デフォルトでは、wolfSSLはwolfCryptが提供する暗号化サービスを使用します。[13] wolfCryptは、RSA、ECC、DSS、Diffie–Hellman、EDH、NTRU(非推奨および削除済み)、DES、Triple DES、AES(CBC、CTR、CCM、GCM)、Camellia、IDEA、ARC4、HC-128、ChaCha20、MD2、MD4、MD5、SHA-1、SHA-2、SHA-3、BLAKE2、RIPEMD-160、Poly1305、乱数生成、大規模整数サポート、16/64基底エンコード/デコード、量子耐性暗号化アルゴリズム:ML-KEM(FIPS 203認定)およびML-DSA(FIPS 204認定)を提供します。
wolfCrypt には、最新のX25519およびEd25519アルゴリズム のサポートも含まれています。
wolfCryptは、 MIT Kerberos [14](ビルドオプションを使用して有効にすることができる) を含むいくつかの一般的なソフトウェアパッケージとライブラリのバックエンド暗号実装として機能します。
NTRU
CyaSSL+にはNTRU [15]公開鍵暗号化が含まれています。CyaSSL+にNTRUが追加された理由は、yaSSLとSecurity Innovationの提携によるものです。[15] NTRUは、他の公開鍵システムと同じセキュリティを提供するために必要なビットサイズが小さいため、モバイル環境や組み込み環境でうまく機能します。また、量子攻撃に対して脆弱であることは知られていません。CyaSSL+では、AES-256、RC4、HC-128など、NTRUを利用したいくつかの暗号スイートが利用可能です。
ハードウェア統合
セキュアエレメントのサポート
wolfSSL は次のセキュア エレメントをサポートしています。
- STマイクロエレクトロニクスSTSAFE
- マイクロチップ暗号認証 ATECC508A
- NXP EdgeLock SE050 セキュアエレメント
テクノロジーサポート
wolfSSL は次のハードウェア テクノロジーをサポートしています。
- Intel SGX(ソフトウェアガード拡張機能)[16] - Intel SGXは攻撃対象領域を小さくし、パフォーマンスに大きな影響を与えずにコードを実行するためのより高いレベルのセキュリティを提供することが実証されています。
ハードウェア暗号化サポート
次の表は、さまざまなアルゴリズムを使用したさまざまなデバイスのハードウェア暗号化の使用に対する wolfSSL のサポートを示しています。
- 「すべて」は、128、192、256ビットのブロックサイズがサポートされていることを示します。
認定資格
wolfSSL は次の認証をサポートしています。
- 連邦情報処理標準( FIPS 140 )
- FIPS 140-2 および FIPS 140-3 [17]
- wolfCrypt FIPS モジュール: 3.6.0 (NIST 証明書 #2425) -履歴
- wolfCrypt FIPS モジュール: 4.0 (NIST 証明書 #3389) -履歴
- wolfCrypt FIPS モジュール: v5.2.1 (NIST 証明書 #4718) -アクティブ
- FIPS 140-2 および FIPS 140-3 [17]
- 航空無線技術委員会(RTCA)
- DO-178C
- wolfCrypt COTS DO-178C認証キット(DAL A)[18]
- DO-178C
ライセンス
wolfSSL はデュアルライセンスです:
- GPL 2.0 以降のライセンスに基づいてライセンスされています。これは、GPL オープン ソース プロジェクトや評価に適しています。
- 商用非 GPL ライセンスに基づいてライセンス供与されます。これには追加のサポートおよびメンテナンス パッケージが付属しており、2022 年現在、製品またはSKUごとに 6,000 米ドルで販売されています。
参照
参考文献
- ^ 「wolfSSL 変更ログ」。
- ^ 「リリース 5.7.4」。2024年10月24日。
- ^ 「ライセンス」。GitHub。
- ^ ab wolfSSL – 組み込み通信製品
- ^ 「TLS 1.3 プロトコルと wolfSSL の SSL/TLS ライブラリについて知っておくべきこと」www.allaboutcircuits.com 。2018年 12 月 28 日閲覧。
- ^ 「wolfSSL 組み込み SSL/TLS ライブラリ | wolfSSL 製品」 。2019年 1 月 31 日閲覧。
- ^ OpenSSL: ソース、ライセンス
- ^ wolfSSL – ライセンス
- ^ 「MySQL、セキュア接続をサポートする MySQL の構築」。2017 年 7 月 6 日のオリジナルからアーカイブ。2016年 6 月 12 日閲覧。
- ^ cURLの創設者兼チーフアーキテクトのダニエル・ステンバーグがwolfSSLに加わる
- ^ wolfSSL – ドキュメント | CyaSSL マニュアル – 第 4 章 (機能)
- ^ 「wolfSSL 3.6.6 が利用可能になりました」。
- ^ wolfSSL – ドキュメント | wolfSSL マニュアル – 第 10 章 (wolfCrypt 使用リファレンス)
- ^ Kerberos: ネットワーク認証プロトコル
- ^ ab NTRU CryptoLabs 2013-02-02にarchive.todayでアーカイブ
- ^ wolfSSL – Intel® SGX を搭載した wolfSSL
- ^ WOLFCRYPT FIPS 140-2 および FIPS 140-3
- ^ wolfSSL の DO-178C DAL A サポート
外部リンク
- wolfSSL/CyaSSL ホームページ
- wolfSSL が ChaCha20 と Poly1305 に対応
