Rivest、Shamir、Adelman(RSA)キー ペアを生成するには、グローバル設定モードで crypto key generate rsa コマンド を使用します。
crypto key generate rsa [general-keys | usage-keys | signature | encryption] [label key-label] [exportable] [modulus modulus-size] [storage devicename :] [redundancy] [on devicename :]
構文の説明
general-keys
|
(オプション)デフォルトで汎用キー ペアが生成されることを指定します。
|
usage-keys
|
(オプション)2 つの RSA 特定目的キー ペア、1 つの暗号化ペア、および 1 つのシグニチャ ペアが生成されることを指定します。
|
signature
|
(オプション)生成される RSA 公開キーがシグニチャ特定目的キーになることを指定します。
|
encryption
|
(オプション)生成される RSA 公開キーが暗号化特定目的キーになることを指定します。
|
label key-label
|
(オプション)エクスポートされているときに RSA キー ペアに使用される名前を指定します。
キー ラベルを指定していない場合、ルータの完全修飾ドメイン名(FQDN)が使用されます。
|
exportable
|
(オプション)ルータなどの別のシスコ デバイスに RSA キー ペアをエクスポートできることを指定します。
|
modulus modulus-size
|
(オプション)キー モジュラスの IP サイズを指定します。
デフォルトでは、認証局(CA)キーのモジュラス サイズは 1024 ビットです。推奨される CA キーのモジュラスは 2048 ビットです。CA キー モジュラスの範囲は 350 ~ 4096 ビットです。
(注)
|
Cisco IOS XE リリース 2.4 および Cisco IOS リリース 15.1(1)T では、秘密キーの動作のために最大キー サイズが 4096 ビットに拡張されました。これらのリリースより前の秘密キーの動作の最大値は 2048 ビットでした。
|
|
storage devicename :
|
(オプション)キー ストレージの場所を指定します。ストレージ デバイスの名前の後にはコロン(:)を付けます。
|
redundancy
|
(オプション)キーをスタンバイ CA に同期させる必要があることを指定します。
|
on devicename :
|
(オプション)指定した装置上で RSA キー ペアが作成されることを指定します。この装置にはユニバーサル シリアル バス(USB)トークン、ローカル ディスク、および NVRAM などがあります。装置の名前の後にはコロン(:)を付けます。
USB トークン上で作成されるキーは、2048 ビット以下である必要があります。
|
コマンド デフォルト
RSA キー ペアは存在しません。
コマンド モード
グローバル コンフィギュレーション
コマンド履歴
リリース
|
変更内容
|
11.3
|
このコマンドが導入されました。
|
12.2(8)T
|
key-label 引数 が追加されました。
|
12.2(15)T
|
exportable キーワードが追加されました。
|
12.2(18)SXD
|
このコマンドが、Cisco IOS リリース 12.2(18)SXD に統合されました。
|
12.4(4)T
|
storage キーワードおよび devicename : 引数が追加されました。
|
12.2(33)SRA
|
このコマンドが、Cisco IOS Release 12.2(33)SRA に統合されました。
|
12.4(11)T
|
storage キーワードおよび devicename : 引数が Cisco 7200VXR NPE-G2 プラットフォームに実装されました。
signature 、encryption 、on キーワードおよび devicename : 引数が追加されました。
|
12.4(24)T
|
IPv6 セキュア ネイバー探索(SeND)のサポートが追加されました。
|
XE 2.4
|
秘密キーの動作のために RSA キーの最大サイズが 2048 から 4096 ビットに拡張されました。
|
15.0(1)M
|
このコマンドが変更されました。redundancy キーワードが導入されました。
|
15.1(1)T
|
このコマンドが変更されました。modulus キーワード値の範囲が 360 ~ 2048 ビットから 360 ~ 4096 ビットに拡張されました。
|
15.2(2)SA2
|
このコマンドが Cisco ME 2600X シリーズ イーサネット アクセス スイッチに実装されました。
|
使用上のガイドライン
シスコ デバイス(ルータなど)の RSA キー ペアを生成するには、このコマンドを使用します。
RSA キーはペアで作成されます。1 つは RSA 公開キー、もう 1 つは RSA 秘密キーです。
このコマンドの発行時に、ルータに RSA キーがすでに設定されている場合は、警告が表示され、既存のキーを新しいキーと置き換えるよう求めるプロンプトが表示されます。
(注) |
このコマンドを発行する前に、ルータでホスト名および IP ドメイン名が設定されています(hostname および ip domain-name コマンドを使用)。ホスト名および IP ドメイン名を使用しないと、crypto key generate rsa コマンドを完了できません。(名前付きキー ペアのみを生成する場合はこれに当てはまりません。)
|
(注) |
RSA キーを使用せずにルータでキー ペアを生成すると、セキュア シェル(SSH)によって追加の RSA キー ペアが生成される場合があります。追加のキー ペアは SSH でのみ使用され、{router_FQDN }.server のような名前が付けられます。たとえば、ルータ名が「router1.cisco.com」の場合、キー名は「router1.cisco.com.server」です。
|
このコマンドはルータの設定には保存されません。ただし、このコマンドによって生成された RSA キーは、次回設定が NVRAM に書き込まれるときに、NVRAM のプライベート設定(ユーザには表示されない、または別のデバイスにバックアップされる)に保存されます。
(注) |
設定が NVRAM に保存されていない場合、生成されたキーはルータの次のリロード時に失われます。
|
RSA キー ペアには用途キーと汎用目的キーの 2 つのタイプがあり、これらは相互に排他的です。RSA キー ペアを生成するとき、用途キーまたは汎用目的キーを選択するためのプロンプトが表示されます。
用途キー
用途キーを生成する場合、RSA キーの 2 つのペアが生成されます。1 つのペアは認証方式として RSA シグニチャを指定する任意のインターネット キー交換(IKE)ポリシーで使用され、その他のペアは認証方式として RSA 暗号化キーを指定するすべての
IKE ポリシーで使用されます。
CA は RSA 署名を指定する IKE ポリシーでのみ使用され、RSA 暗号化ナンスを指定する IKE ポリシーでは使用されません。(ただし、複数の IKE ポリシーを指定し、1 つのポリシーで RSA シグニチャを指定し、別のポリシーで RSA
暗号化ナンスを指定することもできます。)
IKE ポリシーで両方のタイプの RSA 認証方式を使用する場合は、用途キーを生成することをお勧めします。用途キーを使用すると、各キーは不必要に暴露されなくなります。(用途キーを使用しない場合、1 つのキーが両方の認証方法に使用されるため、そのキーが暴露される危険性が高くなります。)
汎用キー
汎用キーを生成する場合、生成される RSA キーのペアは 1 つのみです。このペアは、RSA シグニチャまたは RSA 暗号化キーのいずれかを指定する IKE ポリシーで使用されます。そのため、汎用キー ペアは用途キー ペアよりも頻繁に使用される可能性があります。
名前付きキー ペア
key-label 引数を使用して名前付きキー ペアを生成する場合は、usage-keys キーワードまたは general-keys キーワードも指定する必要があります。名前付きキー ペアを使用して、複数の RSA キー ペアを用意すると、Cisco IOS ソフトウェアがアイデンティティの証明書ごとに異なるキー ペアを維持できるようになります。
係数の長さ
RSA キーのペアを生成する場合に、モジュラスの長さの入力を求められます。モジュラスが長いほど、セキュリティが強化されます。ただし、モジュラスが長いほど、生成には時間がかかり(サンプル時間については、次の表を参照)、使用にも時間がかかります。
表 6. RSA キー生成用のモジュラス長ごとのサンプル時間
ルータ
|
360 ビット
|
512 ビット
|
1024 ビット
|
2048 ビット(最大)
|
Cisco 2500
|
11 秒
|
20 秒
|
4 分 38 秒
|
1 時間以上
|
Cisco 4700
|
1 秒未満
|
1 秒
|
4 秒
|
50 秒
|
Cisco IOS ソフトウェアは 4096 ビットを超えるモジュラスをサポートしていません。通常、512 ビット未満の長さは推奨されません。特定の状況で、モジュラスを短くすると、IKE で適切に機能しない場合があるため、2048 ビット以上のモジュラスを使用することを推奨します。
(注) |
Cisco IOS Release 12.4(11)T の時点では、最大 4096 ビットまでのピアの公開 RSA キーのモジュラス値が自動的にサポートされます。秘密 RSA キーの最大モジュラス値は 4096 ビットです。したがって、ルータが生成またはインポートできる RSA 秘密キーの最大サイズは、4096 ビットです。ただし、RFC 2409
では、RSA 暗号化の秘密キーのサイズを 2048 ビット以下に制限しています。CA の推奨モジュラスは 2048 ビット、クライアントの推奨モジュラスも 2048 ビットです。
|
RSA キーが暗号化ハードウェアによって生成される場合は、制限が追加されることがあります。たとえば、RSA キーが Cisco VPN サービス ポート アダプタ(VSPA)によって生成される場合、RSA キー モジュラスは 384 ビット以上にする必要があります。また、64
の倍数にする必要もあります。
RSA キーのストレージ場所の指定
storage devicename : キーワードおよび引数を使用して crypto key generate rsa コマンドを発行すると、指定したデバイスに RSA キーが保存されます。この場所は、crypto key storage コマンド設定よりも優先されます。
RSA キー生成用のデバイスの指定
Cisco IOS Release 12.4(11)T 移行のリリースでは、RSA キーが生成されるデバイスを指定できます。サポート対象のデバイスには、NVRAM、ローカル ディスク、および USB トークンが含まれます。ルータで USB トークンを設定し、それが利用可能な場合、USB
トークンは、ストレージ デバイスとしてだけでなく、暗号化デバイスとしても使用できます。USB トークンを暗号化装置として使用すると、このトークンでクレデンシャルのキー生成、署名、認証などの RSA 操作を実行できます。秘密キーは決して USB
トークンから出ないようになっており、エクスポートできません。公開キーはエクスポート可能です。
RSA キーは、on devicename : キーワードおよび引数を使用して設定済みで利用可能な USB トークンで生成される場合があります。USB トークン上に常駐するキーは、生成された段階でトークンの永続的な保管場所に保存されます。USB トークンで生成できるキーの数は利用可能なスペースによって制限されます。USB
トークンでキーを生成しようとしたときに一杯の場合は、次のメッセージが表示されます。
% Error in generating keys:no available resources
キーの削除操作を行うと、トークンに保存されているキーは、永続的な保管場所からただちに削除されます(トークン上に常駐していないキーは、copy またはそれに類するコマンドが発行されると、トークン以外の保管場所で保存や削除が行われます)。
USB トークンの設定詳細については、『Cisco IOS Security Configuration Guide, Release 12.4T』の「Storing PKI Credentials」の章を参照してください。トークン上で RSA
クレデンシャルする際の詳細については、『Cisco IOS Security Configuration Guide , Release 12.4T』の「Configuring and Managing a Cisco IOS Certificate
Server for PKI Deployment」の章を参照してください。
デバイスでの RSA キー冗長性生成の指定
既存のキーの冗長性がエクスポート可能な場合にのみ指定できます。
例
次の例では、「ms2」というラベルの USB トークンに汎用 1024 ビット RSA キー ペアを生成し、それとともに表示される暗号エンジンのデバッギング メッセージを示します。
Router(config)# crypto key generate rsa label ms2 modulus 2048 on usbtoken0:
The name for the keys will be: ms2
% The key modulus size is 2048 bits
% Generating 1024 bit RSA keys, keys will be on-token, non-exportable...
Jan 7 02:41:40.895: crypto_engine: Generate public/private keypair [OK]
Jan 7 02:44:09.623: crypto_engine: Create signature
Jan 7 02:44:10.467: crypto_engine: Verify signature
Jan 7 02:44:10.467: CryptoEngine0: CRYPTO_ISA_RSA_CREATE_PUBKEY(hw)(ipsec)
Jan 7 02:44:10.467: CryptoEngine0: CRYPTO_ISA_RSA_PUB_DECRYPT(hw)(ipsec)
これで、「ms2」というラベルが付けられた、トークン上のキーを登録に使用できます。
次に、用途 RSA キーを生成する例を示します。
Router(config)# crypto key generate rsa usage-keys
The name for the keys will be: myrouter.example.com
Choose the size of the key modulus in the range of 360 to 2048 for your Signature Keys. Choosing a key modulus greater than 512 may take a few minutes.
How many bits in the modulus[512]? <return>
Generating RSA keys.... [OK].
Choose the size of the key modulus in the range of 360 to 2048 for your Encryption Keys. Choosing a key modulus greater than 512 may take a few minutes.
How many bits in the modulus[512]? <return>
Generating RSA keys.... [OK].
次に、汎用 RSA キーを生成する例を示します。
(注) |
用途と汎用の両方のキーを生成することはできません。生成できるのはいずれか 1 つです。
|
Router(config)# crypto key generate rsa general-keys
The name for the keys will be: myrouter.example.com
Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes.
How many bits in the modulus[512]? <return>
Generating RSA keys.... [OK].
次に、汎用 RSA キー「exampleCAkeys」を生成する例を示します。
crypto key generate rsa general-keys label exampleCAkeys
crypto ca trustpoint exampleCAkeys
enroll url
http://exampleCAkeys/certsrv/mscep/mscep.dll
rsakeypair exampleCAkeys 1024 1024
次に、「tokenkey1」の RSA キー ストレージの場所として「usbtoken0:」を指定する例を示します。
crypto key generate rsa general-keys label tokenkey1 storage usbtoken0:
次に、redundancy キーワードを指定する例を示します。
Router(config)# crypto key generate rsa label MYKEYS redundancy
The name for the keys will be: MYKEYS
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]:
% Generating 512 bit RSA keys, keys will be non-exportable with redundancy...[OK]