証明書の登録
認証局(CA)がデジタル証明書を発行し、証明書の検証を通じて2つのエンドポイント間に安全な接続を確立するのに役立ちます。次のトピックでは、簡易証明書登録プロトコル (SCEP) を使用してオンラインまたはローカルの CA 証明書を構成する方法について説明します。
オンラインでのデジタル証明書の登録: 構成の概要
証明書管理プロトコル バージョン 2 (CMPv2) または簡易証明書登録プロトコル (SCEP) のいずれかを使用して、デジタル証明書を登録できます。証明書をオンラインで登録するには:
デバイスでキーペアを生成します。自己署名デジタル証明書を参照してください。
CA に固有の情報を含む CA プロファイルを作成します。「例 :CA プロファイルの設定.
SCEP の場合のみ、CA 証明書を登録します。SCEPを使用したCA証明書のオンライン登録を参照してください。
以前に読み込んだ CA 証明書を持つ CA からローカル証明書を登録します。「例 :SCEP を使用したローカル証明書のオンライン登録
自動再登録を構成します。「例 :SCEP を使用したローカル証明書の自動更新.
オンライン CA 証明書登録について
簡易証明書登録プロトコル(SCEP)を使用すると、認証機関(CA)証明書をオンラインで取得し、指定した証明書 ID のオンライン登録を開始するようにジュニパーネットワークスデバイスを設定できます。CA 公開鍵は、リモート ピアからの証明書を検証します。
ローカル証明書要求について
ローカル証明書要求を作成すると、デバイスは、同じ証明書 ID を使用して以前に生成したキーペアからn エンドエンティティ 証明書を PKCS #10 形式で生成します。
サブジェクト名は、共通名 (CN)、組織単位 (OU)、組織 (O)、地域 (L)、州 (ST)、国 (C)、およびドメイン コンポーネント (DC) の形式でローカル証明書要求に関連付けられます。さらに、サブジェクトの別名は、次の形式で関連付けられます。
-
IPアドレス
-
メルアド
-
完全修飾ドメイン名 (FQDN)
ドメイン コンポーネント (DC)、共通名 (CN)、シリアル番号 (SN)、組織単位名 (OU)、組織名 (O)、地域 (L)、州 (ST)、および国 (C) を含む識別名の形式でサブジェクト名を引用符で囲んで指定します。
一部の CA は、証明書のドメイン名として電子メール アドレスをサポートしていません。ローカル証明書の要求に電子メールアドレスが含まれていない場合、デバイスを動的ピアとして設定するときに、電子メールアドレスをローカルIKE IDとして使用することはできません。代わりに、完全修飾ドメイン名 (ローカル証明書にある場合) を使用するか、ローカル ID フィールドを空のままにすることができます。動的ピアのローカル ID を指定しない場合は、IPsec トンネルのもう一方の端にあるデバイス上のピアの hostname.domain-name を [ピア ID] フィールドに入力します。
SCEP を使用した CA 証明書のオンライン登録
開始する前に、以下を実行します。
公開キーと秘密キーのペアを生成します。自己署名デジタル証明書を参照してください。
CA プロファイルを作成します。「例 :CA プロファイルの設定.
CA 証明書をオンラインで登録するには:
SCEP を使用して CA 証明書をオンラインで取得します。(CA サーバに到達するために必要な属性は、定義された CA プロファイルから取得されます)。
user@host> request security pki ca-certificate enroll ca-profile ca-profile-ipsec
コマンドは同期的に処理され、受信した CA 証明書のフィンガープリントが提供されます。
Fingerprint: e6:fa:d6:da:e8:8d:d3:00:e8:59:12:e1:2c:b9:3c:c0:9d:6c:8f:8d (sha1) 82:e2:dc:ea:48:4c:08:9a:fd:b5:24:b0:db:c3:ba:59 (md5) Do you want to load the above CA certificate ? [yes,no]
正しい証明書が読み込まれていることを確認します。CA 証明書は、CLI プロンプトで「 yes 」と入力した場合にのみ読み込まれます。
キー ペアのビット長など、証明書の詳細については、コマンド
show security pki ca-certificate
を使用してください。
例:SCEP を使用したローカル証明書のオンライン登録
この例では、簡易証明書登録プロトコル(SCEP)を使用してローカル証明書をオンラインで登録する方法を示します。
要件
開始する前に、以下を実行します。
公開キーと秘密キーのペアを生成します。自己署名デジタル証明書を参照してください。
認証局プロファイルを設定します。「例 :CA プロファイルの設定.
SCEP の場合は、CA 証明書を登録します。SCEPを使用したCA証明書のオンライン登録を参照してください。
概要
この例では、ローカル証明書をオンラインで取得し、SCEP で指定された証明書 ID のオンライン登録を開始するようにジュニパーネットワークス デバイスを構成します。CA プロファイル名 ca-profile-ipsec
で CA サーバーへの URL パスを指定します。
request security pki local-certificate enroll scep
コマンドを使用して、指定した証明書 ID のオンライン登録を開始します。(Junos OS リリース 15.1X49-D40 および Junos OS リリース 17.3R1 以降では、 scep
キーワードがサポートされ、必須となります。)CA プロファイル名( ca-profile-ipsec
など)、以前に生成されたキーペアに対応する証明書 ID( qqq
など)、および次の情報を指定する必要があります。
証明書の登録と再登録のために CA 管理者から提供されたチャレンジ パスワード。
次の値の少なくとも 1 つ:
IKE ネゴシエーションで証明書所有者を識別するためのドメイン名(
qqq.example.net
など)。電子メール ステートメントとの IKE ネゴシエーションの証明書所有者の ID(
qqq@example.net
など)。デバイスが静的 IP アドレス用に設定されている場合の IP アドレス(
10.10.10.10
など)。
ドメイン コンポーネント (DC)、共通名 (CN)、シリアル番号 (SN)、組織単位名 (OU)、組織名 (O)、地域 (L)、州 (ST)、および国 (C) を含む識別名の形式でサブジェクト名を引用符で囲んで指定します。
デバイス証明書が取得され、証明書 ID のオンライン登録が開始されると。コマンドは非同期的に処理されます。
設定
手順
ステップバイステップでの手順
ローカル証明書をオンラインで登録するには:
CA プロファイルを指定します。
[edit] user@host# set security pki ca-profile ca-profile-ipsec enrollment url path-to-ca-server
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
運用モードコマンドを実行して、登録プロセスを開始します。
user@host> request security pki local-certificate enroll scep ca-profile ca-profile-ipsec certificate-id qqq challenge-password ca-provided-password domain-name qqq.example.net email qqq@example.net ip-address 10.10.10.10 subject DC=example, CN=router3, SN, OU=marketing, O=example, L=sunnyvale, ST=california, C=us
サブジェクトフィールドでシリアル番号なしでSNを定義すると、シリアル番号がデバイスから直接読み取られ、証明書署名要求(CSR)に追加されます。
Junos OS Release 19.4R2 以降、ECDSA キーは SCEP でサポートされていないため、簡易証明書登録プロトコル(SCEP)で楕円曲線デジタル署名アルゴリズム(ECDSA)キーを使用してローカル証明書を登録しようとすると、警告メッセージ ECDSA Keypair not supported with SCEP for cert_id <certificate id>
が表示されます。
検証
設定が正常に機能していることを確認するには、 show security pki
コマンドを入力します。
例:SCEP を使用したローカル証明書の自動更新
証明書管理プロトコル バージョン 2 (CMPv2) または簡易証明書登録プロトコル (SCEP) のいずれかを使用して、デジタル証明書を登録できます。この例では、SCEP を使用してローカル証明書を自動的に更新する方法を示します。
要件
概要
デバイスで、オンライン登録によって取得された証明書、または手動で読み込まれた証明書を自動的に更新できます。証明書の自動更新により、有効期限が切れる前にデバイス上の証明書を更新することを覚えておく必要がなくなり、常に有効な証明書を維持するのに役立ちます。
証明書の自動更新は、既定では無効になっています。証明書の自動更新を有効にし、有効期限が切れる前に証明書を再登録する要求を自動的に送信するようにデバイスを構成できます。証明書の再登録要求をいつ送信するかを指定できます。再登録のトリガーは、有効期限が切れる前に残っている証明書の有効期間の割合です。たとえば、証明書の残りの有効期間が 10% のときに更新要求を送信する場合は、再登録トリガーに 10 を構成します。
この機能を使用するには、デバイスが CA サーバに到達でき、更新プロセス中に証明書がデバイスに存在する必要があります。さらに、証明書を発行する CA が同じ DN を返すことができることも確認する必要があります。CA は、新しい証明書のサブジェクト名または代替サブジェクト名の拡張子を変更してはなりません。
SCEP 証明書の自動更新は、すべての SCEP 証明書に対して、または証明書ごとに有効または無効にできます。set security pki auto-re-enrollment scep
コマンドを使用して、証明書の再登録を有効にして構成します。この例では、CA 証明書の証明書 ID を ca-ipsec
として指定し、証明書に関連付けられている CA プロファイル名を ca-profile-ipsec
に設定します。CA 証明書のチャレンジ パスワードは、CA 管理者から提供されたチャレンジ パスワードに設定します。このパスワードは、以前に CA に設定したパスワードと同じである必要があります。また、再登録トリガーの割合を 10
に設定します。自動再登録中、ジュニパーネットワークス デバイスはデフォルトで既存のキーペアを使用します。適切なセキュリティプラクティスは、再登録のために新しいキーペアを再生成することです。新しいキーペアを生成するには、 re-generate-keypair
コマンドを使用します。
設定
手順
ステップバイステップでの手順
ローカル証明書の再登録を有効にして設定するには:
証明書の再登録を有効にして構成します。
[edit] user@host# set security pki auto-re-enrollment scep certificate-id ca-ipsec ca-profile-name ca-profile-ipsec challenge-password ca-provided-password re-enroll-trigger-time-percentage 10 re-generate-keypair
Junos OS リリース 15.1X49-D40 および Junos OS リリース 17.3R1 以降、
scep
キーワードがサポートされ、必須となっています。デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正常に機能していることを確認するには、 show security pki local-certificate detail
operational mode コマンドを入力します。
CMPv2 および SCEP 証明書の登録について
展開環境に基づいて、オンライン証明書登録に証明書管理プロトコル バージョン 2 (CMPv2) または簡易証明書登録プロトコル (SCEP) を使用できます。このトピックでは、2 つのプロトコルの基本的な違いについて説明します。
表 1 CMPv2 と SCEP の証明書登録プロトコルの違いについて説明します。
属性 |
CMPv2 |
ティッカー |
---|---|---|
サポートされている証明書の種類: |
DSA、ECDSA、RSA |
RSAのみ |
サポートされている標準 |
RFC 4210 および 4211 |
インターネット技術タスクフォース(案) |
証明書の登録と再登録の要求と応答は、CMPv2 と SCEP で異なります。CMPv2 では、CA 証明書を登録する個別のコマンドはありません。SCEP では、 request security pki ca-certificate enroll
コマンドを使用して CA 証明書を登録し、CA プロファイルを指定します。CA プロファイルは、CMPv2 または SCEP のいずれかで設定する必要があります。
CMPv2 での証明書の登録について
request security pki local-certificate enroll cmpv2
コマンドは、CMPv2 を使用してローカル・ディジタル証明書をオンラインで登録します。このコマンドは、CA サーバの設定に基づいて、エンドエンティティ証明書と CA 証明書の両方をロードします。登録 URL は CA プロファイルから抽出されるため、CA プロファイルは CA 証明書の登録前に作成する必要があります。
このトピックでは、CMPv2 プロトコルを使用した証明書の登録について説明します。
証明書の登録と再登録のメッセージ
CMPv2 プロトコルには、主に証明書の登録と再登録の操作が含まれます。証明書の登録プロセスには初期化要求メッセージと初期化応答メッセージが含まれ、証明書の再登録にはキー更新要求メッセージとキー更新応答メッセージが含まれます。
CMPv2 サーバーは、初期化応答 (IP) で応答します。応答には、エンドエンティティ証明書とオプションの CA 証明書が含まれます。初期化応答のメッセージの整合性とメッセージの信頼性は、RFC 4210 に従って共有秘密情報を使用して検証できます。初期化応答は、発行者 CA の公開キーを使用して検証することもできます。エンドエンティティ証明書を再登録する前に、有効な CA 証明書がデバイスに登録されている必要があります。
初期化応答またはキー更新応答メッセージには、発行者 CA 証明書または CA 証明書のチェーンを含めることができます。応答で受信した CA 証明書は、信頼された CA 証明書として扱われ、信頼された CA ストアにまだ存在しない場合は受信デバイスに保存されます。これらの CA 証明書は、後でエンドエンティティ証明書の検証に使用されます。
CA 証明書の再登録はサポートされていません。CA 証明書の有効期限が切れた場合は、現在の CA 証明書の登録を解除し、再度登録する必要があります。
発行者 CA 証明書を使用したエンドエンティティ証明書
単純なシナリオでは、初期化応答メッセージにエンドエンティティ証明書のみが含まれている場合があり、その場合、CA 情報は個別に提供されます。証明書は、エンドエンティティ証明書ストアに格納されます。
初期化応答メッセージには、エンドエンティティ証明書と自己署名発行者 CA 証明書を含めることができます。エンドエンティティ証明書は、最初に証明書ストアに格納され、次に CA 証明書がチェックされます。CA 証明書が見つかり、初期化応答メッセージ内の CA 証明書のサブジェクト識別名 (DN) がエンドエンティティ証明書の発行者 DN と一致する場合、CA 証明書は CMPv2 証明書登録コマンドで指定された CA プロファイル名の CA 証明書ストアに格納されます。CA 証明書が CA 証明書ストアに既に存在する場合、アクションは実行されません。
CA証明書チェーンを使用したエンドエンティティ証明書
多くの導入環境では、エンドエンティティ証明書は証明書チェーン内の中間CAによって発行されます。この場合、初期化応答メッセージには、チェーン内の CA 証明書のリストと共にエンドエンティティ証明書を含めることができます。中間 CA 証明書と自己署名ルート CA 証明書はすべて、エンドエンティティ証明書を検証するために必要です。CA チェーンは、同様の階層を持つピア デバイスから受信した証明書を検証するためにも必要になる場合があります。次のセクションでは、CA チェーン内の証明書の格納方法について説明します。
図 1、初期化応答メッセージには、証明書チェーン内のエンドエンティティ証明書と 3 つの CA 証明書が含まれます。
![CA証明書チェーンを使用したエンドエンティティ証明書](../concept/../../images/g043389.png)
エンドエンティティ証明書は、エンドエンティティ証明書ストアに格納されます。各 CA 証明書には CA プロファイルが必要です。サブジェクトが DN Sub11-CA の CA 証明書は、チェーン内の最初の CA であり、エンドエンティティ証明書の発行者です。これは、CMPv2 証明書登録コマンドで指定された CA プロファイルに保管されます。
チェーン内の残りの各 CA 証明書は、CA ストアに存在するかどうかがチェックされます。CA 証明書が CA ストアに存在しない場合は、CA 証明書が保存され、CA プロファイルが作成されます。新しい CA プロファイル名は、CA 証明書のシリアル番号の最下位 16 桁を使用して作成されます。シリアル番号が 16 桁を超える場合、16 桁を超える最上位桁は切り捨てられます。シリアル番号が 16 桁より短い場合、残りの最上位桁には 0
が入力されます。たとえば、シリアル番号が11111000100010001000の場合、CA プロファイル名は 1000100010001000
になります。シリアル番号が 10001000 の場合、CA プロファイル名は 0000000010001000
。
複数の証明書のシリアル番号が、同じ最下位 16 桁を持つことができます。この場合、プロファイル名に -00
が付加されて固有の CA プロファイル名が作成されます。追加の CA プロファイル名は、付加された番号を -01
から -99
まで増やして作成されます。たとえば、CA プロファイル名は、 1000100010001000
、 1000100010001000-00
、および 1000100010001000-01
にすることができます。
関連項目
例:ローカル証明書の CSR を手動で生成して CA サーバに送信する
この例では、証明書署名要求を手動で生成する方法を示します。
要件
公開キーと秘密キーを生成します。自己署名デジタル証明書を参照してください。
概要
この例では、以前に生成した公開キーと秘密キーのペア(ca-ipsec)の証明書 ID を使用して証明書要求を生成します。次に、ドメイン名 (example.net) と関連する共通名 (abc) を指定します。証明書要求は PEM 形式で表示されます。
生成された証明書要求をコピーして CA Web サイトの適切なフィールドに貼り付け、ローカル証明書を取得します。(証明書要求を貼り付ける場所を決定するには、CA サーバーのドキュメントを参照してください)。PKCS #10 コンテンツが表示されると、PKCS #10 ファイルの MD5 ハッシュと SHA-1 ハッシュも表示されます。
設定
手順
ステップバイステップでの手順
ローカル証明書を手動で生成するには:
証明書 ID、ドメイン名、および共通名を指定します。
user@host> request security pki generate-certificate-request certificate-id ca-ipsec domain-name example.net subject CN=abc
検証
証明書署名要求を表示するには、 show security pki certificate-request detail
コマンドを入力します。
Certificate identifier: ca-ipsec Certificate version: 1 Issued to: CN = abc Public key algorithm: rsaEncryption(1024 bits) 30:81:89:02:81:81:00:da:ea:cd:3a:49:1f:b7:33:3c:c5:50:fb:57 de:17:34:1c:51:9b:7b:1c:e9:1c:74:86:69:a4:36:77:13:a7:10:0e 52:f4:2b:52:39:07:15:3f:39:f5:49:d6:86:70:4b:a6:2d:73:b6:68 39:d3:6b:f3:11:67:ee:b4:40:5b:f4:de:a9:a4:0e:11:14:3f:96:84 03:3c:73:c7:75:f5:c4:c2:3f:5b:94:e6:24:aa:e8:2c:54:e6:b5:42 c7:72:1b:25:ca:f3:b9:fa:7f:41:82:6e:76:8b:e6:d7:d2:93:9b:38 fe:fd:71:01:2c:9b:5e:98:3f:0c:ed:a9:2b:a7:fb:02:03:01:00:01 Fingerprint: 0f:e6:2e:fc:6d:52:5d:47:6e:10:1c:ad:a0:8a:4c:b7:cc:97:c6:01 (sha1) f8:e6:88:53:52:c2:09:43:b7:43:9c:7a:a2:70:98:56 (md5)
例:CA 証明書とローカル証明書の手動読み込み
この例では、CA 証明書とローカル証明書を手動で読み込む方法を示します。
要件
開始する前に、以下を実行します。
公開キーと秘密キーのペアを生成します。自己署名デジタル証明書を参照してください。
CA プロファイルを作成します。認証局プロファイルについてを参照してください。
CA プロファイルは CA 証明書にのみ必要で、ローカル証明書には必要ありません
証明書要求を生成します。「例 :ローカル証明書の CSR を手動で生成し、CA Serverに送信します。
概要
この例では、local.cert および ca.cert の証明書をダウンロードし、デバイスの /var/tmp/ ディレクトリに保存します。
CA から証明書をダウンロードした後、証明書をデバイスに転送し (FTP などを使用して)、読み込みます。
Junos OS を実行しているデバイスに、次の証明書ファイルを読み込むことができます。
ローカルデバイスを識別するローカルまたはエンドエンティティ(EE)証明書。この証明書は公開キーです。
CA の公開キーを含む CA 証明書。
CA によって失効した証明書を一覧表示する CRL。
複数の EE 証明書をデバイスにロードできます。
設定
手順
ステップバイステップでの手順
証明書ファイルをデバイスにロードするには:
ローカル証明書を読み込みます。
[edit] user@host> request security pki local-certificate load certificate-id local.cert filename /var/tmp/local.cert
CA 証明書を読み込みます。
[edit] user@host> request security pki ca-certificate load ca-profile ca-profile-ipsec filename /var/tmp/ca.cert
CA 証明書のフィンガープリントを調べ、この CA 証明書に対して正しい場合は、[はい] を選択して受け入れます。
検証
証明書が正しく読み込まれたことを確認するには、動作モードで show security pki local-certificate
コマンドと show security pki ca-certificate
コマンドを入力します。
Fingerprint: e8:bf:81:6a:cd:26:ad:41:b3:84:55:d9:10:c4:a3:cc:c5:70:f0:7f (sha1) 19:b0:f8:36:e1:80:2c:30:a7:31:79:69:99:b7:56:9c (md5) Do you want to load this CA certificate ? [yes,no] (no) yes
証明書の削除(CLI手順)
自動または手動で生成されたローカルまたは信頼できる CA 証明書を削除できます。
次のコマンドを使用して、ローカル証明書を削除します。
user@host>
clear security pki local certificate certificate-id (certificate-id
| all | system-generated )
証明書 ID を指定して特定の ID を持つローカル証明書を削除するか、 all
を使用してすべてのローカル証明書を削除するか、 system-generated
を指定して自動的に生成された自己署名証明書を削除します。
自動的に生成された自己署名証明書を削除すると、デバイスは新しい証明書を生成します。
CA 証明書を削除するには:
user@host>
clear security pki ca-certificate ca-profile (ca-profile-name
| all)
CA プロファイルを指定して特定の CA 証明書を削除するか、 all
を使用して永続ストアに存在するすべての CA 証明書を削除します。
CA 証明書を削除する前に確認を求められます。
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。
ECDSA Keypair not supported with SCEP for cert_id <certificate id>
が表示されます。scep
キーワードがサポートされ、必須となっています。scep
キーワードがサポートされ、必須となっています。