Secure OTA updates rest on one rule: a device installs only firmware whose signature chains back to the same hardware root of trust that secure boot already uses, and it refuses older images even when they are validly signed. That rule stops unsigned and tampered images. It does not survive a stolen signing key by itself, so a resilient fleet also needs signing keys scoped to cohorts under an offline root, staged rollouts that halt automatically, and an evidence trail an auditor can follow from signed build to boot acceptance.
TechnoLynx designs and implements that chain for device fleets: choosing the attestation protocol and logging architecture, integrating secure boot and the hardware root of trust on the target hardware, wiring attestation events into the audit trail and testing the exchanges end to end. The first step is framing the problem, which means working out whether the auditor needs proof of update integrity, evidence of anomaly detection, or both, and which TPM or TEE hardware and connectivity constraints the fleet already has.
How do we tie secure OTA updates to the same root of trust as secure boot?
A root of trust is the element whose misbehaviour cannot be detected, which is why it has to behave correctly every time and why the rest of the chain of trust is anchored to it. For firmware updates, NIST SP 800-193 calls this the Root of Trust for Update: a signature verification algorithm plus a protected key store holding the public key that checks each update image. Every device with mutable firmware should rely on that root, or on a chain anchored in it, to authenticate updates, and the signature has to be verified before the update is committed to non-volatile storage.
In hardware, the anchor is a public key, or its hash, burned into one-time-programmable memory or a secure element at manufacture. The boot ROM checks the first-stage bootloader against that key, and each stage checks the next before handing over control. The OCP secure boot guidance adds a key manifest, so the key fused into hardware signs a set of firmware-signing keys rather than signing firmware directly.
Three keys that teams tend to collapse into one
A production signing framework separates three roles: an offline root key, an online signing key and a per-device manufacturing identity. The offline root sits in an HSM that stays disconnected from any network, comes out only for scheduled, witnessed ceremonies under M-of-N access control, and is used mainly to issue or renew the certificate of the online signing key. The online key is what the build pipeline calls on every release. It is HSM-backed but reachable over an authenticated API, and because it is exposed constantly it must never be the root. Kept separate, the online key can be rotated or revoked by issuing a new intermediate certificate, without touching the trust anchor already embedded in shipped devices.
The device identity (IEEE 802.1AR DevID) is a separate per-device key pair and certificate that tells the update server which physical device is asking. It does not verify firmware signatures. Secure boot and update verification are related but separate trust chains: a device can check its boot image against the hardware root while checking update packages against a rotatable online key whose certificate chains back to that root.
NIST SP 800-193 requires update images to be signed with a FIPS 186-4 algorithm at a security strength of at least 112 bits. The OCP guidance sets a higher floor for secure boot signatures: RSA-PSS at 3072 bits or more, or ECDSA at 384 bits or more.
Adding image signature verification to an existing Mender client
The Mender Client verifies each Artifact against the public key or keys set in its ArtifactVerifyKey (or ArtifactVerifyKeys) option and refuses to proceed if verification fails. With verification enabled, the client also rejects unsigned Artifacts outright, which closes the obvious bypass of pushing an unsigned image. Mender’s documentation advises signing on an offline system rather than on the build system, then uploading the signed Artifact to the Mender Server as usual.
Mender supports RSASSA-PKCS1-v1_5, with a recommended key length of at least 3072 bits, and ECDSA on curve P-256. On Linux, both mender-artifact and the client support PKCS#11, so the private key can stay inside an HSM, a smart card or a Key Storage Provider.
Verification inside the Mender Client is still verification by operating-system code. The TCG guidance on secure update warns that when update verification runs in application or OS code, malware that infects the OS can bypass it, and recommends verification by highly trusted code. So keep the Mender check, and add verified boot from the hardware root, so that every boot confirms the running code is authorised and the update actually produced authorised code.
A fleet that already shipped without signing needs a migration plan.
Rollback protection and revocation belong in the first design
Signing does not stop an attacker reinstalling an older, legitimately signed version that has a known vulnerability. SP 800-193 requires the authenticated update mechanism to prevent unauthorised updates to an earlier version with a security weakness. The usual mechanism is a monotonic counter or security version number held in tamper-resistant memory.
Revocation needs the same forethought. TCG recommends designing in revocation for bad patches and compromised keys and checking that revocation information before each update. OCP requires secure boot to permit revocation or rotation of the verification key. OCP also recommends phasing revocation, activating the new key before revoking the old one and updating redundant and recovery images as well, so that A/B or recovery images do not fail after the revocation.
There is a public example of what happens without a revocation path. In May 2023, The Register reported that MSI’s private firmware-signing keys for Intel BootGuard had leaked in a data theft, that it understood the public halves to be fixed in the chipsets, and that Binarly’s CEO put the affected products at 116. With the public half fixed in the chipset, every product that trusts the key is at risk from code signed with the leaked private key.
Making the scheme auditable for a retailer’s review
Each update package is verified against the certificate chain back to the root. A verifier that uses certificates as trust anchors has to validate the whole path, revocation checks included. A retailer’s reviewer can then inspect one documented anchor, a documented hierarchy and a revocation process, instead of taking “signed updates” on trust. Choosing and provisioning the root itself is a separate decision, covered in proving the chain of trust and selecting a root of trust.
If the root of trust itself is compromised, signature verification cannot protect the fleet, and that limit should be stated in the review rather than left for the reviewer to find.
Can a staged rollout catch a bad or malicious image before the whole fleet has it?
A staged rollout catches a bad image by letting a small, representative ring of devices install it first, and promoting it further only while that ring stays healthy.
Composition matters more than size. The ring should cover every supported hardware revision, the slowest and least reliable network conditions in the deployment, and at least one device from each major customer or site profile. Google’s SRE workbook advises a first stage small enough to limit harm, watched on the clearest failure signals such as crashes and request failures, followed by larger stages as confidence grows. Each stage also has to run long enough to give a representative signal, and the workbook strongly advises running only one canary deployment at a time. Comparisons only mean something if monitoring can split metrics between the canary and a control population.
AWS IoT jobs can cancel a rollout when the number of failed executions meets criteria you set, and Azure Device Update can roll a whole group back once failures pass a threshold set as a percentage and a minimum device count. Azure’s documented example uses --failed-count 10 and --failed-percentage 5. On each device, health checks after the new bank boots (does the application start, reach the backend, report sane sensor readings, stay within CPU and memory bounds) should revert to the previous bank without waiting for a person. Mender supports phased rollouts, including to dynamic groups. On dynamic groups, phase sizes are calculated from the group’s size when the deployment is created, so devices that join later change the make-up of the phases.
CrowdStrike’s August 2024 root cause analysis of Channel File 291 describes its remedy along these lines: content that passes canary testing is promoted ring by ring, with bake-in time to gather telemetry, or rolled back if problems are detected.
If acceptable behaviour is defined too strictly, good releases get flagged. If it is defined too loosely, bad ones get through. Catching regressions with release gates before customers do, rather than relying on a dashboard, is the discipline behind our production AI reliability work. An image built to be malicious can also pass health checks by design, which is why staged rollout sits alongside key compartmentalisation and the measures in hardening firmware against signed-but-malicious updates and lateral compromise.
Rollout telemetry checklist
- Install success, failure and automatic rollback events, streamed in near real time.
- Health-check results per device: application start, backend reachability, sensor sanity, CPU and memory bounds.
- Breakdowns by hardware revision, firmware version, region and network type, because a single aggregate percentage hides where failures cluster.
- Canary versus control comparison on the same metrics.
- Crashes and request failures as the first-stage signal.
- Device version reports that state the installed image’s hashes and any detected security attack, as the Uptane standard specifies for ECUs.
- Download-speed alerts, which Uptane says ECUs should send when retrieval is slower than a set threshold.
How do we move from one shared signing key to per-cohort keys, and how much blast radius does it remove?
Compartmentalised signing gives each cohort (a product line, a hardware batch or a component) its own signing key under the offline root, so that a compromise of one key does not affect the others. Uptane builds on the same idea: its roles mechanism spreads signing responsibilities so that compromising one key does not necessarily compromise the whole system, and it recommends a delegated role for every tier-1 supplier to limit the impact of a key compromise. The Cyber Safety Review Board names automated key rotation (for example monthly), isolated HSM key storage and limiting key scope among the controls that limit a compromised key’s reach.
The reduction is a matter of definition. If a key is trusted by k of N equally sized cohorts, its compromise exposes k/N of the fleet, and a single shared key is the case k = N. Mender’s ArtifactVerifyKeys accepts an Artifact that any listed key verifies, so a device holding every cohort’s key accepts images signed for every cohort. Each device’s list should hold only its own cohort’s key and a planned successor.
A split by hardware batch limits which devices a stolen key reaches. A split by component limits which images a stolen key can sign, much as Uptane’s unique hardware identifiers stop a compromised Director repository making one ECU type install another type’s image. We would choose the dimension that matches where a compromise is most likely to start, and add the other dimension where both boundaries are real.
Thresholds force an attacker to compromise several keys rather than one. Uptane suggests, for example, at least 5 of 8 administrator keys for Root metadata and 3 of 4 for Targets. For release signing, M-of-N approval means no single engineer can sign and ship firmware alone. The price is operational. Every cohort key has its own lifecycle, from generation and storage through use to destruction, and that lifecycle has to be managed.
Migration procedure from one shared key
- Stand up the offline root and an intermediate certificate for each cohort’s online key.
- Generate the cohort keys inside a FIPS 140-2 or 140-3 Level 3 HSM, never on build servers or laptops.
- Ship one update, still signed with the shared key, that activates the cohort key on each device before anything is revoked.
- Switch signing to the cohort keys and confirm acceptance through rollout telemetry before revoking anything.
- Revoke the shared key in a later signed image, and raise the security version number so an older, validly signed image that still trusts it cannot run.
- For units that cannot take key changes over the air, plan a manual update. Uptane recommends this when keys for affected roles have to be replaced, particularly on partial-verification ECUs.
Devices already in the field under the old single-key scheme need their own containment plan if they cannot complete step 3.
Can our current HSM hold the segmented signing keys, or do we need new hardware?
It depends on where each key belongs and whether the HSM’s limits fit. Keyfactor’s guidance is to keep CA keys, signing keys and application keys in separate partitions or slots, and it describes USB-connected HSMs as suited to an offline root CA and network-connected HSMs to online issuing CAs.
Capacity is a count you can check. Azure Managed HSM allows 5,000 keys per instance, 100 versions per key, 5 instances per subscription per region and 10 role assignments per individual key. AWS CloudHSM allows 3,300 keys per cluster on hsm1.medium and 16,666 on hsm2m.medium, of which at most 3,333 can be asymmetric, and these system quotas cannot be adjusted. The per-key role limit matters as much as the key count if every cohort key needs its own access policy.
Signing keys should live in a FIPS 140-2 or 140-3 Level 3 module, and a reference to the HSM’s validation certificate is what auditors ask for. If you move to the stateful hash-based schemes LMS or XMSS, NIST SP 800-208 requires key and signature generation inside a Level 3 or higher module that never exports private keys. Throughput for high-volume signing should be tested before production. An HSM that fails on quota, certification level or algorithm support has to be replaced, whichever vendor it comes from.
How do we prove, device by device, that updates were signed and verified before install?
Device-by-device proof comes from measured boot and remote attestation. During measured boot, each device records cryptographic measurements of its firmware and software in a hardware root of trust, then sends them to an attestation server that compares them against golden measurements. A fresh nonce from the verifier, signed into the evidence, shows the measurements were produced after the challenge. TechnoLynx builds this pipeline on the fleet’s own hardware. That means selecting a DICE- or RATS-style quote-and-nonce protocol, integrating it with secure boot, keeping the reference measurement database, and simulating tampered and anomalous cases to confirm that detection and investigation actually trigger.
The IETF Remote ATtestation procedureS (RATS) architecture gives the vocabulary. An Attester produces Evidence about itself, a Verifier appraises that Evidence against policy and Reference Values, and a Relying Party uses the resulting Attestation Results to decide whether to trust the device. Reference Values are what other documents call known-good values or golden measurements. Reference values that are image hashes change with every release; reference values that are the public keys verifying signed images stay valid across versions, as long as the same private key signs every update of that firmware. OCP likewise recommends extending the keys that authenticate the key chain into the attestation measurements.
Concrete forms vary by device class. On TPM 2.0 platforms the device signs a quote over its PCRs with an attestation key, and the verifier checks the signature, confirms the measurement log replays to the quoted value and matches each entry against an allowlist. Keylime, an open-source CNCF project, automates that cycle, with the verifier challenging nodes periodically. On constrained silicon, DICE derives a device identifier from a unique device secret and a measurement of the first mutable code, which supports attestation with minimal hardware. In vehicles, the Uptane ECU version report carries the installed image’s hashes, an indicator of detected attacks and a nonce that changes every update cycle. Devices that report old, unknown or malicious firmware can be isolated for upgrade or forensic inspection.
Attestation has limits that the evidence pack should state. A quote reflects the device’s state when it was produced, so freshness depends on knowing when that was. If attestation key provisioning or the Attester itself is compromised, attackers can forge Evidence. If an attacker can modify Reference Values or appraisal policies, the integrity of the whole process is lost. Keylime’s own threat model excludes attacks that modify the root of trust itself, such as the TPM.
What auditors need to see for anomalous readings
In one published TPM-based prototype for 5G network functions on Kubernetes, the attestation system detected unauthorised modifications in real time, labelled each workload’s trust state and produced detailed audit logs that showed which binaries caused each failure. For anomalous readings, the evidence is the same shape: each flagged event, the policy that flagged it and the record of its investigation. A tamper-evident log shows that the record is intact. It does not prove the detection logic is correct or complete, and the reviewer will reasonably ask how that logic was validated. We would treat making the trail tamper-evident across systems as a design of its own, broader than OTA.
Is there one trust standard for connected vehicle telemetry to certify against?
We would not plan an audit around finding a single standard that certifies connected vehicle telemetry trust end to end. Standards and frameworks do cover the pieces. Uptane is a secure software update framework for ground vehicles, NIST SP 800-193 organises firmware resiliency around protection, detection and recovery, and RFC 9334 defines the architecture for remote attestation. We would map each part of the pipeline (root of trust, signing, rollout, attestation, logging) to the framework that covers it for your sector. Agree that mapping with your compliance or legal team early, because an auditor who expects a single certificate may not accept a composed argument.
Can we show a reviewer the chain from signed build to boot acceptance without manual screenshots?
Yes, if four records are captured automatically and share identifiers: the signed build, the HSM signing event, the staged-rollout decision log and each device’s acceptance of the image in its boot chain. If any one of them is manual, the trail has a gap that someone has to reconstruct before submission. TechnoLynx’s AI Governance and Trust work covers that assembly: framing the audit-trail requirement across signing, rollout and boot acceptance, building the pipeline that joins the log sources, running it on every rollout rather than after the fact, and validating the package against a sample of the retailer’s review checklist.
A firmware signing framework written for the EU Cyber Resilience Act lists a signing event log tying each released version to its key, approvers and timestamp, the FIPS 140 validation certificates for the HSMs, key lifecycle records for every key including the offline root, and demonstrated evidence that devices reject a validly signed but outdated image. A practitioner playbook on OTA notes that, under frameworks such as the CRA, signed updates, downgrade prevention where safety allows, and staged rollout with recovery paths sit inside the required secure-update capability. OCP adds that failed boot attempts should be recorded in a tamper-evident log.
NIST SP 800-193 names an audit trail as one purpose of the log: knowing when an event happened, whether an update or recovery was authorised, who authorised it and when. Logged events need integrity assurance and controlled access, because event data in the wrong hands widens the attack surface. Uptane’s guidance for the Director repository is a useful design pattern here: automated processes may read records and write new ones, but should not update or delete existing ones. The Cyber Safety Review Board recommends that cloud service providers keep logs of all access to identity and root-key systems for as long as a key is in use and at least two years after it expires.
Evidence records and how they link
| Record | Produced by | Joins on | What a reviewer checks |
|---|---|---|---|
| Signed build with trusted timestamp | Signing system | Image hash | The signature stays verifiable after the signing certificate expires. |
| Signing event | HSM-backed signing service | Image hash, key ID | Which key signed, who approved it and when. |
| Key lifecycle | Key management records | Key ID | Generation date, rotation history and revocation status. |
| Rollout decision log | Rollout controller | Image hash, deployment ID | Failure count and percentage that trigger rollback, and the rollback update. |
| Device acceptance | Device version report or attestation | Device ID, image hash | Installed image hashes per unique device identifier. |
We would use the image hash as the common key across build, signing, rollout and acceptance records, with the key ID linking signing events to key lifecycle records, because Uptane already names image files by hash and identifies each ECU by a unique identifier. Halts caused by unrelated infrastructure problems need annotating in the rollout log, or a reviewer may read them as security events. Keeping this evidence true as units continue to ship is the subject of verifying and sustaining OTA signing integrity from design dossier to shipped units.
Who can design our OTA signing, rollout gating and audit evidence?
TechnoLynx designs and builds the engineering behind this: the key hierarchy and its links to secure boot, signature verification on the client, staged rollout with automatic halt, attestation, and the pipeline that turns all of it into a reviewer-ready package, delivered as part of AI Governance and Trust. Building in-house works when the team already runs an HSM, a PKI and a rollout controller and mainly needs the pieces joined. Bringing in a specialist makes sense when the key hierarchy, the migration away from a shared key and the evidence design all have to be done at once, before an audit date. Whoever you choose, ask how they would revoke a compromised key on units that are already in the field, and ask to see the join keys of the evidence pipeline before any code is written.
FAQ
What do OTA updates mean?
OTA (over-the-air) updates deliver new firmware or software to a device over its network connection, so nobody has to visit it physically.
What’s the difference between TPM and HSM?
A TPM is a security coprocessor on the device that stores keys and platform measurements, provides device identity and attests the platform’s state. An HSM is a dedicated, tamper-resistant device used to generate, store and protect keys, such as the private keys that sign firmware.
What does an audit trail check for?
For firmware, an audit trail shows when an update or recovery event happened, whether it was authorised, who authorised it and when.