wolfSSLとOpenSSLはよく比較されます。どのような違いがあるのでしょうか。
比較可能なメトリクスは複数あります。ここではヒープ領域の使用量とパフォーマンスについて見てみます。
ヒープ領域使用量
OpenSSLと比較して、wolfSSLではTLS接続の受信に必要なメモリ領域は数百キロバイト小さくなります。それぞれのライブラリを用いてシンプルなサーバプログラムを動かした際、実際に使用されるヒープ領域の量を以下に示します。いずれも暗号スイートECDHE-RSA-AES256-GCM-SHA384を指定し、OpenSSL利用時の計測にはValgrind massifを使用しました。
パフォーマンス
どちらのTLS実装においても、Intel AVXやAES-NI、ARMv8 Crypto Extensionsなどのデスクトップ環境で一般的に使用される拡張命令セットに対応したハードウェアアクセラレーションを利用できます。そしてそのほとんどの場合で、wolfSSLの方がわずかに高速です。
一方でSTM32F7やPIC32MZなどの組込み環境では、wolfSSLだけがハードウェアアクセラレーションをサポートしています。
それぞれのTLS実装で利用可能な最適化を適用した場合、Webサーバの負荷テストにてwolfSSLが1秒間にOpenSSL v1.1.1の2倍以上の接続数を実現できることが示されました。
サポート体制やライセンス形態など、より多面的に比較されたい方はぜひこちらもご一読ください。
https://wolfssl.jp/wolfssl_vs_openssl/
wolfSSLはOpenSSL互換のインタフェースを備えています。
利用方法や利用可能なAPIの詳細はこちらからご参照ください。
ご質問がありましたら、info@wolfssl.jpまでご連絡ください。