Guest

Cisco IOS Software Releases 12.2 T

Multiple RSA Key Pair Support

Table Of Contents

Multiple RSA Key Pair Support

Feature Overview

Benefits

Restrictions

Related Documents

Supported Platforms

Supported Standards, MIBs, and RFCs

Configuration Tasks

Configuring RSA Key Pair Settings

Removing RSA Key Pair Settings

Verifying RSA Key Information

Configuration Examples

RSA Key Pair Settings Configuration Example

Command Reference

crypto key generate rsa (CA)

crypto key zeroize rsa

rsakeypair

Glossary


Multiple RSA Key Pair Support


Feature History

Release
Modification

12.2(8)T

This feature was introduced.


This document describes the Multiple RSA Key Pair Support feature in Cisco IOS Release 12.2(8)T. It includes the following sections:

Feature Overview

Supported Platforms

Supported Standards, MIBs, and RFCs

Configuration Tasks

Configuration Examples

Command Reference

Glossary

Feature Overview

The Multiple RSA Key Pair Support feature allows a user to configure a Cisco IOS router to have multiple Rivest, Shamir, and Adelman (RSA) key pairs. Thus, the Cisco IOS software can maintain a different key pair for each identity certificate.

Before this feature, Cisco IOS public key infrastructure (PKI) configurations allowed either one general-purpose key pair or a set of special-purpose key pairs (an encryption and a signing key pair). The scenarios in which the key pairs were deployed often required configurations that required the router to enroll with multiple certificate servers because each server has an independent policy and may also have different requirements regarding general-purpose versus special-purpose certificates or key length. With this feature, a user can configure different key pairs for each certification authority (CA) with which the router enrolls.

Benefits

The Multiple RSA Key Pair Support feature allows the Cisco IOS software to maintain a distinct key pair for each CA with which it is dealing. Thus, the Cisco IOS software can match policy requirements for each CA without compromising the requirements specified by the other CAs, such as key length, key lifetime, and general-purpose versus special-usage keys.

Restrictions

CA Enrollment

It is recommended Secure Socket Layer (SSL) or other PKI clients do not attempt to enroll with the same CA multiple times.

IKE Limitation

Internet Key Exchange (IKE) will not work for any identity that is configured to use a named key pair. If an IKE peer requests a certificate from a PKI trustpoint that is using multiple key support, the initial portion of the exchange will work; that is, the correct certificate will be sent in the certificate response. However, in this release, the named keypair will not be used and the IKE negotiation will fail.


Note This restriction will be lifted in a future release.


Related Documents

Certificate Autoenrollment, Cisco IOS Release 12.2(8)T feature module

Certificate Enrollment Enhancements, Cisco IOS Release 12.2(8)T feature module

Trustpoint CLI, Cisco IOS Release 12.2(8)T feature module

The chapter "Configuring Certification Authority Interoperability" in the Cisco IOS Security Configuration Guide, Release 12.2

The chapter "Certification Authority Interoperability Commands" in the Cisco IOS Security Command Reference, Release 12.2

Supported Platforms

This feature runs on all platforms that support IP Security (IPSec) and PKI.

Cisco 800 series

Cisco 805

Cisco 806

Cisco 820 series

Cisco 827

Cisco 828

Cisco 1600 series

Cisco 1600-R series

Cisco 1710

Cisco 1720

Cisco 1750

Cisco 1760

Cisco 2400 series

Cisco 2600 series

Cisco 3620

Cisco 3631

Cisco 3640

Cisco 3660

Cisco 3725

Cisco 3745

Cisco 7100 series

Cisco 7200 series

Cisco 7400 series

Cisco 7500 series

Cisco CVA120 series

Cisco ICS 7700

Cisco MC3810 series

Cisco uBR7200 series

Cisco uBR900 series

Cisco uBR904

Cisco uBR905

Cisco uBR910

Cisco uBR920

Cisco uBR925

Route Processor Module (RPM)

Determining Platform Support Through Cisco Feature Navigator

Cisco IOS software is packaged in feature sets that support specific platforms. To get updated information regarding platform support for this feature, access Cisco Feature Navigator. Cisco Feature Navigator dynamically updates the list of supported platforms as new platform support is added for the feature.

Cisco Feature Navigator is a web-based tool that enables you to quickly determine which Cisco IOS software images support a specific set of features and which features are supported in a specific Cisco IOS image. You can search by feature or release. Under the release section, you can compare releases side by side to display both the features unique to each software release and the features in common.

