什么是TPM?为什么Windows需要一个TPM进行磁盘加密?
在Windows上,BitLocker磁盘加密通常需要TPM。 Microsoft的EFS加密永远不能使用TPM。 Windows 10和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的驱动器上运行,但是Microsoft竭力隐藏此选项,以强调TPM对安全性的重要性。
为什么TrueCrypt会拒绝TPM
有关的:加密需求已不再有效的TrueCrypt的3种替代方案
当然,TPM并不是磁盘加密的唯一可行选择。 TrueCrypt的常见问题解答(现已删除),用于强调为什么TrueCrypt不使用并且永远不会使用TPM。它抨击基于TPM的解决方案提供了错误的安全感。当然,TrueCrypt的网站现在声明TrueCrypt本身很容易受到攻击,因此建议您改用BitLocker(它使用TPM)。因此,在TrueCrypt领域有点混乱。
不过,该论点仍可在VeraCrypt的网站上找到。 VeraCrypt是TrueCrypt的活跃分支。 VeraCrypt的常见问题解答坚持要求BitLocker和其他依赖TPM的实用程序使用它来防止需要攻击者具有管理员访问权限或对计算机具有物理访问权限的攻击。 FAQ表示:“几乎可以保证TPM唯一提供的是错误的安全感。”它说TPM充其量是“多余的”。
这有一点道理。没有安全是绝对绝对的。 TPM可以说是更多的便利功能。将加密密钥存储在硬件中可使计算机自动解密驱动器,或使用简单密码对其进行解密。与简单地将密钥存储在磁盘上相比,它更安全,因为攻击者无法简单地取出磁盘并将其插入另一台计算机。它与特定的硬件相关。
最终,TPM无需您考虑太多。您的计算机具有TPM或没有TPM,现代计算机通常具有TPM。诸如Microsoft的BitLocker和“设备加密”之类的加密工具会自动使用TPM透明地加密文件。这比完全不使用任何加密要好,并且比像Microsoft的EFS(加密文件系统)那样简单地将加密密钥存储在磁盘上要好。
对于TPM与非基于TPM的解决方案,或者BitLocker与TrueCrypt和类似解决方案的问题–嗯,这是一个复杂的话题,我们没有资格在这里解决。
图片来源:Flickr上的Paolo Attivissimo