As embedded systems become more powerful and interconnected, security at every stage of system operation becomes critical. In previous articles, we discussed secure SoC architectures and key management. This part of the series focuses on secure boot: a foundational mechanism to ensure that only trusted code is executed when the system powers on.
Boot-time vulnerabilities pose critical risk to system integrity. Without a secure boot mechanism, malicious firmware can execute before any protective controls are in place, bypassing traditional security checks entirely. This early execution grants attackers unrestricted access to low-level system resources, enabling them to implant persistent backdoors, compromise hardware functions, or exfiltrate sensitive data - all without detection by conventional software-based defenses.
Secure boot serves as a fundamental security mechanism, acting as the first line of defense by ensuring that only trusted and authenticated code is executed right from the moment the device is powered on.
Benefits of secure boot in ASIC SoCs:
---
Secure boot is a security standard designed to ensure the integrity of a system's boot process by verifying the digital signatures of key software components, including the bootloader, firmware, and operating system. The principle is to allow only code that has been signed by trusted entities to be executed during the startup sequence. This process effectively prevents unauthorized or malicious software from compromising the system early in the boot process. Cryptographic techniques are employed to confirm that only trusted software is loaded and executed.
---This concept is central to secure boot. It starts with an inherently trusted component that verifies the next component. This component is also known as Root Of Trust (RoT). If it is valid, the system executes it, and this component, in turn, verifies the subsequent one. This sequential step-by-step verification continues until the operating system and applications are loaded, ensuring every piece of software executed is validated.
---The HRoT serves as the immutable foundation upon which the entire chain of trust is built. It is a set of hardware-based security functions that are inherently trusted and cannot be modified or bypassed by software. This trust is often anchored in a specific piece of hardware within the SoC designed to be secure by its very nature.
Key characteristics of HRoT:
The HRoT is typically a fixed-function, immutable element. Additional secure processing components, such as secure enclaves or hardware security modules, may support programmable functions built on top of the HRoT
---Cryptographic techniques provide essential mechanisms in the secure boot process in SoCs, to ensure that only trusted and authentic software is executed from the moment the device powers on.
The table illustrates how cryptographic techniques such as digital signatures like RSA and ECDSA, and secure hash algorithms are fundamental to secure boot to ensure the authenticity and integrity of software components. These foundations are integrated into SoCs by verifying signatures against public keys stored in a Hardware Root of Trust, often accelerated by dedicated hardware for efficient boot performance.
Crypto Technique |
Purpose |
Usage |
Digital Signatures |
Guarantee authenticity (software from a trusted source) and integrity (software has not been altered) of boot components (bootloader, firmware, OS). |
Firmware is signed by the developer using a private key. The SoC's secure boot firmware uses a corresponding public key (stored in HRoT or secure boot firmware) to verify signature during boot. |
Asymmetric Cryptography (e.g., RSA, ECDSA) |
To enable digital signatures by using a key pair (private key for signing, public key for verification) without needing to store a secret on the device for verification. |
Private key is held by the signing authority (e.g., manufacturer). Public key is securely embedded in the SoC's immutable memory (e.g., ROM, OTP) or secure boot firmware. The SoC uses public key to verify the signature and the software. |
Secure Hash Algorithms (e.g., SHA-256) |
To generate a unique, fixed-size "fingerprint" (digest) of the software. This ensures that any modification to the software, even a single bit, will result in a different hash, making tampering detectable. |
The SoC's secure boot firmware calculates the hash of the software being loaded. This calculated hash is then compared against the hash embedded within the digital signature. A match confirms the software's integrity. |
Symmetric Cryptography |
Primarily for confidentiality (encrypting boot images or sensitive data to protect intellectual property and prevent cloning) and sometimes for authentication (using Message Authentication Codes for faster verification). |
Can be used for encrypting/decrypting bootloaders or flash partitions (e.g. AES-CBC). HMAC can be used for authentication. Keys for symmetric algorithms are typically stored in a protected security environment within the SoC. |
Hardware Cryptographic Accelerators |
To significantly speed up computationally intensive cryptographic operations (hashing, signature verification, encryption/decryption), thereby minimizing the impact on boot time. |
Dedicated hardware blocks integrated within the SoC perform cryptographic calculations faster than general-purpose CPUs, ensuring efficient and timely verification during the boot process. |
Post-Quantum-Cryptography (PQC) |
Traditional public-key algorithms like RSA and ECDSA are vulnerable to quantum attacks, which could allow forged firmware signatures. PQC enhances secure boot by future-proofing it against quantum threats. |
By integrating PQC algorithms such as lattice-based or hash-based digital signatures, secure boot can continue to verify firmware authenticity even in a post-quantum era, ensuring long-term integrity and trust in SoCs. |
The entire process in an SoC is typically managed by dedicated secure boot firmware, responsible for orchestrating the verification of each stage of the boot process. The secure boot firmware itself should be stored in an immutable memory, such as ROM or a write-protected region of flash memory, to prevent it from being compromised.
A typical secure boot sequence in a SoC might involve the following steps:
This multi-stage approach ensures that each critical component of the boot process is verified before it is executed, building a robust chain of trust from the hardware up to the operating system. The additional steps involved in cryptographic verification can introduce an overhead, increasing the time it takes for the system to boot.
Techniques to minimize boot time overhead:
In conclusion, secure boot is essential for ensuring the security and integrity of ASIC-based embedded systems. It establishes a chain of trust from power-on, preventing unauthorized code from executing and mitigating risks like malware and rootkits. Key elements like the chain of trust, hardware root of trust (HRoT), cryptography techniques, and secure firmware work together to create a strong security foundation. While secure boot may add some boot-time overhead, its security benefits far outweigh the impact, which can be minimized with hardware acceleration. As embedded systems become more interconnected, adopting secure boot is crucial for building trustworthy, resilient devices.