暗号鍵のライフサイクルのモニター
IBM® Key Protect for IBM Cloud® 鍵の状態については、NIST SP 800-57 に従って確立されたセキュリティ・ガイドラインに従う。
鍵の状態および遷移
暗号鍵は通常、いくつかの状態を遷移します。状態は、鍵の存在期間や、鍵がデータの暗号化に現在使用されているかどうかに応じて変化します。
Key Protect で提供されているグラフィカル・ユーザー・インターフェースまたは REST API を使用して、鍵のライフサイクルにおける状態の変化を追跡できます。 次の図は、鍵がその生成から消滅までの間にいくつかの状態を経過する様子を示しています。
この図では「アクティベーション前」状態 (NIST 標準で定義されている状態の 1 つ) にある鍵が示されていますが、技術的な観点から言うと、「アクティベーション前」とは、鍵が存在する前の状態のことです。 鍵がまだ存在しないので、当然、鍵の状態も存在しません。 しかしながら、全体的な概念として図に示しています。 鍵が_破棄_状態に移行してから特定の期間、鍵素材が永続的に断片化されている鍵の「パージされた」状態は、この図には示されていません。同様に、存在しない状態です。
| 状態 | 整数マッピング | 説明 |
|---|---|---|
| アクティブ | 1 | キーはアクティブ化されると同時に_「アクティブ」_状態に移行します。 この遷移は、鍵の暗号期間の開始をマークします。 アクティベーション日が指定されていない鍵は、即時にアクティブになり、有効期限が切れるか破棄されるまでアクティブのままになります。 |
| 中断 | 2 | 暗号化操作および復号操作が無効になると、キーは_「サスペンド」_状態に遷移します。 この状態では、鍵はデータを暗号的に保護できず、_アクティブ_状態または_破棄_状態にのみ移動できます。 |
| 非アクティブ | 3 | 鍵が割り当てられている場合、鍵は有効期限日から 1 時間以内に_非アクティブ化_状態に移行します。 この状態では、鍵に対して実行できるアクションは、アンラップ、再ラップ、ローテート、および削除のみです。 |
| 破棄済み | 5 | 削除された後、鍵は_破棄_状態に移行します。 この状態の鍵は、30 日間は復旧可能です。ただし、90 日後にパージ対象になります。 必要に応じて、_破棄_状態に移行してから 4 時間後にパージすることもできます。 _破棄_状態に移行した後、鍵に関連付けられているメタデータ (鍵の名前や最後に移行した時点のレコードなど) は、鍵がパージされるまで Key Protect データベースに保持されます。 詳しくは、[鍵の削除およびパージについて |
| ](/docs/key-protect?topic=key-protect-delete-purge-keys)を参照してください。 |
有効期限を設定して作成された鍵は、有効期限満了後1時間以内に自動的に Deactivated 状態に移行するため、有効期限を設定する際には注意が必要である。 この状態では、キーに対して許されるアクションは、アンラップ、リラップ、ローテート、デリートのみである。 非アクティブ化された鍵は、たとえ非アクティブ化中にローテートされたとしても、新しいデータを暗号化(ラップ)するために使用することはできない。 ローテーションは、有効期限をリセットしたり延長したりするものではなく、日付を変更することもできない。 サービスの中断を防ぐため、有効期限切れまたは期限切れの鍵で暗号化されたデータは、元の CRK の有効期限が切れる前に、新しいカスタマ・ルート鍵(CRK)を使用して再暗号化することを推奨する。 非アクティブ化されたキーを削除して復元しても、 _アクティブ_状態には戻らない。 expiration_date属性が省略された場合、鍵は失効しない。
有効期限のあるキーの使用状況を監視するには IBM Cloud Logs. ログは、有効期限を持つキーのJSONプロパティ responseData.expirationDate 、 responseData.daysToKeyExpire 、 以下の action の値を使用して、有効期限と残り日数を示す: kms.secrets.wrap kms.secrets.unwrap、 kms.secrets.rewrap、 kms.secrets.read、 kms.secrets.readmetadata、 kms.secrets.create、 kms.secrets-with-policy-overrides.create 、 kms.secrets.expire。
さらに、 GET /api/v2/keys への REST 呼び出しに成功すると、有効期限のある各キーについて、 expirationDate プロパティが返される。
鍵の状態およびサービス・アクション
鍵の状態は、鍵に対して実行されるアクションが成功するか失敗するかに影響します。 例えば、鍵が_アクティブ_状態の場合、鍵が以前に削除されていないため、鍵を復元することはできません。
以下の表に、鍵の状態がサービス・アクションに与える影響を示します。 列ヘッダーは鍵の状態を表し、行ヘッダーは、鍵に対して実行できるアクションを表します。 チェック・マーク・アイコン ( は、鍵の状態に基づいて鍵に対するアクションが成功することが予期されることを示します。
| アクション | アクティブ | 中断 (無効化された鍵) | 非アクティブ化 (期限切れの鍵) | 破棄 (削除された鍵) |
|---|---|---|---|---|
| 鍵の取得 | ||||
| 鍵のリスト | ||||
| キーのローテーション | ||||
| キーのラップ | ||||
| キーのアンラップ | ||||
| キーの再ラップ | ||||
| 鍵の無効化 | ||||
| 鍵の有効化 | ||||
| 鍵の削除 | ||||
| 鍵の復元 |
暗号期間、作成者の使用期間、および受領者の使用期間
NISTの標準用語や鍵管理システムに詳しい方なら、「暗号期間」、「発信者使用期間」、「受信者使用期間」という概念をご存知だろう。
「暗号期間」は、鍵のライフサイクル全体を表します。 鍵が作成されてから1年後に消去された場合、その鍵のcryptoperiodは1年である。 つまり、鍵の暗号期間は、鍵が作成されたときから始まります。
同様に、「作成者の使用期間」と「受領者の使用期間」も、鍵が作成されたときから始まります。 前者は、データをラップして保護するために鍵を使用できる期間を表します。 一方、「受領者の使用期間」は、保護されたデータを復号するために鍵をアンラップできる期間を表します。 非アクティブ化された鍵が、データのラップにはもう使用できないが、データのアンラップにはまだ使用できることを思い出してください。 したがって、鍵が_非アクティブ化_状態 (例えば、有効期限を設定することによって) に移行した場合、その鍵のオリジネーター使用期間は終了しています。 一方、「受領者の使用期間」は、鍵が削除されるまで続きます。
鍵に有効期限が設定されていない場合 (かつ、手動による中断も非アクティブ化も破棄も実行されていない場合)、鍵の作成者の使用期間、受領者の使用期間、暗号期間は同じです。
ライフサイクルの変更のモニター
サービスに鍵を追加した後、Key Protect ダッシュボードまたは Key Protect REST API を使用して、鍵が最後に遷移した日時を確認できます。
監査目的のために、 Key Protect と統合することで、キーのアクティビティトレイルを監視することもできます。 IBM Cloud Logs. 両サービスがプロビジョニングされ実行された後、 Key Protect の鍵に対してアクションを実行すると、イベントが生成され、 IBM Cloud Logs のログに自動的に収集される。