Stopping Competitors Cloning Your Hardware: Secure Boot and Firmware Protection

Nikhil Robinson · · 2 min read

Firmware that can be read out can be copied. How I protect products with secure boot, encryption and locked debug ports.

The problem clients bring: "We found cheap copies of our product online running our firmware." Or, before launch: "How do we make sure that never happens?"

What is really going wrong

  • Debug ports are left open, so anyone can read the flash.
  • Firmware is stored unencrypted and runs without being verified.
  • Update files are not signed, so modified firmware can be installed.
  • Secrets such as cloud keys are compiled into every unit.

How I solve it

  1. Enable secure boot so the device only runs firmware signed by the client.
  2. Encrypt flash so a read-out reveals nothing useful.
  3. Sign every update and verify it before installing.
  4. Give each unit its own credentials instead of shared secrets.
  5. Lock debug interfaces in production, with a documented process for authorised servicing.

What the client gets

A product that is much harder to copy or tamper with, set up so that manufacturing and field updates still work smoothly.