esp32-s3 Flash Encryption for Production
Posted: Mon Apr 29, 2024 1:25 pm
Hello,
We are using the esp32-s3-wroom-1-n16r8 module in our products and are heading towards series production.
We are using the USB pins to program the module and get logs. We also want to use flash encryption and/or secure boot and I have some questions about the use of the usb-port and the security features.
1. In case that we have a bad OTA and break our devices we want to have a backdoor: We are generating the encryption keys and keep them safe at ours. So we are able to encrypt the firmware and use the usp-port to flash the firmware in case we can not do any OTAs anymore and have to call back all the devices from our customers. But I fear, that this is not possible with the usb-port right? If I understood correctly than with flash encryption and/or secure boot the usb-port can not longer be used to communicate with the esp32-s3. Is that correct? And would that even work, if we use the standard uart-port?
2. In the production process there will be some kind of initialisation and tests done by our third-party manufacturer. For that we want that the results of these tests are logged via the usb-port. With flash encryption and/or secure boot enabled is this still possible? Would that be possible with the standard uart-port?
3. Is it at all possible to get logs(plaintext) via the usb- or uart-port when encryption is enabled?
Best,
Jonathan
We are using the esp32-s3-wroom-1-n16r8 module in our products and are heading towards series production.
We are using the USB pins to program the module and get logs. We also want to use flash encryption and/or secure boot and I have some questions about the use of the usb-port and the security features.
1. In case that we have a bad OTA and break our devices we want to have a backdoor: We are generating the encryption keys and keep them safe at ours. So we are able to encrypt the firmware and use the usp-port to flash the firmware in case we can not do any OTAs anymore and have to call back all the devices from our customers. But I fear, that this is not possible with the usb-port right? If I understood correctly than with flash encryption and/or secure boot the usb-port can not longer be used to communicate with the esp32-s3. Is that correct? And would that even work, if we use the standard uart-port?
2. In the production process there will be some kind of initialisation and tests done by our third-party manufacturer. For that we want that the results of these tests are logged via the usb-port. With flash encryption and/or secure boot enabled is this still possible? Would that be possible with the standard uart-port?
3. Is it at all possible to get logs(plaintext) via the usb- or uart-port when encryption is enabled?
Best,
Jonathan