Skip to content

Feature Request: SPDM ComponentIntegrity.SPDMGetSignedMeasurements fetch and validation #204

@lordaule

Description

@lordaule

Feature request addition to the Redfish-Tacklebox: rf_componentintegrity.py

Retrieving SPDM Signed Measurements has multiple steps, it would be good to have a tool to:

  • List all members in the ComponentIntegrity
  • Fetch the measurements of a specific device, validate they are signed, and extract/print them in JSON format

When fetching ComponentIntegrity measurements, there are multiple steps:

  1. GET ComponentIntegrity/DEVNAME
  2. GET from the above, the SPDM / IdentityAuthentication / ResponderAuthentication / ComponentCertificate
  3. Validate that the returned certificate chain is valid
  4. POST the action #ComponentIntegrity.SPDMGetSignedMeasurements using either a random number or a user-supplied NONCE, and an optional slot number
  5. POLL for the task action to complete
  6. GET the ComponentIntegrity.SPDMGetSignedMeasurements/data when the task completes
  7. Extract the SignedMeasurements and decode
  8. Validate that the SignedMeasurements were fetched using the NONCE used in step 4
  9. Validate that the SignedMeasurements are properly signed by the certificate returned earlier
  10. Print the SignedMeasurements in JSON format

Code to perform certificate chain validate and SignedMeasurements validation are in libspdm and should be leveraged with that team.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions