Thanks for that response. That clears up one issue.
In my project I have a bootloader and an application. The bootloader is loaded once and never updated in the field. Typically, I would use the bootloader to download and write to flash a new application image. I typically use a basic means of CRC check to validate the new image.
Reading about the HSE it seems it can be used to do a more secure update of the application. From your email and the documentation, I now understand the HSE FW must first be loaded.
This is my understanding of the process at a high level, assuming I am using the full memory approach, not A/B Swap.
- I install the HSE FW, I assume there is related HSE Hardware. Does the HSE have its own protected memory area or does it use the NVM of the product board to store keys.? Is the HSE firmware stored in product flash or in a secure HSE memory area?
- The HSE can be updated in the field but not uninstalled. Does it need to be updated on each download of the application?
- when I download new application over a communication bus like ARINC 429. the HSE FW authenticates this. As I understand. the sender uses a symmetric key to create a GMAC code that is sent over the bus with the new application image. The HSE re-creates the GMAC form its own copy of the key. Then compares these two to authenticate the application image.
- Can the key being used be changed? how is that done?
- Overall, this does not seem very secure. What am I missing? if a hacker get that key, they can download an software they want.
- In addition, is it possible to encrypt the image before download and have the HSE use a different asymmetric key to decrypt it? How does that work.
- since I will be using full memory mode, I don't think I will need to create the NVM key catalog. Is that correct. BSB uses an ADKP one-time generated key. where is that stored?
- Does the HSE automatically authenticate the download, or do I have to request that? what part would my bootloader play in validation if the HSE is now doing this task? Does the HSE replace this aspect of my bootloader? the bootloader will still need to facilitate the download of the new image.
Thanks for the help. Please correct anything I said that is not correct. and if you can provide a better explanation of the process that would be great.