製品

PRODUCTS

wolfCrypt組み込み暗号ライブラリ:FIPS認証

FIPS140-2、FIPS140-3認証とは

FIPS140は、暗号化モジュールの安全性、機密性に関する要件を定める米国政府機関のNISTが制定した標準規格です。またその認証制度として、米国、カナダ政府が運用するCMVP(Cryptographic Module Validation Program: 暗号化モジュール認証制度)があります。日本を含む各国の認証制度も、多くはこのFIPS140をベースに規定、運用されています。

FIPS140はこれまで長くFIPS140-2バージョンが使われてきましたが、2019年にFIPS140-3が承認され、既に移行が始まっています。尚、2026年9月21日までにFIPS140-3認証に完全に移行することが決まっています。

FIPS 140-3 の変更点には、条件付きアルゴリズムセルフテスト (CAST: Conditional Power on Self Test)があります。これは、アルゴリズムが使用された場合にのみセルフテストが実行されるというものです。必要になるまですべてのアルゴリズムがテストされるわけではないため、起動前のセルフテストが高速になりました。公開鍵のセルフテストには時間がかかる可能性があるため、これは起動時間の短縮につながります。セルフテストが、アプリケーションの起動時に適切な時間で実行できます。また、DRBGエントロピーソースの追加テストもあります。

wolfCryptは、2029年7月10日まで5年間有効なFIPS140-3認証証明書#4718を取得済みです。クリプトバウンダリー内のすべてのアルゴリズムに対してCAST(Conditional Power on Self Test)をサポートします。現在利用可能な世界で唯一の商用組み込み向けFIPS 140-3ソリューションです。

以下のブログも併せてご参照ください。

wolfCrypt FIPS 140-3
FIPS140-3で何が変わる?
FIPS140-3はどこが新しくなったか?

 

FIPS140の必要性

米国政府機関が購入する暗号ベースのセキュリティシステムには、FIPS140証明書が必須です。「FIPS用に設計された」または「FIPS対応」というベンダーの主張だけではこの条件を満たせません。
米国政府機関に製品を納入される場合は、FIPS証明書が必要となります。

 

wolfCrypt のFIPS認証取得実績

