TCG 为与 TPM 通信的中间件的开发人员提供了两种不同的命令/接口规范。一方面有 TPM 命令参考,如
另一方面,如中所述的 TSS
后一种处理不同层(TDDL、TCS、TSP)的不同接口规范,而前一种描述应该建立在设备驱动程序上的功能。
例如,将 TSS TDDL 接口与 TPM 命令参考中指定的命令进行比较:
TSS TDDLI:
Tddli_Open()
Tddli_Close()
Tddli_Cancel()
Tddli_GetCapability()
Tddli_SetCapability()
Tddli_GetStatus()
Tddli_TransmitData()
TPM 命令参考:
TPM_Init()
TPM_TakeOwnership()
TPM_GetCapability()
TPM_MigrateKey()
...
Trousers 例如实现了完整的 TSS,而 libtpm 等其他库仅实现了 TPM 命令参考的一些功能。
这两个接口规范有什么关系?