Adding proper secure boot to an industrial IoT gateway, on a disposable lab unit, making every mistake where it costs nothing.
Ten parts, written while doing it. A deliberately disposable lab unit, kept wide open, so every mistake could happen somewhere safe. Each part builds on the one before.
I want to start a small series about a project I've been doing on the side: adding proper secure boot to an industrial IoT gateway I work with.
In the last post I talked about the hardware. Before touching any actual tool, I wanted to properly understand the cryptography underneath it, because I've…
Last time I wrote about the theory — the CA, the four SRK keys, the CSF/IMG pairs underneath each one.
I promised myself one rule at the start of this project: before doing anything to the actual device that isn't trivially undoable, I would have complete,…
With backups done and the keys generated, the next real milestone is building an actual bootloader from source — first completely unsigned, just to prove the…
Last time I wrote about pinning the exact versions of everything a bootloader build for this board actually needs.
Last post ended with a successful flash and a promise to report back honestly on whether the board actually booted. Here's the honest report: it didn't.
A quick note before this post, an update on the note that used to open it: when I first wrote this, it was a roadmap — a plan for what I was about to try,…
Last post ended with the bootloader itself signed, flashed, and proven — a built-in status check on the chip confirmed it accepts the signed version and…
Everything so far has been reversible in every way that matters. Files, builds, signatures, even flashing a new bootloader or kernel onto the board — all of it…