1

我在安装在 vmware 工作站中的 ubuntu 中启用了 TPM。然后我使用以下命令安装 tpm2-tools:

sudo apt-get install tpm2-tools

然后我使用以下命令解析 /sys/kernel/security/tpm0/binary_bios_measurement 中的 TPM 事件日志:

tpm2_eventlog /sys/kernel/security/tpm0/binary_bios_measurement

您可以在以下链接中下载输出 : https ://s16.picofile.com/file/8427251934/output.txt.html ,也可以在以下链接中下载 TPM 事件日志: https://s16.picofile。 com/file/8427252018/binary_bios_measurements.html

我想知道 TPM 为其计算哈希的每个事件属于哪个文件或程序,还想查看该文件或程序的路径。我应该怎么办?TPM 事件日志中是否有此信息,但我安装的 tpm2-tools 不解析它?或者 TPM 事件日志中根本不存在此信息?怎样才能获得这些信息?

4

1 回答 1

2

Event:字段保存每个事件的编码。编码的细节取决于具体的事件类型,因此无法给出一般性的答案。

您最初的示例显示了两个事件:

  - EventNum: 35
    PCRIndex: 9
    EventType: EV_IPL
    DigestCount: 4
    Digests:
      - AlgorithmId: sha1
        Digest: "66b726c6d64bc109d3948a9528f502ea94938ef4"
      - AlgorithmId: sha256
        Digest: "46f888c52f36baf9b62d60bc8d06426a314aad5a0ff86a4362a91c2512a1df9c"
      - AlgorithmId: sha384
        Digest: "800824fd124df10eeafd6bba36c596c33afbb527e3006b58c19fadced47b03c8ae92f89ef3caef2346b3bd545cfdd8de"
      - AlgorithmId: sha512
        Digest: "4fdd3b4cb38c5c69865033bca010d6b914ddfb74dcc5886b258fe4fa8759a1160ec4b924a1c7a7128b0f6899e6f3b0e33373a1ee7532e533e9b6b1629e52533f"
    EventSize: 45
    Event: "286864302c67707432292f626f6f742f677275622f7838365f36342d6566692f7465726d696e616c2e6c737400"
  - EventNum: 36
    PCRIndex: 8
    EventType: EV_IPL
    DigestCount: 4
    Digests:
      - AlgorithmId: sha1
        Digest: "93e6364afcf0ebde4538949f95b6ab6cc1401f5a"
      - AlgorithmId: sha256
        Digest: "0f693a3995fdec16ad5a0d5f0b1301d3c889d81a8fa071f2fc55dd671c96b977"
      - AlgorithmId: sha384
        Digest: "d982b730da7904c32a897ec4b6b65eccc26cb600408b08ea11fbaa61f39a9ebdcca03b704779f8778f335808636e82fc"
      - AlgorithmId: sha512
        Digest: "cfb1bc50ad58448d462f2f3f84751c07ca973ee57e78acef38a5ea3eaccba51108e589936b9f04174a01ddf7a3a5e1b10b5c584cdac75130aa64d3e81818584f"
    EventSize: 51
    Event: "677275625f636d643a20636f6e66696766696c6520286864302c67707432292f626f6f742f677275622f677275622e63666700"

类型的事件EV_IPL由 GRUB 引导加载程序(参考)生成。

xxd您可以使用例如(参考)对事件字符串进行十六进制解码:

$ echo 286864302c67707432292f626f6f742f677275622f7838365f36342d6566692f7465726d696e616c2e6c737400 | xxd -revert -plain
(hd0,gpt2)/boot/grub/x86_64-efi/terminal.lst
$ echo 677275625f636d643a20636f6e66696766696c6520286864302c67707432292f626f6f742f677275622f677275622e63666700 | xxd -revert -plain
grub_cmd: configfile (hd0,gpt2)/boot/grub/grub.cfg
于 2021-03-07T16:50:48.450 回答