FIPS認証とは

wolfSSLのFIPS認証取得サービス

FIPS(Federal Information Processing Standard:米国連邦情報処理規格)の認証取得に関する作業は導入時の学習曲線が急勾配の複雑なプロセスと見なされていますが、本当にその通りです。wolfSSLのマネージメントとエンジニアリングチームは時間をかけてこの認証に関するドキュメントを学び、NVLAP認定のFIPSラボと協力してwolfCrypt 暗号モジュールの FIPS 検証テストを完了するために必要なツールを全て開発しました。お客様の新しい製品またはオペレーティング環境 (OE) のFIPS 認証を取得するために、お客様に用意していただくのは、お客様のハードウェア、コンパイラ/ツールチェーン (IDE など)、および FIPS 開発者の 1 人がC言語のhello-worldアプリケーションをラップトップPCでビルドして実行するための手順書だけです。wolfSSLでは、お客様独自のアプリケーションをご提供いただくことなく、hello-worldアプリケーションだけで検証テスト作業に着手できます。これは、後述のCMVPという認証プロセスが、暗号化モジュールを使っているお客様のアプリケーションではなく、ターゲット機器上で動作している暗号化モジュールの方を認証する作業だからなのです。wolfSSL チームはお客様のターゲット製品で wolfCrypt モジュールを立ち上げ、認証プロセスをできるだけ早期に開始します。これにより、FIPS 認証が行われている間でも、お客様の開発チームは独立して最終製品の準備に専念できます!

FIPS認証の歴史

情報を保護する手法には非常に多くのオプションがあるので、米国とカナダの政府はなにかしらの標準化が必要だと考えました。両政府は 1990 年代に、最も安全であると見なされるアルゴリズム手法を標準化し、重要な政府システムでそれらのアルゴリズムのみを使用するよう強制する必要性を認識しました。両政府による要件の採用を「奨励」するために、NIST (国立標準技術研究所)¹ と CCCS (カナダ サイバー セキュリティ センター)² がその使命を果たすよう求められました。 2 つの機関は協力して次のことを行う必要がありました:

  1. どのアルゴリズムが最良/最強であったか決定すること
  2. 評価:アルゴリズムに複数のモードや鍵長がある場合に、それらのどれが弱すぎて除外するべきか決定すること
  3. アルゴリズムを正しく実装すること以外に他の要件があるか判断すること
    1. そのアルゴリズムは定期的に再試験が必要か?(PCなどの機器の計算能力向上に対抗できるか)
    2. モジュールは工場から出荷されて以降、改ざんされていないか定期的に検査(整合性チェック等)されるべきか
  4. 最後に、いずれかの政府に属する連邦機関によるこれらの標準の採用を強制/奨励すること (最終的には、医療機関や一部の民間企業も含めるように拡張されました)

これらの標準は“連邦情報処理標準(FIPS)“の中で140-2/3(情報セキュリティ暗号化関連)としてまとめられ、NIST SP(Special Publication) 800シリーズの中で定義されています。

どの暗号化モジュールとベンダーが、定められた標準に準拠しているかを実証する必要があるため、「認証」プログラムが最良のアプローチとして決定されました。 暗号化モジュールを作成したベンダーは、モジュールがそのモジュールに適用されるすべての標準に準拠していると判定された場合、証明書の発行願書を提出して証明書が授与されます。 証明書は、米国を拠点とする NIST Web サイトで公開されるため、連邦機関 (または一般) は利用可能な FIPS 認定モジュールを「参照」できます。

このような業務を2 つの機関が単独で処理するのは荷が重かった為、1995 年に NIST と CCCS はCMVP(Cryptographic Module Validation Program)³ と CAVP (Cryptographic Algorithm Validation Program) 4と呼ばれる 2 つのプログラムを立ち上げました。 両プログラムは暗号化モジュールが標準に準拠しているかのテストを扱います。 さらに、アルゴリズムのテストに合格し、SP で定義されているすべての該当する基準を満たしていることが確認されたベンダーと製品に対して証明書の発行作業も処理します。

CAVP はアルゴリズムを認証します (これは、FIPS 認定用のモジュールを CMVP に提出するための前提条件です)。 CMVP は、CAVP テストに合格し、標準に準拠していると認定された「テスト済みの構成」と「運用環境」に対して FIPS 証明書を発行します。 両方の証明書タイプ (CAVP アルゴリズム証明書と CMVP FIPS 証明書) は、NIST Web サイトで公開されています。 証明書はパブリック ドメインであり、誰でも検索、閲覧できます。

CMVP と CAVP では、モジュールを「テスト」する方法を確立する必要性に迫られました。 そのため、彼らは NVLAP (National Voluntary Laboratory Accreditation Program)5 に対して、FIPS 認証を求めるベンダーと CAVP/CMVP 機関との間の仲介者として機能する「サードパーティ」のテストラボを認定することを依頼しました。

FIPS の歴史における最後のステップは、ソフトウェア モジュールへの適応でした。当初、標準が作成された当時は、専用のハードウェアのみが暗号数学演算に必要な重い処理を実行できたため、標準はハードウェア モジュールのみを念頭に置いて設計されました。ソフトウェアで暗号化を行うことは非現実的だったので、元の標準では考慮されていませんでした。汎用 CPU が進歩するにつれて、最終的にソフトウェアでアルゴリズムを実装し、これらの高価な数学演算を汎用 CPU によって合理的な時間内に実行できるようになりました。この状況が当たり前となり、標準はハードウェアとソフトウェアの両方のモジュールを許可するように適応変更されました。今日でも、標準に含まれているいくつかのシナリオはハードウェアに対してのみ意味があると思われるものが残っています (ベンダー判断に関する我々のこの記事も参考にしてみてください)。 NIST、CMVP、および CAVP は、過去数年間に多くの作業を行って最新のFIPS 140-3 標準をもたらしました。wolfSSL Inc は、商用 FIPS 140-3 を提供する最初のソフトウェア モジュールの 1 つになることを誇りに思います。

