TPM V2.0 命令和信号配置文件

本文档指定 Windows 8 支持的 TPM 信号接口,并列出以下 TPM 2.0 命令:

  1. 由 Windows 8 使用,因此需要为 Windows 硬件认证实施;

  2. 不由 Windows 8 使用,但出于其他原因(例如 TPM 管理、预期的第三方应用使用和 OEM 使用)建议实施;以及

  3. 不由 Windows 8 使用,但可以选择实施。

不支持其他信号接口,但可以在符合此规范的 TPM 2.0 设备中实施 Windows 不使用的其他 TPM 2.0 命令。 有关特定于供应商的命令范围的详细信息,请联系 Microsoft。

命令和信号配置文件

要求

此配置文件要求为支持 Windows 8 而实施的 TPM 2.0:

  • 实现 TCG TPM 2.0 库规范,包括关键安全修补程序 (,以便与更高版本的规范兼容,请联系 Microsoft。若要在 2015 年认证 TPM,需要实现 v0.99 以及所需的安全修补程序。有关所需安全修补程序的信息,请联系 Microsoft.)

  • 始终处于活动状态;即不需要编程激活或用户驱动的激活。

  • 预配了用于认可和存储的主要种子。

要求矩阵

信号和指示 已包含 可选 注释

_TPM_Init

X

_TPM_Hash_Start

X

_TPM_Hash_Data

X

_TPM_Hash_End

X

命令 已包含 可选 注释

启动命令

TPM2_Startup

X

仅由固件使用

TPM2_Shutdown

X

测试命令

TPM2_SelfTest

X

TPM2_IncrementalSelfTest

X

TPM2_GetTestResult

X

会话命令

TPM2_StartAuthSession

X

TPM2_PolicyRestart

X

对象命令

TPM2_Create

X

TPM2_Load

X

TPM2_LoadExternal

X

建议

TPM2_ReadPublic

X

TPM2_ActivateCredential

X

TPM2_MakeCredential

X

建议

TPM2_Unseal

X

TPM2_ObjectChangeAuth

X

重复命令

TPM2_Duplicate

X

TPM2_Rewrap

X

TPM2_Import

X

非对称基元

TPM2_RSA_Encrypt

X

TPM2_RSA_Decrypt

X

TPM2_ECDH_KeyGen

X

TPM2_ECDH_ZGen

X

TPM2_ECC_Parameters

X

对称基元

TPM2_EncryptDecrypt

X

TPM2_Hash

X

TPM2_HMAC

X

随机数生成器

TPM2_GetRandom

X

TPM2_StirRandom

X

哈希/HMAC/事件序列

TPM2_HMAC_Start

X

TPM2_HashSequenceStart

X

建议

TPM2_SequenceUpdate

X

建议

TPM2_SequenceComplete

X

建议

TPM2_EventSequenceComplete

X

建议

证明命令

TPM2_Certify

X

TPM2_CertifyCreation

X

TPM2_Quote

X

TPM2_GetSessionAuditDigest

X

TPM2_GetCommandAuditDigest

X

TPM2_GetTime

X

匿名证明命令

TPM2_Commit

X

签名验证命令

TPM2_VerifySignature

X

建议

TPM2_Sign

X

命令审核

TPM2_SetCommandCodeAuditStatus

X

完整性集合

TPM2_PCR_Extend

X

TPM2_PCR_Event

X

TPM2_PCR_Read

X

TPM2_PCR_Allocate

X

TPM2_PCR_SetAuthPolicy

X

TPM2_PCR_SetAuthValue

X

TPM2_PCR_Reset

X

增强的授权命令

TPM2_PolicySigned

X

建议

TPM2_PolicySecret

X

TPM2_PolicyTicket

X

建议

TPM2_PolicyOR

X

TPM2_PolicyPCR

X

TPM2_PolicyLocality

X

TPM2_PolicyNV

X

TPM2_PolicyCounterTimer

X

建议

TPM2_PolicyCommandCode

X

TPM2_PolicyPhysicalPresence

X

TPM2_PolicyCpHash

X

建议

TPM2_PolicyNameHash

X

建议

TPM2_PolicyDuplicationSelect

X

建议

TPM2_PolicyAuthorize

X

建议

TPM2_PolicyAuthValue

X

TPM2_PolicyPassword

X

建议

TPM2_PolicyGetDigest

X

层次结构命令

TPM2_CreatePrimary

X

TPM2_HierarchyControl

X

TPM2_SetPrimaryPolicy

X

TPM2_ChangePPS

X

TPM2_ChangeEPS

X

TPM2_Clear

X

TPM2_ClearControl

X

TPM2_HierarchyChangeAuth

X

字典式攻击函数

TPM2_DictionaryAttackLockReset

X

TPM2_DictionaryAttackParameters

X

其他管理函数

TPM2_PP_Commands

X

TPM2_SetAlgorithmSet

X

字段升级

TPM2_FieldUpgradeStart

X

Microsoft 强烈建议提供一些更新机制

TPM2_FieldUpgradeData

X

TPM2_FirmwareRead

X

上下文管理

TPM2_ContextSave

X

TPM2_ContextLoad

X

TPM2_FlushContext

X

TPM2_EvictControl

X

时钟和计时器

TPM2_ReadClock

X

用于读取启动计数器

TPM2_ClockSet

X

可能仅由固件使用

TPM2_ClockRateAdjust

X

功能命令

TPM2_GetCapability

X

TPM2_TestParms

X

非易失性存储

TPM2_NV_DefineSpace

X

TPM2_NV_UndefineSpace

X

Win 8 可以使用 Clear 来代替

TPM2_NV_UndefineSpaceSpecial

X

TPM2_NV_ReadPublic

X

TPM2_NV_Write

X

可能仅由 OEM 使用

TPM2_NV_Increment

X

TPM2_NV_Extend

X

TPM2_NV_SetBits

X

TPM2_NV_WriteLock

X

TPM2_NV_GlobalWriteLock

X

TPM2_NV_Read

X

TPM2_NV_ReadLock

X

TPM2_NV_ChangeAuth

X

TPM2_NV_Certify

X