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

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

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

具体是什么?

相关:如何在Windows上设置BitLocker加密

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

相关:现已停产的TrueCrypt的3个替代方案,可满足您的加密需求

当然,TPM并不是磁盘加密的唯一可行选项。TrueCrypt的常见问题解答(现已删除)曾强调为什么TrueCrypt没有使用TPM,也永远不会使用TPM。它猛烈抨击基于TPM的解决方案提供了错误的安全感。当然,TrueCrypt的网站现在声明TrueCrypt本身是易受攻击的,并建议您使用使用TPM的BitLocker。所以,在TrueCrypt的土地上,这是一个有点令人困惑的烂摊子。

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

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

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

至于TPM与非基于TPM的解决方案,或者BitLocker与TrueCrypt以及类似的解决方案--嗯,这是一个我们没有资格在这里讨论的复杂主题。

图片来源:Flickr上的保罗·阿提维西莫(Paolo Attivissimo)

相关文章