To access Cisco Feature Navigator, you must have an account on Cisco.com. If you have forgotten or lost your account information, send a blank e-mail to cco-locksmith@cisco.com. An automatic check will verify that your e-mail address is registered with Cisco.com. If the check is successful, account details with a new random password will be e-mailed to you. Qualified users can establish an account on Cisco.com by following the directions at http://www.cisco.com/register.

Cisco Feature Navigator is updated regularly when major Cisco IOS software releases and technology releases occur. For the most current information, go to the Cisco Feature Navigator home page at the following URL:

http://www.cisco.com/go/fn

Supported Standards, MIBs, and RFCs

Standards

None

MIBs

None

To obtain lists of supported MIBs by platform and Cisco IOS release, and to download MIB modules, go to the Cisco MIB website on Cisco.com at the following URL:

http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml

RFCs

None

Configuration Tasks

See the following sections for configuration tasks for the Multiple RSA Key Pair Support feature. Each task in the list is identified as either required or optional.

Configuring RSA Key Pair Settings (required)

Removing RSA Key Pair Settings (optional)

Verifying RSA Key Information (optional)

Configuring RSA Key Pair Settings

Whenever you regenerate a key pair, you must always reenroll the certificate identities with that key pair. To refer back to the named key pair and associate the key pair with the certificate, use the following commands beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# crypto key generate rsa [usage-keys | general-keys] [key-pair-label]

Generates RSA key pairs.

Step 2 

Router(config)# crypto ca trustpoint

Enters ca-trustpoint configuration mode.

Step 3 

Router(ca-trustpoint)# rsakeypair key-label [key-size [encryption-key-size]]

Specifies which key pair to associate with the certificate.

key-label will be generated during enrollment if it does not already exist or if the auto-enroll regenerate command was issued.

Specify the key-size for generating the key and specify the encryption-key-size to request separate encryption, signature keys, and certificates. The key-size and encryption-key-size must be the same size.

Removing RSA Key Pair Settings

To delete a specified RSA key pair that has been generated by your router, use the following command in global configuration mode:

Command
Purpose

Router(config)# crypto key zeroize rsa [key-pair-label]

Deletes RSA keys from your router. If the key-pair-label argument is used, you will delete only the specified RSA key pair.


Verifying RSA Key Information

To verify RSA key information, use at least one of the following EXEC commands:

Command
Purpose

Router# show crypto key mypubkey rsa

Displays your router's RSA public keys.

Router# show crypto key pubkey-chain rsa

Displays a list of all the RSA public keys stored on your router. These include the public keys of peers who have sent your router their certificates during peer authentication for IPSec.

Router# show crypto key pubkey-chain rsa [name key-name | address key-address]

Displays details of a particular RSA public key stored on your router.


Configuration Examples

This section provides the following configuration examples:

RSA Key Pair Settings Configuration Example

RSA Key Pair Settings Configuration Example

The following example is a sample trustpoint configuration that specifies the rsa key pair "exampleCAkeys":

crypto key generate rsa general-purpose exampleCAkeys
crypto ca trustpoint exampleCAkeys
 enroll url http://exampleCAkeys/certsrv/mscep/mscep.dll
 rsakeypair exampleCAkeys 1024 1024

Command Reference

This section documents new or modified commands. All other commands used with this feature are documented in the Cisco IOS Release 12.2 command reference publications.

crypto key generate rsa (CA)

crypto key zeroize rsa

rsakeypair

crypto key generate rsa (CA)

To generate RSA key pairs, use the crypto key generate rsa command in global configuration mode.

crypto key generate rsa [usage-keys | general-keys] [key-pair-label]

Syntax Description

usage-keys

(Optional) Specifies that two special-usage key pairs should be generated, instead of one general-purpose key pair.

general-keys

(Optional) Specifies that the general-purpose key pair should be generated.

key-pair-label

(Optional) Specifies the name of the key pair that router will use. (If this argument is enabled, you must specify either usage-keys or general-keys.)


Defaults

Rivest, Shamir, and Adelman (RSA) key pairs do not exist.

If key-pair-label is not specified, the fully qualified domain name (FQDN) of the router is used and general-purpose keys are generated.

Command Modes

Global configuration

Command History

