如果我从 GNU/Linux 中清除 TPM,它会删除 Windows BitLocker 密钥吗?如果我从 UEFI 设置中清除它会怎样?
我想在sha1
和sha256
银行中拥有所有 PCR(0-23),但现在我只sha256
设置并且sha1
为空但存在,tpm2_pcrread
输出:
sha1:
sha256:
0 : 0xC373FA10837B62B48E9CA87E5F31440FCDC8F5C51FB1BF0FC72D4E241E680ABC
1 : 0x6182DB76DAE2E1F0540C5EFAB413141D2F1957BA4F1344087A744CD36B34D1A1
2 : 0x3D458CFE55CC03EA1F443F1562BEEC8DF51C75E14A9FCF9A7234A13F198E7969
3 : 0x3D458CFE55CC03EA1F443F1562BEEC8DF51C75E14A9FCF9A7234A13F198E7969
4 : 0x30FBEFFB0D106992F28146DEDF62A2154164585F9606ACBDAB9FD4FA89806FD9
5 : 0x514DDD32584089DC386AD6C28FD03B70D42AAE7B7029A0899A9287BE6646D7EB
6 : 0x3D458CFE55CC03EA1F443F1562BEEC8DF51C75E14A9FCF9A7234A13F198E7969
7 : 0x65CAF8DD1E0EA7A6347B635D2B379C93B9A1351EDC2AFC3ECDA700E534EB3068
8 : 0x0000000000000000000000000000000000000000000000000000000000000000
9 : 0x0000000000000000000000000000000000000000000000000000000000000000
10: 0xA63AFE1C978C162B2D0BCEC08ABC0D1F31D7988D7A9F3CC0AB9A48A34399573A
11: 0x0000000000000000000000000000000000000000000000000000000000000000
12: 0x0000000000000000000000000000000000000000000000000000000000000000
13: 0x0000000000000000000000000000000000000000000000000000000000000000
14: 0x0000000000000000000000000000000000000000000000000000000000000000
15: 0x0000000000000000000000000000000000000000000000000000000000000000
16: 0x0000000000000000000000000000000000000000000000000000000000000000
17: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
18: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
19: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
20: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
21: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
22: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
23: 0x0000000000000000000000000000000000000000000000000000000000000000
我试过了tpm2_pcrallocate
,因为这里默认情况下它会分配sha1
和sha256
:
如果未指定分配,则分配 PCR 为 0 - 23 的 SHA1 和 SHA256 bank。
但我收到了错误消息:
WARNING:esys:src/tss2-esys/api/Esys_PCR_Allocate.c:321:Esys_PCR_Allocate_Finish() Received TPM Error
ERROR:esys:src/tss2-esys/api/Esys_PCR_Allocate.c:114:Esys_PCR_Allocate() Esys Finish ErrorCode (0x000009a2)
ERROR: Could not allocate PCRs.
ERROR: Esys_PCR_Allocate(0x9A2) - tpm:session(1):authorization failure without DA implications
ERROR: Unable to run tpm2_pcrallocate
AFAIK,对于 TPM 1.2,这是不可能的,因为“硬编码”哈希算法,但对于 TPM 2.0(我有),我可以为 PCR 库选择几种算法。
那么,你能帮我解决这个问题吗?
根据网上很多教程,将TPM存储的密钥添加到LUKS的过程是运行clevis luks bind -d /dev/sda1 tpm2 '{"pcr_ids": "7"}'
,但我收到以下错误:
ERROR: pcr-input-file filesize does not match pcr set-list
ERROR: Could not build pcr policy
ERROR: Unable to run tpm2_createpolicy
Invalid input!
所以我删除了 pcr_ids 并且命令变为clevis luks bind -d /dev/sda1 tpm2 '{}'
. 这很好用。将“密码短语”添加到插槽并将磁盘添加到 /etc/crypttab(使用 tpm2-device=auto)使磁盘能够在启动时自动解密。
我不确定它是否足够安全。这种做法有任何漏洞吗?
PS 我在 MSI X570A-PRO 上使用 AMD 5950X(及其 ftpm)
我已经阅读了关于清除 TPM 和需要挂起 Bitlocker 或备份密钥的线程(如这个和这个) 。没关系。
但是在“清除 TPM 之前要采取的预防措施”部分(大约一半)下的Microsoft Docs中,他们声明了以下内容:
清除 TPM 会导致您丢失与 TPM 关联的所有已创建密钥以及受这些密钥保护的数据,例如虚拟智能卡或登录 PIN。确保您有任何受 TPM 保护或加密的数据的备份和恢复方法
这听起来像我可能需要备份或禁用一些其他的东西。我显然记得我的 Windows 登录 PIN。我不知道什么是“虚拟智能卡”。但这种描述的开放式性质让我担心还有其他我不知道的东西。
- 除了 Bitlocker 之外,我还有其他需要担心的事情吗?
- 如果是这样,是否有任何类型的 Windows 工具可以“备份所有 TPM”密钥?或者也许是为了向我展示已经创建了哪些键?还是我只需要知道有哪些?
[编辑] 我Get-TpmEndorsmentKeyInfo -Hash "Sha256"
在提升的 powershell 窗口中运行了命令(抱歉之前忽略了建议)这是结果
IsPresent : True
PublicKey : System.Security.Cryptography.AsnEncodedData
PublicKeyHash : 42ff19c7660f684110b2b8b280f093df62862e558aa63bb67341cea0ff995af2
ManufacturerCertificates : {[Subject]
TPMManufacturer=id:4E544300 + TPMModel=NPCT75x + TPMVersion=id:72
[Issuer]
CN=Nuvoton TPM Root CA 2111 + O=Nuvoton Technology Corporation + C=TW
[Serial Number]
09C3BC22DAB3C59C0E36
[Not Before]
2/11/2019 12:55:01 AM
[Not After]
2/7/2039 12:55:01 AM
[Thumbprint]
B2094A7ED31D11941EA3D35AE6FC5D3166D5F860
}
AdditionalCertificates : {}
我为我的 Asus Prime X470-Pro 主板订购了一个 Asus 硬件 TPM 模块(使用 AMD Ryzen 2600 CPU)。
fTPM 当前已启用,但据我所知,没有任何进程使用。(没有 BitLocker。没有其他东西可以存储/使用 TPM 密钥。)
(禁用 CSM,启用 SecureBoot。)
只是因为我很谨慎,我会在安装硬件模块之前禁用 fTPM,但我不禁想知道如果我不先禁用 fTPM 会发生什么。
合乎逻辑的事情是主板检测硬件 TPM 并禁用它,让用户在 UEFI 设置中启用它并禁用 fTPM。但是,这些事情并不总是合乎逻辑的......
在技术上是否有可能同时激活两者?他们会冲突吗?
我是在“一般”问这个问题,而不仅仅是针对我的特定主板。
有人知道 TPM 和 fTPM 将如何交互吗?手册没有提到任何关于此的内容。
我的戴尔笔记本电脑(latitude 7480)偶尔显示
alert: tpm device is not detected
在启动时,如果它在没有电源的情况下关闭 30 秒,则在重新启动时不会显示错误。如果显示错误,请按 F1 允许笔记本电脑启动。
我该如何解决这个问题。
我的机器看起来不像是用 TPM 构建的。我想知道是否可以找到与此主板(华硕 Z170 Pro Gaming)匹配的主板以及在哪里可以找到它。该板的 TPM 2.0 是否需要来自华硕,还是有其他选择?
提前致谢
我想看看我的 PC 是否满足 Windows 11 的要求。我唯一缺少的是TPM,所以我在 X570 上启用了fTPM。
现在,当我启动时,我得到以下建议:
安装了新 CPU,fTPM/PSP NV 损坏或 fTPM/PSP NV 结构更改。
按 Y 重置 fTPM,如果您启用了 BitLocker 或加密,系统将无法在没有恢复密钥的情况下启动
按 N 保留之前的 fTPM 记录并继续系统启动,fTPM 将不会在新 CPU 中启用,您可以切换回旧 CPU 以恢复 TPM 相关的密钥和数据。
目前,我一直在按下N
并继续使用 Windows 10,没有任何问题。
但既然我不使用BitLocker,我应该按一下Y
,这样这件事就不会再打扰我了吗?这样做有什么风险吗?