TPM 非易失性内存大小?

TPM Non-Volatile Memory Size?

我现在正在使用 IBM TPM v1332 + IBM TSS v1470 并尝试将一些重要的 keywords/passwords 存储到 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 规范中有描述吗?我在哪里可以找到这些信息?谢谢。

TPM PC platform specification 说:

"1.The TPM 应提供至少 6962 (dec) 字节的 NV 存储。"

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

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