TPM命令参考和TSS之间的关系



TCG为与TPM通信的中间件的开发人员提供了两种不同的命令/接口规范。一方面有中描述的TPM命令参考

http://www.trustedcomputinggroup.org/files/static_page_files/72C33D71-1A4B-B294-D02C7DF86630BE7C/TPM%20Main-部件%203%20Commands_v12_rev116_01032011.pdf

另一方面,中描述的TSS

http://www.trustedcomputinggroup.org/files/resource_files/6479CD77-1D09-3519-AD89EAD1BC8C97F0/TSS_1_2_Errata_A-final.pdf.

后者处理不同层(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命令参考的一些功能。

这两个接口规范之间的关系是什么?

TPM命令TPM结构文档仅指定TPM必须执行的操作。

  • 哪些命令在TPM上实现
  • 输入看起来如何
  • 如何验证向TPM发出的命令
  • TPM如何应对此类输入
  • 反应如何

另一方面,TSS为应用程序开发人员提供了一个API,以方便地开发支持信任的应用程序。TSS的某些部分甚至不向TPM发出命令,比如密钥存储部分或用户管理。

在您链接的TSS文档中,您有一个堆栈的结构化视图,如第30页的图1-1所示。TPM命令引用指定TSS设备驱动程序库TPM之间的细线的外观。另一方面,TSS规范规定了Tddli接口TCS接口SP接口

如果您喜欢类似,让我们将其与HTTP进行比较:前者与HTTP规范类似,而TSS更像是HTTP客户端库的API文档。应用程序开发人员通常不打开套接字,而是开始通过连线发送GET / HTTP/1.0 ...。她使用了一个图书馆,并专注于更高层次的抽象。同样,您通常不会一点一点地组装TPM命令,而是使用TSS。

相关内容

  • 没有找到相关文章

最新更新