WolfSSL

wolfSSL(ウルフエスエスエル)は、組み込みシステム開発者向けに設計された、小型で移植性の高いSSL/TLSライブラリです。C言語で記述されており、TLS 1.0から1.3、DTLS 1.0から1.3までの幅広いプロトコルをサポートしています。このライブラリは、SSL/TLSクライアントおよびサーバーライブラリの両方を含み、SSL/TLSで定義された各種APIを実装しています。また、OpenSSLとの互換性を考慮したインターフェースも提供しており、既存のOpenSSLベースのアプリケーションからの移行も比較的容易です。

歴史



wolfSSLの前身であるyaSSLは、2004年に組み込み環境やリソースが限られたリアルタイムOS向けに開発されました。当初はC++で記述されていましたが、現在のwolfSSLはC言語で実装されています。yaSSLは、OpenSSLの代替として、商用ライセンスとGPLのデュアルライセンスで利用可能であり、より洗練されたAPI、商用開発のサポート、OpenSSLとの高い互換性を提供しました。特に、MySQLへの組み込みを通して、数百万単位という非常に広い普及を達成しました。

現在では、wolfSSLはオープンソースプロジェクトと商用プロジェクトの両方で幅広く利用されており、車載スマートデバイス、IP電話、携帯電話、ルーター、プリンター、クレジットカードスキャナーなど、さまざまなネットワークデバイスに組み込まれています。2019年2月には、cURLの作成者であるDaniel StenbergがwolfSSLの開発チームに加わりました。

対応プラットフォーム



wolfSSLは、非常に多様なプラットフォームをサポートしています。具体的なプラットフォームとしては、Win32/64、Linux、macOS、SolarisThreadxVxWorks、FreeBSD、NetBSDOpenBSD、組み込みLinux、Yocto Project、OpenEmbeddedMicrosoft Windows Embedded CE、Haiku、OpenWrt、iPhone、Android、Nintendo Wii、Gamecube(DevKitPro経由)、QNX、MontaVista、TRON、ITRON、µITRON、NonStop、OpenCL、MicriumのMicroC/OS-II、FreeRTOS、SafeRTOS、フリースケールMQX、Nucleus、TinyOS、TI-RTOS、HP-UX、uTasker、uT-kernel、INtime、mbed、RIOT、CMSIS-RTOS、FROSTED、Green Hills INTEGRITY、Keil RTX、TOPPERS、PetaLinux、Apache Mynewt、PikeOS、embOSなどが挙げられます。

プロトコル



wolfSSLは、以下のプロトコルを実装しています。

SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3
DTLS 1.0、DTLS 1.2、DTLS 1.3

ただし、セキュリティ上の問題からSSL 2.0は含まれていません。また、SSL 3.0はデフォルトで無効になっています。

暗号化アルゴリズム



wolfSSLは、暗号化ライブラリとしてwolfCryptを使用します。wolfCryptは、SSLなどの必要な機能に特化しつつ、最大限の移植性を実現するように設計されています。wolfCryptは、RSA、楕円曲線暗号、DSS、Diffie Hellman、EDH、NTRU、DES、Triple DES、AES (CBC、CTR、CCM、GCM)、Camellia、IDEA、ARC4、HC-128、ChaCha20、MD2MD4MD5SHA-1SHA-2、SHA-3、BLAKE2、RIPEMD-160、Poly1305などの暗号化アルゴリズム、乱数生成、大規模整数演算、Base16/64エンコーディング/デコーディングに対応しています。また、欧州のeSTREAMプロジェクトで公開されたストリーム暗号であるRabbitも含まれており、高性能・高負荷環境での暗号化に適しています。

wolfCryptは、Curve25519とEd25519もサポートしています。さらに、ケルベロス認証など、他のソフトウェアパッケージやライブラリのバックエンド暗号化実装としても利用されています。

NTRU



wolfSSLには、NTRUによる公開鍵暗号化が含まれています。これは、Security Innovation社とのパートナーシップによって実現しました。NTRUは、他の公開鍵暗号と同程度のセキュリティをより小さなビット数で実現できるため、モバイルや組み込み環境に適しています。また、量子コンピュータによる攻撃に対する脆弱性が知られていません。wolfSSLでは、NTRUを使用したいくつかの暗号スイートが利用可能です。

SGX



wolfSSLは、Intel SGX(ソフトウェア・ガード・エクステンション)をサポートしています。SGXは攻撃対象領域を減らし、既存のコードで目立ったパフォーマンスの低下なしにより高いレベルの安全性を確保することができます。

ハードウェアアクセラレーション



wolfSSLは、ハードウェアアクセラレーションにも対応しており、セキュアエレメント、STSAFE、ATECC508Aなどのハードウェア暗号化アクセラレーターを利用できます。

ライセンス



wolfSSLは、GNU General Public License GPLv2またはGPLv3によるオープンソースと商用ライセンスの両方で利用できます。



wolfSSLは、その移植性と機能性から、多くの組み込みシステム開発者にとって魅力的なSSL/TLSライブラリの選択肢となっています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。