Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test LPC bootloader signed update and secure boot #11

Open
conorpp opened this issue Mar 9, 2020 · 3 comments
Open

Test LPC bootloader signed update and secure boot #11

conorpp opened this issue Mar 9, 2020 · 3 comments

Comments

@conorpp
Copy link
Contributor

conorpp commented Mar 9, 2020

It would be great to evaluate the bootloader + signed updates using LPC55's ROM.

A good overview is given in AN12283.

I image successful (green) and failed (red) signed updates would follow these paths.

Screen Shot 2020-03-09 at 1 01 10 PM

And the application can have the ability to jump to the ISP/bootloader-rom to start the update process. The answer to this forum post makes it look pretty simple.

There are a few not-so-trivial things to configure.

  • The public key chain loaded into the bootloader ROM.
  • Other bits in CMPA + CFPA pages.

To access the latest "elftosb" and "elftosb-gui" tools, you need to download an MCUXpresso kit and make sure you have mcu-boot option enabled.

I have some not-easy-to-find documents giving good documentation + examples of configuring LPC55 with elftosb. Message me on Keybase (conor1) and I will send to you.

It would be great to be able to:

  • Create an example Rust program that can boot to bootloader ROM after receiving some event (like a USB command).
  • Create a demo that configures that configures the bootloader ROM.
  • Update the ROM with a signed update.
  • Update the ROM with an unsigned update (fail).
  • Maybe try revocation of a certificate?

Open to feedback!

(cc @jolo1581).

@nickray
Copy link
Member

nickray commented Mar 9, 2020

Long-term it would be nice to have something self-contained, extending https://github.com/probe-rs.

@jolo1581
Copy link
Contributor

I will do some Tests with the boot ROM after my hardware runs. I just compiled the sources, but I haven't test the Hardware with some examples.

@jolo1581
Copy link
Contributor

Hi,
I haven't much time at the moment for testing. Also I have to learn rust language, because I have no experience with rust. I thought I would be quite simple to learn, but it isn't.
Hope I can contribute soon, but first I have to learn more about rust. :-/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants