2

我现在正在使用 IBM TPM v1332 + IBM TSS v1470,并尝试将一些重要的关键字/密码存储到 TPM 上的非易失性内存中。我找到了两种方法。一种是创建一个密封对象并用于evictcontrol存储它,例如: ${PREFIX}evictcontrol -ho $objHandle -hp 81800002 -hi p

另一种方法是直接使用 NV 命令来存储一些东西: ${PREFIX}nvdefinespace -hi o -ha 01000000 -pwdn nnn ${PREFIX}nvwrite -ha 01000000 -pwdn nnn

但是,我找不到有关 TPM 中可用的非易失性空间的任何信息。这在 TPM 规范中有描述吗?我在哪里可以找到信息?谢谢。

4

1 回答 1

0

TPM PC 平台规范说:

“1.TPM 应提供至少 6962(十进制)字节的 NV 存储。”

如果您使用 evictcontrol,您应该注意 TPM 同时只允许少量持久对象(至少 7 个,其中 4 个是保留的)。您可以使用带有 TPM_CAP_TPM_PROPERTIES 作为功能的TPM2_GetCapability命令获取可用的持久槽数。如果您可以存储另一个对象,TPM_PT_HR_PERSISTENT_AVAIL 将至少为 1。

可用 NV 内存的数量取决于设备,您必须查看数据表。我建议使用 PC 平台规范中的数字,它们对每个设备都有效。

于 2019-10-02T06:22:44.323 回答