Release
Modification

11.3 T

This command was introduced.

12.2(8)T

The general-keys keyword and the key-pair-label argument were added.


Usage Guidelines

Use this command to generate RSA key pairs for your Cisco device (such as a router).

RSA keys are generated in pairs—one public RSA key and one private RSA key.

If your router already has RSA keys when you issue this command, you will be warned and prompted to replace the existing keys with new keys.


Note Before issuing this command, ensure your router has a host name and IP domain name configured (with the hostname and ip domain-name commands). You will be unable to complete the crypto key generate rsa command without a host name and IP domain name. (This is not true only when you generate a named-key-pair.)


This command is not saved in the router configuration; however, the keys generated by this command are saved in the private configuration in NVRAM (which is never displayed to the user or backed up to another device).

There are two mutually exclusive styles of RSA key pairs: special-usage keys and general-purpose keys. When you generate RSA key pairs, you will be prompted to select either generate special-usage keys or general-purpose keys.

Special-Usage Keys

If you generate special-usage keys, two pairs of RSA keys will be generated. One pair will be used with any Internet Key Exchange (IKE) policy that specifies RSA signatures as the authentication method, and the other pair used with any IKE policy that specifies RSA-encrypted nonces as the authentication method. (You configure RSA signatures or RSA-encrypted nonces in your IKE policies as described in the Cisco IOS Security Configuration Guide.)

A certification authority (CA) is used only with IKE policies specifying RSA signatures, not with IKE policies specifying RSA-encrypted nonces. (However, you could specify more than one IKE policy and have RSA signatures specified in one policy and RSA-encrypted nonces in another policy.)

If you plan to have both types of RSA authentication methods in your IKE policies, you might prefer to generate special-usage keys. With special-usage keys, each key is not unnecessarily exposed. (Without special-usage keys, one key is used for both purposes, increasing that key's exposure.)

General-Purpose Keys

If you generate general-purpose keys, only one pair of RSA keys will be generated. This pair will be used with IKE policies specifying either RSA signatures or RSA-encrypted nonces. Therefore, a general-purpose key pair might be used more frequently than a special-usage key pair.

Named Key Pairs

If you generate a named key pair using the key-pair-label argument, you must also specify the usage-keys keyword or the general-keys keyword. Named key pairs allow you to have multiple RSA key pairs, enabling the Cisco IOS software to maintain a different key pair for each identity certificate.

Modulus Length

When you generate RSA keys, you will be prompted to enter a modulus length. A longer modulus could offer stronger security but takes longer to generate (see Table 1 for sample times) and takes longer to use. A length of less than 512 bits is normally not recommended. (In certain situations, the shorter modulus may not function properly with IKE, so Cisco recommends using a minimum modulus of 1024 bits.)

Table 1 Sample Times Required to Generate RSA Keys

 
Modulus Length
Router
360 bits
512 bits
1024 bits
2048 bits

Cisco 2500

11 seconds

20 seconds

4 minutes, 38 seconds

longer than 1 hour

Cisco 4700

less than 1 second

1 second

4 seconds

50 seconds


Examples

The following example generates special-usage RSA keys.

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].


The following example generates general-purpose RSA keys. (Note, you cannot generate both special-usage and general-purpose keys; you can generate only one or the other.)

crypto key generate rsa
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].


The following example generates the general-purpose RSA key pair "exampleCAkeys":

crypto key generate rsa general-purpose exampleCAkeys
crypto ca trustpoint exampleCAkeys
 enroll url http://exampleCAkeys/certsrv/mscep/mscep.dll

 rsakeypair exampleCAkeys 1024 1024

Related Commands

Command
Description

rsakeypair

Specifies which key pair to associate with the certificate.


crypto key zeroize rsa

To delete all RSA keys from your router, use the crypto key zeroize rsa command in global configuration mode.

crypto key zeroize rsa [key-pair-label]

Syntax Description

key-pair-label

(Optional) Specifies the name of the key pair that router will delete.


Defaults

No default behavior or values.

Command Modes

Global configuration

Command History

Release
Modification

11.3 T

This command was introduced.

12.2(8)T

The key-pair-label argument was added.


Usage Guidelines

This command deletes all Rivest, Shamir, and Adelman (RSA) keys that were previously generated by your router unless you include the key-pair-label argument, which will delete only the specified RSA key pair. If you issue this command, you must also perform two additional tasks for each trustpoint that is associated with the key pair that was deleted:

