cisco · Catalyst 9000 Series Switch · 8 стр.
Cisco Catalyst 9000 Series Switch: Руководство по проверке целостности программного обеспечения и аппаратного обеспечения (Boot Integrity
Оригинальное название: Cisco Catalyst 9000 Series Switch: Руководство по проверке целостности программного обеспечения и аппаратного обеспечения (Boot Integrity Visibility)
Похожие инструкции
Содержание
Текст документа
Image Signing and Bootup
Boot Integrity Visibility Information About Boot Integrity Visibility, on page 1 Verifying the Software Image and Hardware, on page 2 Verifying Platform Identity and Software Integrity, on page 3 Verifying Image Signing, on page 6 Additional References for Boot Integrity Visibility, on page 7 Feature History for Boot Integrity Visibility, on page 7 Information About Boot Integrity Visibility Boot Integrity Visibility allows Cisco's platform identity and software integrity information to be visible and actionable. Platform identity provides the platform’s manufacturing installed identity.
Software integrity exposes boot integrity measurements that can be used to assess whether the platform has booted trusted code. During the boot process, the software creates a checksum record of each stage of the bootloader activities. You can retrieve this record and compare it with a Cisco-certified record to verify if your software image is genuine. If the checksum values do not match, you may be running a software image that is either not certified by Cisco or has been altered by an unauthorized party. Image Signing and Bootup The Cisco build servers generate the Cisco IOS XE images.
Cisco IOS XE images use the Abraxas image signing system to sign these images securely with the Cisco private RSA keys. When you copy the Cisco IOS XE image onto a Catalyst 9000 Series Switch, Cisco's ROMMON Boot ROM verifies the image using Cisco release keys. These keys are public keys that correspond to the Cisco release private key that is stored securely on the Abraxas servers. The release key is stored in the ROMMON. Catalyst 9000 Series Switches support boot integrity visibility feature. Boot integrity visibility serves as a hardware trust anchor which validates the ROMMON software to ensure that the ROMMON software is not tampered with.
The Cisco IOS XE image is digitally signed during the build time. An SHA-512 hash is generated over the entire binary image file, and then the hash is encrypted with a Cisco RSA 2048-bit private key. The ROMMON verifies the signature using the Cisco public key. If the software is not generated by a Cisco build system, the signature verification fails. The device ROMMON rejects the image and stops booting. If the signature verification is successfully, the device boots the image to the Cisco IOS XE runtime environment. Boot Integrity Visibility 1
Verifying the Software Image and Hardware
The ROMMON follows these steps when it verifies a signed Cisco IOS XE image during the bootup: 1. Loads the Cisco IOS XE image into the CPU memory. 2. Examines the Cisco IOS XE package header. 3. Runs a non-secure integrity check on the image to ensure that there is no unintentional file corruption from the disk or TFTP. This is performed using a non-secure SHA-1 hash. 4. Copies the Cisco's RSA 2048-bit public release key from the ROMMON storage and validates that the Cisco's RSA 2048-bit public release key is not tampered. 5. Extracts the Code Signing signature (SHA-512 hash) from the package header and verifies it using Cisco's RSA 2048-bit public release key. 6.
Performs the Code Signing validation by calculating the SHA-512 hash of the Cisco IOS XE package and compares it with the Code Signing signature. The Signed package is now validated. 7. Examines the Cisco IOS XE package header to validate the platform type and CPU architecture for compatibility. 8. Extracts the Cisco IOS XE software from the Cisco IOS XE package and boots it. Note In above process, step 3 is a non-secure check of the image which is intended to confirm the image against inadvertent corruption due to disk errors, file transfer errors, or copying errors. This is not part of the image code signing. This check is not intended to detect deliberate image tampering.
Image Code Signing validation occurs in step 4, 5, and 6. This is a secure code signing check of the image using an SHA-512 hash that is encrypted with a 2048-bit RSA key. This check is intended to detect deliberate image tampering. Verifying the Software Image and Hardware This task describes how to retrieve the checksum record that was created during a switch bootup. Enter the following commands in privileged EXEC mode. Note On executing the following commands, you might see the message % Please Try After Few Seconds displayed on the CLI. This does not indicate a CLI failure, but indicates setting up of underlying infrastructure required to get the required output.
We recommend waiting for a few minutes and then try the command again. The messages % Error retrieving SUDI certificate and % Error retrieving integrity data signify a real CLI failure. Boot Integrity Visibility Verifying the Software Image and Hardware Boot Integrity Visibility 2
Verifying Platform Identity and Software Integrity
Procedure Verifying Platform Identity and Software Integrity Verifying Platform Identity The following example displays the Secure Unique Device Identity (SUDI) chain in PEM format. Encoded into the SUDI is the Product ID and Serial Number of each individual device such that the device can be uniquely identified on a network of thousands of devices. The first certificate is the Cisco Root CA 2048 and the second is the Cisco subordinate CA (ACT2 SUDI CA). Both certificates can be verified to match those published on https://www.cisco.com/security/pki/ . The third is the SUDI certificate.
Device# show platform sudi certificate sign nonce 123 -----BEGIN CERTIFICATE----- MIIDQzCCAiugAwIBAgIQX/h7KCtU3I1CoxW1aMmt/zANBgkqhkiG9w0BAQUFADA1 MRYwFAYDVQQKEw1DaXNjbyBTeXN0ZW1zMRswGQYDVQQDExJDaXNjbyBSb290IENB IDIwNDgwHhcNMDQwNTE0MjAxNzEyWhcNMjkwNTE0MjAyNTQyWjA1MRYwFAYDVQQK Ew1DaXNjbyBTeXN0ZW1zMRswGQYDVQQDExJDaXNjbyBSb290IENBIDIwNDgwggEg MA0GCSqGSIb3DQEBAQUAA4IBDQAwggEIAoIBAQCwmrmrp68Kd6ficba0ZmKUeIhH xmJVhEAyv8CrLqUccda8bnuoqrpu0hWISEWdovyD0My5jOAmaHBKeN8hF570YQXJ FcjPFto1YYmUQ6iEqDGYeJu5Tm8sUxJszR2tKyS7McQr/4NEb7Y9JHcJ6r8qqB9q VvYgDxFUl4F1pyXOWWqCZe+36ufijXWLbvLdT6ZeYpzPEApk0E5tzivMW/VgpSdH jWn0f84bcN5wGyDWbs2mAag8EtKpP6BrXruOIIt6keO1aO6g58QBdKhTCytKmg9l Eg6CTY5j/e/rmxrbU6YTYK/CfdfHbBcl1HP7R2RQgYCUTOG/rksc35LtLgXfAgED o1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUJ/PI FR5umgIJFq0roIlgX9p7L6owEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEF BQADggEBAJ2dhISjQal8dwy3U8pORFBi71R803UXHOjgxkhLtv5MOhmBVrBW7hmW Yqpao2TB9k5UM8Z3/sUcuuVdJcr18JOagxEu5sv4dEX+5wW4q+ffy0vhN4TauYuX cB7w4ovXsNgOnbFp1iqRe6lJT37mjpXYgyc81WhJDtSd9i7rp77rMKSsH0T8lasz Bvt9YAretIpjsJyp8qS5UwGH0GikJ3+r/+n6yUA4iGe0OcaEb1fJU9u6ju7AQ7L4 CYNu/2bPPu8Xs1gYJQk0XuPL1hS27PKSb3TkL4Eq1ZKR4OCXPDJoBYVL0fdX4lId kxpUnwVwwEpxYB5DC2Ae/qPOgRnhCzU= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEPDCCAySgAwIBAgIKYQlufQAAAAAADDANBgkqhkiG9w0BAQUFADA1MRYwFAYD VQQKEw1DaXNjbyBTeXN0ZW1zMRswGQYDVQQDExJDaXNjbyBSb290IENBIDIwNDgw Boot Integrity Visibility Verifying Platform Identity and Software Integrity Command or Action Purpose Step 1 show platform sudi certificate [sign [nonce nonce]] Example:
Device# show platform sudi certificate sign nonce 123 Displays checksum record for the specific SUDI. • (Optional) sign - Show signature • (Optional) nonce - Enter a nonce value Step 2 show platform integrity [sign [nonce nonce]] Example: Device# show platform integrity sign nonce 123 Displays checksum record for boot stages. • (Optional) sign - Show signature • (Optional) nonce - Enter a nonce value Boot Integrity Visibility 3
Verifying Platform Identity and Software Integrity
HhcNMTEwNjMwMTc1NjU3WhcNMjkwNTE0MjAyNTQyWjAnMQ4wDAYDVQQKEwVDaXNj bzEVMBMGA1UEAxMMQUNUMiBTVURJIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEA0m5l3THIxA9tN/hS5qR/6UZRpdd+9aE2JbFkNjht6gfHKd477AkS 5XAtUs5oxDYVt/zEbslZq3+LR6qrqKKQVu6JYvH05UYLBqCj38s76NLk53905Wzp 9pRcmRCPuX+a6tHF/qRuOiJ44mdeDYZo3qPCpxzprWJDPclM4iYKHumMQMqmgmg+ xghHIooWS80BOcdiynEbeP5rZ7qRuewKMpl1TiI3WdBNjZjnpfjg66F+P4SaDkGb BXdGj13oVeF+EyFWLrFjj97fL2+8oauV43Qrvnf3d/GfqXj7ew+z/sXlXtEOjSXJ URsyMEj53Rdd9tJwHky8neapszS+r+kdVQIDAQABo4IBWjCCAVYwCwYDVR0PBAQD AgHGMB0GA1UdDgQWBBRI2PHxwnDVW7t8cwmTr7i4MAP4fzAfBgNVHSMEGDAWgBQn 88gVHm6aAgkWrSugiWBf2nsvqjBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vd3d3 LmNpc2NvLmNvbS9zZWN1cml0eS9wa2kvY3JsL2NyY2EyMDQ4LmNybDBQBggrBgEF BQcBAQREMEIwQAYIKwYBBQUHMAKGNGh0dHA6Ly93d3cuY2lzY28uY29tL3NlY3Vy aXR5L3BraS9jZXJ0cy9jcmNhMjA0OC5jZXIwXAYDVR0gBFUwUzBRBgorBgEEAQkV AQwAMEMwQQYIKwYBBQUHAgEWNWh0dHA6Ly93d3cuY2lzY28uY29tL3NlY3VyaXR5 L3BraS9wb2xpY2llcy9pbmRleC5odG1sMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJ KoZIhvcNAQEFBQADggEBAGh1qclr9tx4hzWgDERm371yeuEmqcIfi9b9+GbMSJbi ZHc/CcCl0lJu0a9zTXA9w47H9/t6leduGxb4WeLxcwCiUgvFtCa51Iklt8nNbcKY /4dw1ex+7amATUQO4QggIE67wVIPu6bgAE3Ja/nRS3xKYSnj8H5TehimBSv6TECi i5jUhOWryAK4dVo8hCjkjEkzu3ufBTJapnv89g9OE+H3VKM4L+/KdkUO+52djFKn hyl47d7cZR4DY4LIuFM2P1As8YyjzoNpK/urSRI14WdIlplR1nH7KNDl5618yfVP 0IFJZBGrooCRBjOSwFv8cpWCbmWdPaCQT2nwIjTfY8c= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDezCCAmOgAwIBAgIEAc+JiTANBgkqhkiG9w0BAQsFADAnMQ4wDAYDVQQKEwVD aXNjbzEVMBMGA1UEAxMMQUNUMiBTVURJIENBMB4XDTE3MDgxOTEwNDMzOVoXDTI3 MDgxOTEwNDMzOVowZzEmMCQGA1UEBRMdUElEOkM5MzAwLTI0VVggU046RkNXMjEz NEwwMEMxDjAMBgNVBAoTBUNpc2NvMRgwFgYDVQQLEw9BQ1QtMiBMaXRlIFNVREkx EzARBgNVBAMTCkM5MzAwLTI0VVgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK AoIBAQDav5txv4THsqXwWC7AxzHm5MZ28Feqk8FA3tXAv0tV8RXtY4Z9I9XgRzwz Yw8chknh8LuDMCmGmk8DP+ct++vAF4nkVeIeBeOHnx2RuC9rcR8tuKjCimamDk0M JHk12w/9+TbdKdNBEy6Sueh1RPVbuSk1oQLQcOYW7CsYC5tI1GkJkfk1nGEK3ni3 ztIpsi7QHyp6k59yccnbzXSdwoBrtbpIIYEk/iHWFRQdlMUunnfIshI7yPneo7V0 NnPc08wk+CA+8XeXk/fnDeGAswKRK1tW9jDP/sY1YubBJNJ4ToqQpG6W/hbNvu3Y NyS24osSvnn5Bp7on3Rf7eHq9hNjAgMBAAGjbzBtMA4GA1UdDwEB/wQEAwIF4DAM BgNVHRMBAf8EAjAAME0GA1UdEQRGMESgQgYJKwYBBAEJFQIDoDUTM0NoaXBJRD1V WUpPVkVZNEZRT0xSbkpwSUUxaGNpQXhNQ0F4Tnpvd05Eb3hNeUFiY1FjPTANBgkq hkiG9w0BAQsFAAOCAQEASXX+iZLMvHQIR1/s1Pobm0kP/bYeHsgDTRQPRHbCM1HH ROfjjDaJMHCspB17XtcLkNNFOwyUEkjoepyHjpxxhekGIqgD6Xt4rW6v/058Haw6 QbAhJFGZriVxFoBvW20VQ4ezyaGoqA+0I2GZqD/ZggUy6zsVwKmMe6inoEgXcYap 5GqF4weEoty9u+OKqr3ppWU475lxnNm/h+WHbNtunL6r7wZfe5dFQIxR5QP5gwRa svpSsCoKm6PiwIUhw25CvtZ9NTg0tu5t5D7aVcxLeR8XbA1pjfgxw/RtSsjNse3+ ZkOgJUESqlxwzxcGUlY+vDINYRQ/sP6y7cT+niT00A== -----END CERTIFICATE----- Signature version:
1 Signature: 1809AF26E52292B71217418F6111DDD50707B516937274F30F2DCE6C1FD428C622F459ECC32B3749106AF8DB520AB4DECC93CB7A332A6B8760C3DBF7F77E041F7820F8C076A9D2692C638B9F1A77AA4EB24202DDD8AC7E71E074F9635F5F8B2EE449228439AB74E227DD91D52DE114E8E5A7E8C616AC98E0DB34B35A81D1E0FBA490B2C21F8C08510CB0F21C43A9B7960E064C9E3341BB084067E1CCD025EE412EFD0C6AEECD4DD89A671B5DCA65A9A8DA0E9865505D81F2BFAE3A9E87B4E3CA72F769C6A980A8B47A83808B14C574BE648EBD179BBFD758510810EBD4E18D4B4E833C17CBA75770001A570FFEDE50E023CC80285AC1080FA1DBD6FB8AD9637A The optional RSA 2048 signature is across the three certificates, the signature version and the user-provided nonce.
RSA PKCS#1v1.5 Sign { (UINT64)> || Version (UINT32)> || Root CA 2048 cert (DER)> || subordinate CA (DER)> || certificate (DER)> } Cisco management solutions are equipped with the ability to interpret the above output. However, a simple script using OpenSSL commands can also be used to display the identity of the platform and to verify the signature, thereby ensuring its Cisco unique device identity. [linux-host:~]openssl x509 -in sudicert.pem -subject -noout subject= /serialNumber=PID:C9300-24P SN:FDO1946BG05/O=Cisco/OU=ACT-2 Lite SUDI/CN=C9300-24P Boot Integrity Visibility Verifying Platform Identity and Software Integrity Boot Integrity Visibility 4