今回は、FIPS140-2とFIPS140-3の違いについてです。 wolfSSLは組み込みシステム向けFIPS認証のリーディングカンパニーとして、ユーザーの皆様に常に最新の標準規格で最新の状態を提供したいと考えています。
さまざまな仕様の更新のなかでもFIPS 140-3標準の一番大きな変更点は、ハードウェアモジュール、ファームウェアモジュール、ソフトウェアモジュール、ハイブリッドソフトウェアモジュール、およびハイブリッドファームウェアモジュールが規定されるようになった点でしょう。新しい標準での検証では、ハイブリッドモジュールに適用するレベルに制約はありません。これは、レベル1よりも高いレベルでの検証を検討しているハイブリッドモジュールを使用しているベンダーにとっていいニュースです。FIPS140-2標準は、元々はすべてのモジュールをハードウェアとして定義され、その他のモジュール後になって追加されたという経緯がありました。
FIPS140-2とFIPS140-3のどちらも、4つの論理インターフェイス:データ入力、データ出力、制御入力、およびステータス出力が含まれています。 FIPS 140-3では5番目のインターフェイスとして、制御出力と呼ばれるインタフェイスが導入されました。 これは動作状態を示すために信号や制御データを含むコマンドの出力のためのインターフェイスです。FIPS 140-2の「信頼できるパス」に代わりに、FIPS 140-3では「信頼できるチャネル」が導入されました。これは保護されていないCSP( critical security parameter)を保護するために、データを送受信するエンドポイントデバイスと暗号化モジュールとの間の安全な通信リンクです。FIPS 140-3では、信頼できるチャネルを使用するレベル4モジュールは、信頼できるチャネルを使用するすべてのサービスに対して多要素IDベースの認証を使用しなければなりません。
モジュールサポートとしてクリプトオフィサーとユーザーロール、またオプションとしてメンテナンスロールを使用する必要がありましたが、FIPS140-3ではクリプトオフィサーロールのみが必須となりました。 FIPS 140-3では、「自己起動型暗号化出力機能( Self-Initiated Cryptographic Output Capability)」と呼ばれる新しい機能があり、モジュールは、オペレーターの介入なしに暗号化操作またはその他の承認されたセキュリティ機能を実行できます。
FIPS 140-3の新機能に関するブログ投稿はこちらにあります: https://wolfssl.jp/wordpress/wolfblog/2020/11/30/fips140-3-whats-new/
wolfSSLでは、以下のようにFIPS140-3の最初の実装を提供する準備ができています。
- パワーオンセルフテストが変更されて、2つのテストが必要となりました。POST(Pre-operational Self-Test )とCAST(Conditional Algorithm Self-Test)です。
- これまでテストの一部として使用されていた従来のKAT(Known Answer Tests)は、起動時に実行する必要がなくなりました。これらは、アルゴリズムを使用する直前までに実行する必要がある条件付きテストになりました。アルゴリズムを使用しない場合は、テストする必要はありません。テストは、アルゴリズムのAPIを呼び出すと自動的に実行されます。
- POSTは、純粋にメモリ内の実行可能ファイルの完全性を確認するテストのみになりました。まず最初に、このテストに使用するアルゴリズムをテストする必要があります。そのためにHMAC-SHA-256のCASTが自動的に実行され、次にPOSTが実行されます。 POSTは、コード内のwolfCryptのデフォルトのエントリポイントとして自動的に実行されます。
- すべてのテストは、実行時に定期的に実行でき(may be)、必ず実行される必要があります(shall be)。必要に応じてテストを実行するためのAPIを提供します。組み込みアプリケーションでは、一部のCASTには時間がかかるため、アルゴリズムが使用される前の早いタイミングで実行できるようになっています。
原文: https://www.wolfssl.com/difference-fips-140-2-fips-140-3/
新しいFIPS認証に関するご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。