TPM:可信平台模块(全称:Trusted Platform Module,缩写:TPM),是一项安全密码处理器的国际标准,旨在使用设备中集成的专用微控制器(安全硬件)处理设备中的加密密钥。它提供一个安全生成密钥的设施,对其使用的限制,以及一个随机数生成器。它还包括如远程认证和密封存储等能力。

TPM 是什么

  很多人可能会好奇,Intel为何要在Windows 11上强制要求TPM芯片。其实,这不是微软第一次要求使用更严格的安全措施。早在2004年,微软就推出了一个临时代号为“基石(Cornerstone)”的安全项目(注:后发展为“下一代安全计算基础”,缩写为NGSCB)。

  其中的成果之一BitLocker——这个最早集成于Windows Vista开始的安全加密措施,就是基于TPM的。BitLocker最重要的作用是可以在解密受保护的卷之前验证引导和系统文件的完整性,如果验证失败,会禁止用户访问受保护的系统。但是,这个功能一直以来都不带有强制性,只是作为一种可以选择的方式存在于从Windows Vista、Windows 8、Windows 10系统上。

  那么,为什么微软在这次Windows 11上如此执拗的要求TPM芯片的必要性呢?笔者认为,一方面信息安全的重要性日益提升,对于微软来说,如何为用户提供更为完善的安全加密措施是必须考虑的事情;另一方面,就必须考虑到业界整体的技术发展动态。这就不得不提微软的竞争对手、也是世界另一个主要操作系统的拥有者——苹果公司了。

  苹果在前几年开始广泛使用T2芯片作为自己电脑产品的标配。它的全称为T2安全芯片,主要功能就是为Mac系列的数据安全保驾护航。与此同时,他也有着一个充当类似于M系列处理器的一个协处理器作用。它的主要作用就是保护数据安全,简单来说,就是将电脑上的所有硬件上了一把锁,所有硬件都是钥匙的一部分,一旦发现钥匙少了一块,就无法打开。T2芯片可以实现加密功能,用户可以通过设置,使用三种安全启动项和选项,以确保设备不会被篡改。这样一来,设备就能够更大程度实现安全性,给专业工作带来安全保障。

  尽管T2芯片还综合了其他方面的功能,但是单就安全方面的“能力”而言,基本就相当于TPM芯片的作用。作为竞争对手的MAC电脑因为自由硬件、封闭资源,且系统自持不对外,所以只要根据自己要求定制芯片即可。Windows则完全不同,它需要兼容广泛的硬件设备。

  不管怎么样,单纯从信息安全的角度,TPM芯片的作用可以说非常重要了。只不过,想要拥有这份“安全”,付出的代价着实不小。

TPM 可以做什么?

  TPM芯片究竟是如何帮助系统厂商来实现“信息安全”的?这要从它的“身世”说起。TPM,全称为Trusted PlatformModule,即可信平台模块,它是一项安全密码处理器的国际标准,旨在使用设备中集成的专用微控制器(安全硬件)处理设备中的加密密钥。早在1999年10月,多家企业联合发起成立可信赖运算平台联盟(TrustedComputing Platform Alliance,TCPA),初期加入者有康柏、HP、IBM、英特尔、微软等,该联盟致力于促成新一代具有安全且可信赖的硬件运算平台。

  而且,TPM包括两种形态的存在,第一种是dTPM,另一种是PTT/fTPM(分别由Intel和AMD提出)。前者是单纯的硬件设备,可以存在于电脑主板上,也可以通过插针扩展设备的形式存在,但终归是硬件产品;后者,则可以通过CPU模拟的方式实现,存在于电脑的UEFI中。

  TPM的主要作用是利用安全的经过验证的加密密钥带来强大的设备安全性。TPM功能的核心是签注密钥,这是在生产过程中内置到TPM硬件的加密密钥。这个签注密钥的私钥部分绝不会出现在TPM外部或暴露给其他组件、软件、程序或个人。另一个关键密钥是存储根密钥,该密钥也存储在TPM内;它被用来保护其他应用程序创建的TPM密钥,使这些密钥只能由TPM通过被称为绑定的过程来解密,TPM也是通过该过程锁定数据到设备。与签注密钥不同,只有当TPM设备第一次被初始化或新用户获得所有权时,存储根密钥才会被创建。

  TPM还可以通过平台配置寄存器(PCR)机制来记录系统的状态。这允许TPM进行预启动系统完整性检查,也被称为远程证明,这是一个功能强大的数据保护功能。通过将数据加密密钥存储在TPM中,数据可以有效地受到保护,其中TPM有一系列参考值来检查PCR们的状态。只有系统状态与存储的PCR值匹配,这些密钥才会启封和使用,并且,只有在满足特定硬件和软件条件时,才能够访问系统。

