次の方法で共有


Azure Cloud HSM デプロイをセキュリティで保護する

Microsoft Azure Cloud HSM には、暗号化キーを保護し、クラウド内の機密性の高いワークロードをセキュリティで保護するための高保証ハードウェア セキュリティ モジュール (HSM) ソリューションが用意されています。 承認されていないアクセスを防ぎ、運用の整合性を維持し、パフォーマンスを最適化するには、セキュリティのベスト プラクティスを実装することが不可欠です。

この記事では、Cloud HSM デプロイを最適にセキュリティで保護する方法に関するガイダンスを提供します。

セキュリティとコンプライアンス

  • 信頼のルートを保護する: アプリケーション パーティション (POTA) 秘密キー (PO.key) のパーティション所有者へのアクセスを制限することをお勧めします。 アプリケーション パーティション (AOTA) と POTA 秘密キーの管理者は、ルート アクセスと同等です。 パーティション内の暗号化責任者 (CO) ユーザーのパスワードをリセットできます (パーティション 0 の場合は AOTA、ユーザー パーティションの場合は POTA)。

    PO.key は、実行時に HSM アクセスに不要です。 パーティション所有者認証証明書 (POAC) と CO パスワードのリセットの初期署名にのみ必要です。 PO.keyオフラインで保存し、可能であればオフライン コンピューターで最初の POAC 署名を実行することをお勧めします。

    重要

    お客様は、POTA 秘密キーを保護する責任を負います。 POTA 秘密キーを失うと、CO パスワードを回復できません。 POTA 秘密キーを安全に保存し、適切なバックアップを維持することをお客様にお勧めします。

ネットワークのセキュリティ

Azure Cloud HSM を使用する場合は、強力なネットワーク セキュリティを確保することが不可欠です。 ネットワークを適切に構成すると、不正アクセスを防ぎ、外部の脅威にさらされるのを減らすことができます。 詳細については、「 Azure Cloud HSM のネットワーク セキュリティ」を参照してください。

  • プライベート エンドポイントの使用: プライベート サブネットとプライベート エンドポイントを使用して Azure Cloud HSM のデプロイをセキュリティで保護し、パブリック インターネットへの公開を防ぎます。 このアクションにより、トラフィックが Microsoft バックボーン ネットワーク内に残り、不正アクセスのリスクが軽減されます。

ユーザー管理

効果的なユーザー管理は、Azure Cloud HSM のセキュリティと整合性を維持するために重要です。 ユーザー ID、資格情報、およびアクセス許可の適切な制御を実装すると、承認されていないアクセスを防ぎ、運用継続性を確保するのに役立ちます。 詳細については、「 Azure Cloud HSM でのユーザー管理」を参照してください。

  • 強力なパスワードを使用する: HSM ユーザー用の一意の強力なパスワードを作成します。 大文字と小文字、数字、特殊文字の組み合わせを含め、少なくとも 12 文字を使用します。

  • HSM ユーザーの資格情報をセキュリティで保護する: HSM ユーザーの資格情報を慎重に保護します。これは、紛失した場合に Microsoft が回復できないためです。

  • ロックアウト防止のためにセカンダリ管理者を実装する: 1 つのパスワードが失われた場合に HSM ロックアウトを防ぐために、少なくとも 2 人の管理者を指定します。

  • アクセス許可が制限された複数の暗号化ユーザー (CU) を確立する: 1 人のユーザーが完全に制御できないように、個別の責任を持つ複数の CU を作成します。

  • キーをエクスポートする CU の機能を制限する: 適切なユーザー属性を設定して、CU によるキー マテリアルのエクスポートを制限します。

  • CU に対する CO 制御を制限する: disableUserAccess コマンドを使用して、CO ユーザーが特定の CU を管理できないようにします。 ただし、CO ユーザーは古いバックアップでこのコマンドをバイパスできます。

キー管理

