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

时间:2015-12-06 11:51:46

标签: security interface tpm

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

中描述的TPM命令参考

http://www.trustedcomputinggroup.org/files/static_page_files/72C33D71-1A4B-B294-D02C7DF86630BE7C/TPM%20Main-Part%203%20Commands_v1.2_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()

  • ...

裤子,例如实现完整的TSS,而其他库如libtpm只实现TPM命令参考的一些功能。

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

1 个答案:

答案 0 :(得分:1)

TPM Command TPM Structures 文档仅指定TPM必须执行的操作。

  • 在TPM上实施了哪些命令
  • 输入如何?
  • 如何对发布到TPM的命令进行身份验证
  • TPM如何对此类输入作出反应
  • 响应如何?

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

在链接的TSS文档中,您有第30页的图1-1中堆栈的结构化视图.TPM命令参考指定 TSS设备驱动程序库与<之间的细线的方式em> TPM 看起来像。另一方面,TSS规范指定 Tddli接口 TCS接口 TSP接口的外观。

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