wolfCryptは2015年にCMVP認証を取得し(証明書番号: 2425)、自動車、医療機器等の品質と機密性の要件が厳しい製品で多く使われてきました。その後、2018年に発行されたTLS1.3に対応するよう対象アルゴリズムを拡張し、新たに認証を取得しました(証明書番号: #3389)。数少ないTLS1.3対応のFIPS認証済み暗号ライブラリとして、FIPS認証取得を目指す多くのデバイスメーカーに選ばれています。
また、wolfCryptは2024年7月11日に世界初のSP800-140Br1準拠のFIPS 140-3認証を取得しました(証明書番号4718)。

wolfCrypt v5 FIPS 140-3 Level 1 Certificate #4718
wolfCrypt v4 FIPS 140-2 Level 1 Certificate #3389
wolfCrypt FIPS 140-2 Level 1 Certificate #2425

 

wolfCrypt FIPS Ready版

CMVP認証を製品開発の早い段階で取得し、FIPS認証済みとして出荷を開始するには、膨大な時間と手間、コストがかかります。一方、出荷済み製品をFIPS認証後に更新することは簡単ではありません。

そのような悩みに応えるのがwolfCrypt FIPS Ready版です。
FIPS Ready版を使うだけでFIPS認証を取得したとは言えません。しかし、実際にFIPS認証を取得する際の手間は大幅に低減できます。

FIPS認証を取得する際のwolfCryptは、通常のwolfCryptとはファイル構成が異なります。例えばセルフテストのようなコンポーネントは、FIPS認証の際には必要ですが、通常のwolfCryptには含まれていません。このようなコンポーネントを含んだものをwolfCrypt FIPS Ready版として提供しています。

逆にFIPS認証の際には含まれず、通常のwolfCryptには含まれるアルゴリズムもあります。もし、そのようなアルゴリズムがアプリケーションで使用されている場合、認証取得の際に障害となる可能性があります。FIPS Ready版には元々そのようなアルゴリズムが含まれていないため、この障害を事前に回避することができます。

このような理由から、CMVP認証が必要となる製品開発には通常のwolfCryptではなく、wolfCrypt FIPS Ready版をお勧めします。(* CAVP認証はその限りでありません)

 

OPENSSLのFIPS認証取得に

OpenSSLの認証取得にお悩みですか?EOL(End of Life)を迎えてしまった古いOpenSSLでのFIPS認証取得には、wolfEngineを用意しています。wolfEngineは、OpenSSLの暗号エンジンをFIPS認証取得可能なwolfCryptの暗号アルゴリズムで置き換えます。また、wolfProviderは、OpenSSL v3以降の暗号化プロバイダーを置き換えます。これによってOpenSSLのEOLを心配することなく、FIPS認証を取得することができるようになります。

wolfEngineおよびwolfProviderは、wolfCryptのほぼすべてのFIPS認証取得対象アルゴリズムについて認証を取得することができます。

 

FIPS認証取得代行

FIPS、CMVP認証を取得するには、大量のドキュメントを読み、その上で一つ一つプロセスを踏んでいかなくてはなりません。これには労力も時間もかかります。またFIPS認証は、暗号化境界(Crypt Boundary)に含まれるOE(プラットフォームやコンポーネントのバージョン)ごとに取得する必要があります。つまりお客様の製品の動作環境ごとに認証を取得しなければなりません。

弊社製品の商用版をご利用の場合、お客様の製品プラットフォームでのFIPS認証取得をwolfSSLチームが代行します。

お客様は必要な認証対象の暗号アルゴリズムを選択して認証対象のプロセッサボードをご用意ください。あとは、wolfSSLチームが認定テストラボと連携し、認証取得に必要なテストからNISTへの申請までの全てのプロセスを進めます。お客様に準備いただく事項について、詳しくはこちらをご覧ください。

 

検証済の動作環境

wolfCryptは、さまざまな動作環境(OE: Operating Environment)で検証しています。wolfCryp tFIPS証明書の検証済みOEリストは、こちらの表をご参照ください。

 

FIPS140のFAQも併せてご覧ください。

ご質問および詳細に関するお問い合わせ先: info@wolfssl.jp

 

ダウンロード
wolfCrypt FIPS Ready版は、ダウンロードページから "wolfssl-x(xはバージョン名)-gplv3-fips-ready.zip" を選択してください。

ライセンスページ

認証取得代行の対象

  • CAVP(Cryptographic Algorithm Validation Program)
    通常の商用wolfCryptからの認証取得代行
  • CMVP(Cryptographic Module Validation Program)
    wolfCrypt FIPS Ready版もしくは通常の商用wolfCryptからの認証取得代行

特徴

  • TLS1.3対応
    wolfCrypt FIPS認証版(証明書: #3389)は、TLS1.3実装を実現するためのアルゴリズムをサポートしています。wolfSSLのTLS1.3サポート機能と組み合わせることで、安全性が認証されたTLS1.3を実現することができます。
  • FIPS Ready版
    FIPS Ready版は認証取得前の製品ですが、認証実績のあるコードを利用して実際に認証取得時の負荷を最小限に軽減します。
  • OpenSSLのための認証取得
    wolfEngine/wolfProviderによりOpenSSL本体を取り替えることなく認証取得が可能です。
  • お客様ブランド
    ホワイトラベルによるお客様ブランドでの認証取得をサポートします。

対象アルゴリズム

  • 共通鍵暗号
    • AES-CBC, AES-CCM, AES-CMAC, AES-CTR, AES-ECB, AES-GCM, AES-GMAC
  • 鍵合意
    • 有限体(DHE)
    • 楕円曲線暗号(P256/384/512)
  • 署名検証
    • ECDSA鍵生成、署名検証
    • RSA鍵生成、署名検証
  • 乱数
    • Hash DRBG
  • ダイジェスト
    • SHA-2 (224/256/384/512), SHA-3 (224/256/384/512)
  • 認証コード
    • HMAC-SHA2, HMAC-SHA3
  • KDF: 鍵導出
    • TLS1.2/1.3, SSHv2