Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

GCP KMS(HSM)を使用したvSRX仮想ファイアウォール3.0によるデータの保護

このトピックでは、vSRX仮想ファイアウォール3.0とGCP(Google Cloud Platform)キー管理サービス(KMS)の統合について説明し、FIPS境界内に保存する必要があるプライベートキーなどの機密情報を保護します。GCP は、暗号化キーの保護と管理のために vSRX 仮想ファイアウォール 3.0 などのアプリケーションで使用される KMS をサポートしています。

概要

Junos では、VPN やその他のアプリケーション(mgd など)がクラウドベースの KMS と統合して通信できるようにするラッパー ライブラリを利用できます。このラッパー ライブラリは、PKCS#11 API を使用してキー管理サービス (KMS) へのインターフェイスを提供します。Junos アプリケーションは、GCP のサポートが更新されたこのラッパー ライブラリを使用して、KMS と通信します。PKCS#11 APIをサポートするために、GCPチームはJunosアプリケーションとクラウドKMSサービス間の仲介として機能するライブラリをジュニパーに提供します。このライブラリは、vSRX仮想ファイアウォール3.0 Junosパッケージの一部として追加されます。ライブラリーを使用可能にするために必要なアクションはありません。

KMS サービスを有効にした後、コマンドを使用してマスター暗号化キー (MEK) request security hsm master-encryption-password set plain-text-password を指定する必要があります。 その後、vSRX仮想ファイアウォール3.0は、RSA 2048キーペアのマスターバインディングキー(MBK)をKMSに作成し、KMSでMBKを使用してMEKを暗号化します。MEKは、設定のハッシュ、秘密鍵ペアファイル、マスターパスワードファイルなどの保存データを暗号化するための鍵として使用されます。

GCP KMSを使用するvSRX仮想ファイアウォールには、以下の制限があります。

  • vSRX仮想ファイアウォールは、管理インターフェイスを使用してKMSサービスにアクセスします。管理インターフェイスが有効または構成されていない場合、vSRX 仮想ファイアウォールから KMS サービスを使用できません。

  • HSM が有効になっている場合、SSL プロキシ、Sky-ATP、IDP 署名のダウンロード、または証明書ベースの接続を使用するその他のモジュールは機能しません。

  • キーIDを持つRSAキーペアは、一度だけ生成できます。別のキーペアがリクエストを生成または作成したり、削除されたキー ID、または別の新しいキーリクエストに使用することはできません。

図1に、vSRX仮想ファイアウォール3.0のキーインベントリを示します。

図1:vSRX仮想ファイアウォール3.0 Supply of Keys in vSRX Virtual Firewall 3.0における鍵の供給

GCP クラウド KMS での公開キー基盤(PKI)キーペアの生成のサポートが有効になっており、生成されたキーペアのプライベートキーを必要とする RSA SIGN などのリクエストが GCP クラウド KMS に送信されます。具体的には、次の操作が KMS にオフロードされています。

  • デバイスで実行されている PKI デーモン(PKID)での証明書署名要求(CSR)作成中のプライベートキー署名。

  • PKID で CA サーバから受信した証明書の検証中の秘密キー署名。

  • デバイスで実行されている IKE デーモンである KMD(キー管理デーモン)での IKE ネゴシエーション中のプライベート キー署名。

すべてのVPNアプリケーション(PKIDおよびKMD)は、ラッパーライブラリを使用してKMSサービスと通信し、RSAキーに対する暗号化操作を作成、管理、および実行します。

図 2 は、VPN アプリケーションが KMS サービスにアクセスする方法を示しています。

図 2: KMS サービス VPN Applications Accessing KMS Serviceにアクセスする VPN アプリケーション

GCP KMSを使用してvSRX仮想ファイアウォール3.0を使用すると、保存データを保護し、構成の整合性を確保できます。このトピックに記載されている手順を実行して、vSRX仮想ファイアウォール3.0のGCPクラウドKMSサービスとキーリングを設定します。

キー リングは、Junos アプリケーションによって作成されたキーが存在する KMS サービスのコンポーネントです。キー リングは、特定の Google Cloud の場所にあるキーを整理し、キーのグループに対するアクセス制御を管理できます。キーリングの名前は、Google Cloud プロジェクト全体で一意である必要はありませんが、特定の場所内で一意である必要があります。作成後は、鍵リングを削除することはできません。鍵リングに保管コストはかかりません。

GCP KMSとvSRX仮想ファイアウォール3.0の統合

