コンテンツにスキップ

FIPS 140-3のサポート

wolfProviderは、FIPS検証済みのwolfCryptに対してコンパイルした場合に、FIPS 140-3検証済みのwolfCryptと連携するよう設計されています。 この使用形態では、wolfSSL Inc.から入手した、適切にライセンスされ検証済みのwolfCryptが必要です。

wolfCrypt FIPSライブラリを非FIPSモードへ「切り替える」ことはできません。 wolfCrypt FIPSと通常版wolfCryptは、別々のソースコードパッケージです。

wolfProviderをwolfCrypt FIPSと組み合わせてコンパイルすると、wolfCrypt FIPSモジュールが提供するアルゴリズムのプロバイダーコールバックが登録されます。 FIPS適合を目的とするアプリケーションは、モジュールのセキュリティポリシーに記載された承認済みのアルゴリズム、モード、鍵サイズだけを使用する必要があります。登録されたモードの一部は検証範囲外である可能性があり、FIPS適合環境では依拠できません。 OpenSSLベースのアプリケーションがFIPS検証されていないアルゴリズムを呼び出すと、OpenSSLの構成によっては、処理がwolfProviderに入らず、OpenSSLのデフォルトプロバイダーまたは他の登録済みプロバイダーで実行される可能性があります。

: FIPS適合を目的とする場合に、wolfCrypt FIPS以外のアルゴリズムを別のプロバイダーから呼び出すと、そのアルゴリズムはwolfProviderとwolfCrypt FIPSの両方の範囲外となり、FIPS検証済みではない可能性があります。

FIPS適合の範囲を広げるため、wolfProviderは通常、置き換え用デフォルトモードでビルドします。これによりwolfProviderがOpenSSLのデフォルトプロバイダーとなり、アプリケーションがデフォルトプロバイダー内の非FIPSアルゴリズムへ暗黙にフォールバックするリスクを低減します。有効化には、--enable-replace-defaultビルドオプションと、wolfProviderのプロバイダー置換を組み込んだOpenSSLのビルドの両方が必要です。scripts/build-wolfprovider.sh --replace-defaultは両方の手順を実行します。明示的にロードされたプロバイダーや低レベルAPIの直接呼び出しは制御外であるため、これ自体がシステム全体のFIPS適合を保証するものではありません。置き換え用デフォルトモードについてはwolfProviderのロードの章を、FIPSベースライン検証や本番FIPSビルドのワークフロー(wolfCrypt FIPSモジュールの世代(例: v5、v6、v7)やFIPS Readyバンドルを含む)についてはwolfProvider FIPSインテグレーションガイド(wolfProviderパッケージ内のdocs/FIPS_INTEGRATION_GUIDE.md)をご参照ください。

FIPS版wolfCrypt(140-2/140-3)の使用に関する詳細については、wolfSSL(info@wolfssl.jp)までお問い合わせください。