項目一覧
vSRX仮想ファイアウォール3.0へのMicrosoft Azureハードウェアセキュリティモジュールの導入
Microsoft Azure Key Vaultハードウェアセキュリティモジュールの統合の概要
Microsoft Azure Key Vault ハードウェア セキュリティ モジュール (HSM) は、セキュリティで保護されたシークレット ストアとして機能するクラウド サービスです。キー、パスワード、証明書、その他のシークレットを安全に保存できます。クラウドベンダーが提供するこのサービスは、暗号キーを安全に生成、保存、管理するのに役立ちます。vSRX仮想ファイアウォールアプリケーションは、これらの暗号キーを使用して、プライベートキー、パスワード、その他の機密データなどの保存データを保護します。Azure Key Vault HSM は、キー管理ソリューションとしても使用できます。Azure Key Vault を使用すると、データの暗号化に使用される暗号化キーを簡単に作成および制御できます。マスター暗号化パスワードを入力すると、そのパスワードを使用して機密データが暗号化され、暗号化されたデータ(AES256)がディスクに保存されます。マスター暗号化パスワードも、生成およびHSMに保存されるRSAキーペアを使用して保護されます。
vSRX仮想ファイアウォール(mgdプロセス)が設定のハッシュを生成します。このハッシュ (およびその他の機密データ) は、AES-GCM 256 暗号化のキーとしてマスター暗号化パスワードを使用して保護されます。
マスターパスワードは、RADIUSパスワード、IKE事前共有キー、およびJunos OS管理プロセス(MGD)設定の他の共有シークレットなどのシークレットを保護するために使用されます。マスターパスワードは、マスター暗号化パスワードを使用して保護されます。マスターパスワード自体は、設定の一部としては保存されません。パスワードの品質は強度について評価され、脆弱なパスワードが使用されている場合、デバイスはフィードバックを提供します。
vSRX仮想ファイアウォール3.0インスタンスにプレーンテキストで保存されているPKI秘密キーや設定などの機密データを、HSMサービスを使用して保護できるようになりました。
vSRX仮想ファイアウォール で Microsoft Azure Key Vault HSM を有効にすると、vSRX仮想ファイアウォール は 2048 サイズの RSA キーペアを作成し、それを使用して暗号化、 /var/db/certs/common/key-pairs にある PKI 秘密キー ファイル、構成ハッシュ、マスター パスワードを /config/unrd-master-password.txt に保存します。
HSM を有効にする前の既存のキーペアは暗号化されず、削除されます。
HSM を有効にすると、ソフトウェア層は、(クリアテキスト形式で保存するのではなく) 256 ビット AES 暗号化を使用して情報を保存することで、秘密鍵やシステム マスター パスワードなどの機密情報を保護する基盤となる HSM サービスの使用を利用します。また、管理者は設定をコミットするたびに、設定の新しい SHA256 ハッシュも生成します。このハッシュは、システムが起動するたびに検証されます。設定が改ざんされている場合、検証は失敗し、デバイスは起動を続行しません。暗号化されたデータと設定のハッシュは、マスター暗号化パスワードを使用してHSMモジュールによって保護されます。
ハッシュ検証は、以前のコミットで保存されたハッシュに対して構成ファイルの検証チェックを実行することで、コミット操作中に実行されます。シャーシクラスタシステムでは、ハッシュはコミットプロセスの一部としてバックアップシステムで個別に生成されます。
ハッシュは、現在の設定に対してのみ保存され、ロールバック設定に対しては保存されません。ハッシュは、デバイスの再起動またはシャットダウン中には生成されません。
vSRX仮想ファイアウォールは、HSMを使用して以下のシークレットを暗号化します。
設定の SHA256 ハッシュ
デバイスマスターパスワード
デバイス上のすべてのキーペア
各vSRX仮想ファイアウォール3.0インスタンスによって作成されたキーは、各VMのUUIDを使用してタグ付けされたり、名前が付けられたりします。クラウド・ポータルにログインしてキーにアクセスし、そのプロパティーまたは要求された操作を確認できます。
vSRX仮想ファイアウォール3.0でMicrosoft Azure Key Vault HSMを設定する
Azure Stack 上の Key Vault は、すべての Azure アプリケーションに対してクラウド HSM サービスを提供します。Key Vault などのサービスを使用するには、すべてのアプリケーションを Azure Active Directory に登録する必要があります。
vSRX3.0をAzure上で実行する場合、Microsoft Azure Cloud HSMと統合されます。クラウドポータルにログインし、キーにアクセスして、そのプロパティまたは要求された操作を確認できます。
パブリッククラウドベンダーごとに、vSRX仮想ファイアウォールとクラウドHSMを統合するために実行するべき固有の手順があります。このセクションでは、vSRX仮想ファイアウォール3.0をMicrosoft Azure Key Vault HSMと統合するために必要な手順を説明します。
vSRX仮想ファイアウォールをMicrosoft Azure Key Vault HSMと統合するには、以下のアイテムが必要です。
vSRX仮想ファイアウォール3.0インスタンス
Microsoft Azure Key Vault
vSRX仮想ファイアウォールのキーボールト認証を設定する
HSMを統合するためのMicrosoft Azure固有の構成
Microsoft Azure Key Vault は、クラウドでホストされる管理サービスであり、ユーザーはハードウェア セキュリティ モジュール (HSM) によって保護されているキーを使用して、キーと小さなシークレットを暗号化できます。
この手順では、Microsoft Azure Key Vault HSMをvSRX仮想ファイアウォール3.0と統合するための一般的な手順を示します。
マスター暗号化パスワードを変更する
マスター暗号化パスワードを変更する場合は、運用モードから request security hsm master-encryption-password set plain-text-password コマンドを実行できます。
マスター暗号化パスワードを変更する間は、設定を変更しないことをお勧めします。
マスター暗号化パスワードがすでに設定されているかどうかがチェックされます。マスター暗号化パスワードが設定されている場合は、現在のマスター暗号化パスワードを入力するように求められます。
入力されたマスター暗号化パスワードは、現在のマスター暗号化パスワードと照合され、これらのマスター暗号化パスワードが一致することを確認します。検証に成功すると、新しいマスター暗号化パスワードをプレーンテキストで入力するように求められます。パスワードを検証するために、キーを2回入力するように求められます。
その後、システムは新しいマスター暗号化パスワードで機密データを再暗号化します。マスター暗号化パスワードの変更を再試行する前に、この再暗号化のプロセスが完了するのを待つ必要があります。
暗号化されたマスター暗号化パスワードファイルが紛失または破損した場合、システムは機密データを復号化できません。システムの復元は、機密データをクリア テキストで再インポートし、再暗号化することによってのみ実行できます。
HSM のステータスの確認
リクエストセキュリティHSMマスター暗号化パスワード
構文
request security hsm master-encryption-password set plain-text-password
リリース情報
Junos OS リリース 19.4R1 で導入されたコマンド。
形容
このコマンドを使用して、パスワード(プレーンテキスト)を設定または置換します。
オプション
| plain-text-password | パスワードを設定または置き換えます(プレーンテキスト)。 |
必要な権限レベル
メンテナンス
出力フィールド
このコマンドを入力すると、リクエストのステータスに関するフィードバックが提供されます。
サンプル出力
リクエストセキュリティhsmマスター暗号化パスワードはプレーンテキストパスワードを設定します
user@host> request security hsm master-encryption-password set plain-text-password
Enter new master encryption password: Repeat new master encryption password: Binding password with HSM Master encryption password is bound to HSM Encoding master password .. Successfully encoded master password Deleting all previous local certificates, keypairs and certificate requests
show security hsm status
構文
show security HSM status
リリース情報
Junos OS リリース 19.4R1 で導入されたコマンド。
形容
ハードウェアセキュリティモジュール(HSM)の現在のステータスを表示します。この show security hsm status コマンドを使用して、HSM、マスターバインディングキー、マスター暗号化パスワード、およびクラウドベンダーの詳細のステータスを確認できます。
オプション
このコマンドにオプションはありません。
必要な権限レベル
安全
出力フィールド
表 1 は、show security hsm status コマンドの出力フィールドの一覧です。
フィールド名 |
フィールドの説明 |
|---|---|
|
HSM が有効か無効かを指定します。 |
|
HSM で作成されているかどうかに関係なく、HSM のマスター バインド キーの状態が表示されます。HSM は暗号化キーを生成して暗号化し、HSM によってのみ復号化できるようにします。このプロセスはバインディングと呼ばれます。各 HSM には、ストレージ ルート キーとも呼ばれるマスター バインド キーがあります。 |
|
マスター暗号化の設定ステータス(設定有無)を表示します。暗号化されたデータと設定のハッシュは、Microsoft Key Vault(HSM)サービスを使用するvSRX仮想ファイアウォールによって保護されます。 |
|
クラウドベンダーに固有の詳細が表示されます。 |
サンプル出力
show security hsm status(vSRX仮想ファイアウォールが最初に起動したが、この機能が有効になっていない場合のHSM statusコマンド出力)
user@host> show security hsm status
HSM Status: Accessible: no Master Binding Key: not-created Master Encryption Key: not-configured Azure Key Vault: unknown
サンプル出力
show security hsm status(キー コンテナーとの統合が成功した後の HSM status コマンドの出力)
user@host> show security hsm status
HSM Status: Accessible: yes Master Binding Key: created Master Encryption Key: configured Azure Key Vault: vsrx3-hsm-kv
参照
Microsoft Azure Key Vault HSMサービスによるVPN機能について
vSRX3.0上のMicrosoft Azure Key Vault HSMサービスの統合により、HSMサービスを使用して、必要なVPNキーペア操作を作成、保存、実行できるようになりました。これで、HSM サービスでキーペアの作成が有効になりました。HSM を使用して生成されたキーペアを使用して、PKI ベースの VPN トンネルを確立できるようになりました。マスター暗号化キーを構成したら、HSMサービスを使用してVPN機能を構成できます。生成できるのは、長さが 2048 ビットと 4096 ビットの RSA キーペアのみです。PKID での CSR 作成時の秘密キー署名、PKID で CA サーバから受信した証明書の検証中の秘密キー署名、IKED での IKE ネゴシエーション中の秘密キー署名などの操作は、vSRX仮想ファイアウォールからオフロードされ、HSM サービスによって実行されるようになりました。
HSM サービスを使用したキーペアの生成は、pkid および iked プロセス専用です。また、HSMサービスが有効になる前のファイルシステム内の既存のキーペアは暗号化されず、それらのキーペアは削除されます。
導入シナリオ
このセクションでは、vSRX仮想ファイアウォール3.0インスタンスを仮想ネットワークのゲートウェイとして起動し、純粋なIPsec接続を使用してデータセンターに接続する導入シナリオについて説明します。
図 4 は、展開シナリオを示しています。
を使用したvSRX仮想ファイアウォールの導入シナリオ
pkid プロセス用の Microsoft Azure クラウド HSM サービスを使用してキー ペアを生成し、これらのキー ペアを使用して CA サーバーからローカル証明書を取得できます。IKE ネゴシエーション中の秘密キーの署名には、クラウド HSM サービスに存在するキーペアを使用します。
HSMサービスを使用してMicrosoft Azureクラウド内で実行されるVPN機能を 図5に示します。
の HSM を使用した VPN のコンポーネント
ここで関連するコンポーネントは次のとおりです。
vSRX仮想ファイアウォール3.0がMicrosoft Azureクラウドでリリースされました。
ピア—Azureクラウドで起動された2つ目のvSRX仮想ファイアウォール3.0インスタンス。最初のvSRX仮想ファイアウォール3.0とピアの間にトンネルが確立されます。
Key Vault - Azure クラウドで起動された HSM サービス。vSRX仮想ファイアウォール3.0とHSMの間で対話を行うことができます。また、ピアはキーペアをローカルに作成して保存できます。
認証局サーバー—vSRX仮想ファイアウォールインスタンスからアクセスできる任意のCAサーバー。CA サーバーが Azure クラウドで起動されます。
この手順では、クラウド HSM サービスで vSRX仮想ファイアウォールを認証することにより、vSRX仮想ファイアウォールから HSM へのアクセスを許可する手順を示します。
HSM サービスとのセッションの初期化 - HSM と対話する必要がある各プロセスは、独自の個別のセッションを初期化する必要があります。VPN 機能を使用するには、関係するデバイスごとに HSM サービスとの 2 つのセッションを確立する必要があります。1 つのセッションは pkid プロセスで確立され、もう 1 つのセッションは iked プロセスで確立されます。HSM サービスとのこれらのセッションは、デーモンの init プロセス中に 1 回だけ確立されます。デーモンが再起動されると、HSM サービスとの新しいセッションが確立されます。HSM サービスとのセッションが正常に確立されると、有効なセッションコンテキストが返されます。HSMサービスとのセッションは、マスター暗号化キー(MEK)が有効になっている場合にのみ確立されます。各セッションは、vSRX仮想ファイアウォールとクラウドHSM間のセキュアなTLS接続になります。
HSM でのキーペアの処理 - HSM でキーペアを作成して保存するには、
request security pki generate-key-pair certificate-id certificate-id-name <size> <type>コマンドを使用します。手記:certificate-id という用語は、生成されたキーペアに関連付けられた識別子にすぎません。証明書作成への接続はまだありません。type と size が指定されていない場合、type は RSA で、size は 2048 のデフォルト値と見なされます。
HSM へのリダイレクト:HSM を有効にすると、同じ CLI コマンドが HSM にリダイレクトされます。指定されたパラメータを持つ新しいキーペアがHSMに作成されます。各vSRX仮想ファイアウォールによって作成されたキーは、各VMのUUIDを使用してタグ付けされます。クラウドポータルにログインし、キーにアクセスして、必要なプロパティ/操作を確認できます。各キーの UUID の形式は、<key-name>_<unique vm-instance id>です。キーの作成時にキー名を指定する必要があります。VM インスタンスは、キー ID を HSM サービスで一意にする要因です。したがって、 vm-instance ID は、稼働中の VM ごとに一意である必要があります。これは、Microsoft Azure によって保証されます。HSM リダイレクトは時間指定呼び出しであり、 x 秒以内に応答が受信されない場合は、エラー メッセージ
call to HSM failedが表示されます。公開キー情報の取得 — HSM でキーペアを作成した後、キーペアの公開キーコンポーネントを取得します。HSM は、剰余と指数を返します。これらのコンポーネントはEVP_PKEY OpenSSL APIを使用して構造に変換されます。その後、公開鍵構造は、鍵のハッシュに新しいエントリとして格納されます。このようにして、公開鍵コンポーネントは、必要に応じてハッシュから取得できます。現在、HSMは重複するキーペアを検出しませんが、代わりにエラーキーIDが再度受信されると、HSMは既存のキーペアを上書きします。このキーペアの上書きを回避するために、公開キーはキーの作成時にハッシュに保存されます。これにより、重複するキーペアの作成は、HSMを呼び出すことなく、デバイスレベル自体で停止されます。
同じ名前を使用して新しいキーペアを作成しようとすると、以前のキーペアを削除した場合でも、エラー
error: Failed to generate key pair at HSM. Found a key with the same name at HSM. Use a different certificate id next time. Refer to PKID logs for more detailsが表示されます。キーペアの削除 - HSM は、HSM で作成されたキーペアを削除する API をサポートしていません。CLI で delete keypair コマンドを発行すると、公開キー コンポーネントがディスクとキー ハッシュから削除されます。キーペアは HSM から削除されません。HSM からキーペアを削除するには、HSM にアクセスし、キーペアを手動で削除する必要があります。Azure Key Vault で論理的な削除機能が有効になっている場合は、キーペア名を再利用する前に、キーペアからキーペアを削除する必要もあります。
手記:ファイルからのキーのエクスポートはサポートされていません。
request security pki local-certificate exportコマンドとrequest security pki key-pair exportコマンドを使用してキーをエクスポートすると、エラー メッセージExport of keypairs/certificate is not supported when HSM is enabledが表示されます。[Private Key Signing]:秘密キーが HSM に存在するようになりました。そのため、秘密キーを必要とするすべての操作は HSM にオフロードされています。操作には以下が含まれます。
秘密キーの署名操作は、次の場合に使用します。
証明書署名要求(CSR)の作成
CAから受信したローカル証明書の検証
IKE ネゴシエーション中の RSA 署名
SHA-1 相互運用性。Azure Key Vault では、SHA-256 ダイジェストに対してのみ秘密キーの署名がサポートされています。
HSMを使用する場合と使用しない場合のCLI動作
CLI |
Non-HSM |
HSM |
|
キーペアをローカルに作成します |
HSM でキーペアを作成します。 |
|
CSRをローカルで作成 |
CSR の作成中に、秘密キーの署名のために HSM に接続します。ダイジェストは SHA-256 である必要があります |
|
CSR をローカルに作成します。CSR を CA サーバに送信し、証明書を受信します |
CSR の作成中に、秘密キーの署名のために HSM に接続します。CSR を CA サーバに送信し、証明書を受信します。ダイジェストは SHA-256 である必要があります |
|
他のデバイスにエクスポートされたローカル証明書 |
キーペアがローカルに存在しないため不可能 |
|
ローカルに存在するキーペアを他のデバイスにエクスポート |
キーペアがローカルに存在しないため不可能 |
|
自己署名証明書を生成 |
署名のためにHSMに接続し、自己署名証明書を生成します |
|
デバイスにローカル証明書が存在することを示します |
キーペアがローカルまたはクラウドHSMで生成されたことを示します |
request security pki local-certificate enroll SCEP
構文
request security pki local-certificate enroll scep
ca-profile ca-profile name
certificate-id certificate-id-name
challenge-password challenge-password
digest (sha-1 | sha-256)
domain-name domain-name
email email-address
ip-address ip-address
ipv6-address ipv6-address
logical-system (logical-system-name | all)
scep-digest-algorithm (md5 | sha-1)
scep-encryption-algorithm (des | des3)
subject subject-distinguished-name
リリース情報
Junos OS リリース 9.1 で導入されたコマンド。Junos OS リリース 12.1X45 のサブジェクト文字列出力フィールドにシリアル番号(SN)オプションが追加されました。 scep キーワードと ipv6-address オプションは Junos OS リリース 15.1X49-D40 で追加されました。
vSRX仮想ファイアウォール3.0のJunos OS リリース20.1R1以降、Microsoft Azure Key Vaultハードウェアセキュリティモジュール(HSM)サービスを使用して、PKIDおよびIKEDで使用される秘密キーを保護できます。HSM で生成されたキーペアを使用して、PKI ベースの VPN トンネルを確立できます。certificate-idの下のハブ certificate-id オプションは、HSMキーペアを生成した後の設定には使用できません。
vSRX仮想ファイアウォール3.0のJunos OS リリース20.4R1以降、AWS Key Management Service(KMS)を使用してPKIDおよびIKEDで使用されるプライベートキーを保護できます。KMS によって生成されたキーペアを使用して、PKI ベースの VPN トンネルを確立できます。certificate-id の下のハブ certificate-id オプションは、PKI キーペア生成後の設定には使用できません。
Junos OS リリース 22.4R2 以降、PKI SCEP 証明書登録の ステートメントに logical-system が導入されています。
形容
Simple Certificate Enrollment Protocol (SCEP) を使用して、ローカルのデジタル証明書をオンラインで登録およびインストールします。
scep または cmpv2 キーワードを指定せずに request security pki local-certificate enroll コマンドを入力すると、SCEP がローカル証明書を登録するためのデフォルトの方式になります。
オプション
| ca-profile ca-profile-name | CA プロファイル名。 |
| certificate-id certificate-id-name | ローカルデジタル証明書と公開キーと秘密キーのペアの名前。 |
| challenge-password password | 管理者が設定し、通常は CA の SCEP 登録 Web ページから取得するパスワード。パスワードの最大長は 256 文字です。必要な文字に制限を適用できます。 |
| digest (sha-1 | sha-256) | RSA 証明書(SHA-1 または SHA-256)の署名に使用されるハッシュ アルゴリズム。SHA-1 がデフォルトです。 |
| domain-name domain-name | 完全修飾ドメイン名 (FQDN)。FQDN は、インターネット鍵交換 (IKE) ネゴシエーション用の証明書所有者の ID を提供し、サブジェクト名の代替手段を提供します。 |
| email email-address | 認定資格所有者の電子メール アドレス |
| ip-address ip-address | ルーターのIPアドレス。 |
| ipv6-address ipv6-address | 代替サブジェクトのルーターの IPv6 アドレス。 |
| logical-system (logical-system-name | all) | 論理システムの名前、またはすべて。これは任意です。 |
| scep-digest-algorithm (md5 | sha-1) | ハッシュ アルゴリズム ダイジェスト、MD5 または SHA-1。SHA-1 がデフォルトです。 |
| scep-encryption-algorithm (des | des3) | 暗号化アルゴリズム(DES または DES3)。DES3 がデフォルトです。 |
| subject subject-distinguished-name | ドメイン・コンポーネント、共通名、部門、シリアル番号、会社名、都道府県、および国を DC、CN、OU、O、SN、L、ST、C の形式で含む識別名(DN)形式。
|
必要な権限レベル
メンテナンスとセキュリティ
出力フィールド
このコマンドを入力すると、リクエストのステータスに関するフィードバックが提供されます。
サンプル出力
コマンド名
user@host> request security pki local-certificate enroll scep certificate-id r3-entrust-scep ca-profile entrust domain-name router3.example.net subject "CN=router3,OU=Engineering,O=example,C=US" challenge-password 123
Certificate enrollment has started. To view the status of your enrollment, check the public key infrastructure log (pkid) log file at /var/log/pkid. Please save the challenge-password for revoking this certificate in future. Note that this password is not stored on the router.
サンプル出力
vSRX仮想ファイアウォール3.0の出力例
user@host> request security pki generate-key-pair certificate-id example
Generated key pair example, key size 2048 bits
user@host> request security pki local-certificate enroll certificate-id ?
Possible completions: <certificate-id> Certificate identifier example
user@host> request security pki generate-key-pair certificate-id Hub
error: Failed to generate key pair at HSM. Found a key with the same name at HSM. Use a different certificate id next time. Refer to PKID logs for more details


