Azure Key Vault キーをセキュリティで保護する

Azure Key Vault キーは、暗号化、デジタル署名、およびキー ラッピング操作に使用される暗号化キーを保護します。 この記事では、暗号化キー管理に固有のセキュリティに関する推奨事項について説明します。

この記事では、Key Vault キーに固有のセキュリティ プラクティスについて説明します。 ネットワーク セキュリティ、ID とアクセス管理、コンテナー アーキテクチャなどの包括的なKey Vault セキュリティ ガイダンスについては、Azure Key Vaultを参照してください。

キーの種類と保護レベル

Azure Key Vaultでは、保護レベルが異なるさまざまなキーの種類がサポートされます。 セキュリティ要件に基づいて適切なキーの種類を選択します。

  • ソフトウェアで保護されたキー (RSA、EC):FIPS 140-2 レベル 1 で検証されたソフトウェアによって保護されたキー。 暗号化と署名の操作を必要とするほとんどのアプリケーションに適しています。

  • HSM で保護されたキー (RSA-HSM、EC-HSM): ハードウェア セキュリティ モジュール (HSM) によって保護されるキー。 すべての新しいキーとキー バージョンは、FIPS 140-3 レベル 3 の検証済み HSM (HSM プラットフォーム 2) に作成されます。 ハードウェアベースのキー保護が必要なセキュリティの高いシナリオに推奨されます。

  • マネージド HSM キー: FIPS 140-3 レベル 3 で検証されたハードウェアを備えた専用のシングルテナント HSM プール内のキー。 最高のセキュリティとコンプライアンスの要件に必要です。

キーの種類の詳細については、「Azure Key Vault キーについてを参照してください。

主な使用法と操作

キー操作を、攻撃対象領域を最小限に抑えるためにアプリケーションに必要なもののみに制限します。

  • キー操作を制限する: 必要なアクセス許可のみを付与する (暗号化、暗号化解除、署名、検証、wrapKey、unwrapKey)
  • 適切なキー サイズを使用します。
    • RSA キー: 2048 ビットの最小 4096 ビットを使用して、セキュリティの高いシナリオを実現する
    • EC キー: セキュリティ要件に基づいて P-256、P-384、または P-521 曲線を使用する
  • 目的別にキーを分離する: 暗号化操作と署名操作に異なるキーを使用して、キーが侵害された場合の影響を制限する

キー操作の詳細については、「キーの操作 (Key operations in Key Vault)」を参照してください。

キーのローテーションとバージョン管理

通常のキー ローテーションを実装して、侵害されたキーからの公開を制限します。

  • キーの自動ローテーションを有効にする: アプリケーションのダウンタイムなしでキーをローテーションするように自動ローテーション ポリシーを構成します。 キーの自動ローテーションの構成を参照してください
  • ローテーション頻度の設定: 少なくとも 2 年ごとに暗号化キーをローテーションするか、コンプライアンス要件に基づいてより頻繁に暗号化キーをローテーションする
  • キーのバージョン管理を使用する: キーのバージョンを自動的にKey Vaultし、既存の暗号化されたデータを壊すことなくシームレスにローテーションできます
  • 再暗号化の計画: 長期的なデータの場合は、新しいキー バージョンでデータを再暗号化する戦略を実装します

ローテーションの詳細については、 Azure Key Vaultを参照してください。

キーのバックアップと回復

適切なバックアップと回復の手順を実装して、データ損失から保護します。

  • 論理的な削除を有効にする: 論理的な削除では、保持期間内 (7 ~ 90 日以内) に削除されたキーを回復できます。 「Azure Key Vault の論理的な削除の概要」を参照してください
  • 消去保護を有効にする: 保持期間中にキーを完全に削除しないようにします。 「消去保護」を参照してください。
  • 重要なキーのバックアップ: かけがえのないデータを保護するキーのバックアップをエクスポートし、安全に保存します。 Azure Key Vault バックアップ
  • バックアップのアクセス許可を制限する: backup キー操作を、純粋に必要な ID にのみ付与します。 別のボールトに復元されたバックアップキーは、元のボールトとは独立した存在になります。 詳細については、 バックアップのセキュリティに関する考慮事項 を参照してください。
  • ドキュメントの回復手順: 主要な回復シナリオ用に Runbook を維持する

