The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
Cisco's trustworthy technologies offer product assurance and foundational security capabilities. These features enhance the
security and resilience of Cisco solutions.
To protect your devices from counterfeiting and malicious attacks on hardware and software and verify its authenticity and
integrity, Cisco uses digitally signed software images, hardware-anchored secure boot, Secure Unique Device Identifier (SUDI),
and other trustworthy technologies.
These security features
protect your devices from counterfeiting and software modification,
help you establish secure and encrypted communications, and
ensure your Cisco network devices function as intended.
Trustworthy technologies run automated integrity checks on your device's hardware and software. Trust in your device starts
at the hardware level and continues through the boot process, the operating system kernel, and into the operating system's
runtime. If a device is compromised, they can shut down the boot process to protect your system.
Need for trustworthy systems
You rely on complex computing and communications networks to keep your services running without interruption. You need reliable
data and IT infrastructure to keep your network secure and maintain user trust. As your personal data becomes accessible at
any time and from any location, you expect consistent access and security across all networks.
Because adversaries have become more aggressive, you face a rapidly changing threat landscape. You must protect your network
from attacks by malicious actors and from counterfeit or tampered products. Trustworthy systems help maintain network security,
protect user trust, and defend against increasingly sophisticated threats.
SUDI
The SUDI provides your device with a tamperproof ID using an X.509 certificate. The private key is securely stored in the
Trust Anchor Module (TAm) during manufacturing, ensuring your device’s identity is verified and protected against counterfeiting.
Your device is uniquely identified by SUDI, which combines its product ID and serial number. The X.509 version 3 certificate,
which complies with IEEE 802.1AR and uses RSA or ECC encryption, helps prevent identity cloning or spoofing and protects your
equipment from counterfeit risks.
Trust Anchor Module
The Cisco TAm is a tamper-resistant chip embedded in your Cisco devices. It includes non-volatile secure storage and serves
as the foundation of the device's trust chain. The manufacturer's public key is securely stored within your device's TAm chip.
Your device includes Anti-Counterfeit Technology (ACT) by embedding specialized hardware chips called ACT and ACT2 within
your devices.
The TAm provides these features:
Identity
During manufacturing, your device’s ACT2 chip receives the Cisco SUDI as an X.509v3 ECDSA or RSA certificate (or both), along
with key pairs and certificate chains. The SUDI forms the basis for the hardware anti-counterfeit check and helps establish
the device’s initial network identity.
Entropy
The ACT2 features a NIST SP 800-90B compliant entropy source, making it ideal for seeding host-based pseudo-random number
generators.
Key Management
The ACT2 is capable of generating symmetric keys, as well as ECC and RSA asymmetric keypairs. Crucially, the symmetric keys
and the private portions of these keypairs are never released from the chip. Access to these protected keys is facilitated
solely through cryptographic APIs, and certificates can be enrolled for the keypairs generated by the ACT2.
Secure Storage
The ACT2 offers approximately 50 KB of host data storage, secured against physical tampering. This makes it an ideal repository
for sensitive information like licenses and confidential data such as credentials. Crucially, important device keys and passwords
are also safeguarded within this secure storage.
The TAm and SUDI in your device serve as unique hardware identifiers, much like a mobile device's IMEI number, and also offer
added functions.
The TAm features secure nonvolatile storage for cryptographic keys, which applications access through TAm libraries. When
your device starts, SUDI and boot measurements stored in the TAm help verify that your device is legitimate, making sure the
boot process works as expected and helping detect tampering.
Secure Boot
Cisco Secure Boot ensures authenticity and integrity of code executing on your device. Its hardware-anchored secure boot safeguards
the micro loader—the very first piece of code that boots—within tamper-resistant hardware. This creates a root of trust, effectively
preventing your Cisco devices from running tainted network software.
Cisco digitally signs all images using the manufacturer's private key. This happens in a secure and audited environment. The
key pair is generated using RSA encryption with a 2048-bit modulus.
Your device, after booting, authenticates with the TAm through SUDI to ensure that its hardware is indeed genuine Cisco, rather
than a counterfeit or compromised unit.
The public key, embedded directly into the hardware, is accessible via TAm libraries. Cisco IOS XE images are signed using
private keys that are never removed from the build DevOps release environment. During the boot process, these keys are compared,
confirming that both the hardware and software have been signed by Cisco.
The secure chain starts when the TAm verifies the microloader’s integrity before loading it onto the CPU. Next, the microloader
checks the BIOS or bootloader using the TAm's API to confirm the image is legitimate before loading. This verification also
occurs when loading the Cisco IOS XE image.
After the CPU loads the image, the operating system utilizes the TAm API to verify software modules like KLM, RPM, and ASIC
SDK prior to their activation.
Chip Guard (Chip Protection)
Your Cisco devices incorporate a chip protection feature that guarantees hardware integrity. This protection mechanism records
each device's signature during manufacturing and then compares it during every device bootup, thereby ensuring that the peripherals
of your device are not counterfeit.
Manufacturing Time Database
The manufacturing time database is the original copy of the unique IDs of Cisco ASICs, CPUs, SoCs, and other devices with
their device types specific to a board. In most cases, the unique ID is a device serial number or other appropriate value
of that device. The manufacturing database is a Known Good Values (KGV) database specific to a board. It is programmed onto
the TAm device as part of the manufacturing process.
Collected Database
The collected database is collected by the firmware whenever the board is booted and extended to the TAm device. Measurements
are collected either through firmware or through system drivers.
The BIOS boot process integrates the TAm library to populate the collection database. The BIOS detects various hardware components
as part of initialization and uses the TAm library APIs to record the device type and unique IDs if the detected devices are
part of the manufacturing time database. After all the device types and unique IDs are written to the collected database,
the platform operating system invokes the TAm library API to validate the collected database against the manufacturing time
database. If there is a mismatch, the platform holds the boot process.
Random Number Generation and Entropy Source
Strong random number generation (RNG) is at the core of encryption, while weak RNG can undermine the entire encryption system.
Random number generators play a key role in creating cryptographic keys, establishing highly secure communications between
users and websites, and in resetting passwords for email accounts. Without assured randomness, an attacker can predict what
the system will generate and undermine the algorithm. Your Cisco devices uses the RNG from Linux. The RNG is seeded with a
random value, typically obtained from a hardware random number generator (HRNG), which makes it impossible to guess. Hardware
also contains a Trust Anchor module that is compliant with NIST specifications and capable of providing much more effective
RNG that extracts entropy from a true random source within the Trust Anchor.
Multistage BIOS
The BIOS is split into multiple, smaller pieces so that they can be loaded, validated, and executed entirely in the RAM to
protect the BIOS from external modification (such as a Time-of-Check to Time-of-Use attack 1). The BIOS is composed of the following things:
Pre-EFI Initialization (PEI)
Firmware Dependency Module (FDM)
Driver Execution environment (DXE)
Having a multistage BIOS in your device makes it very hard to bypass the Cisco BIOS. Any intervention with the BIOS will stop
the bootloader from loading the OS image
Runtime Defenses (RTD)
Runtime defenses target injection attacks of malicious code into running software. Your Cisco devices runtime defenses include
Address Space Layout Randomization (ASLR), Built-in Object Size Checking (BOSC), and X-space Runtime defenses. These defenses
make it harder or impossible for attackers to exploit vulnerabilities in running software.
Address Space Layout Randomization (ASLR)
Address Space Layout Randomization (ASLR) is an important security hardening functionality that randomizes the locations of
sections of all processes and the kernel for your Cisco devices making it more difficult for an attacker to exploit existing
vulnerabilities. ASLR is a companion defense along with executable space protection, which prevents inadvertent execution
of code from unauthorized areas and prohibits writing of code over executable areas.
ASLR functionality for processes can be categorized into Cisco binaries and 3rd party binaries, both of which need to support
ASLR. For ASLR support, Cisco and 3rd party binaries and shared libraries need to be built with the correct flags. Cisco binaries,
including 3rd party shared objects, must ensure the library is randomized so as not to compromise the randomization of the
Cisco binary itself. 3rd party binaries and shared libraries might require vendor support to randomize them.
ASLR functionality for the Linux kernel brings support for address space randomization to running Linux kernel images by randomizing
where the kernel code is placed at boot time. Kernel ASLR support is present in Cisco devices to prevent hackers from injecting
malicious code.
Executable Space Protection (XSpace)
Executable space protection (X-space) is one of the most important security protections in your Cisco devices. This feature
ensures that executable space protection is enabled for devices. This prevents the execution of code from unauthorized areas
and prohibit writing code over executable areas.
X-space prevents hackers from penetrating into the devices and ensures the device is secure.
Object Size Checking (OSC)
Buffer overflow is probably the best-known form of software security vulnerability. A buffer overflow condition exists when
a program attempts to put more data in a buffer than the buffer can hold, or when a program attempts to put data in a memory
area past a buffer. In this case, a buffer is a sequential section of memory allocated to contain anything from a character
string to an array of integers. Writing outside the bounds of a block of allocated memory can corrupt data, crash the program,
or cause the execution of malicious code. Your Cisco devices have full protection to determine buffer overflows in C or C++
code by having object size checks before a write call.
SafeC Libraries
Cisco IOS XE software uses efficient library functions that promote safer, more secure C or C++ language programming and are
based on the ISO/IEC 9989:2011 (C11) specification. Several standard C library functions are susceptible to vulnerabilities
that can serve as launch points for more sophisticated attacks.
While providing "safe" replacements for standard functions in a consistent naming schema, SafeC aims to mitigate security
exploits due to buffer overflows, provides bound checks that may not be present in the native library, and prevents string
termination and truncation errors. This SafeC safeguards your Cisco device hardware from buffer overflow attacks.
Cisco Signed Kernel Modules
Signed Kernel Modules ensure that any kernel modules loaded into your device are authentic and unmodified. This prevents unapproved
and untrusted executable code from being loaded into the kernel by conventional means.
If the modules are not signed by Cisco, then they cannot be used with the Cisco IOS XE software. This feature stops unauthorized
software from running on your Cisco devices. These hardening features protect Cisco IOS XE software and its components from
attacks.
Secure JTAG (sJTAG)
JTAG was also adopted to program FPGAs and provide a CPU debug access port. A laptop and a JTAG debugger are often all that
is required to provide access to an embedded CPU allowing for retrieval of firmware images, dumping memory, and monitoring
software execution. A small size interface coupled with a sophisticated toolset gives attackers a portable yet powerful means
to exploit a system.
By having a secure JTAG on your Cisco device, we can mitigate intellectual property (IP) theft and avoid the stealing of passwords
or keys from the memory.
Secure Erase
The secure erase feature erases all customer information within your Cisco device. Secure erase is an operation that removes
all the identifiable customer information in the device for purposes of product removal due to Return Material Authorization
(RMA), upgrade or replacement, or system end-of-life.
RMA for a device: If you must return a device to Cisco for RMA, remove all customer-specific data before obtaining an RMA
certificate for the device.
Recovering a compromised device: If the key material or credentials that are stored on a device are compromised, reset the
device to the factory configuration, and then reconfigure the device.
1 A Time-of-Check to Time-of-Use (TOC/TOU) attack is a type of race condition vulnerability that occurs when a program checks
a condition and then performs an action based on the result of that check. However, if another program modifies the condition
between the time of the check and the time of the use, the action will be performed based on the modified condition, which
could lead to unintended consequences.