TPM 怎么使用?

  在Windows平台,能够和TPM搭配工作的就是BitLocker了,那么,这个BitLocker又是如何工作的呢?在一台使用了BitLocker加密的电脑上,它的工作流程是这样的:

TPM 工作流程

  1.首先UEFI启动并初始化TPM,将并固件部分敏感内容和启动分区还有bootloader放入PCR组;
  2.如果此时PCR的值与预存储值相匹配无误,TPM将使用存储根密钥 (SRK) 对卷主密钥 (VMK) 进行解密;
  3.此时,从卷中读取加密的FVEK,并使用解密VMK对其进行解密;
  4.当访问(开启了BitLocker的)硬盘扇区时,使用FVEK进行解密;

  其中SRK存储在TPM芯片中,它是整个过程的信任基础。BitLocker则通过检测PCR组,对主启动记录 (GPT) 代码、NTFS启动扇区、NTFS启动块、启动管理器和其他重要组件进行检查,如果被更改,第二步就会出错,并提示输入RecoveryPIN值来校验。

  最厉害的是,开启了BitLocker的磁盘内容,即便把硬盘摘下放入其他电脑,数据也不可以被读取,因为你没有对应的解密手段,因为这把解密的“钥匙”掌握在自己电脑的TPM中。当然了, Bitlocker和TPM这种组合方式使用之后,一旦密钥丢失或者TPM损坏(可能性极低),则需要Recovery PIN;再进一步如果RecoveryPIN丢失,个人用户数据将会丢失(就算把TPM拆下来也没有用,一如把硬盘安装到别的电脑一样)。

  另外要明确一点,TPM可以让BitLocker的加密措施安全性最大化(AES 256位加密),但是它们可不是划等号的。因为Bitlocker不一定需要TPM,UEFI的安全启动也不一定需要TPM。

  具体从操作环节上,我们以Windows 10为例来说明。首先我们需要进入电脑的UEFI,开机时按下Del键(或F1、F2,具体查阅自己主板说明书),然后找到安全项,这时需要注意,如果是dTPM,UEFI的设置信息应该是“TPM”,或者是中文“可信平台模块”;如果主板提供的是PTT/fTPM,则显示为Intel Plat form TrustTechnology/AMD Firmware TPM。无论是哪一种,我们要将其设置为“启用”,英文设置为“Enable”。设置完毕,我们按下F10按键根据提示保存推出,并重启电脑进入操作系统。

  特别注意,无论是使用dTPM还是PTT/fTPM的主板电脑,前置条件分别为系统启动要使用UEFI模式、硬盘为GPT而非MBR两个条件。此外,使用PTT的主板务必开启英特尔管理引擎,即IntelManagement Engine,否则将无法开启Intel Platform Trust Technology(尤其是魔改主板默认关闭就无法使用了)。

TPM Bitlocker

  进入Windows 10后点击开始菜单,然后输入BitLocker并双击打开。

  接着点击对应的硬盘启用BitLocker,选择保存恢复密钥,这个是用来恢复解除加密的,分为三个存储方式,第一种为云端收录到自己的微软账号;第二种为保存到数据文件;第三种则是打印成物理纸张,根据自己使用习惯选择,但是务必要保存好密钥。

  选择要加密的模式,这里分为两种,第一种是部分加密,第二种是整盘加密,笔者推荐选择后者,这样安全性有充分保障。

  继续设置,加密模式中本地硬盘推荐选择“新加密模式”,移动硬盘或者闪存盘,则选择“兼容模式”。

  下一步,勾选“运行BitLocker系统检查”继续,系统会重启,重启电脑之后BitLocker就已经开始为你的硬盘加密了。

  加密成功的硬盘驱动器会在BitLocker页面显示,如果访问这些驱动器,系统将提示需要验证,根据提示操作即可。

没有TPM芯片怎么办?

  回到本文开端,升级到Windows 11的这个“必需品”TPM,如果没有我们又将如何呢?首先,世事无绝对,微软在其官方PDF第16页的“Windows 11最低硬件要求”中写道:经过微软批准、用于特殊领域的OEM系统不需要在出货时启用TPM支持。也就是说,微软将允许那些“特殊用途的商业系统、自定义订单和具有自定义系统的OEM客户系统”设备可以不支持TPM模块,但仅限于经过官方认证的机型(或者主板)。也就是说,我们有可能使用到无需强制要求使用TPM支持的Windows 11系统。

  另外,TPM终归是个“外来的和尚”,我国1999年发布的《商用密码管理条例》明確规定“商用密码技术属于国家秘密。国家对商用密码产品的科研、生产、销售和使用实行专控管理。”并且在2005年推出了TCM,即Trusted cryptography module可信密码模块,用以应对安全的需求。所以,正规渠道购买的带有“受信任的平台模块 2.0”的电脑产品,必须符合国家相关条例要求方可,而不是单纯的技术为先导,毕竟数据信息安全已经成为非常重要的一件事了。