Comments
Description
Transcript
暗号モジュール試験及び 認証制度のご紹介
暗号モジュール試験及び 認証制度のご紹介 2009年3月25日 独立行政法人 情報処理推進機構 セキュリティセンター 1 目次 1. 暗号モジュール試験及び認証制度の概要 2. 暗号モジュール試験と暗号モジュール認証 3. 暗号アルゴリズム実装試験と暗号アルゴリズム確認 4. 暗号モジュールセキュリティ要件の標準化動向 2 JCMVP制度の全体像 暗号モジュール試験及び認証制度 暗号モジュール試験及び認証制度 認証機関 独立行政法人 情報処理推進機構 認定機関 NITE 技術指導 独立行政法人 製品評価技術基盤機構 ASNITE 試験事業者IT 試験報告書 提出 暗号アルゴリズム 確認書 暗号モジュール 認証書 試験機関 試験機関認定 試験報告書 提出 認証申請 試験 依頼 申請者 暗号アルゴリズム確認書/ 暗号モジュール認証書 発行 試験用 提供物件 暗号モジュールの ベンダ、供給者など • 暗号モジュールとは – 「承認されたセキュリティ機能」をソフトウエア/ファームウエア/ハードウエアで実装したものです。 • 「暗号モジュール試験及び認証制度」(JCMVP: Japan Cryptographic Module Validation Program)とは – 暗号モジュールに実装されたセキュリティ機能が正しく実装されていることを確認すると共に、鍵やID、パス ワード等の重要情報のセキュリティを確保していることを試験、認証する第三者適合性評価制度です。 3 JCMVP認証適用可能な製品例 • • • • • • スマートカード USBトークン PCIカード ゲートウェイ ソフトウェア暗号ライブラリ ファイル暗号化ソフトウェア 等 4 暗号モジュール試験及び認証制度 • 米国・カナダのCMVP制度と同等の制度 – CMVPでは暗号モジュールセキュリティ要求事項としてFIPS 140-2を採用。また 暗号モジュールセキュリティ試験要件としてFIPS 140-2 DTRを採用しています。 – JCMVPでは暗号モジュールセキュリティ要求事項としてFIPS 140-2をベースにし て作成されたISO/IEC 19790の国際一致規格であるJIS X 19790を採用。 暗号モジュールセキュリティ試験要件として、JIS X 5091を採用。 このJIS X 5091はFIPS 140-2 DTRをベースに提案されているISO/IEC WD 24759 を参考にして作成されたものです。 – CMVPでは承認されたセキュリティ機能はFIPS 140-2のAnnex Aで規定されてい ます。 – JCMVPでは承認された暗号アルゴリズムはCRYPTREC作成の電子政府推奨暗 号リストに記載されたもの等からJCMVP技術審議委員会の審議を経て決定され ます。 CMVP: Cryptographic Module Validation Program FIPS: DTR: Federal Information Processing Standards Derived Test Requirements 5 JCMVPとCMVPの関係 それぞれ独立した制度 ∼ワンストップサービスによる利便性の向上∼ ワンストップサービスとは日本と米国の両方から認定された試験機関で暗号モジュール 試験を実施することにより、申請者は異なる二つの制度の認証申請を1回の試験で行 えるサービス です。 米国・カナダCMVP 認証機関 日本JCMVP 協力関係構築 NIST/CSEC NIST/CSEC向け 試験報告書 IPA IPA向け 試験報告書 試験機関 JCMVP 認証書 CMVP 認証書 申請者(ベンダ) 6 承認されたセキュリティ機能の比較 Approved Key Establishment Techniques MQV, ECMQV, AES Key Wrap Approved Security Functions for FIPS 140-2 DH, ECDH RSA-OAEP RSAES-PKCS1-v1_5 PSEC-KEM, RIPEMD-160 CIPHERUNICORN-E Hierocrypt-L1,MISTY1,Camellia CIPHERUNICORN-A Hierocrypt-3, SC2000, MUGI,MULTI-S01,128-bit RC4 電子政府推奨暗号リスト 擬似乱数生成系の例示 ・PRNG based on SHA-1 for general purpose in FIPS 186-2 (+ change notice 1) Appendix 3.1 ・PRNG based on SHA-1 for general purpose in FIPS 186-2 (+ change notice 1) revised Appendix 3.1 ・PRNG based on SHA-1 in ANSI X9.42-2001 Annex C.1 AES 3-key Triple DES SHA-1,SHA-256, SHA-384,SHA-512 RSASSA-PKCS1-v1_5 RSASSA-PSS DSA, ECDSA SHA-224 HMAC-SHA-1 HMAC-SHA-224,256 HMAC-SHA-384,512 CMAC,CCM ・ANSI X9.31 Appendix A.2.4 Using 3-Key Triple DES and AES 2-key Triple DES Skipjack Triple-DES MAC GCM Deterministic RNGs ・FIPS186-2 Appendix3.1 ・FIPS186-2 Appendix3.2 ・ANSI X9.31 Appendix A.2.4 ・SP800-90(Dual_EC_DRBG) ・SP800-90(Hash_DRBG, CTR_DRBG, HMAC_DRBG) JCMVP制度で承認されたセキュリティ機能 7 JCMVP制度の立ち上げ イベント 2006年6月 IPAが認証機関及び試験機関としてJCMVP制度の試行運用を開始した。 2007年3月 暗号モジュールセキュリティ要件JIS X 19790:2007及び暗号モジュール試験 要件JIS X 5091:2007が制定された。 2007年3月 IPAがNITEよりASNITE試験事業者ITに基づく暗号モジュール試験機関認定 を取得した。 2007年4月 IPAが認証機関及び試験機関としてJCMVP正式運用を開始した。 2007年6月 統一基準の強化遵守事項として暗号モジュール試験及び認証制度による認 証の取得が記述された。 2007年12月 (株)ECSECがNITEよりASNITE試験事業者ITに基づく認定を取得し、民間 で最初の暗号モジュール試験機関としてIPAが承認した。 2009年1月 (財)JQAがNITEよりASNITE試験事業者ITに基づく認定を取得し、民間で2 番目の暗号モジュール試験機関としてIPAが承認した。 2009年4月 JIS X 5091:2007が廃止され、JIS X 24759:2009が制定される予定。 8 JCMVPで使用する規格 セキュリティ要件 試験要件 CY2007 FIPS 140-2 FIPS 140-2 DTR CY2009 移行期間 JIS X 19790:2007 JIS X 5091:2007 JIS X 19790:2007 JIS X 24759:2009 CY2008 移行期間 廃止 制定 制定 9 JIS X 19790 暗号モジュールのセキュリティレベル セキュリティ レベル 各セキュリティレベルの概要 1 市販品として求められる基本的なセキュリティ要求事項を満たすレベル。 セキュリティ確保のための物理的なメカニズムは要求されないレベル。 2 セキュリティレベル1に加え、タンパー証跡(暗号モジュールを開封した跡 が残るようなシールなど)に関する要求事項を加えたレベル。また、管理者、 ユーザといった役割ベースの認証機能を必須とする。 3 セキュリティレベル2に加え、タンパー検出・応答(暗号モジュールを開封し たことを検出しデータ消去などの応答をする)に関する要求事項を加えた レベル。IDベースの認証機能を必須とする。また、重要情報の入出力に関 する要求事項が追加されている。 4 セキュリティレベル3に加え、いかなる物理的な攻撃に対してもタンパー検 出・応答をするように完全に暗号モジュール部分を被覆保護する物理的メ カニズムを加えたレベル。さらに、正常に動作する電圧・温度の範囲を超 えた環境条件・変動に関する要求事項も追加されている。 暗号モジュールが取扱うデータの重要度や利用環境を考慮して4つのレベルを設定 10 JIS X 19790 暗号モジュールセキュリティ要件要約 セキュリティレベル1 セキュリティレベル2 セキュリティレベル3 セキュリティレベル4 暗号モジュー ルの仕様 暗号モジュール,暗号境界,承認されたアルゴリズム,承認された動作モードの仕様。すべてのハードウェア,ソフトウェア,ファームウェアの構成要素を 含む暗号モジュールの記述。暗号モジュールのセキュリティポリシの宣言。 暗号モジュー ルのポート及び インタフェース 必す(須)のインタフェース及び選択可能なインタフェース。すべてのインタ フェースの仕様及びすべての入出力データパスの仕様。 他のデータポートから論理的に分離された,CSPのためのデータポート。 役割,サービス, 及び認証 必す(須)の役割及びサービスと選 択可能な役割及びサービスとの論 理的な分離。 IDベースのオペレータ認証。 有限状態モデ ル 有限状態モデルの仕様。必す(須)の状態及び選択可能な状態。状態遷移図及び状態遷移の仕様。 物理的セキュリ ティ 製品グレードの装置。 錠又はタンパー証跡。 カバー及びドアに対してのタン パー検出及びタンパー応答。 タンパー検出及びタンパー応答 が可能な包被。EFP又はEFT。 動作環境 単一のオペレータ。実行可能なコー ド。承認された完全性技術。 参照PPに適合し,EAL2の条件で評 価を受けた環境。EAL2の条件で評 価を受け,任意アクセス制御機構及 び監査機構をもつ環境。 参照PPに加え,高信頼パスに適 合し,EAL3に加え,セキュリティポ リシのモデル化の条件で評価を 受けた環境。 参照PPに加え,高信頼パスに適 合し,EAL4の条件で評価を受け た環境。 暗号鍵管理 鍵管理機構:乱数生成及び鍵生成,鍵確立,鍵配送,鍵入出力,鍵の保管,並びに鍵のゼロ化。 役割ベースのオペレータ認証又はID ベースのオペレータ認証。 手動の転送方法を用いて転送された秘密鍵及びプライベート鍵は,平文の 形式で入力又は出力してもよい。 手動の転送方法を用いて転送された秘密鍵及びプライベート鍵は,暗 号化又は知識分散処理を用いて,入力又は出力されなければならない。 自己テスト パワーアップ自己テスト:暗号アルゴリズムテスト,ソフトウェア/ファームウェア完全性テスト及び重要機能テスト。 条件自己テスト。 設計保証 構成管理。セキュアな設置及び生 成。設計とポリシとの対応。ガイダ ンス文書。 その他の攻撃 への対処 攻撃への対処の仕様。 現在は,試験可能な要求事項は用意されていない。 構成管理システム。セキュアな配送。 機能仕様。 高級言語による実装。 セキュリティポリシのセキュリティ ルール、特徴を記述する形式的 モデルの規定 試験可能な要求事項を備えた, 攻撃への対処の仕様。 11 JCMVPで承認されたセキュリティ機能 技術分類 公開鍵暗号 共通鍵暗号 その他 暗号名称 署名 DSA, ECDSA, RSASSARSASSA-PKCS1PKCS1-v1_5, RSASSARSASSA-PSS 守秘 RSARSA-OAEP, RSAESRSAES-PKCS1PKCS1-v1_5 鍵確立 DH, ECDH, PSECPSEC-KEM 64ビットブロック暗号 CIPHERUNICORNCIPHERUNICORN-E, HierocryptHierocrypt-L1, MISTY1, 33-key Triple DES 128ビットブロック暗号 AES, Camellia, CIPHERUNICORNCIPHERUNICORN-A, HierocryptHierocrypt-3, SC2000 ストリーム暗号 MUGI, MULTIMULTI-S01, 128128-bit RC4 ハッシュ関数 RIPEMDRIPEMD-160, SHASHA-1, SHA-224, SHASHA-256, SHASHA-384, SHASHA-512 メッセージ認証 CCM, CMAC, HMAC-SHA-1, HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, HMAC-SHA-512 擬似乱数生成系 ・ NIST SP800-90(Hash_DRBG, HMAC_DRBG, CTR_DRBG) ・ NIST-Recommended Random Number Generator Based on ANSI X9.31 Appendix A.2.4 Using the 3-key Triple DES and AES Algorithms ・PRNG based on SHASHA-1 for general purpose in FIPS 186186-2 (+ change notice 1) Appendix 3.1 ・PRNG based on SHASHA-1 for general purpose in FIPS 186186-2 (+ change notice 1) revised Appendix 3.1 ・PRNG based on SHASHA-1 in ANSI X9.42X9.42-2001 Annex C.1 注: 電子政府推奨暗号リストに記載されたセキュリティ機能は太字で表示。JCMVPではJCMVP運用ガイダンスを発行し、NIST SP800-90に 記載されているHash_DRBG、HMAC_DRBG、CTR_DRBGのみを、JIS X 19790で使用できる乱数生成器としています。 12 暗号モジュール認証取得のメリット • 承認された暗号アルゴリズムが適正に実装されていることが、 暗号アルゴリズム実装試験ツールJCATT®により確認されます。 • 不正な操作または利用から暗号モジュールが保護されているこ とが確認されます。 • 暗号モジュールの内部情報の不正な開示が防止されていること が確認されます。 • 暗号モジュール及び暗号アルゴリズムに対する不正な改変から 保護されていることが確認されます。 • 暗号モジュールにエラーが発生した場合に、これを検出し、この エラーによる重要情報の暴露、改変、毀損を防止することが確 認されます。 JCATT®:Japan Cryptographic Algorithm implementation Testing Tool 13 政府機関の情報セキュリティ対策のための 統一基準(第4版抜粋)平成21年2月3日 情報セキュリティ政策会議決定 【基本遵守事項】 情報システムの新規構築又は更新に伴い暗号化又は電子署名の付与を導入 する場合には、電子政府推奨暗号リストに記載されたアルゴリズムを使用する こと。ただし、使用するアルゴリズムを複数のアルゴリズムの中から選択可能 とするよう暗号化又は電子署名の付与を実装する箇所においては、当該複数 のアルゴリズムに、少なくとも一つは電子政府推奨暗号リストに記載されたもの を含めること。(1.5.2.4(1)(a)(イ)) 【強化遵守事項】 情報システムセキュリティ責任者は、暗号化又は電子署名の付与を行う必要 があると認めた情報システムにおいて、選択したアルゴリズムがソフトウェア及 びハードウェアへ適切に実装され、暗号化された情報の復号又は電子署名の 付与に用いる鍵及び主体認証情報等が安全に保護された製品を使用するた め、暗号モジュール試験及び認証制度に基づく認証を取得している製品を選 択すること。(2.1.1.6(1)(g)) 供給者はJCMVPⓇ認証を取得することで政府機関向けセキュリティシステムに、選 択された暗号アルゴリズムが適切に実装され、鍵等の重要情報のセキュリティが 確保された暗号モジュールであることをアピールできます。 14 暗号モジュール試験及び認証制度の特徴 • ペーパーワークを限定し短期間で試験・認証を実施。 • セキュリティ要件はJIS X 19790で規定。 • 設置環境に対応してセキュリティレベル1からセキュリティレ ベル4までに分類。 • 全てのレベルでセキュリティ要件と実装との整合性を確認。 • 実装レベルでの機能試験、ソースコードレビューを実施。 • 試験対象暗号アルゴリズムは強度の確認されたものに限定。 • 暗号アルゴリズムの実装確認をツールを用いて実施。 • 鍵やパスワード等の重要情報のセキュリティを確保。 • ハードウェア暗号モジュールの場合、物理的セキュリティ試 験を実施。 15 1. 暗号モジュール試験及び認証制度の概要 2. 暗号モジュール試験と暗号モジュール認証 3. 暗号アルゴリズム実装試験と暗号アルゴリズム確認 4. 暗号モジュールセキュリティ要件の標準化動向 16 暗号モジュール試験 暗号モジュール試験 = 暗号アルゴリズム実装試験 + その他の暗号モジュール試験 試験機関 暗号モジュール試験 正解ファイル 質問ファイル 暗号アルゴリズム 照合及び判定 回答ファイル その他の暗号モジュール試験 鍵管理 暗号モジュール製品ベンダ 暗号モジュール 暗号アルゴリズム実装試験 自己テスト 試験用提供物件 (ソースコードなど) 検証 認証機関 試験報告書 暗号モジュール 認証 認証書 17 暗号モジュール試験内容 • 暗号アルゴリズム実装試験 – JCATTツールを用いたセキュリティ機能のブラックボックステスト • ドキュメントレビュー – – – – • セキュリティポリシ 有限状態モデル(FSM) 設計資料 VEドキュメント(ベンダ情報要件の説明/参照先指定) 物理的セキュリティ試験 – タンパー証跡 – 囲いの不透明性確認 – タンパー検出・応答 • ソースコードレビュー – FSM・設計資料とソースコードの一致 • オペレーションテスト – FSMとの一致(エラー状態を含む) – ガイダンス文書との一致 18 暗号モジュール試験プロセス 目安期間 2,3日 暗号モジュール仕様事前確認 ベンダ 依存 設計変更、文書改訂等 暗号アルゴリズム 実装試験 開発文書レビュー ソースコードレビュー オペレーションテスト 試験報告書作成 認証機関とのQ/A対応 物理的セキュリティ 試験 4-6週間 2週間 1週間 2週間 1-2週間 19 暗号モジュール試験の有効性 CMVPのFAQには、北米CMVP試験機関の初期 調査結果として、次のデータが示されています。 ・164の暗号モジュールの調査結果 ・80 (48.8%) セキュリティ欠陥 ・158 (96.3%) 文書上の誤り 20 暗号モジュールセキュリティ要求事項に 関するJCMVP不適合事例(1) • 承認されていないセキュリティ機能の実装 – 暗号アルゴリズム自体は承認されているが、暗 号アルゴリズム実装試験を受けていない実装を 使用している。 – 自己テストで実装の確認をしていない。 • エントロピー源に対する試験 – エントロピー源から取得する乱数シードが十分な 最小エントロピーを持っていない。 21 暗号モジュールセキュリティ要求事項に 関するJCMVP不適合事例(2) • パワーアップ自己テスト – ブロック暗号のCBCモードに関する自己テストで、 1ブロック分しか確認していない。 – パワーアップ自己テストを実行するのに、オペレータの 操作を必要とする。 • 条件自己テスト – 連続乱数生成器テスト • 最初のブロックを出力してしまう。 • 比較するブロック長が、生成するブロック長とあっていない。 22 暗号モジュールセキュリティ要求事項に 関するJCMVP不適合事例(3) • 設計保証 – C言語のソースで、構造体メンバを参照するのに、 構造体の先頭アドレスから、バイト数を指定して アクセスしている。しかし、構造体データアライン メント等について、文書化されていない。 – JIS X 5091 AS09.16 開発ツールの文書は,実装において用いられる すべての規定事項(statements)の意味を明確に 定義しなければならない。 23 暗号モジュールセキュリティ要求事項に 関する不適合事例(4) • 物理的セキュリティ(レベル2以上) – タンパーシールを容易にはがすことが出来る。 • 溶剤を用いて – アセトン, – ブレーキクリーナー, – エンジンクリーナー, etc. • 物理的に – ヒートガン(ドライヤー), – カッターナイフ, etc. 攻撃 × ○ 24 暗号モジュール認証書 25 暗号モジュール認証製品リストの掲載例 http://www.ipa.go.jp/security/jcmvp/val.html http://www.ipa.go.jp/security/jcmvp/jcmvp_e/val.html 26 暗号モジュール認証後 製品パッケージ、カタログなどに認証マークを使用 できます。 ・「暗号モジュール認証マーク」を、書類、パンフレット、宣伝・広告、製品パッケージ 等に使用するとき、「暗号モジュール認証マーク」の傍など暗号モジュールの使 用者が認識しやすい適切な場所に、当該暗号モジュール認証番号及びセキュ リティレベルを示してください。 認証番号:J0000 セキュリティレベル1 27 1. 暗号モジュール試験及び認証制度の概要 2. 暗号モジュール試験と暗号モジュール認証 3. 暗号アルゴリズム実装試験と暗号アルゴリズム確認 4. 暗号モジュールセキュリティ要件の標準化動向 28 暗号アルゴリズム確認制度 • 暗号アルゴリズム確認とは JCMVP制度下で暗号モジュール試験の一部で ある暗号アルゴリズム実装試験を実施し、制度で 承認しているセキュリティ機能が適切に実装され ていることを確認することです。 (2009年1月より実施) • 暗号アルゴリズム実装試験には専用のツール (JCATT)を使用します。 • 暗号アルゴリズム実装試験に合格すると「暗号ア ルゴリズム確認書」が発行されます。 29 暗号アルゴリズム確認制度の仕組み 暗号アルゴリズム確認 暗号アルゴリズム確認 認証機関 独立行政法人 情報処理推進機構 認定機関 NITE 試験報告書 提出 独立行政法人 製品評価技術基盤機構 暗号アルゴリズム 確認書 試験機関 試験機関認定 質問 ファイル 暗号アルゴリズム 確認申請 試験 依頼 申請者 暗号アルゴリズム確認書発行 回答 ファイル 暗号アルゴリズム実装製品の 開発者、供給者など 30 暗号アルゴリズム確認手順 ベンダ 試験機関 ・全ての動作環境(OS)と 暗号アルゴリズム指定 ・回答ファイル作成 ・質問ファイル、 質問ファイル 回答ファイル OK/NG ・立会い試験 正解ファイル作成 ・回答ファイルと 正解ファイルの照合 ツールで判定 ・全てOK ・試験報告書作成 31 質問ファイル例 (AES) • 種々の平文(暗号文)に 対する既知入出力試験 – 1個の鍵 – 平文(又は暗号文) が 様々に変化 暗号化(又は復号)結果を質問 ファイルに追加して回答ファイル を作成 ※分かりやすくするために空白を追加 • 質問ファイル抜粋 ⇒鍵長。 [Bitlength of Key] 128 ⇒暗号鍵。 [Key for KAT-Text] 00000000 00000000 00000000 00000000 [Plaintext for KAT-Text] ⇒平文。 80000000 00000000 00000000 00000000 C0000000 00000000 00000000 00000000 E0000000 00000000 00000000 00000000 F0000000 00000000 00000000 00000000 F8000000 00000000 00000000 00000000 FC000000 00000000 00000000 00000000 FE000000 00000000 00000000 00000000 FF000000 00000000 00000000 00000000 FF800000 00000000 00000000 00000000 FFC00000 00000000 00000000 00000000 FFE00000 00000000 00000000 00000000 FFF00000 00000000 00000000 00000000 --省略-FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 32 質問ファイル及び回答ファイルのフォーマット例 (AES暗号化の一部) 質問ファイルフォーマット 機能 タグ データ 回答ファイルフォーマット タグ データ 暗 号 化 [Algorithm Name] AES(固定) [Algorithm Name] AES(固定) [Function Name] Encryption(固定) [Function Name] Encryption(固定) [Modes of Operation] ECB/CBC/OFB/CFB1/CFB8/CFB128/CTR [Modes of Operation] ECB/CBC/OFB/CFB1/CFB8/CFB128/CTR [Bitlength of Key] 鍵のビット長;128/192/256 [Bitlength of Key] 鍵のビット長;128/192/256 [Bitlength of Counter] カウンタのビット幅(CTRモードのみ) [Bitlength of Counter] カウンタのビット幅(CTRモードのみ) [Key for KAT-Text] KAT-TEXT用鍵 [Key for KAT-Text] KAT-TEXT用鍵 [Plaintext for KAT-Text] KAT-TEXT用平文 [Plaintext for KAT-Text] KAT-TEXT用平文 [IV for KAT-Text] KAT-TEXT用IV [IV for KAT-Text] KAT-TEXT用IV [Counter for KAT-Text] KAT-TEXT用カウンタ(CTRモードのみ) [Counter for KAT-Text] KAT-TEXT用カウンタ(CTRモードのみ) [Ciphertext for KAT-Text] 上記パラメータに対する暗号文 [Plaintext for KAT-Key] KAT-Key用平文 [Plaintext for KAT-Key] KAT-Key用平文 [IV for KAT-Key] KAT-Key用IV [IV for KAT-Key] KAT-Key用IV [Counter for KAT-Key] KAT-Key用カウンタ(CTRモードのみ) [Counter for KAT-Key] KAT-Key用カウンタ(CTRモードのみ) [Key for KAT-Key] KAT-Key用鍵 [Key for KAT-Key] KAT-Key用鍵 [Ciphertext for KAT-Key] 上記パラメータに対する暗号文 [Key for KAT-GFSbox] KAT-GFSbox用鍵 [Key for KAT-GFSbox] KAT-GFSbox用鍵 [Plaintext for KAT-GFSBox] KAT-GFSbox用平文 [Plaintext for KAT-GFSBox] KAT-GFSbox用平文 [IV for KAT-GFSbox] KAT-GFSbox用IV [IV for KAT-GFSbox] KAT-GFSbox用IV [Counter for KAT-GFSbox] KAT-GFSbox用カウンタ(CTRモードのみ) [Counter for KAT-GFSbox] KAT-GFSbox用カウンタ(CTRモードのみ) [Ciphertext for KAT-GFSbox] 上記パラメータに対する暗号文 33 質問ファイル/回答ファイルのフォーマット ファイルフォーマットについては、次の資料をセキュリティ機能別 にJCMVPサイトの「公開資料」のページで公開しています。 − 暗号アルゴリズム実装試験仕様書 − JCATTファイルフォーマット 仕様書 − JCATTサンプルファイル http://www.ipa.go.jp/security/jcmvp/open_documents.html 34 暗号アルゴリズム実装試験の有効性 CMVPのFAQには、北米CMVP試験機関の初期 調査結果として、次のデータが示されています。 ・332の暗号アルゴリズム実装の調査結果 (DES、Triple-DES、 DSA及びSHA-1) ・88 (26.5%) のセキュリティ欠陥 35 暗号アルゴリズム実装試験のJCMVPでの 不合格事例(1) • RSA共通 – 暗号文、署名の長さの取扱が仕様に準拠していない。 – 仕様 PKCS#1 v2.1: RSA Cryptography Standard, June 14, 2002. ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.pdf • m : 符号化されたメッセージ n : RSA公開鍵の法。長さ k バイト • e : RSA公開鍵の指数 c : 暗号文。長さ k バイト c = m e mod n • mod 演算をした結果、先頭のバイトが0x00になった場合でもデータ を切り詰めない。 • RSA-OAEP, RSASSA-PSS – 暗号文、署名文がランダムにならず、仕様に準拠していない。 36 暗号アルゴリズム実装試験のJCMVPでの 不合格事例(2) • HMAC – HMACの鍵の取扱が仕様に準拠していない。 – 仕様 http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf • K : 鍵の長さ • L : ハッシュ関数の出力長 K ≥ L/2 • 使用するハッシュ関数の出力長の半分未満の鍵を使用しては いけない。 37 暗号アルゴリズム確認書 38 暗号アルゴリズム確認登録簿の掲載例(AES) http://www.ipa.go.jp/security/jcmvp/avallists.html 39 暗号アルゴリズム確認の活用例 • 暗号アルゴリズム確認の活用例して、次のことが考えられます。 CC評価 + 暗号アルゴリズム実装試験 – CC評価では暗号アルゴリズム実装の評価は行いません。(EAL4ではソース コードレビューを行いますが、暗号アルゴリズムの専門家でない限り、試験 ツールが行うレベルの確認は困難です。) – CC評価を補完する位置づけとして、JCMVPで承認されたセキュリティ機能を 実装しているTOE(評価対象)には、CC評価に合わせて暗号アルゴリズム実 装試験の実施が有効と考えられます。 CC:セキュリティ評価基準 EAL:評価保証レベル 40 暗号モジュール認証と暗号アルゴリズム確認の違い 暗号モジュール認証 ベンダ提出物 試験期間 申請料金 (試験費用を除く) 暗号アルゴリズム確認 認証申請書 、セキュリティポリシ、 確認申請書、回答ファイル 有限状態モデル、各種設計文書、 ソースコード、VE ドキュメント、 マニュアル、回答ファイル 2ヶ月∼ レベル1:262,500円 レベル2:375,000円 レベル3:525,000円 2週間∼ 21,000円 (セキュリティ機能の数に 制限はありません。) レベル4:735,000円 暗号アルゴリズム 確認書の交付 ○ ○ 暗号モジュール認 証書の交付 ○ − 認証マークの使用 ○ × 41 1. 暗号モジュール試験及び認証制度の概要 2. 暗号モジュール試験と暗号モジュール認証 3. 暗号アルゴリズム実装試験と暗号アルゴリズム確認 4. 暗号モジュールセキュリティ要件の標準化動向 42 暗号モジュールセキュリティ要件の変遷 イベント 米NSAによるDESの規格・認証プログラムFS1027としてスタート 1982年 1988年 管轄が米NISTに移り、FIPS140として引き継がれる 1994年1月 FIPS140-1に改定 1995年7月 米NIST、加CSEによる暗号モジュール認証制度CMVPがスタート 2001年5月 FIPS140-2に改定。CCや新しい攻撃に対する対応の追加 2002年10月 FIPS 140-2をベースにISO/IEC JTC1 SC27にNWI提案(19790) 2005年4月 FIPS 140-2 DTRをベースにNWI提案(24759) 2006年3月 FIPS140-2 をベースにISO/IEC 19790:2006を制定 2007年3月 JIS X 19790:2007、JIS X 5091:2007を制定 2008年7月 ISO/IEC 24759:2008(暗号モジュールのセキュリティ試験要件)制定 2009年4月 ISO/IEC WD19790(暗号モジュールセキュリティ要件)SC27に提出予定 2009年4月 JIS X 24759:2009 (暗号モジュールのセキュリティ試験要件)制定予定 2009年4月 FIPS 140-3Final Draft (暗号モジュールセキュリティ要件)公開予定 注: この内容は変更される可能性があります。 43 FIPS 140-3 スケジュール 2005年1月12日 FIPS 140-3の開発を公示。コメント受付開始。 2005年2月28日 FIPS 140-3に対するコメント受付終了 2005年9月26日 Physical Security Workshopをハワイで開催 2007年7月13日 FIPS 140-3 1st ドラフト公開 2007年10月11日 1st ドラフトコメント期間終了 2008年3月18日 ソフトウェアセキュリティに関するワークショップ開催 2009年2Q FIPS 140-3 最終ドラフト公開 2009年3Q 最終ドラフトコメント期間終了 2009年4Q FIPS140-3確定、商務長官承認手続き 2010年2Q FIPS 140-3 発効 2010年4Q FIPS 140-2 停止 注: この内容は変更される可能性があります。 44 FIPS 140-3及びその国際標準化動向 2009 FIPS 140-3 2010 運用 最終ドラフト 公開 商務長官 署名 発効 作成・内部レビュー FIPS 140-3DTR ISO/IEC 19790 早期改訂 2011 運用 公開 発効 運用 SC27 CD審議 FDIS審議 IS発行 レドモンド会合 WD審議 ISO/IEC 24759 早期改訂 運用 早期改訂提案 WD審議 CD審議 FDIS審議 IS発行 45 FIPS 140-3の主な変更点 • • • • • • セキュリティレベル5の追加 ソフトウェアモジュール、ハイブリッドモジュールの導入 ソフトウェアセキュリティの章を追加 タンパーシールに固有番号を付加 非侵襲攻撃の章を追加 暗号鍵管理をSSPのライフサイクル管理に拡大 • パワーアップ自己テストの一部を条件自己テストに移動 ドラフトベースの内容のため 変更になる可能性があります 46 FIPS 140-3 内部ドラフト 暗号モジュールセキュリティ要件要約 セキュリティレベル 1 暗号モジュールの仕様 セキュリティレベル2 セキュリティレベル 3 セキュリティレベル 4 セキュリティレベル 5 モジュール、暗号境界の定義。承認された暗号アルゴリズム及び承認された動作モード。モジュールハードウェア、及びソフトウェアの記 述。モジュール文書。 承認された動作モードをセキュリティポリシで定義 承認された動作モードをモジュールで表示 暗号モジュールのポー ト及びインターフェース 必す(須)のインタフェース及び選択可能なインタ フェース。すべてのインタフェースの仕様及びすべて の入出力データパスの仕様。 高信頼チャネルを用いて他のポート及びインターフェースから物理的又は論理 的に分離されたCSPの入出力。 役割、サービス及び認 証 モジュールの役割と サービスの定義 役割ベースのオペレー タ認証又はIDベースの オペレータ認証 IDベースのオペレータ 認証 ソフトウェアセキュリティ 実行形式コード、 承認 された完全性技術 ディジタル署名ベースの 完全性テスト ディジタル署名完全性 テストが失敗したときは CSPをゼロ化 動作環境 他のプロセスからの CSPへのアクセスを禁 止。 監査メカニズム、任意ア クセスの制御 暗号ソフトウェア、 SSP 及び監査データの保護。 高信頼チャネル 物理的セキュリティ 製品グレードのコンポー ネント タンパー証跡、 不透明 なカバーまたは囲い 除去可能カバー、ドアに 対するタンパー検出及 びゼロ化回路。通気口 のプロービング対策。堅 くて不透明なコーティン グ又は囲い。 温度及び電圧に関する EFP又はEFT。マルチ チップモジュールに対す るタンパー検出及びゼ ロ化回路。 温度及び電圧に関する EFP。 非視覚光検査に 対する不透明性。タン パー検出及びゼロ化回 路の無効化に対する保 護。 物理的セキュリティ 非侵襲攻撃 追加要求なし TA, SPA、DPA、EME攻 撃に対するCSPの保護 セキュリティレベル4試 験基準にパスすること セキュリティレベル5試 験基準にパスすること 二要素によるIDベースのオペレータ認証. 47 FIPS 140-3 内部ドラフト 暗号モジュールセキュリティ要件要約 セキュリティレベル 1 SSP管理 セキュリティレベル 2 セキュリティレベル 3 セキュリティレベル 4 セキュリティレベル 5 乱数生成器、SSP生成、SSP確立、SSP入出力、SSP格納、CSPゼロ化に対する要件 電子的に配送されないSSPは平文で入出力されても よい。 電子的に配送されないSSPは暗号化又は秘密分散 手続きを用いて入出力されなければならない。 PSPのゼロ化 自己テスト 動作前自己テスト;ソフトウェア完全性テスト及び動作前バイパステスト。条件自己テスト;暗号アルゴリズムテスト、鍵ペア整合性テスト、ソ フトウェアロードテスト、手動鍵入力テスト、連続乱数生成器テスト、乱数生成器エントロピー源テスト、及び条件バイパステスト ライフサイクル保証 (構成管理システム) モジュール、コンポーネント、文書に対する構成管理 システム、ライフサイクル全般に亘る識別とトラッキン グ 自動化された構成管理システム (設計) 暗号モジュール設計とセ キュリティポリシ、FSMと の対応付け 暗号モジュールの主要 構成要素の機能を記述 した詳細設計.文書 (有限状態モデル) 有限状態モデル (開発) コメント付きソースコード、 回路図、HDL (ベンダ試験) 機能試験 (配付とオペレータ) 起動手順 (ガイダンス文書) アドミニストレータ及び非アドミニストレータガイダンス文書 その他の攻撃への対処 その他の攻撃への対処メカニズムはセキュリティポリシで規定 暗号モジュールを非形 式的に記述した機能仕 様.文書 高級言語ソフトウェア、高級HDLハードウェア 暗号モジュール設計と 機能仕様間の関係の非 形式的証明 セキュリティポリシの ルールを記述する形式 モデル。形式モデルと機 能仕様間の関係の非形 式的証明。 ハードウェア、ソフトウェア文書は事前条件、事後条 件を規定するコメントをつけること 詳細試験 配付手順 ベンダ提供の認証情報を用いたオペレータ認証 48 おわりに(開発者の方へのお願い) 1. 暗号モジュールのセキュリティ要件及び試験要件をよく読 んで下さい。 → 不明な点は遠慮なく、ご質問下さい。 2. 暗号モジュール試験実施予定の有無に関係なく、セキュ リティ要件を満足するように(例えば、既知解テストなどの 自己テスト、エラー時の出力禁止)実装してください。 3. 実装において、鍵やパスワード等の重要データを一時格 納したエリアのデータ消去を忘れないでください。 セキュリティが向上し、実装変更をしないで、暗号モジュール試 験を受けることができます。 49 ご清聴有難うございました。 JCMVPホームページ http://www.ipa.go.jp/security/jcmvp/ お問い合わせ先 [email protected] 50