キー漏えい時の対応

(たとえば、未承認のバックアップや別のコンテナーへの復元によって) キーが侵害されたと思われる場合は、キーをすぐに無効にしたり削除したりしないでください。 復元されたコピーはソース コンテナーから完全に独立しているため、元のコピーを無効にしたり、削除したり、消去したりしても、復元されたコピーは無効になりません。 同時に、キーを無効または削除すると、依存するすべてのサービスがオフラインになります (Azure SQL TDE、Azure Storage SSE、Azure Disk Encryption など)。

代わりに、侵害を封じ込め、クリーンなコンテナー内の新しいキーへローテーションし、依存するすべてのサービスを移行した後で、侵害されたキーを無効にします。 詳細なインシデント対応手順については、 バックアップのセキュリティに関する考慮事項を参照してください。 キーのローテーション手順については、 Azure Key Vault での暗号化キーの自動ローテーションの構成に関するページを参照してください。

未承認のキー流出を早期に検出するには、Key Vault 監査ログで KeyBackupKeyRestore 操作を監視し、予期しないアクティビティに関するアラートを生成します。 詳細については、 Azure Key Vault のログ記録に関するページを参照してください。

Bring Your Own Key (BYOK)

Key Vaultに独自のキーをインポートする場合は、セキュリティのベスト プラクティスに従ってください。

BYOK の詳細については、「Key Vault 用の HSM で保護されたキーのインポート」を参照してください。

キーのリリースと認証

信頼できる実行環境 (Azure Confidential Computing、機密 VM、機密コンテナー) にキーを解放するシナリオの場合:

  • キー リリース ポリシーを使用する: 作成時にリリース ポリシーをキーにアタッチして、どの構成証明された環境が生のキーマテリアルを取得できるかを制御します。 Key Vaultは、呼び出し元が提示する構成証明トークンに対して、JSON 要求と条件文法を使用するポリシーを評価します。 ポリシー スキーマについては、セキュリティで保護されたキーリリース ポリシーの文法Azure Key Vault参照してください。
  • 構成証明の確認: ワークロードは、リリース ポリシー内のすべての要求に一致する信頼された構成証明サービス (Microsoft Azure Attestation など) からの構成証明トークンを提示する必要があります。 エンド ツー エンドの概念ガイダンスとエンドツーエンドのフローについては、「Azure Confidential Computing を使用したセキュリティで保護されたキーリリース」を参照してください。
  • 監査キーのリリース: コンテナーで診断ログを有効にし、KeyRelease 操作を監視します。 予期しないプリンシパル、予期しないソース IP、またはリリース ボリュームの急増に関するアラート。 詳細については、 Azure Key Vault のログ記録に関するページを参照してください。

監視と監査

キーの使用状況を追跡して、承認されていないアクセスまたは疑わしいパターンを検出します。

  • 診断ログを有効にする: セキュリティ分析のためにすべてのキー操作をログに記録します。 Azure Key Vaultログ記録を参照してください
  • キー操作の監視: 暗号化、暗号化解除、署名、検証の操作を追跡してベースラインの使用パターンを確立する
  • アラートの設定: 次のAzure Monitorアラートを構成します。
    • 通常とは異なるキー アクセス パターン
    • 失敗したキー操作
    • キーの削除または変更
    • キーの有効期限が近づいている

Azure Key Vault の監視とアラートを参照してください。

キーの有効期限

必要に応じて、キーの有効期限を設定します。

  • 一時キーの有効期限を設定する: 期限付き目的で使用されるキーには有効期限が設定されている必要があります
  • 期限切れのキーを監視する: Event Grid 通知を使用して、キーの有効期限が切れる前にアラートを生成します。 Event Grid ソースとしてAzure Key Vault
  • キーの更新を自動化する: 有効期限が切れる前にキーをローテーションする自動化されたプロセスを実装する

次のステップ