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

[FEATURE] Change event 1: Change SHA to XMSS in Secure boot #125

Open
podhrmic opened this issue Oct 23, 2024 · 1 comment
Open

[FEATURE] Change event 1: Change SHA to XMSS in Secure boot #125

podhrmic opened this issue Oct 23, 2024 · 1 comment
Labels
application software application software components SoW TA2.1.2.D Support two Phase 1 continuous integration events.

Comments

@podhrmic
Copy link
Collaborator

Summary

Secure boot currently uses SHA256 to measure (hash) the firmware image. Change the algorithm to XMSS.

@podhrmic podhrmic added application software application software components SoW TA2.1.2.D Support two Phase 1 continuous integration events. labels Oct 23, 2024
@podhrmic podhrmic added this to the Next PI meeting milestone Oct 23, 2024
@spernsteiner
Copy link
Contributor

@peterohanley At today's meeting, I mentioned that it might be necessary to split the initial measure operation (hashing the binary before running it) from the later measures (e.g. hashing a config file and mixing it into the measure for use in later attestations). I thought about this a bit more, and I think it might be better to keep the existing measure code as-is, but change the code that checks the initial measure, which currently just checks whether the measure equals a known hash, and replace it with an XMSS signature check. The overall logic would look something like: hash/measure the first N - 32 bytes of the binary, then check that the last 32 bytes are a valid signature for that hash.

It might also be useful to add a third command to the trusted boot daemon to allow other code to check signatures. Currently, before vm_runner mounts the application partition, it passes a hash of the partition to the trusted boot daemon for it to mix into the current measure. We could then have vm_runner pass a signature to the daemon and find out whether it's a valid signature for the updated measure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
application software application software components SoW TA2.1.2.D Support two Phase 1 continuous integration events.
Projects
None yet
Development

No branches or pull requests

2 participants