Brighton's Blog
← All Series

Secure Boot

5 - ROT1: The Root-of-Trust Signed-Image Trailer

RA8D2RenesasEmbeddedBinary FormatsBare-MetalCSecure BootECDSACryptographyTrustZone

This is the only format in the series with a real adversary.

Everything else here is built to survive accidents: a file truncated by a yanked SD card, a corrupt index, a decompression bomb. Those threat models all stop politely short of somebody who actually means it. Firmware signing does not get that luxury, and the post works through what that changes – including why a checksum is not a weaker version of a signature but a different thing entirely, and why the rollback counter has to sit inside the signed material. Every byte in the worked example comes from a throwaway key generated into a temp directory; no real signing key appears anywhere in this post.

Read more →

6 - NSR1: The Non-Secure Image RoT Header

RA8D2RenesasEmbeddedBinary FormatsBare-MetalCTrustZoneSecure BootLinker ScriptsArmv8-M

Eight bytes. Two fields. This is the smallest thing in the series by a wide margin, and it is here because of a question that has no good answer until you write one down.

Read more →