readme.txt 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /**
  2. @page Secure Boot and Secure Firmware Update Demo Application
  3. @verbatim
  4. ******************************************************************************
  5. * @file readme.txt
  6. * @brief This application shows Secure Boot and Secure Firmware Update example.
  7. ******************************************************************************
  8. * @attention
  9. *
  10. * Copyright (c) 2017 STMicroelectronics.
  11. * All rights reserved.
  12. *
  13. * This software is licensed under terms that can be found in the LICENSE file in
  14. * the root directory of this software component.
  15. * If no LICENSE file comes with this software, it is provided AS-IS.
  16. *
  17. ******************************************************************************
  18. @endverbatim
  19. @par Application Description
  20. The X-CUBE-SBSFU Secure Boot and Secure Firmware Update solution allows the update of the STM32 microcontroller built-in
  21. program with new firmware versions, adding new features and correcting potential issues. The update process is performed
  22. in a secure way to prevent unauthorized updates and access to confidential on-device data such as secret code and
  23. firmware encryption key.
  24. The Secure Boot (Root of Trust services) is an immutable code, always executed after a system reset, that checks STM32
  25. static protections, activates STM32 runtime protections and then verifies the authenticity and integrity of user
  26. application code before every execution in order to ensure that invalid or malicious code cannot be run.
  27. The Secure Firmware Update application receives the firmware image via a UART interface with the Ymodem protocol, checks
  28. its authenticity, and checks the integrity of the code before installing it. The firmware update is done on the complete
  29. firmware image, or only on a portion of the firmware image.
  30. This examples is provided with a dual firmware image configuration in order to ensure safe image installation and enable
  31. over-the-air firmware update capability commonly used in IOT devices.
  32. It can be configured to use asymmetric or symmetric cryptographic schemes with or without firmware encryption.
  33. @par Directory contents
  34. - 2_Images_SECoreBin Generate secure engine binary including all the "trusted" code
  35. - 2_Images_SBSFU Secure boot and secure firmware update application
  36. - 2_Images_UserApp Example of user application
  37. - Linker_Common Linker files definition shared between SECoreBin, SBSFU, UserApp
  38. @par How to use it ?
  39. You need to follow a strict compilation order :
  40. 1. Compile SECoreBin application
  41. This step is needed to create the Secure Engine core binary including all the "trusted" code and keys mapped inside
  42. the protected environment. The binary is linked with the SBSFU code in step 2.
  43. 2. Compile SBSFU application
  44. This step compiles the SBSFU source code implementing the state machine and configuring the protections. In addition,
  45. it links the code with the SECore binary generated at step 1 in order to generate a single SBSFU binary including the
  46. SE trusted code.
  47. 3. Compile UserApp application
  48. It generates:
  49. – The user application binary file that is uploaded to the device using the Secure Firmware Update process (UserApp.sfb).
  50. – A binary file concatenating the SBSFU binary, the user application binary in clear format, and the corresponding
  51. FW header.
  52. For more details, refer to UM2262 "Getting started with SBSFU - software expansion for STM32Cube"
  53. available from the STMicroelectronics microcontroller website www.st.com.