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

Conversation

JohnTraverAmd
Copy link
Contributor

First draft of the Caliptra Trademark Audit for discussion.

@JohnTraverAmd JohnTraverAmd linked an issue Feb 2, 2024 that may be closed by this pull request
Copy link

linux-foundation-easycla bot commented Feb 2, 2024

CLA Not Signed

Copy link
Contributor

@FerralCoder FerralCoder left a comment

Choose a reason for hiding this comment

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

suggest moving this to the /doc directory

CaliptraTrademarkAudit.md Outdated Show resolved Hide resolved
CaliptraTrademarkAudit.md Outdated Show resolved Hide resolved
CaliptraTrademarkAudit.md Outdated Show resolved Hide resolved
CaliptraTrademarkAudit.md Outdated Show resolved Hide resolved
Comment on lines 13 to 14
* 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 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
* 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 how the RTL key is provided and ensure that it is not available to any FW.
* 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?

Comment on lines 34 to 36
* 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)

* 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 keys revoke bits can be revoked.
* Show how Run-Time Entropy will be fused.
* Show how owner key hash will be fused.
* 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 Run-Time Entropy will be fused.
* Show how owner key hash will be fused.
* Show how the IDevID Cert gets recreated on part.
* 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?

## SOC Root of Trust

* Show that SOC RoT is sending SOC FMC measurements to Caliptra before running off-chip FW.
* 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.


## 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.)


* 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.

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.


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.

The goal of a Caliptra Trademark Audit would be to be compliant with OCP Safe Level 2 requirements using an OCP Safe approved auditor.
Copy link
Collaborator

Choose a reason for hiding this comment

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

An additional goal of a ....

s/would/is/

s/Safe/S.A.F.E./


Currently, this is a list of Topics to review for Trademark Compliance. Specific testable requirements will need to be spelled out subsequently.

* Each of these topics will have to be reviewed for an integration to get approval of Trademark Usage
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think "approval for TM usage" but English is my second language

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

## Caliptra IP

Copy link
Collaborator

Choose a reason for hiding this comment

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

Preface sentence.

"A compliant integration must show:"

  • bullet points

## 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)
Copy link
Collaborator

Choose a reason for hiding this comment

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

TODO here? Replace to link for source code of tool when ready


* 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
Copy link
Collaborator

Choose a reason for hiding this comment

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

the ROM hash maps to a verifiable build of a tagged ROM release

* External RNG description should be shown
* Show error handling integration
* Show how debugging will be enabled/disabled in production
* Show SRAM zeroization
Copy link
Collaborator

Choose a reason for hiding this comment

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

process for SRAM zeroization

## SOC Run-Time

* Show how SVNs fuses will be incremented.
* Show how keys revoke bits can be revoked.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Typo, key revoke bits

* 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.
Copy link
Collaborator

Choose a reason for hiding this comment

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

capitalization

* Show how Run-Time Entropy will be fused.
* Show how owner key hash will be fused.
* Show how the IDevID Cert gets recreated on part.
* Show how external entities would interact with Calitpra (path through Security processor, direct access, etc.)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Do we need a specific PAUSER requirement. Show those are not spoofed and correctly bound to callers

* Show how keys revoke bits can be revoked.
* Show how Run-Time Entropy will be fused.
* Show how owner key hash will be fused.
* Show how the IDevID Cert gets recreated on part.
Copy link
Collaborator

Choose a reason for hiding this comment

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

on part? Is this sentence incomplete?

@syncsrc-nv
Copy link

syncsrc-nv commented Feb 2, 2024

HSM section needs to include:

  • requirements for DevID CA keys.
  • requirements on availability and reliability of revocation information.
  • authentication/user-access flows (for both FW signing and Cert-signing)

Manufacturing section needs to include:

  • requirements about prevention of cloning
  • required logs to be collected/stored
  • data sanitization requirements (eg: of encrypted UDS seed)

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.

Create Caliptra TradeMark Approval Program
4 participants