2.GetTargetTspCapabilitiesResponse.md
October 10, 2024 ยท View on GitHub
2. Test Case for GET_TARGET_TSP_CAPABILITIES_RSP
Case 2.1
Description: TSP responder shall return valid GET_TARGET_TSP_CAPABILITIES_RSP, if it receives a GET_TARGET_TSP_CAPABILITIES.
TestSetup:
- Requester -> GET_TARGET_TSP_VERSION {TSPVersion=0x10}
- GET_TARGET_TSP_VERSION_RSP <- Responder
TestTeardown: None
Steps:
- Requester -> GET_TARGET_TSP_CAPABILITIES {TSPVersion=0x10}
- TspMessage <- Responder
Assertion 2.1.1: sizeof(TspMessage) == sizeof(GET_TARGET_TSP_CAPABILITIES_RSP)
Assertion 2.1.2: TspMessage.Opcode == GET_TARGET_TSP_CAPABILITIES_RSP
Assertion 2.1.3: TspMessage.TSPVersion == 0x10
Assertion 2.1.4: TspMessage.MemoryEncryptionFeaturesSupported.Encryption == 1
Assertion 2.1.5: (TspMessage.MemoryEncryptionAlgorithmsSupported.AES-XTS-128 == 1) || (TspMessage.MemoryEncryptionAlgorithmsSupported.AES-XTS-256 == 1)
Assertion 2.1.6: if (TspMessage.MemoryEncryptionFeaturesSupported.RangeBasedEncryption == 1), then (TspMessage.MemoryEncryptionNumberOfRangeBasedKeys != 0), else (TspMessage.MemoryEncryptionNumberOfRangeBasedKeys == 0)
Assertion 2.1.7: if (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.WriteAccessControl == 1), then !((TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ExplicitOutOfBandTEStateChange == 0) && (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ExplicitInBandTEStateChange == 0))
Assertion 2.1.8: if (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ReadAccessControl == 1), then !((TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ImplicitTEStateChange == 0) && (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ExplicitOutOfBandTEStateChange == 0) && (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ExplicitInBandTEStateChange == 0))
Assertion 2.1.9: if (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ImplicitTEStateChange == 1), then (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ExplicitInBandTEStateChange == 1) && ((TspMessage.SupportedExplicitInBandTEStateGranularity & 0x1) != 0)
Assertion 2.1.10: if (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ExplicitTEStateChangeSanitize == 1), then !((TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ExplicitOutOfBandTEStateChange == 0) && (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ExplicitInBandTEStateChange == 0))
Assertion 2.1.11: if (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ExplicitOutOfBandTEStateChange == 1), then (TspMessage.SupportedExplicitOutOfBandTEStateGranularity != 0), else (TspMessage.SupportedExplicitOutOfBandTEStateGranularity == 0)
Assertion 2.1.12: if (TspMessage.TEStateChangeAndAccessControlFeaturesSupported.ExplicitInBandTEStateChange == 1), then ((TspMessage.SupportedExplicitInBandTEStateGranularity & 0x800007FF) != 0), else (TspMessage.SupportedExplicitInBandTEStateGranularity == 0)
Assertion 2.1.13: if (TspMessage.MemoryEncryptionFeaturesSupported.CKIDBasedEncryption == 1), then (TspMessage.NumberOfCKIDs >= 2) && (TspMessage.NumberOfCKIDs < ), else (TspMessage.NumberOfCKIDs == 0)
Assertion 2.1.14: if (TspMessage.ConfigurationFeaturesSupported.TargetSupportsAdditionalSPDMSessions == 1), then (TspMessage.NumberOfSecondarySessions > 0) && (TspMessage.NumberOfSecondarySessions <= 4), else (TspMessage.NumberOfSecondarySessions == 0)