首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重置TPM2.0的SRK?

如何重置TPM2.0的SRK?
EN

Stack Overflow用户
提问于 2021-01-07 08:53:00
回答 1查看 1.3K关注 0票数 1

我想重设SRK。它也可以看作是TPM的工厂重置。

我试过tpm2_clear,但不起作用。

机器: VMWare工作站

代码语言:javascript
复制
# tpm2_getcap properties-variable
TPM2_PT_PERSISTENT:
  ownerAuthSet:              0
  endorsementAuthSet:        0
  lockoutAuthSet:            1
  reserved1:                 0
  disableClear:              0
  inLockout:                 0
  tpmGeneratedEPS:           1
  reserved2:                 0
TPM2_PT_STARTUP_CLEAR:
  phEnable:                  0
  shEnable:                  1
  ehEnable:                  1
  phEnableNV:                1
  reserved1:                 0
  orderly:                   0

# tpm2_clear -c p
WARNING:esys:src/tss2-esys/api/Esys_Clear.c:282:Esys_Clear_Finish() Received TPM Error
ERROR:esys:src/tss2-esys/api/Esys_Clear.c:97:Esys_Clear() Esys Finish ErrorCode (0x00000185)
ERROR: Esys_Clear(0x185) - tpm:handle(1):hierarchy is not enabled or is not correct for the use
ERROR: Unable to run tpm2_clear

在VMWare中,即使在冷启动之后,也不会设置phEnable。

机器: HP EliteBook 850 G5

代码语言:javascript
复制
~# tpm2_getcap properties-variable
TPM2_PT_PERSISTENT:
  ownerAuthSet:              0
  endorsementAuthSet:        0
  lockoutAuthSet:            1
  reserved1:                 0
  disableClear:              0
  inLockout:                 0
  tpmGeneratedEPS:           0
  reserved2:                 0
TPM2_PT_STARTUP_CLEAR:
  phEnable:                  1
  shEnable:                  0
  ehEnable:                  1
  phEnableNV:                1
  reserved1:                 0
  orderly:                   1

# tpm2_clear -c p
WARNING:esys:src/tss2-esys/api/Esys_Clear.c:282:Esys_Clear_Finish() Received TPM Error
ERROR:esys:src/tss2-esys/api/Esys_Clear.c:97:Esys_Clear() Esys Finish ErrorCode (0x000009a2)
ERROR: Esys_Clear(0x9A2) - tpm:session(1):authorization failure without DA implications
ERROR: Unable to run tpm2_clear

# tpm2_clear -c o
ERROR: Unexpected handle - TPM2_RH_OWNER
ERROR: Unknown or unsupported handle, got: "o"
ERROR: Cannot make sense of object context "o"
ERROR: Invalid lockout authorization
ERROR: Unable to run tpm2_clear

有什么办法让SRK复位吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-09 12:08:44

您在正确的轨道上,tpm2_clear清除所有者层次结构,即SRK及其所有子键。

根据命令规范(秒)24.6)的说法,tpm2_clear失败的原因有很多。

1.禁用平台层次结构。

这个错误非常微妙,因为在TPM2_Clear的命令描述中没有显式地提到它。默认情况下,TPM2_Clear在平台层次结构上运行。但是,可以通过命令phEnable禁用平台层次结构( TPM2_HierarchyControl有点清楚)。

代码语言:javascript
复制
tpm2_hierarchycontrol -C p phEnable clear

今后对平台层次结构的任何使用都应该会导致返回代码TPM2_RC_HANDLE = 0x0000010B。但是,没有TPM命令来重新启用平台层次结构.架构规范(第13.3节)

当phEnable清除时,需要一个_TPM_Init来设置它。

似乎您需要重置您的TPM (切换硬件复位信号或电源关闭),以重新启用平台层次结构。

如果这不能解决您的问题,请参见下一个潜在问题。

2.禁用TPM2_Clear命令

这可能不是您的问题,因为它会产生另一个错误(返回代码TPM_RC_DISABLED = 0x0000120)。

可以禁用TPM2_Clear命令(disableClear位设置)。这是通过命令TPM2_ClearControl完成的。若要启用清除,请调用tpm2_clearcontrol -Cp c。与tpm2_clear一样,tpm2_clearcontrol需要平台授权。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65609252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档