FIPS 140とは
FIPS 140(Federal Information Processing Standardization 140)は、アメリカ連邦政府が定める
暗号モジュールに関するセキュリティ要件を規定した標準規格です。この規格は、政府機関が利用する
暗号モジュールの信頼性を確保することを目的としており、ハードウェアとソフトウェアの両方を含む
暗号モジュールに対して適用されます。2023年5月現在、最新版は
2019年3月22日に発行されたFIPS 140-3です。
FIPS 140の目的
FIPS 140の主な目的は、連邦政府機関で使用される
暗号モジュールが一定のセキュリティ要件を満たしていることを保証することです。この規格は、
暗号モジュール自体だけでなく、その文書化、さらにはソースコードのコメントに至るまで、広範な側面を対象としています。FIPS 140は、単にモジュールが要件を満たしているだけでなく、それを用いて構築されたシステムが信頼できることを保証するための、十分条件を提供しようとするものではありません。モジュールの利用を検討する機関は、認証証明書によってモジュールが保証されているかを確認する必要があります。認証証明書には、モジュール名、ハードウェア、ソフトウェア、ファームウェアのバージョンなどが明記されています。また、レベル2以上では、認証が適用されるプラットフォームも規定されます。しかし、ベンダーが常に認証を維持するとは限らないことに注意が必要です。
暗号モジュール認証プログラム(Cryptographic Module Validation Program)は、アメリカの国立標準技術研究所(NIST)とカナダの通信セキュリティ機関(CSE)が共同で運営しています。アメリカ政府は、機密扱いではないが取扱注意の情報を取り扱う際に、認証済みの
暗号モジュールを使用することを義務付けています。カナダ政府も同様に、政府機関での機密扱いでない用途にFIPS 140認証済みのモジュールを使用することを推奨しています。
セキュリティレベル
FIPS 140-2では、セキュリティレベルを「レベル1」から「レベル4」までの4段階で定義しています。どのレベルが要求されるかは、用途によって異なります。各レベルの要件は次の通りです。
- - レベル1: 最も低いレベルで、製品品質を確保し、基本的なセキュリティ対策を講じることが求められます。
- - レベル2: レベル1の要件に加え、物理的な改竄の痕跡を残す機能と、役割に基づいたオペレータ認証が必要です。
- - レベル3: レベル2の要件に加え、物理的な改竄への耐性(機密情報へのアクセスを困難にする)、オペレータのIDに基づく認証、重要なセキュリティパラメータのインタフェースの分離が必要です。
- - レベル4: 最も高いレベルで、物理的なセキュリティ要件が厳格になり、環境条件の変化に対する耐性が求められます。
要件の範囲
FIPS 140は、以下の11分野で要件を規定しています。
1.
暗号モジュールの仕様: 文書化が必要な情報
2.
暗号モジュールのポートとインターフェース: 情報の入出力と分離の要件
3.
役割、サービス、認証: ユーザーが実行できる操作と認証方法
4.
有限状態モデル: モジュールの状態遷移の文書化
5.
物理セキュリティ: 改竄の痕跡、耐性、環境条件に対する頑健性
6.
実行環境: モジュールが利用するOSと環境
7.
暗号鍵管理: 鍵の生成、登録、利用、保管、破棄
8.
EMI/EMC: 電磁波による障害対策
9.
自己診断テスト: テスト内容、タイミング、失敗時の対応
10.
設計保証: モジュールの設計・実装を証明する文書化
11.
他の攻撃からのリスク軽減: TEMPEST攻撃などへの対策
歴史の概要
- - FIPS 140-1 (1994年1月11日発行): 政府と業界のワーキンググループが開発し、4つのセキュリティレベルと11の要件分野を定義しました。
- - FIPS 140-2 (2001年5月25日発行): 1994年以降の技術進歩や業界からのフィードバックを反映し、改訂されました。
- - FIPS 140-3 (2019年3月22日発行): 最新の規格であり、今後の暗号モジュール開発の基礎となります。
FIPS 140-2は、国際標準規格ISO/IEC 19790:2006の主要な参考資料となっています。
外部リンク
これらの情報から、FIPS 140が
暗号モジュールの信頼性を確保するための重要な規格であることがわかります。