暗号鍵管理
暗号鍵管理は、データの機密性と完全性、および、システム利用者の認証を目的として使われます。
システムをセキュアに保つためには、暗号アルゴリズム自体がセキュアであるだけでは不十分で、その暗号鍵もセキュアに管理されている必要があります。これは、暗号鍵管理の脆弱性を突く攻撃方法の方が、暗号アルゴリズム自体を破るよりも一般に容易であるためです。
CRYPTREC 暗号リスト
総務省と経済産業省は、安全性、実装性能及び市場における利用実績を踏まえて暗号技術の評価を行い、2013年に「電子政府における調達のために参照すべき暗号のリスト(CRYPTREC 暗号リスト)」を策定しました。
特に、安全性及び実装性能が確認された暗号技術で、市場における利用実績が十分であるか、今後の普及が見込まれると判断されたものは「電子政府推奨暗号リスト」に分類されます。
暗号鍵管理における時間管理
暗号鍵管理での時間の定義は以下になります。
- 暗号鍵管理システムのライフタイム
暗号鍵管理システムの運用開始から運用終了までの期間。 - 暗号アルゴリズムのライフタイム
暗号アルゴリズムが利用できる運用開始から運用終了までの期間。 - 情報のライフタイム
情報が生成されてから廃棄されるまでの保護が必要な期間。 - 暗号鍵有効期間
鍵情報(暗号鍵やメタデータ)が生成されてから廃棄されるまでの期間。 - 最大許容暗号鍵有効期間
同一の鍵情報が利用可能な期間の最大許容値。
暗号鍵のライフサイクル
暗号鍵は、生成から破壊までの間(ライフサイクル)にいくつかの状態が存在します。
- 活性化前状態
暗号鍵は生成されたが、使用が認可されていない状態です。鍵の所持証明などの暗号鍵の検証にのみ使用することができます。 - 活性化状態
暗号鍵が、実際の暗号処理で使用することを認可されている状態です。 - 非活性化状態
暗号鍵は、暗号化や署名生成には使用できませんが、暗号化された保護情報の復号や署名検証には使用できます。例えば、アーカイブされている暗号鍵が該当します。 - 破壊状態
暗号鍵が完全に存在しなくなった状態です。但し、当該暗号鍵で暗号化された情報は復号することができなくなります。 - 一時停止状態
暗号鍵の利用が一時的に認められなくなっている状態です。暗号鍵の危殆化が疑われている場合、暗号鍵を所有する利用者(デバイス)が一定期間利用しない場合が該当します。 - 危殆化状態
暗号鍵が、実際の暗号処理で安全に利用できる保証がなくなった状態です。危殆化状態となった暗号鍵は失効させる必要があります。
暗号鍵管理システム設計指針
IPAの暗号鍵管理システム(以下、CKMS)の設計指針では、検討項目が目的に応じて以下の6つのグループに分類されています。1~4は暗号鍵管理システムの利用環境に関わらず検討する必要がある項目になります。
- CKMSの設計原理と運用ポリシ
CKMSとして実現すべき全体方針に関する検討項目です。ここでの検討結果が2以降の検討項目での具体的な技術的選択や精緻化などでの条件として適用されます。 - 暗号鍵管理オペレーション対策
1の方針を実現するために、生成から廃棄までのライフサイクルでの暗号鍵の管理で必要となる機能や運用方法に関する検討項目です。狭義の意味での暗号鍵管理に相当します。 - 暗号アルゴリズムの選択
利用する暗号アルゴリズムの選択条件に関する検討項目です。 - 鍵情報の管理
2で規定した暗号鍵やメタデータについて、具体的な設定方法や保管方法に関する検討項目です。 - 暗号鍵管理デバイスのセキュリティ対策
暗号鍵を管理するための個々のデバイスに対して、必要に応じて検討する項目です。暗号鍵の管理・保管を実際に行う個々のデバイスを対象とします。 - CKMSのオペレーション対策
システムとしての暗号鍵管理が正常に機能するための検討項目です。暗号鍵管理システム全体の総合的なシステム設計で必要となります。
CKMSの設計原理と運用ポリシ
この章では以下の検討項目が含まれています。
- CKMSの運用方針(ポリシ)と必要な機能を定める。
CKMSで使用される鍵情報の機密性、完全性、可用性およびソース認証を保護するためのルールを定めるとともに、関連する他のセキュリティポリシとの整合性を考慮する必要があります。- 認可された範囲でのみ機微な情報にアクセスできること、認可されないアクセスを検知・防御し、管理者に通報すること
- データと所有者が関連付けられない匿名性、 2 つ以上の関連する事象を互いに関係付けられない連結不可能性、相手が特定できない観測不可能性など考慮すること
- 鍵情報を認可されない開示(窃取)や改変(改ざん)から保護すること
- 異なるセキュリティドメイン間での互いのセキュリティポリシの検証方法や、鍵情報を交換するための手順などを定めること
- 関係者の役割と権限を定める
役割には、CKMS 全体の最終責任を負う「システムオーソリティ」、CKMS の現場責任者である「システム管理者」および「暗号責任者」、CKMS 運用から独立して監査を行う「監査責任者」、「CKMS ユーザ」などがあります。- 一個人に複数の役割が割り当てる場合、どのように役割を混同せずに実行するか定めること
- 説明責任を果たすための操作ログを取得すること
- CKMS の構築環境や実現目標を定める
CKMSを構成するハードウェアやソフトウェアを明確にし、以下の観点で仕様を定めます。- 日時の正確性を実現する仕組みを定める
- CSMSがサポートするアプリケーションを定める
- 初期および将来のユーザ数、利用目的、利用環境(場所、時間等)、ユーザに課す知識・責任などを定める
- 複数のシステム間で相互運用する場合はインタフェースの仕様を定める
- 習熟していないユーザでも操作できるようユーザインタフェースの検討する
- 適合しなければならない法規制や標準化等を確認する
- どのような標準に適合するか定める
- 使用される地域に適用される各国の法律・ルール・規則等へ準拠する
- 将来的な移行対策について検討する
円滑な移行には、2つの暗号アルゴリズムの利用を同時にサポートする可能性を考慮する必要があります。- 保護する情報のライフタイムと同じかそれ以上のセキュリティライフタイムを持つ暗号アルゴリズムを利用する
- 暗号アルゴリズムに対する新しい攻撃や新しい計算機技術の発展など潜在的な脅威を考慮する
暗号鍵管理オペレーション対策
この章では以下の検討項目が含まれています。
- CKMSの概要を明確化する
- 鍵が生成される場所と手段、鍵タイプ、保管中および配送中の保護方法など、機微なデータを保護するための暗号鍵に対する設計方針や要求事項を定める
- 活性化、非活性化、危殆化、破壊などの鍵状態と遷移条件を定義し、状態間の遷移や遷移の際のデータの入出力を定める
- 暗号鍵のライフサイクルでの以下の機能を定める
- 暗号鍵のライフサイクルにおける鍵状態および遷移条件
- 鍵活性化の手順や遷移条件、通知方法
- 鍵非活性化の手順や遷移条件、変更方法、通知方法
- 鍵失効の遷移条件および通知方法
- 暗号鍵を一時停止と再活性化するための遷移条件および通知方法
- 鍵情報を破壊するための条件や具体的な破壊方法、通知方法
- 暗号鍵を生成する際に利用する乱数生成器
- 鍵導出機能/鍵更新機能が利用される条件や鍵導出方法、通知方法
- 対称鍵または公開鍵/秘密鍵の検証機能が利用される条件や検証方法
- トラストアンカー(公開鍵の信頼性の起点)の完全かつセキュアな運用(配送・保管・追加・削除)で必要な機能
- 公開鍵の有効期間延長機能が利用される条件や事前通知方法
- 利用者(デバイス)などを伴う暗号鍵の所有者登録機能
- プライベート鍵所持の検証機能が利用される条件や検証方法
- 暗号鍵とメタデータの関連付けの暗号鍵有効期間を通じた完全性の維持
- メタデータの変更機能・削除機能が利用できる対象や条件、認可されていない利用者(デバイス)の利用防止策
- メタデータリスト化機能が利用できる対象や条件といったメタデータリスト化機能
- 鍵情報の保管方法を定める
- 鍵情報を利用する前には読み出したデータの完全性の検証
- 認可されたユーザのみが保管された鍵情報にアクセスさせる機密性の保護
- 運用中の鍵情報の保管場所や保護方法
- 鍵情報のバックアップやアーカイブを行うための方法
- バックアップやアーカイブされた鍵情報を復元するための条件や復元方法
- 鍵情報の鍵確立方法を定める
鍵確立機能:2 つ以上の利用者(デバイス)で暗号鍵を共有するプロセス
鍵配送:一方の利用者(デバイス)で暗号鍵を生成し他方に配付する方法
鍵合意:両方の利用者(デバイス)が共有鍵導出のための情報を共有する方法- 鍵配送における機密性保護のため、完全性保護や鍵送信者に対する要求事項
- 鍵合意プロセスの手法、利用者(デバイス)の認証方法
- 他方の利用者(デバイス)が正しい暗号鍵を確立したことの確認をするための条件
- 利用する鍵確立プロトコル
(例:IKE、TLS、S/MIME、Kerberos、DNSSEC、SSH など)
- 鍵情報のBCP対策を定める
- 鍵情報の喪失・破損に対する対策として、当該暗号鍵のバックアップや利用停止、失効処理、潜在的なリスク評価、新しい暗号鍵への置き換え、データの再暗号化などの手続き
- 鍵情報の危殆化の原因および影響範囲の評価、影響範囲の最小化、危殆化の再発防止などの対策
- 役員・従業員によるセキュリティ危殆化に対する対策
- CKMSをセキュアな運用状態に復帰させる
暗号アルゴリズムの選択
この章では以下の検討項目が含まれています。
- 暗号アルゴリズムを定める
- 要求される保護レベル(セキュリティ強度)に応じた暗号アルゴリズムの選定
暗号アルゴリズムのセキュリティ強度を表す目安であるビットセキュリティとは、最も効率的な解読手法を用いた場合に、どの程度の計算量があれば解読できるかで表され、解読計算量が $2^x$ である場合に「$x$ ビットセキュリティ」と言います。
ビットセキュリティは多いほどセキュリティは高いとされます。128ビット以上であれば、2031年以降も利用可能とされており、長期的な利用期間の目安になります。
ビットセキュリティ | 暗号アルゴリズム | 利用上の条件 | ~2030年 | 2031年~ |
80ビット | RSA-1024,DH-1024, ECDH-160,ECDSA-160, SHA-1 | 新規に処理をする場合 | 利用不可 | 利用不可 |
過去に処理したものを利用する場合 | 過去のシステムとの互換性維持の利用だけを容認 | |||
112ビット | RSA-2048,DH-2048, ECDH-224,ECDSA-224 | 新規に処理をする場合 | 利用可 | 利用不可 |
過去に処理したものを利用する場合 | 利用可 | 過去のシステムとの互換性維持の利用だけを容認 | ||
128ビット | AES-128,Camellia-128, ECDH-256,ECDSA-256, SHA-256 | 特になし | 利用可 | 利用可 |
鍵情報の管理
この章では以下の検討項目が含まれています。
- 暗号鍵および鍵情報の有効期間を定める
- 生成する鍵情報を定める
- CKMSが取り扱う全ての鍵タイプの利用用途および生成手段、メタデータ、信頼関係、保護方針など
- 鍵情報のセキュリティ対策を定める
- 暗号学的プロセスや信頼プロセスを利用する場合のメタデータ要素内の暗号鍵、メタデータなどの情報を保護する方法
メタデータとは、CKMSで管理されている特定の暗号鍵に関連付けられている情報で、鍵ラベルや鍵タイプ、鍵長などが含まれます。
暗号鍵管理デバイスのセキュリティ対策
この章では以下の検討項目が含まれています。
- 鍵情報へのアクセスコントロールを定める
- 鍵情報の管理機能が認可された要求への応答としてのみ実行されること
- 暗号モジュールへの要求事項についての暗号モジュールセキュリティポリシ
- 鍵情報の暗号モジュールへの入出力のための機能と制限
- 暗号モジュールの危殆化に対するBCP対策、当該暗号モジュールのセキュア状態の再確立
- 暗号鍵管理機能を実行するために複数の利用者(デバイス)が協力する場合の要求事項
- 鍵分割で管理される暗号鍵と鍵分割の利用条件
- 必要なセキュリティ評価・試験を定める
- 2つ以上のデバイスを相互接続した場合の相互運用性テストの実施概要
- 機能テストおよびセキュリティテスト(ペネトレーションテストなど)の実施概要
- 環境テスト(例えば、温度範囲及び電圧範囲など)の実施概要
- セルフチェックテスト(完全性およびセキュリティ障害に対してデバイスが自分自身を定期的にテストする機能)の概要
- スケーラビリティテスト(プロセスが増大する負荷への適応性)の実施概要
- 第三者テスト(CC認証、JCMVP認証、CMVP認証、CAVP認証など)の概要
- 暗号モジュールの障害時のBCP対策を定める
- 暗号モジュールのハードウェアやソフトウェアの障害を検知するためのテスト機能
- 障害が起こった暗号モジュールの修理または交換の方策と確認方法
CKMSのオペレーション対策
この章では以下の検討項目が含まれています。
- CKMS のセキュリティ対策を定める
- 内部の機微なデータを窃取および改ざんなどから保護するための方策
- デバイスに対する認可されない使用から保護するための方策
- マルウェア感染防止に対する要求事項
- イベント内容、発生日時、イベントを発生させたデバイスなど、監査機能に対する要求事項
- セキュリティ境界をコントロールするためのセキュリティデバイス(ファイアウォールおよび侵入検知・防御システム、DoS/DDoS攻撃の防止など)
- CKMSの構成管理を定める
- 構成変更の方法など構成管理に関する要求事項
- セキュアな配付を保証・確認(受領した製品が間違いなく注文した製品であること)するための要求事項
- 開発環境およびメンテナンス環境における物理的、人的、システム的セキュリティに関する要求事項
- 欠陥修正能力(システムの欠陥を検知、報告および修正する能力)に関する要求事項
- CKMSのセキュリティアセスメントを定める
- 第三者検証のレビュー、システム設計のアーキテクチャレビュー、機能テストおよびセキュリティテスト、ペネトレーションテストなどのセキュリティアセスメントの要求事項
- 、前回のセキュリティアセスメントからのシステム変更箇所の検査などの定期的なセキュリティアセスメントでの要求事項
- システムに著しい変更が加えられた場合など、追加のセキュリティアセスメントでの要求事項
- 設定が変更されたり新しい脅威が発見された場合のセキュリティメンテナンスでの要求事項
- 第三者検証のレビュー、システム設計のアーキテクチャレビュー、機能テストおよびセキュリティテスト、ペネトレーションテストなどのセキュリティアセスメントの要求事項
- アクセスコントロールの危殆化時のBCP対策を定める
物理セキュリティやコンピュータシステム、ネットワークセキュリティコントロールの危殆化によりアクセスコントロールの危殆化が検知された場合、次のステップを参考に、適切な当事者に危殆化を警告し、望ましくない影響を軽減し、セキュアな状態に復帰させます。- 原因および範囲を決定するために危殆化を評価
- 鍵情報の露出を最小化するために危殆化軽減手段を実行
- 危殆化の再発を防止するために適切な是正手段を実施
- CKMS をセキュアな運用状態に復帰させる
- 障害・災害発生時の BCP 対策を定める
- CKMS設備の物理的損害発生時において準備すべき要求事項、および、復旧のための手続きや要求事項
- 公共サービス(電気、水道、下水道、空調など)の停止時における代替手段。例えば、基幹設備とバックアップ設備は別系統の独立した電力線から電力を供給する
- ユーザニーズの増大への対応の他、通信および計算機能の機能停止を想定し、利用可能な代替手段を整える
- システムバックアップが定期的に作成され、CKMSが運用可能な状態に復旧できることを確認する
- CKMS設備の物理的損害発生時において準備すべき要求事項、および、復旧のための手続きや要求事項