网站搜索

什么是 TPM,为什么 Windows 需要 TPM 来进行磁盘加密?


BitLocker 磁盘加密通常需要 Windows 上的 TPM。 Microsoft 的 EFS 加密永远不能使用 TPM。 Windows 10 和 8.1 上的新“设备加密”功能也需要现代 TPM,这就是它仅在新硬件上启用的原因。但什么是 TPM?

TPM 代表“可信平台模块”。它是计算机主板上的一个芯片,可帮助实现防篡改全盘加密,而无需极长的密码。

究竟是什么?

TPM 是一块芯片,它是计算机主板的一部分——如果您购买现成的 PC,它会焊接到主板上。如果您组装了自己的计算机,并且您的主板支持,您可以购买一个作为附加模块。 TPM 生成加密密钥,将密钥的一部分保留给自己。因此,如果您在带有 TPM 的计算机上使用 BitLocker 加密或设备加密,则部分密钥存储在 TPM 本身中,而不仅仅是存储在磁盘上。这意味着攻击者不能只是从计算机中删除驱动器并试图在其他地方访问其文件。

该芯片提供基于硬件的身份验证和篡改检测,因此攻击者无法尝试移除芯片并将其放置在另一块主板上,或篡改主板本身以试图绕过加密——至少在理论上是这样。

加密,加密,加密

对于大多数人来说,这里最相关的用例是加密。现代版本的 Windows 透明地使用 TPM。只需在启用了“设备加密”的现代 PC 上使用 Microsoft 帐户登录,它就会使用加密。启用 BitLocker 磁盘加密,Windows 将使用 TPM 来存储加密密钥。

您通常只需输入 Windows 登录密码即可访问加密驱动器,但它受到比这更长的加密密钥的保护。该加密密钥部分存储在 TPM 中,因此您实际上需要您的 Windows 登录密码和驱动器所在的同一台计算机才能访问。这就是 BitLocker 的“恢复密钥”要长得多的原因——如果您将驱动器移动到另一台计算机,则需要更长的恢复密钥来访问您的数据。

这是较旧的 Windows EFS 加密技术效果不佳的原因之一。它无法在 TPM 中存储加密密钥。这意味着它必须将其加密密钥存储在硬盘上,从而大大降低了它的安全性。 BitLocker 可以在没有 TPM 的驱动器上运行,但微软特意隐藏了这个选项,以强调 TPM 对安全的重要性。

为什么 TrueCrypt 避开 TPM

当然,TPM 并不是磁盘加密的唯一可行选择。 TrueCrypt 的 FAQ——现在已被删除——用来强调为什么 TrueCrypt 不使用也永远不会使用 TPM。它抨击基于 TPM 的解决方案提供了一种错误的安全感。当然,TrueCrypt 的网站现在声明 TrueCrypt 本身容易受到攻击,并建议您改用使用 TPM 的 BitLocker。所以在 TrueCrypt 领域有点混乱。

然而,这个论点在 VeraCrypt 的网站上仍然可用。 VeraCrypt 是 TrueCrypt 的活跃分支。 VeraCrypt 的常见问题解答坚持认为 BitLocker 和其他依赖 TPM 的实用程序使用它来防止需要攻击者具有管理员访问权限或物理访问计算机的攻击。 “TPM 几乎可以保证提供的唯一一件事就是一种错误的安全感,”FAQ 说。它说 TPM 充其量是“多余的”。

这有一点道理。没有安全是绝对绝对的。 TPM 可以说更像是一种便利功能。将加密密钥存储在硬件中允许计算机自动解密驱动器,或使用简单的密码对其进行解密。它比简单地将密钥存储在磁盘上更安全,因为攻击者不能简单地取出磁盘并将其插入另一台计算机。它与特定硬件相关联。

最终,TPM 不是您需要考虑太多的东西。您的计算机要么有 TPM,要么没有——现代计算机通常会有。 Microsoft 的 BitLocker 和“设备加密”等加密工具自动使用 TPM 透明地加密您的文件。这比根本不使用任何加密要好,也比简单地将加密密钥存储在磁盘上要好,就像微软的 EFS(加密文件系统)所做的那样。

至于 TPM 与非基于 TPM 的解决方案,或 BitLocker 与 TrueCrypt 和类似解决方案——好吧,这是一个复杂的话题,我们真的没有资格在这里讨论。

图片来源:Flickr 上的 Paolo Attivissimo