我有一个带有TPM芯片的Raspberry Pi,其中我使用TPM进行磁盘加密。使用PCR寄存器0将磁盘加密密码密封到TPM。我在系统开始时用某些值扩展了PCR,但是我发现PCR0只在一个功率周期上重置,而不是在重新启动时重置。
此外,运行tpm2_shutdown --clear && tpm2_startup --clear不重置值,而TPM规范声明如下:
TPM重置是在关闭(清除)之后启动(清除),或启动(清除),而启动(清除)之前没有关闭()(即无序关闭)。TPM重置大致类似于平台的重新启动。与重新启动一样,大多数值处于默认的初始状态,但持久性值被保留。本规范不要求保存在NV内存中的任何值都将重新初始化。在某些情况下,这意味着清除值,在另一些情况下,这意味着选择了新的随机值。
如何在重新启动时重置PCR0?
TPM由内部制造的PCB连接,因此可能是硬件连接问题.
发布于 2023-01-24 14:01:32
原来我需要使用TPM芯片的物理复位PIN。我在数据表中找到了这些信息。我拥有的芯片是Infineon SLB9670VQ20FW785XTMA1。
数据表中的表3描述了RST#引脚通常连接到主机的PCIRST#信号。我不是百分之百确定,但我认为这是由重新启动触发的。
我的覆盆子Pi没有PCIRST#信号,但是复位引脚连接到引脚19。我通过在关机时执行gpio 19 out 0来解决这个问题。这意味着GPIO引脚19处于低位,触发复位。或者,我可以在引导时将引脚设置得很高,但它的工作方式如下。
https://security.stackexchange.com/questions/267942
复制相似问题