GeneralEmbeddedCLibraries / boot

Bootloader implementation in C code for general use in embedded systems.
MIT License
0 stars 0 forks source link

Arhitecture concepts #1

Open ZiGaMi opened 1 year ago

ZiGaMi commented 1 year ago

Basic program flow proposal: UPDATE (26.02.2023): reason variable shall be linker in NOINIT RAM section to exchange data between app and bootlaoder image

Requirements:

ZiGaMi commented 1 year ago

Use of CMOX on STM32 for cryption purposes

ZiGaMi commented 1 year ago

Interesting link at that topic:

ZiGaMi commented 1 year ago

Invalid app catcher:

image

ZiGaMi commented 1 year ago

Locking bootloader with MPU:

image

ZiGaMi commented 1 year ago

Sharing linker script across bootloader and application:

ZiGaMi commented 5 months ago

Firmware authentication using digital signatures

In a nutshell

image NOTICE: On picture hash calculations are missing.

Link: https://interrupt.memfault.com/blog/secure-firmware-updates-with-code-signing

Interesting point of view on encrypting the application: image

If using digital signatures (consequently HASH), then CRC of application is sort of a redundant info: image

Digital signature is being evaluated based on:

image

Therefore if wanted to check signature in pre-validation phase, HASH and SIGNATURE shall be part of "Image info" in "Prepare command"!

Application header in that example: image

ZiGaMi commented 1 week ago

image

OPEN SSL is already part of Git installation