问这个问题我觉得很愚蠢,因为最初我认为我只需要启用一个配置语句,然后它就会顺利运行。但是我找不到正确的设置。
我有一个嵌入式系统,并使用builtroot构建了rootfs、linux内核、u-boot等。
现在我想实现远程认证。因此,我希望在引导过程中的不同步骤使用下一步的哈希值来扩展我的TPM 2.0的pcr。
当系统启动时,我可以使用tpm2工具在TPM上运行命令。
我认为u-boot、内核等都有自己的tpm驱动程序,所以他们扩展pcr应该不是问题。
但是我该如何实现呢?
非常感谢你的回答。
我自己回答问题,以防有人遇到类似问题。
该问题通过创建U-Boot补丁程序得以解决。要启动操作系统,uBoot运行几个步骤。这些是由我的补丁扩展的。
我将rootfs复制到内存中,对其进行散列,并用它扩展pcr。需要以下命令:
$ tpm2 init // init the tpm
$ tpm2 start TPM2_SU_CLEAR // start the tpm
$ mmc read $loadaddr 0x800 0x80000 //read your rootfs
$ hash sha256 $loadaddr *0x10000000 // hash over it
$ tpm2 pcr_extend 4 0x10000000 // extend a pcr with the hashed value
希望有人觉得它有帮助。如果你发现错误,请评论。
编辑:添加了缺失的星号