受信任的平台模块 (TPM) 将锁定自身,以阻止篡改或攻击,这称为锁定。TPM 锁定通常会持续一段不定时间,或直到计算机关闭为止。如果 TPM 处于锁定模式,当收到需要授权值的命令时,通常会返回错误。一个例外是:TPM 始终允许所有者至少尝试一次在 TPM 处于锁定模式时重置 TPM 锁定。如果 TPM 已进入锁定模式或对命令响应过慢,建议重置锁定值。重置 TPM 锁定需要 TPM 所有者授权。管理员最初取得 TPM 的所有权时,会设置 TPM 所有者授权。可以对所有者授权密码执行哈希操作,以创建所有者权授权值,该值由 TPM 存储。鼓励管理员以将所有者授权哈希值保存到以 .tpm 扩展名结尾的 TPM 所有者密码文件,该文件包含 XML 结构中的所有者授权哈希值。出于安全原因,TPM 所有者密码文件不包含原始所有者密码。为计算机首次打开 BitLocker 驱动器加密时,通常会取得 TPM 所有权。在这种情况下,TPM 所有者授权密码会随 BitLocker 恢复密钥一同保存。将 BitLocker 恢复密钥保存到文件时,BitLocker 还将保存具有 TPM 所有者密码哈希值的 TPM 所有者密码文件 (.tpm)。打印 BitLocker 恢复密钥时,将同时打印 TPM 所有者密码。如果将组织的组策略设置配置为执行此操作,还可以将 TPM 所有者密码哈希值保存到 Active Directory 域服务 (AD DS) 中。

了解 TPM 保护机制

在某些情况下,加密密钥受 TPM 保护,需要具备有效的授权值才能访问密钥。(常见示例是配置为使用 TPM + PIN 密钥保护程序的 BitLocker 驱动器加密,在这种情况下,用户在启动过程中必须键入正确的 PIN 才能访问 TPM 保护的卷加密密钥。)为了防止恶意实体发现授权值,TPM 会实施保护逻辑。保护逻辑旨在当 TPM 检测到某个实体尝试猜出授权值时减慢或停止来自 TPM 的响应。

来自受信任的计算组 (TCG) 组织的行业标准指定 TPM 制造商必须在 TPM 1.2 芯片中实现某种形式的保护逻辑。不同的 TPM 制造商可以实现不同的保护机制和行为。如果将错误的授权值发送给 TPM,则一般性的指导意见是让 TPM 芯片以指数级延长响应时间。某些 TPM 芯片可能不能随时存储失败的尝试。而其他 TPM 芯片可以无限期地存储每次失败的尝试。因此,某些用户在错误键入发送到 TPM 的授权值时可能会遇到时间不断增加的延迟情况,从实际上阻止他们在一段时间内使用 TPM。用户通过完成下列过程,可以重置 TPM 中的保护机制。

注意

TPM 中的保护逻辑还应用于 TPM 所有者授权值。行业标准指定允许用户至少尝试一次使用所有者授权值重置 TPM 锁定,即使 TPM 已锁定也是如此。如果在尝试重置 TPM 锁定时使用了错误值,则随后尝试输入所有者授权值时,TPM 可能会将正确值作为错误值进行响应,或响应 TPM 已被锁定。

 

重置 TPM 锁定的步骤
  1. 打开“TPM 管理”(tpm.msc) 管理单元。

  2. “操作”窗格中,单击“重置 TPM 锁定”启动“重置 TPM 锁定”向导。

  3. 选择输入 TPM 所有者密码的方法:

    • 如果已将 TPM 所有者密码保存到 .tpm 文件中,请单击“我有所有者密码文件”,然后键入指向该文件的路径,或单击“浏览”导航至该文件所在的位置。

    • 如果要手动输入 TPM 所有者密码,请单击“我希望输入所有者密码”,然后在提供的空白处中键入该密码。如果同时启用了 BitLocker 和 TPM 并已选择在打开 BitLocker 时打印 BitLocker 恢复密码,则可能还在同一张纸上打印了 TPM 所有者密码。

验证 TPM 所有者密码后,将显示一个对话框,确认 TPM 锁定已重置。

常见问题解答 (FAQ)

应何时重置 TPM 锁定?

最可能的情况是,在启动过程中,用户将注意到使用密钥保护程序(包含 TPM 和 PIN)并输入错误的 PIN 时响应时间变慢。在通知用户输入的 PIN 不正确且 TPM 处于锁定状态之前,系统可能会有一段时间处于冻结状态。当 TPM 处于锁定状态时,也有可能出现以下情况:用户输入的 PIN 是正确的,但 TPM 将在一段时间内将输入的 PIN 作为错误的 PIN 进行响应。对于其他将 TPM 与授权值结合使用的应用程序而言,可能会发生类似行为,但很可能只有与 TPM 进行通信的应用程序无响应(如果操作系统已启动)。由于 TPM 可以无限期地存储所有发送到其中的不正确的授权尝试,因此如果用户经常错误地键入授权值(如 BitLocker PIN),则他们可能希望预先重置 TPM 锁定。

如果为保护授权值而激活了 TPM 保护逻辑,我要应执行什么行为?

根据平台制造商做出的实施选择,硬件平台的行为会有所不同。通常,期望硬件制造商以指数级延迟来自 TPM 芯片的响应。还可能出现以下情况:TPM 芯片可能有响应,但会在一段时间内将正确的授权值作为错误的进行响应。有关行为的更具体的信息,请联系平台制造商。

如果在使用 BitLocker 时 TPM 处于当前已锁定状态,则在启动过程中有机会打开 BitLocker 恢复控制台或等待重新输入 PIN。

Windows 启动后,TPM 管理会将 TPM 的状态显示为当前已锁定。

任何涉及授权值或尝试将 TPM 所有者密码发送到 TPM 的命令都会导致在 TPM 处于锁定状态时从 TPM 发出错误消息。

如果我没有记住我的 TPM 所有者密码,该怎么办?

当管理员最初取得计算机上的 TPM 的所有权时,可能已将 TPM 所有者授权哈希值保存到以 .tpm 扩展名结尾的文件中。搜索文件系统以找到以 .tpm 结尾的文件。如果已打印 BitLocker 恢复密码,则可能已同时打印了 TPM 所有者密码。如果找不到 TPM 所有者密码,则可以清除 TPM 并重新取得所有权。由于用 TPM 加密的数据将会丢失,因此在执行此操作时应谨慎行事。如果使用的是 BitLocker,请确保清除 TPM 前先挂起或关闭 BitLocker。有关清除 TPM 的详细信息,请参阅清除 TPM

保持我的 TPM 所有者授权哈希值处于机密状态很重要吗?

是的。如果某个恶意实体获得了 TPM 所有者授权哈希值,则该实体可能会多次尝试猜出加密密钥授权值(例如,BitLocker PIN),使用 TPM 所有者授权哈希值重置 TPM 锁定,并无限期地重复操作。如果大小不足,最终可能会发现授权值。

TPM 所有者密码与 TPM 所有者授权哈希值有何关系?

TPM 所有者密码使用 SHA-1 执行哈希操作,且采用 Base64 编码创建 TPM 所有者授权哈希值。