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

First Draft of Caliptra Trademark Audit #175

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions CaliptraTrademarkAudit.md

Choose a reason for hiding this comment

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

Many of these are not phrased as testable requirements, and it's not clear what would constitute pass/fail.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed. My goal here was to get a topic list together and then work on what the actual requirements would be for each topic.

Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@

# Caliptra Trademark Auditing Process

This document will describe the specific requirements to be reviewed by a 3rd party and attest to Caliptra TAC that the requirements have been met.

List of Topics to review for Trademark Compliance

* Each of these things will have to be reviewed for an integration to get approval of Trademark Usage

## Caliptra IP

* Show how the RTL was integrated into the device environment
* Show a Run of the tool to verify the RTL Release Hash (in development)
* Show the ROM hash from a release ROM hash

Choose a reason for hiding this comment

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

Show how? Does synthesis tooling provide input file hashes in build logs?

Copy link
Contributor

Choose a reason for hiding this comment

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

we are developing a tool for this that would hash the required RTL files. It does not cover a case where an integrator is lying to us about what they are using. See PR here: chipsalliance/caliptra-sw#1283

* Show the internal Caliptra FW signing process used to sign Caliptra FW

Choose a reason for hiding this comment

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

Process for generating the signatures doesn't seem relevent as long as key management for the signing key is done appropriately.

* Show what options were used to synthesize the RTL
* Show input wires to RTL
* Clock
* Reset
* Power Good, Ready for fuses, Ready for FW, etc.
* Show how the Generic input/output wires are addressed

## Caliptra Wrapper

* Show how the RTL key is provided and ensure that it is not available to any FW.
FerralCoder marked this conversation as resolved.
Show resolved Hide resolved
* Describe the noise source for the RNG (indicating if Internal RNG or external RNG)
* External RNG description should be shown

Choose a reason for hiding this comment

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

what is being asked for here that is not covered by the previous line?

* Show error handling integration
* Show how debugging will be enabled and disable in production
FerralCoder marked this conversation as resolved.
Show resolved Hide resolved
* Show SRAM zeroization

## HSM Support

* Show how the FW signing key is created and protected
* If applicable, show LMS sign keys derivations and how HSM protects them
* If applicable, prove LMS verify.

Choose a reason for hiding this comment

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

These need to be phrased in terms of HSM-generated outputs that can be tested by the auditor (eg: proof-of-possession statement over the key)


## Fusing

* Show how the fuses are loaded into the Caliptra IP
* Show how to Security State is loaded
FerralCoder marked this conversation as resolved.
Show resolved Hide resolved
* Show the fuse recipe that is expected to fuse
* Ensure the Public Key Hash is fused
* Ensure that the security state is fuses.
FerralCoder marked this conversation as resolved.
Show resolved Hide resolved

## Manufacturing

* Indicate how the manufacturing process will flow.
* Show the UDS Seed creation
* Show the CSR extraction and signing

Choose a reason for hiding this comment

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

Potentially redundant, seems like a combination of the HSM/key-management requirements and the requirement to demonstrate valid DevID cert chains.


## Cert Chain Verify

* Show that a part can have IDevID Signed Cert.
* Create a valid Caliptra cert chain with IDevID, LDevID, FMC Alias and R-TAlias cert. Prove that the cert chain verifies.

## SOC Root of Trust

* Show that SOC RoT is sending SOC FMC measurements to Caliptra before running off-chip FW.

Choose a reason for hiding this comment

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

This does not fully capture the ordering requirements for FW measure/stash/execute. FW must be measured by it's associated RTM before that FW is executed. Measurements must be stashed before the RTM exits (ie: measurements taken by ROM must be stashed by ROM, measurements taken by FMC must be stashed by FMC, etc.)

* Show the design for the SOC ROT Caliptra FW Storage and fetching

Choose a reason for hiding this comment

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

Would be clearer as "Show the design for the SOC ROT Storage and fetching of Caliptra FW" if that was the intent of the statement.

* Describe how Caliptra PA_USER management will be used.

## SOC Run-Time

* Show how SVNs fuses will be incremented.
* Show how keys revoke bits can be revoked.
* Show how Run-Time Entropy will be fused.
* Show how owner key hash will be fused.

Choose a reason for hiding this comment

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

Owner keys are not fused with ownership transfer

* Show how the IDevID Cert gets recreated on part.

Choose a reason for hiding this comment

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

this is redundant to a previous requirement to demonstrate a valid Caliptra IDevID cert chain

* Show how external entities would interact with Calitpra (path through Security processor, direct access, etc.)

Choose a reason for hiding this comment

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

What is an "external entity"? User-mode software?