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(Key Management Service)へのインターフェイスを提供します。Junos アプリケーションは、GCP の更新されたサポートを備えたこのラッパー ライブラリを使用して KMS と通信します。PKCS#11 API をサポートするために、GCP チームは Junos アプリケーションと Cloud KMS サービスを仲介するライブラリをジュニパーに提供しています。このライブラリは、vSRX 3.0 Junos パッケージの一部として追加されます。ライブラリを有効にするためのアクションは必要ありません。

KMSサービスを有効にした後、 コマンドを使用して request security hsm master-encryption-password set plain-text-password マスター暗号化キー(MEK)を指定する必要があります。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 鍵ペアは、1 回だけ生成できます。別のキー ペアがリクエストを生成または作成したり、削除されたキー ID に対して、または別の新しいキーリクエストに対して使用することはできません。

図 1 は、vSRX 3.0 のキーのインベントリを示しています。

図 1:vSRX 3.0 Supply of Keys in vSRX 3.0 でのキーの供給

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

  • デバイス上で実行されている PKI デーモン(PKID)での証明書署名要求(CSR)作成時の秘密鍵署名。

  • PKID 内の CA サーバーから受信した証明書の検証中にプライベート キー署名を行います。

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

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

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

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

GCP KMS を使用して、vSRX 3.0 を使用して、保管時のデータを保護し、設定の整合性を実現できます。このトピックで説明する手順を実行して、gCP Cloud KMS サービスと vSRX 3.0 用キー リングを設定します。

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

GCP KMS と vSRX 3.0 の統合

vSRX 3.0 を有効化および設定して GCP 上の KMS にアクセスするには。

  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 Cloud KMS サービスへのアクセスが承認されていることを確認する必要があります。GCP 環境またはアカウントを設定するには、次の手順に従います。

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

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

      vSRX 3.0 では、GCP が提供する PKCS#11 ライブラリを使用して Cloud KMS サービスにアクセスします。ライブラリでは、サービス アカウントを使用してサービス アカウントの認証を行います。

      1. vSRX 3.0 で使用して Cloud KMS にアクセスする新しいサービス アカウントを作成するには、

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

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

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

        • 設定されたすべてのKeyRings上のcloudkms.cryptoKeys.list。

        • cloudkms.cryptoKeyVersions.listは、設定された各KeyRing内のすべての CryptoKeysに掲載されています。

        • cloudkms.cryptoKeyVersions.viewPublicKey設定されたすべてのKeyRingsに含まれるすべての非対称キーに対して。

        • cloudkms.cryptoKeyVersions.use to Decryptまたはcloudkms.cryptoKeyVersions.useは、暗号化解除または署名に使用するキーの署名に使用します。

        • cloudkms.cryptoKeys.鍵を作成する場合は作成します。

        • cloudkms.cryptoKeyVersions.destroyキーを破壊する場合。

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

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

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

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

      4. キー リングの作成

        KMS と通信するために vSRX 3.0 インスタンスに必要なアクセスを許可した後、キー リングを作成する必要があります。これは、vSRX 3.0 によって作成されたキーが存在する KMS サービスのコンポーネントです。

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

        .

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

        メモ:

        キー リングは、デュアルリージョンまたはマルチリージョンの 1 つのリージョンで作成できます。ロケーションとは、キーを保存するデータセンターを指します。特定のリージョンキーを使用する場合は、その場所にのみ配置されます。デュアルリージョンの場合、キーは他の地域に複製され、複数の地域に対して同じ意味を持ちます。詳細については、「 Cloud 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:security hsmのステータスを表示出力フィールド

フィールド名

フィールドの説明

Enabled

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

Master Binding Key

HSMで作成されたかどうかに関係なく、HSMのマスターバインディングキーステータスを表示します。HSMは暗号化キーを生成して暗号化するため、HSMでのみ暗号化を解除できます。このプロセスは、バインディングとして知られています。各HSMにはマスターバインディングキーがあり、これはストレージルートキーとも知られます。

Master Encryption Key

マスター暗号化の構成ステータスが設定されているか設定されていないかを示します。Microsoft Key Vault(HSM)サービスを使用して、暗号化されたデータと設定のハッシュをvSRXで保護します。

Cloud vendor Details

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

サンプル出力

セキュリティhsmステータスを表示する(vSRXが最初に起動してもGCP KMS機能が有効になっていない場合のHSMステータスコマンド出力)

セキュリティhsmステータスを表示する(GCP KMSとの統合に成功した後のHSMステータスコマンド出力)

リクエストセキュリティhsmマスター暗号化パスワード

構文

リリース情報

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

説明

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

オプション

plain-text-password

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

必要な権限レベル

メンテナンス

出力フィールド

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

サンプル出力

リクエストセキュリティhsmマスター暗号化パスワードセットプレーンテキストパスワード