SPDM OpenPRoT devices shall use SPDM to conduct all attestation operations both with downstream devices (as a requester) and upstream devices (as a responder.) Devices may choose to act as a requester, a responder, or both. All SPDM version references assume alignment with the most recently released versions of the spec.
OpenPRoT implementations of SPDM must align with the OCP Attestation Spec 1.1. All following sections have taken this spec into account. Please refer to that specification for details on specific requirements.
OpenPRoT sets a baseline version of SPDM 1.2.
OpenPRoT devices implementing an SPDM requester will implement support for SPDM 1.2 minimum and may implement SPDM 1.3 and up. The minimum and maximum supported SPDM versions can be changed if support for other versions is not necessary.
OpenPRoT devices implementing an SPDM responder must implement support for SPDM 1.2 or higher. Responders may only report (via GET_VERSION) a single supported version of SPDM.
All requesters and responders shall implement the four (4) spec mandatory SPDM commands:
GET_VERSIONGET_CAPABILITIESNEGOTIATE_ALGORITHMSRESPOND_IF_READYAll requesters and responders shall implement the following spec optional commands:
GET_DIGESTSGET_CERTIFICATECHALLENGEGET_MEASUREMENTSGET_CSRSET_CERTIFICATECHUNK_SENDCHUNK_GETRequesters and responders may implement the following recommended spec optional commands:
GET_SUPPORTED_EVENT_TYPESSUBSCRIBE_EVENT_TYPESSEND_EVENTGET_ENCAPSULATED_REQUESTDELIVER_ENCAPSULATED_RESPONSEGET_KEY_PAIR_INFOSET_KEY_PAIR_INFOKEY_UPDATEKEY_EXCHANGEFINISHPSK_EXCHANGEPSK_FINISHAll other spec optional commands may be implemented as the integrator sees fit for their use case.
CERT_CAP (required for GET_CERTIFICATE)CHAL_CAP (required for CHALLENGE)MEAS_CAP (required for GET_MEASUREMENT)MEAS_FRESH_CAPThe following cryptographic algorithms are accepted for use within OpenPRoT, but may be further constrained by hardware capabilities. At a minimum OpenPRoT hardware must support:
TPM_ALG_ECDSA_ECC_NIST_P384TPM_ALG_SHA3_384All others are optional and may be used if supported.
TPM_ALG_ECDSA_ECC_NIST_P256TPM_ALG_ECDSA_ECC_NIST_P384EdDSA ed25519EdDSA ed448TPM_ALG_SHA_384TPM_ALG_SHA_256TPM_ALG_SHA_384TPM_ALG_SHA_512TPM_ALG_SHA3_256TPM_ALG_SHA3_384TPM_ALG_SHA3_512AES-128-GCMAES-256-GCMCHACHA20_POLY1305Devices will support either RATS EAT (as CWT) or an SPDM evidence manifest TOC per the TCG DICE Concise Evidence for SPDM specification.
Devices that do not provide a Measurement Manifest shall locate RATS EAT at SPDM measurement block 0xF0