upvote
Almost all commercial devices need a unique ID, private key, etc burned in on the production line. For a big enough production run, you'd likely ship an HSM to the factory
reply
IMO it's better to ship preprogrammed ICs to the factory, so you can do your secure burning in-house.
reply
Depends on where the ICs originally come from. No point shipping your ICs from China -> US, flashing them, shipping them back US -> China for assembly, and then ship them China -> US again to sell
reply
Yet people do this all the time. Ask me how I know.
reply
Can reply to the reply below but yeah, i have done that, lol
reply
> For a big enough production run, you'd likely ship an HSM to the factory

I figure that the factory is exactly the adversary in the whole threat model? So why give them the keys to the castle so they can moonlight their own genuine batch?

reply
A few ways, if I understand them correctly. On-site people you employ (if you can afford it) auditing the process, connectivity to the HSM to record every key assigned (makes it easy to trace duplicated keys to their origin), and ideally assigning these keys at the very last possible step after the rest is assembled (to minimize 'defective' parts wandering off and being assembled elsewhere).
reply
Yeah, it's important that your own people are doing regular inspections of the production line, keys get burned at the final station (use temp keys for QA stages before that point), and you retain software control of the HSM.

You probably aren't going to do this whole rigmarole for small runs of devices like in the OP.

reply
> Almost all commercial devices need a unique ID, private key, etc

Serious question: why?

reply
You want a unique ID so that you can track which units are experiencing issues, you want private keys to be able to securely connect to your backend service and/or mobile companion app.

A local-only device with no telemetry can probably skip some of those

reply