一、生产检测用工具
在Linux系统上,英飞凌提供两种工具,一是测试工具ELTT2,和韧体更新工具TPMFactoryUpd。
测试工具,ELTT2 的下载网址。
https://github.com/Infineon/eltt2
韧体更新工具,TPMFactoryUpd 的下载网址。
https://github.com/iavael/infineon-firmware-updater
这两个工具,相依的软件包 比较少,因此比较少发生 make 不过的现象。
工厂生产的测试工具中,当然在 UEFI Shell 环境的 T4TPM2 是工厂测试首选,Win PE 环境其次,再来才是 ELTT2。
因为 windows 环境会受到作业系统自动配置的影响,必须增加 TPM Clear 回复到出厂值。
ELTT2 没有提供旗标检查,以及读取凭证的特殊功能。
当然,如果熟悉 TPM command,可以使用参数 -b,带入命令,来读取凭证,比对 EK 和凭证编号。以及以批次执行的方式检查旗标,补足和 T4TPM2 的差异。那么ELTT2也是很好用。
至于使用方面,可参考其他同[Optiga TPM]系列的有关测试和工厂SOP等篇博文,来做比较、应用。
TPMFactoryUpd 使用方式,可参考另一篇博文"TPM韧体更新简易说明"。
但更新的BIN档,则需透过代理商取得,或是英飞凌原厂提供。
二、软体开发用工具:
软体开发工具是由Intel所开发的,非Infineon 提供。
TPM2.0 的软体堆叠(软件堆栈),tpm2-tss 这是TCG定义的软体堆叠源代码。
这包软体API 是可以使用本地或远程的TPM,也不需考虑是哪一厂牌或是软体、虚拟、硬体的TPM。
https://github.com/tpm2-software/tpm2-tss
下方的架构图,比较容易示意 TSS 是甚么东西了。如果看不懂,表示你不曾是软体工程师,因此 TSS 对你是不会有任何影响,可以忽略。
图片节录自"TCG TSS 2.0 Overview and Common Structures Specificatio"
来自 <https://trustedcomputinggroup.org/resource/tss-overview-common-structures-specification/>
TPM2.0 的工具程式,tpm2-tools 这是 TPM2.0 规范 part 3 所定义的 command。
https://github.com/tpm2-software/tpm2-tools
这两个工具,相依的软件包比较多,因此常发生编译(make)的错误讯息。
所以须依据 Install.md,下载安装相依的软件包。
https://github.com/tpm2-software/tpm2-tss/blob/master/INSTALL.md
https://tpm2-tools.readthedocs.io/en/latest/INSTALL/
且安装 tpm2-tools 前,需先安装 tpm2-tss。因为相依于 ESAPI 和 TCTI。
三、其他:
除了前两节提到TPM2.0 的工具外,有关TPM1.2 的工具,可以参考Infineon 的连结整理。
评论