【问题标题】:TPM Non-Volatile Memory Size?TPM 非易失性内存大小?
【发布时间】:2019-10-01 23:38:22
【问题描述】:

我现在正在使用 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 规范中有描述吗?我在哪里可以找到信息?谢谢。

【问题讨论】:

    标签: tpm non-volatile


    【解决方案1】:

    TPM PC platform specification 说:

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

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

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

    【讨论】:

    • 我在 TPM 2.0 模拟器上检查了 TPM_PT_HR_PERSISTENT_AVAIL,得到的数字是 11。规范是否提到了每个插槽的大小?我只看到规范说这个数字是一个估计值(p50,TPM-Rev-2.0-Part-2-Structures-01.38.pdf)
    • 我认为没有固定大小,因为您可以使不同的密钥类型(具有不同的大小)持久化(ec、rsa、...)。
    • 我可以认为这些插槽是规范中定义的 NV 存储的一部分(6962 字节)吗?该规范说“TPM 库规范将所有非易失性实体视为同一 NV 内存池的一部分”。看起来它只定义了最小 NV 大小,但 TPM 供应商可以决定他们的持久对象/插槽(通常是小尺寸)+其他 NV 存储的大小。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 2018-01-18
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    相关资源
    最近更新 更多