効果的なキー管理は、Azure Cloud HSM のパフォーマンス、セキュリティ、効率性を最適化するために重要です。 キー ストレージの制限、キー ラッピング セキュリティ、キー属性、キャッシュ戦略を適切に処理することで、保護とパフォーマンスを向上させることができます。 詳細については、「 Azure Cloud HSM でのキー管理」を参照してください。

  • キーローテーションを実装する: キーを定期的にローテーションして古いものを置き換え、セキュリティを維持しながらストレージを解放します。

  • キー階層を使用する: マスター キーを使用して他のキーを暗号化することで、HSM に格納するキーの数を減らします。

  • 可能な場合にキーを共有および再利用する: 必要に応じて、複数のセッション間でキーを共有または再利用することで、ストレージ要件を削減します。

  • 未使用のキーを安全に削除する: 不要なストレージの消費を防ぐために、必要以上に必要なキーを削除します。

  • 可能な場合は、キーを抽出不可として設定します。 EXTRACTABLE=0 を使用して、HSM の外部にキーをエクスポートできないようにします。

  • 信頼されたキーラッピングを有効にする: WRAP_WITH_TRUSTED=1 を使用して、キーラッピングを信頼されたキーに限定します。 このアクションにより、承認されていないキーのエクスポートが防止されます。

  • キー属性を使用してアクセス許可を制限する: キーを生成するときに必要な属性のみを割り当てて、意図しない操作を制限します。

認証

認証は、Azure Cloud HSM 内で安全にアクセスして操作する上で重要な側面です。 適切な認証方法は、資格情報を保護し、セキュリティで保護されたアクセス制御を確保するのに役立ちます。 詳細については、「 Azure Cloud HSM での認証」を参照してください。

  • HSM 資格情報を安全に格納する: 保存されている資格情報を保護し、使用されていない場合は公開しないようにします。 資格情報を自動的に取得して設定するように環境を構成します。

  • Java Cryptography Extension (JCE) 認証に暗黙的なログインを使用する: 可能な限り、JCE 認証に暗黙的なログインを使用して、資格情報の自動管理と再認証を許可します。

  • スレッド間でセッションを共有しないようにする: マルチスレッド アプリケーションの場合は、競合やセキュリティの問題を防ぐために、各スレッドに独自のセッションを割り当てます。

  • クライアント側の再試行を実装する: HSM 操作の再試行ロジックを追加して、潜在的なメンテナンス イベントまたは HSM の置換を処理します。

  • HSM クライアント セッションを慎重に管理する: azurecloudhsm_client は、同じホスト上のアプリケーション間でセッションを共有していることに注意してください。 適切なセッション管理により、競合が回避されます。

監視およびログ記録

  • 監査ログと操作ログの監視: 操作イベント ログを構成することをお勧めします。 HSM のセキュリティには、操作イベントのログ記録が不可欠です。 これは、アカウンタビリティ、追跡可能性、規制コンプライアンスのためのアクセスと操作の不変の記録を提供します。 これは、不正アクセスの検出、インシデントの調査、異常の特定を支援し、暗号化操作の整合性と機密性を確保するのに役立ちます。

    セキュリティとプライバシーを維持するために、ログは機密データ (キー ID、キー名、ユーザーの詳細など) を除外します。 HSM 操作、タイム スタンプ、メタデータをキャプチャしますが、成功または失敗を特定することはできません。 操作が実行されたという事実のみをログに記録できます。 この制限は、HSM 操作が内部 TLS チャネル内で発生するためです。これは、その境界の外側には公開されません。

ビジネス継続性とディザスター リカバリー

  • 堅牢なバックアップとディザスター リカバリーを実装する: Azure Cloud HSM は、障害発生時にパーティションを自動的に移行しながら、キーとポリシーを同期するクラスター化された HSM を通じて高可用性を提供します。 このサービスでは、すべてのキー、属性、ロールの割り当てを保持する包括的なバックアップ操作と復元操作がサポートされています。 バックアップは、Microsoft がアクセスできない HSM 派生キーによって保護されます。

    ビジネス継続性とディザスター リカバリー (BCDR) の場合:

    • 認証にはマネージド ID を使用します。
    • プライベート Azure Blob Storage にバックアップを格納します。
    • 最小限のロールベースのアクセス制御 (RBAC) アクセス許可を実装します。
    • 共有キー アクセスを無効にします。

    Azure Cloud HSM では、既にアクティブ化されている HSM への復元はサポートされていません。

    実装の詳細な手順と追加の回復オプションについては、 Azure Cloud HSM でのバックアップと復元に関するページを参照してください。 その他の回復オプションには、 extractMaskedObject を使用して暗号化された BLOB としてキーを抽出し、安全に格納し、必要に応じて insertMaskedObject でインポートする方法があります。 BCDR のベスト プラクティスは、フェールオーバー機能のために 2 つのリージョンにデプロイする方法です。