GCP上のKMSにアクセスするためにvSRX仮想ファイアウォール3.0を有効にして設定するには。

  1. GCPでvSRX仮想ファイアウォール3.0インスタンスを起動します。 Google Cloud Platform への vSRX 仮想ファイアウォールの展開 および Google Cloud Platform での vSRX の導入を参照してください

  2. vSRX仮想ファイアウォール3.0用のGCP KMSを設定します。

    vSRX仮想ファイアウォール3.0がKMSサービスと通信できるようにする前に、vSRX仮想ファイアウォール3.0インスタンスがGCPクラウドKMSサービスへのアクセスを認証および承認されていることを確認する必要があります。GCP 環境またはアカウントを設定するには、次の手順を実行します。

    1. サービス アカウントを作成します。

      サービス アカウントは、仮想マシン(VM)などの人間以外のユーザーを表すことを目的とした特別な種類の Google アカウントであり、Google API 内のデータにアクセスするための認証と承認が必要です。

      vSRX仮想ファイアウォール3.0は、GCPが提供するPKCS#11ライブラリを使用してクラウドKMSサービスにアクセスします。ライブラリは、サービス アカウントを使用して、サービス アカウントの資格情報を使用して認証します。

      1. vSRX仮想ファイアウォール3.0と併用してCloud KMSにアクセスするための新しいサービスアカウントを作成するには、以下を参照してください。

        認証の開始。既にサービス アカウントをお持ちの場合は、「 サービス アカウントとしての認証」を参照してください。

      2. サービスアカウントのIAMロールを作成して、vSRX仮想ファイアウォール3.0インスタンスへのアクセスを有効にします。

        サービスアカウントを設定したら、次の IAM アクセス許可を持つロールをアカウントに付与します。

        • cloudkms.cryptoKeys.list をすべての構成済み KeyRings で指定します。

        • cloudkms.cryptoKeyVersions.list を、構成された各キーリング内のすべての暗号キーに表示します。

        • cloudkms.cryptoKeyVersions.viewPublicKey (構成されたすべてのキーリングに含まれるすべての非対称キー用)。

        • cloudkms.cryptoKeyVersions.use を復号化するか、cloudkms.cryptoKeyVersions.use を使用して、復号化または署名に使用するキーに署名します。

        • キーを作成する場合は、cloudkms.cryptoKeys.create を作成します。

        • cloudkms.cryptoKeyVersions.destroy キーを破棄する場合は、cloudkms.cryptoKeyVersions.destroy

        また、以下にリストされている IAM ロールの事前定義されたグループを使用して、サービスアカウントに必要なアクセス許可を付与することもできます。上記の各グループに関連付けられているロールの詳細については、「 アクセス許可とロール」を参照してください。

      3. GUIまたはGCP CLIを使用して、IAMロールをvSRX仮想ファイアウォール3.0インスタンスにアタッチします。

        上記のようにサービスアカウントを作成し、必要なIAMロールを付与した後、このサービスアカウントを使用して新しいvSRX仮想ファイアウォール3.0インスタンスを作成するか、既存のvSRX仮想ファイアウォール3.0インスタンスがサービスアカウントを使用するように設定できます。

        詳細については、「 インスタンスのサービスアカウントの作成と有効化」を参照してください。

      4. キーリングの作成

        vSRX仮想ファイアウォール3.0インスタンスがKMSと通信するために必要なアクセス権を付与した後、vSRX仮想ファイアウォール3.0によって作成されたキーが存在するKMSサービスのコンポーネントであるキーリングを作成する必要があります。

        キーリングは、gcloud またはコンソールから作成できます。詳細については、「 キーリングを作成する」を参照してください

        .

        また、GCP KMS では、すでに使用済みで以前に作成された ID を持つキーを作成することはできません。また、GCP KMS では、既存のキーを削除して同じ名前の別のキーを作成することもできません。

        メモ:

        キーリングは、1 つの特定のリージョン、2 つのリージョン、または複数のリージョンの場所で作成できます。場所とは、キーが保存されるデータセンターのことです。1 つの特定のリージョンキーを使用する場合、その場所にのみ配置されます。デュアルリージョンの場合、キーは他のリージョンにレプリケートされ、同じことがマルチリージョンの場所にも当てはまります。詳細については、「 クラウド KMS の場所」を参照してください。

        キーリングを作成したら、CLIを使用してvSRX仮想ファイアウォール3.0に入力する際に必要となるため、キーリングのリソースIDを書き留めておいてください。vSRX仮想ファイアウォール3.0上のGCP PKCS#11 KMSライブラリは、このリソースIDを使用してKMSと通信します。[キーリング] で作成されたキーの名前には、文字、数字、アンダースコア (_)、およびハイフン (-) を含めることができます。

  3. コマンドを使用して、GCPキーリングリソース情報request security hsm set gcp project <name_of_project> location <location_of_key_ring> key-ring <name_of_key_ring>を指定します。詳細については、「Cloud KMS リソース ID の取得」を参照してください

  4. KMSサービスを有効にした後、vSRX仮想ファイアウォール3.0のコマンドを使用してマスター request security hsm master-encryption-password set plain-text-password 暗号化キー(MEK)を指定する必要があります。

    MEKを指定すると、vSRX仮想ファイアウォール3.0はKMSでRSA 2048キーペア(MBK)を作成し、KMSでマスターバインディングキー(MBK)を使用してMEKを暗号化します。MEKは、設定のハッシュ、秘密鍵ペアファイル、マスターパスワードファイルなどの保存データを暗号化するための鍵として使用されます。

  5. マスター暗号化パスワードを変更します。

    マスター暗号化パスワードを変更する場合は、動作モードから次のコマンドを実行します request security hsm master-encryption-password set plain-text-password

    メモ:

    マスター暗号化パスワードの変更中は、設定を変更しないことをお勧めします。

    マスター暗号化パスワードがすでに設定されているかどうかがチェックされます。マスター暗号化パスワードが設定されている場合は、現在のマスター暗号化パスワードを入力するよう求められます。

    入力したマスター暗号化パスワードは、現在のマスター暗号化パスワードと照合され、これらのマスター暗号化パスワードが一致することを確認します。検証が成功すると、新しいマスター暗号化パスワードをプレーンテキストとして入力するように求められます。パスワードを検証するために、キーを2回入力するように求められます。

    その後、システムは新しいマスター暗号化パスワードを使用して機密データを再暗号化します。マスター暗号化パスワードの変更を再試行する前に、この再暗号化プロセスが完了するのを待つ必要があります。

    暗号化されたマスター暗号化パスワードファイルが紛失または破損している場合、システムは機密データを復号化できません。システムは、機密データをクリアテキストで再インポートし、再暗号化することによってのみ回復できます。

  6. コマンドを使用して HSM の状態 show security hsm status を確認し、KMS が有効で到達可能かどうかを確認し、使用されているキー リングのリソース ID、マスター バインド キー (MBK)、およびマスター暗号化キー (MEK) の状態も表示します。

