Mat*_*ine 21 linux security tpm
想玩转可信平台模块的东西,我安装了TrouSerS并尝试启动tcsd,但我收到了这个错误:
TCSD TDDL ERROR: Could not find a device to open!
Run Code Online (Sandbox Code Playgroud)
但是,我的内核加载了多个 TPM 模块:
# lsmod | grep tpm
tpm_crb 16384 0
tpm_tis 16384 0
tpm_tis_core 20480 1 tpm_tis
tpm 40960 3 tpm_tis,tpm_crb,tpm_tis_core
Run Code Online (Sandbox Code Playgroud)
那么,我如何确定我的计算机是否缺少 TPM 与 TrouSerS 有错误?
无论是dmidecode也不是cpuid关于“TPM”或“信任”输出任何东西。往里/var/log/messages看rngd: /dev/tpm0: No such file or directory,一方面我看到了,但另一方面我看到kernel: Initialise system trusted keyrings并根据这个内核文档可信密钥使用 TPM。
编辑:我的电脑的 BIOS 设置菜单没有提及 TPM。
另外,看着/proc/keys:
# cat /proc/keys
******** I--Q--- 1 perm 1f3f0000 0 65534 keyring _uid_ses.0: 1
******** I--Q--- 7 perm 3f030000 0 0 keyring _ses: 1
******** I--Q--- 3 perm 1f3f0000 0 65534 keyring _uid.0: empty
******** I------ 2 perm 1f0b0000 0 0 keyring .builtin_trusted_keys: 1
******** I------ 1 perm 1f0b0000 0 0 keyring .system_blacklist_keyring: empty
******** I------ 1 perm 1f0f0000 0 0 keyring .secondary_trusted_keys: 1
******** I------ 1 perm 1f030000 0 0 asymmetri Fedora kernel signing key: 34ae686b57a59c0bf2b8c27b98287634b0f81bf8: X509.rsa b0f81bf8 []
Run Code Online (Sandbox Code Playgroud)
Ste*_*itt 25
TPM 不一定出现在 ACPI 表中,但模块会在找到支持的模块时打印一条消息;例如
[ 134.026892] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
Run Code Online (Sandbox Code Playgroud)
所以dmesg | grep -i tpm是一个很好的指标。
确定性指标是固件的设置工具:TPM 涉及从固件设置管理的所有权程序。如果您的设置没有提及任何与 TPM 相关的内容,那么您就没有 TPM。
TPM 最初出现在服务器和商务笔记本电脑(以及 ChromeBook,如icarus所解释的)中,在台式机或“非商务”笔记本电脑中很少见;这在过去几年发生了变化,Windows 11 现在需要 TPM。任何支持英特尔 TXT 的东西都有一个 TPM。
pev*_*vik 14
也可以通过 sysfs 检测它:
$ [ -d $(ls -d /sys/kernel/security/tpm* 2>/dev/null | head -1) ] && echo "TPM available" \
|| echo "TPM missing"
Run Code Online (Sandbox Code Playgroud)
并且由于内核5.6(提交7084eddf6be9 tpm:添加 tpm_version_major sysfs 文件),可以使用 sysfs 文件检测版本:
$ cat /sys/class/tpm/tpm*/tpm_version_major
1
Run Code Online (Sandbox Code Playgroud)
注意:某些 TPM 不导出 sysfs(固件错误)。
另一种方法是检查/dev/tpm0or /dev/tpmrm0。所有 TPM 设备都应具有/dev/tpm0. /dev/tpmrm0仅适用于 TPM 2.0,但已在 v4.12-rc1 中添加(fdc915f7f719 tpm:通过设备链接暴露空间 /dev/tpmrm):
$ [ -d $(ls -d /sys/kernel/security/tpm* 2>/dev/null | head -1) ] && echo "TPM available" \
|| echo "TPM missing"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37261 次 |
| 最近记录: |