Ask the certification authority (CA) administrator to revoke your router's certificates at the CA; you must supply the challenge password you created when you originally obtained the router's certificates using the crypto ca enroll command.

Manually remove the router's certificates from the configuration by removing the configured trustpoint (using the no crypto ca trustpoint name command.)


Note This command cannot be undone (after you save your configuration), and after RSA keys have been deleted, you cannot use certificates or the CA or participate in certificate exchanges with other IP Security (IPSec) peers unless you reconfigure CA interoperability by regenerating RSA keys, getting the CA's certificate, and requesting your own certificate again.


This command is not saved to the configuration.

Examples

The following example deletes the general-purpose RSA key pair that was previously generated for the router. After deleting the RSA key pair, the administrator contacts the CA administrator and requests that the router's certificate be revoked. The administrator then deletes the router's certificate from the configuration.

crypto key zeroize rsa
crypto ca certificate chain
 no certificate

Related Commands

Command
Description

certificate

Adds certificates manually.

crypto ca certificate chain

Enters the certificate chain configuration mode.

crypto ca trustpoint

Declares the CA that your router should use.

rsakeypair

Specifies which key pair to associate with the certificate.


rsakeypair

To specify which key pair to associate with the certificate, use the rsakeypair command in ca-trustpoint configuration mode.

rsakeypair key-label [key-size [encryption-key-size]]

Syntax Description

key-label

The name of the key pair, which is generated during enrollment if it does not already exist or if the auto-enroll regenerate command is configured.

key-size

(Optional) The size of the desired RSA key. If not specified, the existing key size is used. (The specified size must be the same as the encryption-key-size.)

encryption-key-size

(Optional) The size of the second key, which is used to request separate encryption, signature keys, and certificates. (The specified size must be the same as the key-size.)


Defaults

The fully qualified domain name (FQDN) key is used.

Command Modes

Ca-trustpoint Configuration

Command History

Release
Modification

12.2(8)T

This command was introduced.


Usage Guidelines

When you regenerate a key pair, you are responsible for reenrolling the identities associated with the key pair. Use the rsakeypair command to refer back to the named key pair.

Examples

The following example is a sample trustpoint configuration that specifies the rsa key pair "exampleCAkeys":

crypto ca trustpoint exampleCAkeys
 enroll url http://exampleCAkeys/certsrv/mscep/mscep.dll
 rsakeypair exampleCAkeys 1024 1024

Related Commands

Command
Description

auto-enroll

Enables autoenrollment.

crypto ca trustpoint

Declares the CA that your router should use.

crypto key generate rsa (CA)

Generates RSA key pairs.


Glossary

certification authority (CA)—A service responsible for managing certificate requests and issuing certificates to participating IPSec network devices. This service provides centralized key management for the participating devices and is explicitly entrusted by the receiver to validate identities and to create digital certificates.

enrollment—The process of obtaining a new certificate from a CA.

general-purpose keys—Key pairs that are used for signing key management messages and encrypting key management messages.

Internet Key Exchange (IKE)—A hybrid protocol that implements Oakley key exchange and Skeme key exchange inside the ISAKMP framework. Although IKE can be used with other protocols, its initial implementation is with IPSec. IKE provides authentication of the IPSec peers, negotiates IPSec keys, and negotiates IPSec security associations.

IP Security (IPSec)—A framework of open standards developed by the Internet Engineering Task Force (IETF). IPSec provides security for transmission of sensitive information over unprotected networks such as the Internet. IPSec acts at the network layer, protecting and authenticating IP packets between participating IPSec devices ("peers"), such as Cisco routers

peer certificate—The certificate presented by a peer, which contains the peer's public key and is signed by the peer's identity CA.

public key infrastructure (PKI)—Provides trusted and efficient key and certificate management to support security protocols such as IPSec.

RSA keys—RSA keys come in pairs—one public key and one private key—and are used to sign and encrypt IKE key management messages and are required before you can obtain a certificate for your router.

special-usage keys—A dual key pair; one set is used for encryption tasks and the other set is used for signing tasks.

trustpoint ca—A CA that combines and replaces the functionality of the identity CA (which uses its own certificate to sign the certificate of a router, thereby validating the identity of the router) and root CA (which has a self-signed certificate that contains its own public key).