我们拥有一台 MBAM 服务器和经过测试的策略,这些策略几乎适用于我们迁移的每台计算机。不过,我现在已经看到 3 个系统提示输入恢复密钥而不是用户 PIN。恢复后,每次重新启动都会再次要求输入恢复密钥,要求最终用户在每次重新启动后联系支持人员。恢复密钥已顺利托管到 AD\MBAM 中。
鉴于该过程到目前为止已在约 99% 的系统上起作用,我假设我们正在处理硬件或软件级别的问题。在一个案例中,我重新加载了系统,BitLocker 开始正常工作,这表明这是某些机器状态问题。
我已经尝试过排除 TPM 状态故障、固件升级、查看 BitLocker 日志、完全解密\重新加密设备等各种方法,但是一旦笔记本电脑处于这种状态,它总是会提示恢复。
有没有办法发现究竟是哪个 PCR 触发了恢复状态,以便我可以专注于单个 PCR?我们即将在整个公司范围内实施此流程,我担心在迁移过程中可能会打扰更多用户。我至少希望有一个故障排除计划。
答案1
首先,系统不断提示输入恢复密钥的原因是您没有重新初始化 BitLocker 以使用新的 PCR 值。为此,只需暂停 BitLocker、重新启动,然后再次启用 BitLocker。但是,我建议不要这样做,直到您确切找出导致 PCR 值更改的原因。在最坏的情况下,它可能是由 bootkit 引起的。
TCG 事件日志记录了 TPM 测量操作的完整序列以及它们如何更改 PCR。Windows 以编码形式保留了日志的副本C:\Windows\Logs\MeasuredBoot\
。如中所述解码测量启动日志以跟踪 PCR 变化,您可以使用 TBSLogGenerator(需要安装 Windows Hardware Lab Kit)或 PCPTool(需要自己从源代码构建)来解码它们。请注意,文章中链接的 PCPTool 仅适用于 TPM 1.2。对于 TPM 2.0,请使用以下新版本https://github.com/microsoft/TSS.MSR/tree/master/PCPTool.v11
假设你的系统使用的是 UEFI 固件,那么按照BitLocker 组策略设置,如果未配置以下 GPO:
- 允许安全启动进行完整性验证
- 为本机 UEFI 固件配置配置 TPM 平台验证配置文件
然后 BitLocker 使用 PCR
- 0、2、4 和 11,或
- 7 和 11
据我所知,Windows 不会记录用于解锁 BitLocker 的每个 PCR 的预期值,因此找出有问题的 PCR 的唯一方法是将按下恢复密钥提示后的解码日志与系统正常启动之前的解码日志进行比较。只需将搜索范围缩小到上述 PCR,您就应该能够快速找到罪魁祸首。
答案2
我完成这个项目已经很长时间了,所以细节很模糊,但我确实解决了我的问题。
BitLocker 默认允许总共 32 次密码尝试失败,然后才会锁定 TPM,迫使您进入恢复模式。TPM 2.0 应该允许每隔几个小时尝试一次。在某些设备上,TPM 实现没有考虑设备关闭的时间。
我的一些经常进出的用户会打开笔记本电脑,快速检查一下,然后关机。短暂的会话会阻止故障计数减少,因此在几个月的故障之后,他们会达到 32 次故障的限制并永久锁定。
为了摆脱这种状态,我通过禁用启动驱动器上的保护、清除 TPM,然后重新启用保护来重置故障计数。
清除 TPM 后,我的根本解决办法是毫不留情地羞辱那些频繁输错 PIN 码的用户。