Automation Glossary • Secure Boot

What Is Secure Boot on a PLC?

Merobix Engineering • • 6 min read

A controller is only as trustworthy as the code it starts running when it powers on. If an attacker can alter the firmware a PLC boots, they can plant logic that hides from every check performed afterward, because it runs beneath and before those checks. Secure boot is the defense that closes this off: before each stage of firmware is allowed to run, its cryptographic signature is verified, and if the signature does not match, the stage is refused. This guide explains how secure boot works stage by stage on a controller, why it defends against persistent firmware-level implants, and why it ultimately depends on a hardware anchor that software cannot forge.

Back to Blog

Secure Boot in one line: Secure boot is a mechanism in which each stage of a controller's firmware is cryptographically verified against a trusted signature before it is allowed to execute, starting from an immutable first stage and continuing up the chain. If any stage has been tampered with or replaced, its signature fails to verify and the controller refuses to run it, halting the boot rather than executing untrusted code. This prevents malicious or modified firmware from taking hold, because compromised code simply cannot pass the verification needed to start.

Verifying Each Stage Before It Runs

A controller does not boot in one leap; it comes up in stages, where an initial piece of code loads and starts the next, which loads and starts the one after, up through the operating environment and finally the control application. Secure boot inserts a verification step at every handoff. Before a stage passes control to the next, it checks that the next stage carries a valid cryptographic signature, made by a key the controller trusts, over the exact contents of that stage. If the signature checks out, the code is genuine and unmodified and is allowed to run. If it does not, either because the code was altered or because it was signed by a key the device does not trust, the boot stops rather than proceeding into questionable code.

The reason this has to be a chain, and not a single check, is that trust has to be carried forward without gaps. Each verified stage is responsible for verifying the next, so an unbroken sequence of valid signatures links the very first code that runs to the application that ultimately controls the process. Break the chain anywhere and everything above the break is untrusted, which is precisely why every link is verified rather than just the first or the last. The result is an all-or-nothing property at boot: either every stage is authentic and the controller comes up normally, or the chain fails at some point and the controller refuses to run the code beyond that point.

Defending Against Persistent Firmware Implants

The threat secure boot is built to stop is firmware-level malware that installs itself below the software an operator can see. An implant planted in a controller's firmware is dangerous precisely because it runs earlier than any application-level defense and can therefore hide from those defenses, survive reboots, and persist through ordinary software updates that never touch the firmware layer. Without secure boot, once such code is written into the device, it simply runs every time the controller starts, and there is no natural point at which the device would notice it should not be there. This is the kind of deep, persistent foothold that makes controller compromise so serious.

Secure boot removes the foothold by refusing to run code that was not properly signed. A tampered firmware image no longer carries a valid signature over its altered contents, so the verification step catches the modification and the controller declines to boot that stage. An attacker who wants their code to run would need it signed by a key the device trusts, and that key is exactly what a well-run signing and key-protection scheme keeps out of reach. The practical effect is that firmware integrity becomes a property the controller enforces on itself at every startup, rather than something an operator has to discover after the fact. Even an attacker who manages to write malicious firmware to the device gains nothing, because the next boot rejects it instead of executing it.

The Hardware Anchor and What It Means for SCADA Assets

Secure boot cannot bootstrap itself out of pure software, because whatever performs the very first verification could itself be tampered with unless it is protected. That is why the chain has to begin in a hardware root of trust: an immutable first stage and a trusted key held in the silicon of the controller, placed there at manufacture and not rewritable by ordinary means. Because that anchor cannot be altered by an attacker who only controls software, it gives the whole chain a trustworthy starting point. Everything above it is verified against that fixed foundation, so the credibility of secure boot ultimately rests on the credibility of the hardware anchor beneath it.

For a SCADA operation, secure boot on controllers is what lets the supervisory layer trust that the field devices reporting in are running genuine firmware rather than something an attacker slipped in beneath the surface. That assurance is worth the most exactly where controllers are remote and physically accessible to more people than an operator would like, which describes a great deal of distributed oil and gas infrastructure. A control room, and a cloud SCADA platform such as Merobix that aggregates telemetry from a fleet of such assets, is trusting not only the identity of each device but the integrity of the code producing its data, and secure boot is a large part of what makes that trust reasonable. Data from a controller whose firmware is verified at every boot is data an operator can act on with more confidence than data from a device that might be quietly running altered code, and that distinction is exactly what secure boot is there to preserve.

Frequently Asked Questions

How does secure boot know whether firmware has been tampered with?

Each stage of firmware carries a cryptographic signature made over its exact contents by a key the controller trusts. Before a stage runs, the boot process verifies that signature; if even a byte of the code was altered, the signature no longer matches and verification fails. A tampered image cannot produce a valid signature without the trusted signing key, so the controller detects the modification and refuses to run that stage.

Why does secure boot need a hardware root of trust?

Because the code that performs the first verification could itself be tampered with unless something unforgeable protects it. A hardware root of trust provides an immutable first stage and a trusted key burned into the silicon at manufacture, which an attacker controlling only software cannot alter. That fixed anchor gives the verification chain a trustworthy starting point, and the credibility of the whole secure boot process rests on it.

What kind of attack does secure boot on a PLC prevent?

It prevents malicious or modified firmware, including persistent implants, from running on the controller. Such code is dangerous because it runs beneath application-level defenses, hides from them, and survives reboots and ordinary software updates. Secure boot stops this by refusing to execute any firmware stage that lacks a valid signature, so a tampered image is rejected at startup instead of quietly running every time the controller powers on.

From Definitions to a Live Dashboard

Merobix reads your field devices into a cloud SCADA - the real thing behind these terms, live in days from any browser.

Request a Free Demo +1 (903) 307-7300
More in Automation Glossary
Hardware Root of Trust  •  Trusted Platform Module (TPM)  •  Firmware Code Signing  •  Security Level (SL)  •  Microsegmentation  •  Privileged Access Management (PAM)  •  All Automation Glossary →
Free SCADA operator training
Merobix University - 70 video lessons & 261 quiz questions, from first login to compliance reporting. No demo call required.
Start free →