Uh oh!
There was an error while loading. Please reload this page.
Default variables - #22
Conversation
Dennis Mattoon (DMattoon)
left a comment
There was a problem hiding this comment.
I'm fine with this in principle. I do worry introducing this sort of code generation and build-time complexity will be a problem for us in the future.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Daniel McIlvaney (dmcilvaney)
commented
Sep 5, 2019
As for complexity, this is completely opt-in and hooked into an existing OP-TEE build system flow (gensrcs which generates source files on demand), so hopefully it won't affect any other components. I also made a point to only use the external APIs so this shouldn't be affected by changes to the internal functioning of the TA. This is definatly a critical step in a Windows secure boot path (verifying signatures from ROM all the way to Windows), and enforcing this with the TA itself seems like the most secure method. |
Allow the Authvar TA to enforce a set of default variables when it is first initialized.
These variables are defined in a JSON file, and encoded into a generated C file at compile time via a python script.
The behaviour can be turned on via
CFG_AUTHVARS_DEFAULT_VARS=y. A pair of example JSON files are included, one sets a simple NV variable, while the other provisions a set of secure boot variables.TODO: Handle partial initialization. Either set an initialization complete flag, or don't persist these writes until we ar done, or check each default variable? We don't want to get halfway through writing the variables then die. But also want these variables to be treated like normal variables once they are written.