Ubuntu 是否使用 TPM 2.0 芯片?

Dav*_*ble 14 intel tpm

我的英特尔主板有一个 TPM 2.0 芯片。Ubuntu 13.04 似乎有一个驱动程序,但它与它有什么关系,什么?可以关闭/禁用吗?

May*_*hux 14

除了随机数生成器之外,可信平台模块 TPM 还提供用于安全生成加密密钥及其使用限制的设施。它还包括远程证明和密封存储等功能。

来源

默认情况下禁用 TPM,除非您想使用它。要启用,请执行以下操作:

以 root 身份首次登录

> sudo -s
Run Code Online (Sandbox Code Playgroud)

并安装 Trousers 和 TPM 工具:

> apt-get install tpm-tools trousers
Run Code Online (Sandbox Code Playgroud)

前往内核模块所在的目录/lib/modules/#.xy-z-generic/kernel/drivers/char/tpm,在那里你会找到你需要的模块:

ls -la /lib/modules/`uname -r`/kernel/drivers/char/tpm
total 116
drwxr-xr-x 2 root root  4096 Feb  3 07:00 .
drwxr-xr-x 8 root root  4096 Feb  3 07:00 ..
-rw-r--r-- 1 root root 12248 Jan 30 19:54 tpm_atmel.ko
-rw-r--r-- 1 root root 18104 Jan 30 19:54 tpm_i2c_infineon.ko
-rw-r--r-- 1 root root 24864 Jan 30 19:54 tpm_infineon.ko
-rw-r--r-- 1 root root 13496 Jan 30 19:54 tpm_nsc.ko
-rw-r--r-- 1 root root 30344 Jan 30 19:54 tpm_tis.ko
Run Code Online (Sandbox Code Playgroud)

对于我的机器,加载 tpm_tis.ko 就足够了。

> modprobe tpm_tis.ko
Run Code Online (Sandbox Code Playgroud)

现在您应该“看到” /sys/class/misc/ 中的 TPM (tpm0) 并能够打印 PCR

> cat /sys/class/misc/tpm0/device/pcrs
PCR-00: xx 82 F8 37 D6 83 21 56 ff F7 FB 94 25 D8 7A 38 47 57 BF 83
PCR-01: yy 93 6D 55 81 BE 16 99 ff 88 DA D1 D9 B5 67 53 54 A7 41 71
PCR-02: zz DE 58 4D CE F0 3F 6A ff AC 1A 24 0A 83 58 93 89 6F 21 8D
PCR-03: aa 3F 78 0F 11 A4 B4 99 ff FC AA 80 CD 6E 39 57 C3 3B 22 75
PCR-04: bb 0B 67 73 D3 6F B5 AD ff 11 F5 43 C5 DA 92 C9 D4 69 E4 33
Run Code Online (Sandbox Code Playgroud)

如果 tpm_tis 在您的机器上不起作用,只需使用反复试验来找到正确的模块。你不能损坏东西。顺便说一句:如果您想自动加载内核模块,请编辑 /etc/modules 并将“tpm_tis”添加到模块列表中。

如果您加载了正确的模块,请启动 tcsd。注意:与其他发行版不同,您不能通过以下方式调用 Ubuntu 中的 tcsd

> /etc/init.d/tcsd start
Run Code Online (Sandbox Code Playgroud)

你需要输入

> tcsd
Run Code Online (Sandbox Code Playgroud)

如果您喜欢一些调试信息,请添加 -f:

> tcsd -f
Run Code Online (Sandbox Code Playgroud)

现在你准备好了:

> tpm_version
TPM 1.2 Version Info:
Chip Version:        1.2.11.5
Spec Level:          2
Errata Revision:     0
TPM Vendor ID:       ATML
TPM Version:         01010000
Manufacturer Info:   41544d4c
Run Code Online (Sandbox Code Playgroud)

现在您可以拥有 TPM 的所有权:

> tpm_takeownership
Enter owner password: OWNERPASS
Confirm password: OWNERPASS
Enter SRK password: SRKPASS
Confirm password: SRKPASS
Run Code Online (Sandbox Code Playgroud)

有关如何在 linux 中使用 TPM 的更多信息,请参见此处此处

  • 答案不适用于 TPM 2.0。答案的作者显然没有阅读问题。 (7认同)
  • 我会在您的答案中添加第 0 步:根据规范,必须首先在固件中启用 TPM 1.2。每台机器都应该带有禁用的 TPM。 (6认同)
  • 很好的说明,但概述的一些步骤适用于 TPM 1.2 而不是 2.0 (5认同)
  • 取得 TPM 的所有权意味着什么? (2认同)