Secure Boot
Secure Boot is a firmware security mechanism that verifies the cryptographic signature of each software component in the boot sequence before executing it, ensuring that only authorised, unmodified firmware and bootloaders are loaded. It is a key CRA essential requirement for products where firmware integrity is critical.
Secure Boot is a firmware security mechanism that verifies the cryptographic signature of each software component in the boot sequence before executing it, ensuring that only authorised, unmodified firmware and bootloaders are loaded. It is a key CRA essential requirement for products where firmware integrity is critical.
Product Security EngineeringWhat Is Secure Boot?
Secure Boot is a hardware-enforced security mechanism that verifies the digital signature of each component in the device's startup sequence — from the initial bootloader through the operating system kernel to application code. Before executing any component, the firmware checks its cryptographic signature against a set of trusted keys stored in protected hardware (typically a TPM or hardware security module, or fused into the SoC). If the signature is invalid or absent, the device refuses to boot. This ensures that even if an attacker gains physical access to a device or manages to write modified firmware, the device will not execute unauthorised code. Secure Boot is one of the most effective defences against firmware-level supply chain attacks, rootkits, and persistent malware.
Secure Boot and CRA Essential Requirements
The CRA's Annex I requires manufacturers to protect the integrity of software and firmware, including through mechanisms that ensure only authorised software can be executed. Secure Boot is a primary mechanism for satisfying this requirement in embedded and IoT products. Specifically, Annex I requires that products only run software that is verified for integrity and authenticity. For products where the software runs at elevated privilege levels or controls physical processes (industrial controllers, medical devices, automotive systems), Secure Boot is effectively mandatory to demonstrate compliance with the integrity protection requirements. Products without Secure Boot must provide alternative technical justification for how firmware integrity is maintained — a difficult argument to make for network-connected devices.
Implementing Secure Boot for CRA Products
Implementing Secure Boot requires coordination between hardware selection, firmware development, and key management:
- Hardware root of trust: Select SoCs or microcontrollers with hardware support for Secure Boot (most modern IoT SoCs include this). The root of trust must be immutable — keys must be stored in one-time-programmable (OTP) fuses or hardware security modules.
- Key hierarchy: Design a signing key hierarchy — a root CA key (kept offline and air-gapped), an intermediate key for signing production firmware, and a key revocation mechanism for responding to key compromise.
- Boot chain verification: Each stage of the boot chain (ROM bootloader → secondary bootloader → OS kernel → application) must verify the next stage before execution.
- Rollback protection: Prevent downgrade attacks by implementing version counters in protected storage that prevent rolling back to older, potentially vulnerable firmware versions.
Secure Boot in OTA Update Workflows
Secure Boot must be integrated with the OTA (Over-the-Air) update mechanism to maintain security through the product lifecycle. When an OTA update is applied:
- The update package must be cryptographically signed with the manufacturer's firmware signing key.
- The device must verify the signature before applying the update.
- The update must be applied atomically — partial updates that could leave the device in an inconsistent state must be rejected.
- After update, the new firmware image must pass Secure Boot verification before the device reboots into the updated state.
A Secure Boot implementation that is bypassed by an unsigned OTA update process defeats its own purpose. Manufacturers should verify that the OTA code path is subject to the same integrity verification as the initial boot chain.
CVD Portal makes Secure Boot compliance straightforward.
Public CVD submission portal, acknowledgment tracking, Article 14 deadline alerts, and CSAF advisory generation. Free forever for EU manufacturers.
Start your free portalFrequently asked
Is Secure Boot required for all CRA-covered products?+
The CRA does not explicitly list Secure Boot as a named requirement. However, Annex I's requirement to protect software and firmware integrity and ensure only authorised software is executed effectively requires a mechanism equivalent to Secure Boot for any product where firmware runs at a privilege level that could affect the product's security properties. For simple microcontroller-based devices with no field-updateable code, the argument for Secure Boot is weaker. For any device with an OS, field-updateable firmware, or network connectivity, Secure Boot is the standard mechanism for satisfying the integrity requirement.
What happens if the Secure Boot signing key is compromised?+
Key compromise is the most serious failure mode for Secure Boot. A compromised signing key allows an attacker to sign malicious firmware that all devices will accept as legitimate. Manufacturers must have a documented key compromise response plan: immediately revoke the compromised key, issue an emergency OTA update that installs a new trusted key, and push out re-signed firmware for all current versions. Hardware key revocation mechanisms (revocation counters in OTP fuses) allow devices to reject firmware signed with revoked keys. The signing key infrastructure should be treated with the highest security — air-gapped hardware security modules for root keys, strict access controls for intermediate keys.
Does Secure Boot prevent all firmware attacks?+
Secure Boot prevents the execution of unsigned or incorrectly signed firmware — it cannot prevent vulnerabilities in legitimately signed firmware. An attacker who can exploit a vulnerability in the running firmware to achieve code execution at runtime bypasses Secure Boot entirely (since the firmware they exploited was signed correctly). Secure Boot is one layer of defence in a defence-in-depth strategy. It must be combined with runtime exploit mitigations (stack canaries, ASLR, sandboxing), network access controls, vulnerability management, and CVD processes for comprehensive CRA compliance.
Related terms
Browse the full CRA Compliance Checklist
See how Secure Boot fits into your complete CRA compliance programme.