少し前にwolfSSLを使ったTLS 1.3の性能について6つのブログを書きました。その性能テストをした際、OpenSSLとの比較も行いました。その時点で最新のTLS 1.3を実装したOpenSSLサーバーを、wolfSSLクライアントと一緒に使用しました。結果には、最新のIntel x86 64ビット・アセンブリ最適化の効果が表れていました。
第1に、鍵交換(KE)のないPSKの性能は、大部分がハッシュアルゴリズムの速度に依存します。結果は、SHA-256では小さなブロックで性能差があることを示しています。テストした環境では、wolfSSLはOpenSSLよりも256バイトのハッシュで約22%高速でした。 非KEのPSKハンドシェイクでは、wolfSSL はOpenSSLより約19%高速でした。改良されたハッシュ化の性能は、部分的に他の結果にも影響していました。
他のTLS 1.3ハンドシェイクの性能は、公開鍵操作によってほぼ決まります。 (* OpenSSLは、テストした バージョンでは、TLS 1.3ではDHでネゴシエートしませんでした。) 鍵交換を伴うPSKを使用する場合、サーバーが実行する公開鍵操作は、ECDH鍵生成と秘密値の計算です。テストした環境では、wolfSSLのこれらの操作は OpenSSLより約7%速いだけでしたが、全体的なハンドシェイクの性能はwolfSSLの方が約36%高速でした。その差は、OpenSSLで暗号操作を実行し、ハンドシェイク中に遅いハッシュを実行することにかかるオーバーヘッドでした。
サーバー認証にRSA証明書を使用する場合、署名にかかる処理は他の部分の処理より時間を消費します。テストした環境では、RSA署名はwolfSSLもOpenSSLもほぼ同じ速度でした。全体のハンドシェイク速度はwolfSSLがOpenSSLより10〜15%優れていました。これはハッシュ化のオーバーヘッドの影響 です。
wolfSSLではP-256での処理がOpenSSLより高速で、オーバーヘッドとハッシュ化の違いが結果に再び影響しました。サーバーは、鍵生成、秘密乱数値生成、および署名操作を実行しています。wolfSSLは、P-256でこれらの操作を実行すると7〜13%、X25519の操作でOpenSSLより約3%高速で実行します。P-256を使用した場合ではwolfSSLがOpenSSLより35〜40%高速で、Curve25519を鍵交換に使用した場合では20〜30%高速であることがわかりました。クライアント認証も実行したケースでも、同様の改善が見られました。
TLS 1.3の実装は、OpenSSLよりwolfSSLが35〜40%高速というテスト結果でした。TLS1.3の実装をご検討でしたら、特にIntel x86 64ビットでは、ぜひwolfSSLもお試しください。オープンソース版は期限、機能制限なしで本日からお使いいただけます。
さらに詳しい情報は弊社問い合わせ窓口info@wolfssl.jpまでお問い合わせください。
原文: https://www.wolfssl.com/performance-comparison-tls-1-3-wolfssl-openssl/
wolfSSLホーム:www.wolfssl.jp (English:www.wolfssl.com)