![]() |
Loading and Managing System Images Configuration Guide, Cisco IOS XE Release 3S
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digitally Signed Cisco Software
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contents
Digitally Signed Cisco SoftwareLast Updated: January 16, 2013
The Digitally Signed Cisco Software feature describes how to identify digitally signed Cisco software, gather software authentication information related to digitally signed images, and perform key revocation. Digitally Signed Cisco software is software that is digitally signed using secure asymmetrical (public-key) cryptography. The purpose of digitally signed Cisco software is to ensure that customers are confident that the software running within their systems is secure and has not been tampered with, and that the software running in those systems originated from the trusted source as claimed. For customers concerned about software updates involving digitally signed Cisco software--no action is necessary for customers to take advantage of the increased protection. The system operation is largely transparent to existing practices. Some minor changes in system displays reflect the use of digitally signed Cisco software.
Finding Feature InformationYour software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module. Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required. Restrictions for Digitally Signed Cisco SoftwareThe Cisco 19xx Series, 29xx, and 39xx series routers include the functionality described in this document. The Cisco Catalyst 4500 E+Series switches running IOS XE software and the Cisco ASR 1002-X Router include the functionality described in this document, except for Digitally Signed Software Key Revocation and Replacement. Information About Digitally Signed Cisco Software
Features and Benefits of Digitally Signed Cisco SoftwareThree main factors drive digitally signed Cisco software and software integrity verification:
Digitally Signed Cisco Software IdentificationDigitally signed Cisco IOS software is identified by a three-character extension in the image name. The Cisco software build process creates a Cisco IOS image file that contains a file extension based on the signing key that was used to sign images. These file extensions are: The significance of each character in the file extension is explained in the table below.
Digitally Signed Cisco Software Key Types and VersionsDigitally signed Cisco software keys are identified by the type and version of the key. A key can be a special, production, or rollover key type. Special and production keys can be revoked. A rollover key is used to revoke a production or special key. The second character in the file extension indicates whether the key type is a special or production key. The key type can be "P" for a production key or an "S" for a special key. Production and special key types have an associated key version. The key version is defined by the third character in the file extension, in the form of an alphabetical character; for example A, B or C. When a key is replaced, the key version is incremented alphabetically. For example, after a key revocation of a key type "P" (production key) with a key version of "A", the new image will be signed with key version "B". Key type and key version are stored as part of the key record in the key storage of the router. Digitally Signed Cisco Software Key Revocation and Replacement
Key RevocationKey revocation is the process of removing a key from operational use in digitally signed Cisco software. Key revocation takes place when a key becomes compromised or is no longer used. Key revocation and replacement is only necessary in the event of a certain type of vulnerability or catastrophic loss to Cisco's secure key infrastructure. Operational steps to remedy the situation would only be necessary if notified and directed by Cisco. Notification and direction would occur through posting of advisories or field notices on www.cisco.com. There are two different key revocation processes depending on the type of key to be revoked: Key ReplacementKey replacement is the process of providing a new key to replace a compromised key. The new key is added before the compromised key is revoked. Key replacement is a two-step process:
Key Revocation ImageA revocation image is a basic version of the normal image whose function is to add a new production key to the key storage area. A revocation image has no other capabilities. When a key is to be revoked and replaced, one revocation image per key is provided. A revocation image contains a new production key bundled within it. A rollover key stored on the platform is used to verify the signature of the revocation image--a valid revocation image is signed using the same rollover key.
Important Tasks Concerning the Revocation ImageThere are two important tasks concerning the revocation image:
Adding the New Production Key to the Key Storage Area:The revocation image adds the bundled production key to the key storage. The key is written to the primary and backup key storage areas after the revocation image checks that the key is already not part of the existing set of keys in the key storage. Performing a Key Upgrade Check:After the new key is added and the customer has upgraded the software (Cisco IOS and ROMmon), the show software authenticity upgrade-status command should be run. The user can review the command output to determine if the production key is successfully upgraded, and can be selected for the next boot. Production Key RevocationA production key (also called the release key) is revoked and replaced using a revocation image signed with a rollover key, because the images signed using the compromised production key cannot be trusted. The ROMmon can boot any image signed using a rollover key. The production key revocation and replacement process involves four steps:
Steps 1 and 2 are done using the special revocation image. It is important for the user to do verifications in Step 2 because after a reboot (in Step 3), an old key will not be revoked if any of the software is still using the old key. The verifications help to ensure that the new key is fully installed and the next reboot (in Step 3) will use the new release software and new ROMmon. Revoking the old production key (Step 4) can be done only after the new key and the new software are installed to the system. Special Key RevocationA special key is revoked using a production image signed with a production key. Each production image used for special key revocation has a bundled special key that is the latest at the time of building the production image. The special key revocation and replacement process involves three steps:
Note that Step 3 does not require any reboot and will be done using the production image itself. This is because the customer is already running a production image and invalidation itself happens from the running production image. Special images do not have the capability to add or invalidate any key. How to Work with Digitally Signed Cisco Software Images
Identifying Digitally Signed Cisco SoftwarePerform this task to identify digitally signed Cisco software by examining the image filename in the command output from the show version command, and judging it on the criteria described in the "Digitally Signed Cisco Software Identification" section. DETAILED STEPS Displaying Digitally Signed Cisco Software Signature InformationPerform this task to display information related to software authentication for the current ROMmon and the Cisco IOS image file used for booting. The display includes image credential information, the key type used for verification, signature information, and other attributes in the signature envelope. DETAILED STEPS
Displaying Digital Signature Information for a Specific Image FilePerform this task to display the digital signature information related to software authentication for a specific image file. DETAILED STEPS
Displaying Digitally Signed Cisco Software Key InformationPerform this task to display digitally signed Cisco software key information. The information details the software public keys that are in storage with the key types. DETAILED STEPS
Performing Production Key Revocation for Digitally Signed Cisco Software
SUMMARY STEPS
DETAILED STEPS Performing Special Key Revocation for Digitally Signed Cisco Software
SUMMARY STEPS
DETAILED STEPS
Troubleshooting Digitally Signed Cisco Software Images
SUMMARY STEPS
DETAILED STEPS
Configuration Examples for Digitally Signed Cisco Software
Identifying Digitally Signed Cisco Software ExampleThe following example displays the digitally signed Cisco software image filename and allows a user to identify it based on the digitally signed Cisco software identification criteria:
Router# show version
Cisco IOS Software, C3900 Software (C3900-UNIVERSALK9-M),
12.4(20090904:044027) [i12 577]
Copyright (c) 1986-2009 by Cisco Systems, Inc.
Compiled Fri 04-Sep-09 09:22 by xxx
ROM: System Bootstrap, Version 12.4(20090303:092436)
C3900-2 uptime is 8 hours, 41 minutes
System returned to ROM by reload at 08:40:40 UTC Tue May 21 1901!
System image file is "xxx.SPA"
Last reload reason: Reload Command
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
If you require further assistance please contact us by sending email to
export@cisco.com.
Cisco xxx (revision 1.0) with CISCxxx with 987136K/61440K bytes of memory.
Processor board ID xxx
3 Gigabit Ethernet interfaces
1 terminal line
1 Virtual Private Network (VPN) Module
1 cisco Integrated Service Engine(s)
DRAM configuration is 72 bits wide with parity enabled.
255K bytes of non-volatile configuration memory.
1020584K bytes of USB Flash usbflash0 (Read/Write)
1020584K bytes of USB Flash usbflash1 (Read/Write)
500472K bytes of ATA System CompactFlash 0 (Read/Write)
License Info:
License UDI:
-------------------------------------------------
Device# PID SN
-------------------------------------------------
xx xxx xxxx
Technology Package License Information for Module:'xxx'
----------------------------------------------------------------
Technology Technology-package Technology-package
Current Type Next reboot
-----------------------------------------------------------------
ipbase ipbasek9 Permanent ipbasek9
security securityk9 Evaluation securityk9
uc None None None
data None None None
Configuration register is 0x2102
Note the digitally signed image file is identified in the following line: System image file is "xxx.SPA" The image has a three-character extension in the filename (.SPA) characteristic of digitally signed Cisco software. Based on the guidelines in the "Digitally Signed Cisco Software Identification" section the first character in the file extension "S" indicates that the image is a digitally signed software image, the second character "P" indicates that the image is digitally signed using a production key, and the third character "A" indicates that the key version is version A. Displaying Digitally Signed Cisco Software Signature Information ExampleThe following example shows how to display information related to software authentication for the current ROMmon and Cisco IOS image file used for booting:
Router# show software authenticity running
SYSTEM IMAGE
-------------------
Image type : Development
Signer Information
Common Name : xxx
Organization Unit : xxx
Organization Name : xxx
Certificate Serial Number : xxx
Hash Algorithm : xxx
Signature Algorithm : 2048-bit RSA
Key Version : xxx
Verifier Information
Verifier Name : ROMMON 2
Verifier Version : System Bootstrap, Version 12.4(20090409:084310)
ROMMON 2
---------------
Image type : xxx
Signer Information
Common Name : xxx
Organization Unit : xxx
Organization Name : xxx
Certificate Serial Number : xxx
Hash Algorithm : xxx
Signature Algorithm : 2048-bit RSA
Key Version : xx
Verifier Information
Verifier Name : ROMMON 2
Verifier Version : System Bootstrap, Version 12.4(20090409:084310) [
The table below describes the significant fields shown in the display.
Displaying the Digital Signature Information for a Specific Image File ExampleThe following example shows how to display the digital signature information related to software authentication for a specific image file: Router# showsoftwareauthenticityfileflash0:c3900-universalk9-mz.SSA
File Name : flash0:c3900-universalk9-mz.SSA
Image type : Development
Signer Information
Common Name : xxx
Organization Unit : xxx
Organization Name : xxx
Certificate Serial Number : xxx
Hash Algorithm : SHA512
Signature Algorithm : 2048-bit RSA
Key Version : A
The table below describes the significant fields shown in the display.
Displaying Digitally Signed Cisco Software Key Information ExampleThe following example displays digitally signed Cisco software key information. The information details the software public keys that are in storage, including their key types.
Router# show software authenticity keys
Public Key #1 Information
-------------------------
Key Type : Release (Primary)
Public Key Algorithm : RSA
Modulus :
CC:CA:40:55:8C:71:E2:4A:3A:B6:9D:5C:94:1D:02:BA:
...
26:04:6B:33:EB:70:2B:18:24:C7:D9:31:3E:77:24:85
Exponent : xxx
Key Version : A
Public Key #2 Information
-------------------------
Key Type : Development (Primary)
Public Key Algorithm : RSA
Modulus :
CC:CA:40:55:8C:71:E2:4A:3A:B6:9D:5C:94:1D:02:BA:
....
26:04:6B:33:EB:70:2B:18:24:C7:D9:31:3E:77:24:85
Exponent : xxx
Key Version : A
The table below describes the significant fields shown in the display.
Performing Special Key Revocation for Digitally Signed Cisco Software ExampleThe following example displays a special key revocation process: Router# software authenticity key add special Validating running image... Validating new special key... Adding the key to Primary Checking for duplicate keys Writing the key...e.Success Adding the key to Backup Checking for duplicate keys Writing the key...e.Success Done! The software authenticity key add special command adds the new special key to the primary and backup storage areas of the router and verifies that a duplicate key is not present. Router# copy tftp: usbflash0: Address or name of remote host []? 209.165.200.226 Source filename []? rommon_image_location/ C3900_rom-monitor.srec.SSB The new ROMmon special image file with a new special key is copied to the ROMmon storage area (usbflash0:).
Router# copy /verify tftp: usbflash0:
Address or name of remote host []? 209.165.200.225
Source filename []? image_location/c3900-universalk9-mz.SSB
Destination filename [c3900-universalk9-mz.SSB]?
Accessing tftp:// 209.165.200.225/image_location/c3900-universalk9-mz.SSB...
Loading image_location/c3900-universalk9-mz.SSB from 209.165.200.225 (via GigabitEthernet0/0): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 52291428 bytes]
52291428 bytes copied in 124.804 secs (418988 bytes/sec)
Starting image verification
Hash Computation: 100% Done!
Computed Hash SHA2: 7F54083493EB6B06234CFC5266E538E7
.....
.....
0B17572E9A33735ADCEE26A4E3FDB662
Embedded Hash SHA2: 7F54083493EB6B06234CFC5266E538E7
.....
.....
0B17572E9A33735ADCEE26A4E3FDB662
CCO Hash MD5 : 966D4092FA8F5F2E0F74BDCF46511CF7
Digital signature successfully verified in file usbflash0:/c3900-universalk9-mz.SSB
The new special image file with a new special key is copied to the image storage area in the router (usbflash0:) and the signature of the image is verified successfully. Router# upgrade rom-monitor file usbflash0:C3900_PRIV_RM2.srec.SSB Platform Field Upgradeable ROMMON LOAD test ___________________________________________ RSA Signature Verification Passed ... ROM: Digitally Signed Development Software This command will result in a 'power-on reset' of the router! Continue? [yes/no]: yes ROMMON image upgrade in progress. Erasing boot flash eeeeeeeeeeeeeeeeeeeeeeee Programming boot flash ........................ Now Reloading FPGA System Reset Fail; Performing IOCTRL System reset System Bootstrap, Version 15.0(1r)M3, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 2009 by cisco Systems, Inc. Total memory size = 1024 MB - DIMM0 = 512 MB, DIMM1 = 512 MB Running new upgrade for first time System Bootstrap, Version 12.4(20090921:163953) [image-rommon 152], DEVELOPMENT SOFTWARE Copyright (c) 1994-2009 by cisco Systems, Inc. Total memory size = 1024 MB - DIMM0 = 512 MB, DIMM1 = 512 MB Field Upgradeable ROMMON Integrity test _______________________________________ ROM: Digitally Signed Development Software CISCO3945 with CISCO3900-MPE140 with 1048576 Kbytes of main memory Main memory is configured to 72/72(dimm 0/1) bit mode with ECC enabled Upgrade ROMMON initialized program load complete, entry point: 0x4000000, size: 0x3f520 Continue to reload the same Production image The ROMmon file is upgraded to the new ROMmon file in the router. Router# software authenticity key revoke special Finding the new special key in the key storage Validating running image... Revoking keys with version less than B Validating upgradable rommon... Scanning the keys in Primary Revoking the key with version A...e.Success Scanning the keys in Backup Revoking the key with version A...e.Success Done! Router# *Mar 8 10:29:17.219 PST: %DIGISIGN-4-DEV_IMAGE: Upgradable rommon software signed using special key version B The old special key (Rev A) is revoked from the primary and backup key storage areas. Additional ReferencesMIBsTechnical Assistance
Feature Information for Digitally Signed Cisco SoftwareThe following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature. Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R) Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental. © 2013 Cisco Systems, Inc. All rights reserved.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|