wolfSSLをLinuxカーネルにロードする

wolfSSLがプロトコルスタック全体をLinuxで初めてカーネルモジュールとしてロード可能にしたTLSライブラリであることをお知らせしてはや1年が経ちました。完全にカーネルに常駐し、カーネル内でTLS/DTLSのハンドシェークを行うエンドポイントとして機能します。その発表後もwolfSSLのLinuxカーネルモジュールとしてのサポートは飛躍的に成長しており、公開鍵暗号化アクセラレーション、FIPS 140-3準拠、IRQハンドラーでの暗号化のアクセラレーション、および移植性と機能の完全性の向上を達成しています。

Linux カーネルモジュールとしてのwolfSSLはlibwolfsslで提供しているAPI全体を他のカーネルモジュールにネイティブに提供し、カーネル内でのハンドシェークで常駐するTLS/DTLSエンドポイントとして機能します。コンフィグレーションとビルドは”–enable-linuxkm“オプションを付けでビルドするだけです。さらにオプションとしてFIPS 140-3コアハッシュ整合性検証とセルフテストを含む、ロード時の暗号化セルフテスト(POST)を含めるように構成可能です。

ライブラリビルドと同様に、カーネルモジュールは、ターゲットの機能と制限内を満たしながら、アプリケーションの要件を満たすように構成をカスタマイズできます。例えば、低レベルの暗号化アルゴリズムのwolfCryptスイートのみをアプリにリンクする選択や、TLS1.3をサポートする完全なTLSプロトコルスタックを含めるかを選択できます。

PKオペレーションの場合、カーネルモジュールは、最先端のパフォーマンスとサイドチャネル攻撃に対する耐性を備えた、SP bignumの新実装を活用します。 AVX2およびAES-NIアクセラレーションはx86で利用可能であり、通常のカーネルスレッドと割り込みハンドラーコンテキストの両方から使用できます。 AES-NIアクセラレーション用に構成されている場合、モジュールは1サイクルあたり1バイトを超える速度でAES256-GCM暗号化/復号化を提供します。

libwolfsslのカーネルモジュールビルドは、wolfSSLリリース4.6以降でサポートされており、メインラインのgithubリポジトリで利用できます。x86-64で3.x、4.x、および5.x Linuxバージョンラインをサポートしますが、ARMとMIPSのサポートは制限されています。 x86-64での完全なFIPS140-3サポートは、wolfSSLバージョン5.0リリースで利用可能になりました。

ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。
原文:https://www.wolfssl.com/loading-wolfssl-linux-kernel-update/