It would be very useful to have an optional “encrypted” build mode in esp-bootloader-plus to improve the security of firmware updates and prevent straightforward memory readout.
Add a build option (e.g. ENCRYPTED_BUILD=1) that enables a simple encryption scheme for firmware transfer.
When this option is enabled:
Configure eFuses so that internal memory can only be accessed by the programmer, not by external tools or third parties.
Apply a lightweight encryption method such as:
- A long XOR key (32/64 bytes).
- A randomized index mechanism, so the starting index in the key changes randomly.
- Use of a circular buffer to manage key rotation and efficiency.
Use cases
Benefits
Ensures firmware exchange is more secure, even with lightweight encryption.
Provides a balance between security and simplicity without requiring heavy cryptographic libraries.
Additional context
Would such an “encrypted build” option be feasible to implement in the current bootloader framework?
Thanks!
It would be very useful to have an optional “encrypted” build mode in esp-bootloader-plus to improve the security of firmware updates and prevent straightforward memory readout.
Add a build option (e.g. ENCRYPTED_BUILD=1) that enables a simple encryption scheme for firmware transfer.
When this option is enabled:
Configure eFuses so that internal memory can only be accessed by the programmer, not by external tools or third parties.
Apply a lightweight encryption method such as:
Use cases
Benefits
Ensures firmware exchange is more secure, even with lightweight encryption.
Provides a balance between security and simplicity without requiring heavy cryptographic libraries.
Additional context
Would such an “encrypted build” option be feasible to implement in the current bootloader framework?
Thanks!