SBSFU --> MCU Boot with STM32U585 without Trustzone
Hi all,
we would implement SBSFU (Secure Boot and Secure Firmware Update) on STM32U585.
Our goals are:
- application do not use TrustZone feature (TZ_EN = 0)
- we want to avoid access to MCU on field (Device protection, for exapmle RDP = 1)
- question: if on field MCU is protected with RDP = 1 or 2 or whatever how could a firmware update take place? we need a regression before firmware update?
- at start up "mcu boot" check the security/integrity of application firmware: is that right?
- we want to upload the new firmware via USB connection: we think we should develop our custom bootloader. Correct?
- in our understading we will develop 2 projects (one project for application + bootloader and one project for mcu boot)
- how we could "join" the two binaries into a single one? is it possible?
- A possible scenario for our could be that one:
- user connects to our device via USB.
- user want to update the firmware: then from the application we start our custom bootloader.
- bootloader copy new firmware into a dedicate "update zone" into internal flash
- when copy is finished MCU is resetted
- at new startup “mcu boot” should detect a new firmware image into “Update Zone” and check its security/integrity
- if the new firmware image is good then "mcu boot" will copy it into a dedicate "applicative zone" into internal flash
- when the copy has finisched the MCU is resetted and at next start the new firmware image should start.
Is this scenario feasible?
Sorry for all these questions but we are newby about this argument. We read lots of documents but most of them refers to projects with Trust Zone active (at the moment we are working SBSFU examples of STM32U585 package).
Thank you in advance
Best regards
