PKI の概要
ここでは、PKI について説明します。
CA とデジタル証明書
証明機関(CA)は証明書要求を管理して、ホスト、ネットワーク デバイス、ユーザなどの参加エンティティに証明書を発行します。CA は参加エンティティに対して集中型のキー管理を行います。
デジタル署名は、公開キー暗号法に基づいて、デバイスや個々のユーザをデジタル的に認証します。RSA 暗号化システムなどの公開キー暗号法では、各デバイスやユーザはキー ペアを持ち、これには秘密キーと公開キーが含まれています。秘密キーは秘密裡に保管し、これを知っているのは所有するデバイスまたはユーザだけです。一方、公開キーは誰もが知っているものです。これらのキーの一方で暗号化されたものは、他方のキーで復号化できます。署名は、送信者の秘密キーを使用してデータを暗号化したときに作成されます。受信側は、送信側の公開キーを使用してメッセージを復号化することで、シグニチャを検証します。このプロセスは、受信者が送信者の公開キーのコピーを持っていて、これが本当に送信者のものであり、送信者を騙る他人のものではないことを高い確実性を持って知っていることを基盤としています。
デジタル証明書は、デジタル署名と送信者を結び付けるものです。デジタル証明書には、名前、シリアル番号、企業、部署または IP アドレスなど、ユーザまたはデバイスを特定する情報を含んでいます。また、エンティティの公開キーのコピーも含んでいます。証明書に署名する CA は、受信者が明示的に信頼する第三者機関であり、アイデンティティの正当性を立証し、デジタル証明書を作成します。
CA のシグニチャを検証するには、受信者は、CA の公開キーを認識している必要があります。一般的にはこのプロセスはアウトオブバンドか、インストール時に行われる操作によって処理されます。たとえば、通常の Web ブラウザでは、デフォルトで、複数の CA の公開キーが設定されています。
信頼モデル、トラストポイント、アイデンティティ CA
PKI の信頼モデルは、設定変更が可能な複数の信頼できる CA によって階層化されています。信頼できる CA のリストを使用して各参加デバイスを設定して、セキュリティ プロトコルの交換の際に入手したピアの証明書がローカルに信頼できる CA のいずれかで発行されていた場合には、これを認証できるようにすることができます。Cisco NX-OS ソフトウェアでは、信頼できる CA の自己署名ルート証明書(または下位 CA の証明書チェーン)をローカルに保存しています。信頼できる CA のルート証明書(または下位 CA の場合には全体のチェーン)を安全に入手するプロセスを、CA 認証と呼びます。
信頼できる CA について設定された情報をトラストポイントと呼び、CA 自体もトラストポイント CA と呼びます。この情報は、CA 証明書(下位 CA の場合は証明書チェーン)と証明書取消確認情報で構成されています。
Cisco NX-OS デバイスは、トラストポイントに登録して、アイデンティティ証明書を入手し、キー ペアと関連付けることができます。このトラストポイントをアイデンティティ CA と呼びます。
CA証明書の階層
セキュアサービスの場合、通常は複数の信頼できるCAがあります。CAは通常、すべてのホストにバンドルとしてインストールされます。NX-OS PKIインフラストラクチャは、証明書チェーンのインポートをサポートします。ただし、現在のCLIでは、一度に1つのチェーンをインストールできます。インストールするCAチェーンが複数ある場合、この手順は面倒です。これには、複数の中間CAとルートCAを含むCAバンドルをダウンロードする機能が必要です。
CA バンドルのインポート
crypto CA trustpointコマンドは、CA証明書、CRL、アイデンティティ証明書、およびキーペアを名前付きラベルにバインドします。これらの各エンティティに対応するすべてのファイルは、NX-OS certstoreディレクトリ(/ isan / etc / certstore)に保存され、トラストポイントラベルでタグ付けされます。
CA証明書にアクセスするには、SSLアプリケーションは標準のNX-OS証明書ストアをポイントし、SSL初期化中にCAパスとして指定するだけです。CAがインストールされているトラストポイントラベルを認識する必要はありません。
クライアントがアイデンティティ証明書にバインドする必要がある場合は、トラストポイントラベルをバインディングポイントとして使用する必要があります。
import pkcsコマンドは、トラストポイントラベルの下にCA証明書をインストールするように拡張されています。CAバンドルをインストールするようにさらに拡張できます。importコマンド構造が変更され、pkcs7形式のCAバンドルファイルを提供するために使用されるpkcs7オプションが追加されました。
Cisco NX-OS リリース 10.1(1) 以降、CA バンドルを解凍し、独自のラベルの下に各 CA チェーンをインストールするために、pkcs7 ファイル形式がサポートされています。ラベルは、メイントラストポイントラベルにインデックスを追加することによって形成されます。
一度インストールすると、バンドルへのすべてのCAチェーンの論理バインディングはありません。
PKCS7 形式での CA 証明書バンドルのインポート
複数の独立した証明書チェーンで構成される CA 証明書バンドルのインポートをサポートするために、 'pkcs7’ のオプションが crypto import コマンドに導入されました。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します |
ステップ 2 |
crypto ca import <baselabel> pksc7 <uri0> force |
コマンドには2つの入力引数があります。Ca バンドルファイルであるソースファイルは、<uri0>、入力ファイルは pkcs7 形式である必要があります。これは cabundle ファイルであることを示します。 複数の証明書チェーンが cabundle から抽出されます。このコマンドは、CA証明書チェーンが接続された複数のトラストポイントを生成します。import コマンドは、グローバル CA バンドル構成と、生成された各トラストポイントごとの CA バンドル下位構成の、2 つの構成を生成します。 force オプションを指定すると、CA バンドルおよび関連するトラストポイン構成が削除され、同じバンドル名を持つ新しい CA バンドルがインポートされ、その CA バンドルに関連する新しいトラストポイント構成が生成されます。 |
ステップ 3 |
crypto ca cabundle <bundle-name> |
bundle-name は、インポートの場合の baselabel と同じです。このコマンドの no 形式を使用すると、CA バンドル、トラストポイント、および関連する証明書チェーンを削除できます。 特定のベースラベル名で CA バンドルをインポートし、すべてのトラストポイントを生成した後、ユーザーが同じベースラベル名で import コマンドを再度実行しようとすると、CA バンドルがすでに存在するというエラーがスローされます。ユーザーは force オプションを使用して、既存の CA バンドルを変更できます。 サポートされる CA バンドルの最大数は 20 です。 |
ステップ 4 |
exit 例:
|
設定モードを終了します。 |
ステップ 5 |
(任意) show crypto ca certificates 例:
|
(任意)
CA 証明書を表示します。 |
ステップ 6 |
(任意) copy running-config startup-config 例:
|
(任意)
実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。 |
RSA のキー ペアとアイデンティティ証明書
アイデンティティ証明書を入手するには、1 つまたは複数の RSA キー ペアを作成し、各 RSA キー ペアと Cisco NX-OS デバイスが登録しようとしているトラストポイント CA を関連付けます。Cisco NX-OS デバイスは、CA ごとにアイデンティティを 1 つだけ必要とします。これは CA ごとに 1 つのキー ペアと 1 つのアイデンティティ証明書で構成されています。
Cisco NX-OS ソフトウェアでは、設定変更が可能なキーのサイズ(またはモジュラス)で RSA キー ペアを作成できます。デフォルトのキーのサイズは 512 です。また、RSA キー ペアのラベルも設定できます。デフォルトのキー ラベルは、デバイスの完全修飾ドメイン名(FQDN)です。
トラストポイント、RSA キー ペア、およびアイデンティティ証明書の関係を要約したものを次に示します。
-
トラストポイントとは、Cisco NX-OS デバイスが、あらゆるアプリケーション(SSH など)のピア証明書用に信頼する特定の CA です。
-
Cisco NX-OS デバイスでは、デバイス上に多くのトラストポイントを置くことができ、デバイス上のすべてのアプリケーションは、任意のトラストポイント CA によって発行されたピア証明書を信頼できます。
-
トラストポイントは特定のアプリケーション用に限定されません。
-
Cisco NX-OS デバイスは、トラストポイントに対応する CA に登録して、アイデンティティ証明書を入手します。デバイスは複数のトラストポイントに登録できます。これは、各トラストポイントから異なるアイデンティティ証明書を入手できることを意味します。アイデンティティ証明書は、発行する CA によって証明書に指定されている目的に応じてアプリケーションで使用します。証明書の目的は、証明書の拡張機能として証明書に保存されます。
-
トラストポイントに登録するときには、証明を受ける RSA キー ペアを指定する必要があります。このキー ペアは、登録要求を作成する前に作成されていて、トラストポイントに関連付けられている必要があります。トラストポイント、キー ペア、およびアイデンティティ証明書との間のアソシエーション(関連付け)は、証明書、キー ペア、またはトラストポイントが削除されて明示的になくなるまで有効です。
-
アイデンティティ証明書のサブジェクト名は、Cisco NX-OS デバイスの完全修飾ドメイン名です。
-
デバイス上には 1 つまたは複数の RSA キー ペアを作成でき、それぞれを 1 つまたは複数のトラストポイントに関連付けることができます。しかし、1 つのトラストポイントに関連付けられるキー ペアは 1 だけです。これは 1 つの CA からは 1 つのアイデンティティ証明書しか入手できないことを意味します。
-
Cisco NX-OS デバイスが複数のアイデンティティ証明書を(それぞれ別の CA から)入手する場合は、アプリケーションがピアとのセキュリティ プロトコルの交換で使用する証明書は、アプリケーション固有のものになります。
-
1 つのアプリケーションに 1 つまたは複数のトラストポイントを指定する必要はありません。証明書の目的がアプリケーションの要件を満たしていれば、どのアプリケーションもあらゆるトラストポイントで発行されたあらゆる証明書を使用できます。
-
あるトラストポイントから複数のアイデンティティ証明書を入手したり、あるトラストポイントに複数のキー ペアを関連付ける必要はありません。ある CA はあるアイデンティティ(または名前)を 1 回だけ証明し、同じ名前で複数の証明書を発行することはありません。ある CA から複数のアイデンティティ証明書を入手する必要があり、またその CA が同じ名前で複数の証明書の発行を許可している場合は、同じ CA 用の別のトラストポイントを定義して、別のキー ペアを関連付け、証明を受ける必要があります。
複数の信頼できる CA のサポート
Cisco NX-OS デバイスは、複数のトラストポイントを設定して、それぞれを別の CA に関連付けることにより、複数の CA を信頼できるようになります。信頼できる CA が複数あると、ピアに証明書を発行した特定の CA にデバイスを登録する必要がなくなります。代わりに、ピアが信頼する複数の信頼できる CA をデバイスに設定できます。すると、Cisco NX-OS デバイスは設定されている信頼できる CA を使用して、ピアから受信した証明書で、ピア デバイスの ID で定義されている CA から発行されたものではないものを検証できるようになります。
PKI の登録のサポート
登録とは、SSH などのアプリケーションに使用するデバイス用のアイデンティティ証明書を入手するプロセスです。これは、証明書を要求するデバイスと、認証局の間で生じます。
Cisco NX-OS デバイスでは、PKI 登録プロセスを実行する際に、次の手順を取ります。
-
デバイスで RSA の秘密キーと公開キーのペアを作成します。
-
標準の形式で証明書要求を作成し、CA に送ります。
Note |
要求が CA で受信されたとき、CA サーバでは CA アドミニストレータが登録要求を手動で承認しなくてはならない場合があります。 |
-
発行された証明書を CA から受け取ります。これは CA の秘密キーで署名されています。
-
デバイスの不揮発性のストレージ領域(ブートフラッシュ)に証明書を書き込みます。
カットアンドペーストによる手動での登録
Cisco NX-OS ソフトウェアでは、手動でのカットアンドペーストによる証明書の取得と登録をサポートしています。カットアンドペーストによる登録とは、証明書要求をカットアンドペーストして、デバイスと CA 間で認証を行うことを意味します。
手動による登録プロセスでカットアンドペーストを使用するには、次の手順を実行する必要があります。
-
証明書登録要求を作成します。これは Cisco NX-OS デバイスで base64 でエンコードされたテキスト形式として表示されます。
-
エンコードされた証明書要求のテキストを E メールまたは Web フォームにカットアンドペーストし、CA に送ります。
-
発行された証明書(base64 でエンコードされたテキスト形式)を CA から E メールまたは Web ブラウザによるダウンロードで受け取ります。
-
証明書のインポート機能を使用して、発行された証明書をデバイスにカットアンドペーストします。
複数の RSA キー ペアとアイデンティティ CA のサポート
複数のアイデンティティ CA を使用すると、デバイスが複数のトラストポイントに登録できるようになり、その結果、別々の CA から複数のアイデンティティ証明書が発行されます。この機能によって、Cisco NX-OS デバイスは複数のピアを持つ SSH およびアプリケーションに、これらのピアに対応する CA から発行された証明書を使用して参加できるようになります。
また複数の RSA キー ペアの機能を使用すると、登録している各 CA ごとの別々のキー ペアをデバイスで持てるようになります。これは、他の CA で指定されているキーの長さなどの要件と競合することなく、各 CA のポリシー要件に適合させることができます。デバイスでは複数の RSA キー ペアを作成して、各キー ペアを別々のトラストポイントに関連付けることができます。したがって、トラストポイントに登録するときには、関連付けられたキー ペアを証明書要求の作成に使用します。
ピア証明書の検証
PKI では、Cisco NX-OS デバイスでのピア証明書の検証機能をサポートしています。Cisco NX-OS では、SSH などのアプリケーションのためのセキュリティ交換の際にピアから受け取った証明書を検証します。アプリケーションはピア証明書の正当性を検証します。Cisco NX-OS ソフトウェアでは、ピア証明書の検証の際に次の手順を実行します。
-
ピア証明書がローカルの信頼できる CA のいずれかから発行されていることを確認します。
-
ピア証明書が現在時刻において有効であること(期限切れでない)ことを確認します。
-
ピア証明書が、発行した CA によって取り消されていないことを確認します。
取消確認については、Cisco NX-OS ソフトウェアでは証明書失効リスト(CRL)をサポートしています。トラストポイント CA ではこの方法を使用して、ピア証明書が取り消されていないことを確認できます。
証明書の取消確認
Cisco NX-OS ソフトウェアでは、CA 証明書の取消のステータスを確認できます。アプリケーションでは、指定した順序に従って取消確認メカニズムを使用できます。CRL、NDcPP:OCSP for Syslog、なし、またはこれらの方式の組み合わせを指定できます。
CRL のサポート
CA では証明書失効リスト(CRL)を管理して、有効期限前に取り消された証明書についての情報を提供します。CA では CRL をリポジトリで公開して、発行したすべての証明書の中にダウンロード用の公開 URL 情報を記載しています。ピア証明書を検証するクライアントは、発行した CA から最新の CRL を入手して、これを使用して証明書が取り消されていないかどうかを確認できます。クライアントは、自身の信頼できる CA のすべてまたは一部の CRL をローカルにキャッシュして、その CRL が期限切れになるまで必要に応じて使用することができます。
Cisco NX-OS ソフトウェアでは、先にダウンロードしたトラストポイントについての CRL を手動で設定して、これをデバイスのブートフラッシュ(cert-store)にキャッシュすることができます。ピア証明書の検証の際、Cisco NX-OS ソフトウェアは、CRL がすでにローカルにキャッシュされていて、取消確認でこの CRL を使用するよう設定されている場合にだけ、発行した CA からの CRL をチェックします。それ以外の場合、Cisco NX-OS ソフトウェアでは CRL チェックを実行せず、他の取消確認方式が設定されている場合を除き、証明書は取り消されていないと見なします。
NDcPP:syslog の OCSP
Online Certificate Status Protocol(OCSP)は、ピアがこの失効情報を取得し、それを検証して証明書失効ステータスを確認する必要がある場合に、証明書失効をチェックする方法です。この方式では、クラウドを介してOCSPレスポンダに到達するピアの機能、または証明書失効情報を取得する証明書送信者のパフォーマンスによって、証明書失効ステータスが制限されます。
リモート syslog サーバが OCSP レスポンダ URL を持つ証明書を共有すると、クライアントはサーバ証明書を外部 OCSP レスポンダ(CA)サーバに送信します。CA サーバはこの証明書を検証し、有効な証明書か失効した証明書かを確認します。この場合、クライアントは失効した証明書リストをローカルに保持する必要はありません。
証明書と対応するキー ペアのインポートとエクスポート
CA 認証と登録のプロセスの一環として、下位 CA 証明書(または証明書チェーン)とアイデンティティ証明書を標準の PEM(base64)形式でインポートできます。
トラストポイントでのアイデンティティ情報全体を、パスワードで保護される PKCS#12 標準形式でファイルにエクスポートできます。このファイルは、後で同じデバイス(システム クラッシュの後など)や交換したデバイスににインポートすることができます。PKCS#12 ファイル内の情報は、RSA キー ペア、アイデンティティ証明書、および CA 証明書(またはチェーン)で構成されています。