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

[imm_rom_ext] Mint CDI_0 certs in immutable rom ext #25294

Merged
merged 1 commit into from
Dec 17, 2024

Conversation

sasdf
Copy link
Contributor

@sasdf sasdf commented Nov 21, 2024

Since CDI_0 attests the integrity of rom_ext, this PR moves the UDS & CDI_0 stage to the immutable rom_ext part, which will be executed before mutable rom_ext, to establish root trust in hardware.

SKU owners can choose whether the immutability should be enforced using the CREATOR_SW_CFG_IMMUTABLE_ROM_EXT_EN OTP field when the feature is ready.


This PR also changes the ROM address translation e2e test from the *_rom_with_fake_keys exec env to *_rom_ext env, since the key manager is not functional without secret2.

To avoid ROM_EXT affecting ROM test results, we also modified the ROM_EXT boot message pattern to catch the immutable message, which will be printed first.

@sasdf sasdf force-pushed the mgIf971654a branch 2 times, most recently from f955147 to 52ef31c Compare November 21, 2024 18:15
@sasdf sasdf marked this pull request as ready for review November 22, 2024 01:03
@sasdf sasdf requested a review from a team as a code owner November 22, 2024 01:03
@sasdf sasdf requested review from jadephilipoom, cfrantz and timothytrippel and removed request for a team and jadephilipoom November 22, 2024 01:03
@sasdf sasdf force-pushed the mgIf971654a branch 4 times, most recently from 4f88ed4 to 797333a Compare November 22, 2024 08:44
sw/device/silicon_creator/lib/cert/dice_chain.c Outdated Show resolved Hide resolved
#endif // __cplusplus

/**
* Return the pointer to rom_ext manifest on the active flash bank.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe you could drop a comment here why this function is different than https://cs.opensource.google/opentitan/opentitan/+/master:sw/device/silicon_creator/lib/manifest_def.c;l=39?q=manifest_def_get&ss=opentitan%2Fopentitan (therefore, why is is needed in addition to the current solution for getting the manifest of the currently executing slot)?

@sasdf sasdf force-pushed the mgIf971654a branch 2 times, most recently from c97c3c6 to f1ba81e Compare December 17, 2024 09:36
Since CDI_0 attests the integrity of rom_ext, this PR moves the UDS & CDI_0
stage to the immutable rom_ext part, which will be executed before mutable
rom_ext, to establish root trust in hardware.

SKU owners can choose whether the immutability should be enforced using the
`CREATOR_SW_CFG_IMMUTABLE_ROM_EXT_EN` OTP field.

Change-Id: If971654a27ea32eaf74d20d385e48801d28e1da5
Signed-off-by: Yi-Hsuan Deng <[email protected]>
@timothytrippel timothytrippel merged commit 7501199 into lowRISC:master Dec 17, 2024
38 checks passed
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

Successfully merging this pull request may close these issues.

3 participants