HSM のステータスを確認する

目的

HSM との接続を確認するには。

アクション

show security hsm statusコマンドを使用して、HSM のステータスを確認できます。次の情報が表示されます。

  • HSM が有効で、到達可能または無効になっている場合

  • HSMで作成されたマスターバインディングキー(RSAキーペア)ですか

  • マスター暗号化キーが設定されているか - マスター暗号化パスワードの状態 (設定済みまたは未設定)

  • クラウドベンダー情報

セキュリティHSMステータスを表示

構文

リリース情報

Junos OSリリース19.4R1で導入されたコマンド。

説明

ハードウェア セキュリティ モジュール (HSM) の現在のステータスを表示します。この show security hsm status コマンドを使用して、HSM、マスターバインディングキー、マスター暗号化パスワード、およびクラウドベンダーの詳細のステータスを確認できます。

オプション

このコマンドにオプションはありません。

必要な権限レベル

セキュリティ

出力フィールド

表 1 に、このコマンドの出力フィールド show security hsm status を示します。

表 1: show security hsm status の出力フィールド

フィールド名

フィールドの説明

Enabled

HSM を有効にするか無効にするかを指定します。

Master Binding Key

HSM のマスター バインド キーの状態を、HSM で作成されているかどうかに関係なく表示します。HSM は暗号化キーを生成して暗号化し、HSM によってのみ復号できるようにします。このプロセスはバインディングと呼ばれます。各 HSM には、ストレージ ルート キーとも呼ばれるマスター バインド キーがあります。

Master Encryption Key

マスター暗号化の設定ステータスを表示します。暗号化されたデータと設定のハッシュは、Microsoft Key Vault(HSM)サービスを使用するvSRX仮想ファイアウォールによって保護されます。

Cloud vendor Details

クラウド ベンダーに固有の詳細を表示します。

サンプル出力

show security hsm status(vSRX仮想ファイアウォールが最初に起動するが、GCP KMS機能が有効になっていない場合のHSM statusコマンド出力)

show security hsm status(GCP KMSとの統合が成功した後のHSM statusコマンド出力)

セキュリティHSMマスター暗号化パスワードを要求する

構文

リリース情報

Junos OSリリース19.4R1で導入されたコマンド。

説明

このコマンドを使用して、パスワードを(プレーンテキストで)設定または置換します。

オプション

plain-text-password

パスワードを(プレーンテキストで)設定または置換します。

必要な権限レベル

メンテナンス

出力フィールド

このコマンドを入力すると、リクエストステータスに関するフィードバックが提供されます。

サンプル出力

セキュリティの要求 HSMマスター暗号化パスワードセットプレーンテキストパスワード