認証プロセス

今日では、ハードウェアまたはソフトウェアのベンダーは、NVLAP 認定ラボと協力して、アルゴリズム テストを完了し、アルゴリズム証明書を受け取ります。

FIPS 認証への取り組みのマイルストーン 1

ベンダーが前提条件の CAVP 認証を受けると、同じ NVLAP 認定ラボで運用テストを実施します。 すべてのテスト証拠が収集され、すべてが NVLAP 品質保証部門によってレビューおよび承認されると、ラボはCMVP に提出する準備が整います。

FIPS 認証への取り組みのマイルストーン 2

CMVP は NVLAP 認定ラボを通じてベンダーと調整し、すべての要件が満たされると、新しい FIPS 証明書を発行するか、ベンダーが既存の証明書に動作環境を追加する場合は既存の証明書を更新します。

FIPS 認証への取り組みのマイルストーン 3

wolfSSL Inc がサポートする提出シナリオは次のようになっています:

  • 新しい証明書
    • 特定のアルゴリズムの周りに新しいモジュールの境界を描き、ゼロから認証して新しい証明書を作成する
  • OE の追加
    • 既存の証明書に OE を追加する
  • 再検証
    • 既存の検証済みモジュールのモジュール境界を再描画して、新しいアルゴリズムを含めるか、境界の説明から既存のアルゴリズムを削除する
  • ベンダー判断
    • wolfSSL はソフトウェア モジュール ベンダーです。責任ある FIPS ベンダーとして言わせていただけるならば、通常ソフトウェア ベンダーは、CPU または OS の変更が暗号化にどのように影響するかを判断することができないと考えています (特に CPU または OS が完全に変更された場合)。そのため、wolfSSL Inc は現在、FIPS へのパスとして Vendor Affirmation(ベンダー判断) を提供していません。特別な状況が存在する場合がありますが、そう言う場合はケースバイケースで評価する必要があるでしょう。

いろいろなシナリオのスケジュールの見積もりは、時間の経過とともに変化します。特定の提出シナリオの最新の見積もりが必要な場合は、info@wolfssl.jp に連絡して最新情報を入手してください。

まとめ

  • wolfSSL Inc は、ターゲットで hello-world アプリを起動して実行するための製品と基本的な手順を入手したら、製品の認定プロセスを簡単かつハンズフリーにすることができます!
  • FIPS は、NIST Web サイトで公開されている FIPS 検証/認証を取得するために満たすべきSpecial Publications に詳述されている一連の標準です。製品が記載されている FIPS 証明書は、製品を医療機関、連邦機関、または軍事機関に販売するために必要であり、民間企業に必要とされるケースも多々あります。
  • プロセスには時間がかかることがありますので、考慮して計画をたててください。
  • FIPS、認証プロセス、または wolfSSL Inc について他に質問がある場合はご連絡ください。 無料のプリセールス カスタマー サポートを提供し、FIPS 評価オプションを用意しており、知識が豊富なスタッフが熱心にサポートします。

1 国立標準技術研究所 (NIST) は 1901 年に設立され、現在は米国商務省の一部です。 NIST は、国内で最も古い物理科学研究所の 1 つです。その目的は、経済的安全保障を強化し、私たちの生活の質を向上させる方法で測定科学、標準、および技術を進歩させることにより、米国の革新と産業競争力を促進することです。

https://www.nist.gov/about-nist

² サイバー センターは、政府、重要なインフラストラクチャの所有者と運用、民間部門、およびカナダの一般市民向けのサイバー セキュリティに関する専門家のアドバイス、ガイダンス、サービス、およびサポートの単一の統合ソースです。

https://www.cyber.gc.ca/en/about-cyber-centre

³ 暗号化モジュール検証プログラム (CMVP) は、米国商務省傘下の国立標準技術研究所と、通信セキュリティ機関の支部であるカナダ サイバー セキュリティ センターとの共同作業です。 CMVP の目標は、検証済みの暗号モジュールの使用を促進し、検証済みの暗号モジュールを含む機器を調達する際に使用するセキュリティ メトリックを連邦政府機関に提供することです。

https://csrc.nist.gov/Projects/Cryptographic-Module-Validation-Program

4 CAVP は、1995 年 7 月に NIST とカナダ政府の CCCS によって設立されました。 CSD の Security Testing, Validation, and Measurement Group (STVMG) は、CAVP および CMVP を通じて、暗号化モジュールとその基盤となる暗号化アルゴリズムの検証テストを管理します。

https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program

5 National Voluntary Laboratory Accreditation Program (NVLAP) は、立法措置や政府機関や民間組織からの要求に応じて、試験および校正ラボに第三者認定を提供します。 NVLAP 認定試験所は、国際規格 ISO/IEC 17025:2017 で公開されている管理および技術要件に照らして評価されます。

https://www.nist.gov/nvlap

原文: https://www.wolfssl.com/fips-long-version/