What steps may I take to make it more expensive to reverse engineer a firmware I want to use on a cheap microcontroller?
Options I see so far:
- Flood it with epoxy with quartz or metal dust to make physical access or x-ray harder
- keep device always-on, and store important part in energy-dependent memory. Ideally a key that decrypts firmware
- Use detection of disasembling process, and erase firmware if triggered. For example a light sensor inside the box or conductivity test or shake sensor.
- Use firmware obfuscation
- Use a particular MC that has an option to disallow firmware read. Is there something in stm32f0 family with this property?
- Add physical parts and firmware code that are not actually needed
- Erase the text from the microcontroller's body
What points would make your life harder? What other options can you think of?