tpm是什么,tpm 是什么

题图来自Unsplash,基于CC0协议
导读
TPM 是 Trusted Platform Module 的缩写,即可信赖平台模块,它是一种硬件级别的加密模块,被设计用于提供设备安全性的基础晶片,主要负责保护设备的加密密钥、进行加密计算、并管理其他安全功能。
TPM 本身是一个内置在计算机主板上的专用安全处理器。它的核心理念是建立一个“受信任计算基”(Trusted Computing Base),即一个能够在硬件层面保证某些操作安全性(比如保护存储的密钥不被访问)的固定基本组件。有了TPM,就可以在其上执行一些要求高强度安全性的任务,例如生成和存储强加密密钥、执行加密算法的部分计算、管理设备的平台完整性等。
TPM 2.0 功能
TPM 设计近年来发展了多个版本,其中 TPM 2.0 是最新的成熟版本,它带来了扩展的功能和改进。TPM 2.0 提供了远超早期版本(如 TPM 1.2)的能力,主要功能包括:
- 密钥管理: 这是TPM最核心的功能之一,TPM可以生成、存储(安全地隐藏在硬件中不易被读取)、导入、导出、加密、解密密钥,以及管理密钥的权限。
- 数据加密/解密: 利用TPM内部的加密引擎,实现对硬盘、内存或其他数据的加密保护。启动时,只有验证TPM状态(如密钥未被篡改)后才能解密操作系统。
- 数字签名: TPM拥有与设备关联的唯一密钥对(包括私钥和公钥),该私钥可以用于创建数字签名,用于验证设备软件的来源和完整性。
- 安全的储存区域: 提供了几个专门为安全用途而设的储存空间,用来存放密封数据、加密数据和敏感信息,只有授权资源才可以进行访问。
- 平台完整性度量(在早期BOIS之外): TPM可以参与系统的启动过程,校验各个阶段加载的代码是否被篡改,确保系统从启动到进入操作系统是“干净的”,这点尤其重要,可用来防止恶意软件在固件或引导阶段植入。
- 虽然有些混淆,但它不是“Secure Enclave”的替代或一一对应,Secure Enclave是在苹果芯片上的一种相似安全模块,TPM 2.0 主要专注于提供更广泛标准的低级硬件安全服务。
TPM 如何工作
TPM 是如何与操作系统和其他安全功能配合工作的呢?
- 协作认证: 当需要验证用户身份进行登录,或是系统需要验证其自身完整性时,TPM 可能参与工作。例如,对于强身份认证,加密后的用户密码可能只存储在一个TPM的受保护储存区,而解密和验证过程也可能在TPM内部或受其控制的软件模块中进行,这样可以避免密码被软行窃取。
- 加密握手: 使用TPM进行安全认证(如FIDO2/U2F,现在演变成WebAuthn)时,TPM通常提供半截加密数据,与服务器完成信息交换,再由本地软件结合TPM指令完成验证。
- 完整性保护: 在系统启动过程中,系统会持续与TPM握手,让TPM检查直到操作系统的加载。如果任何早期代码(BIOS/UEFI、引导加载程序)出现未经允许的修改,TPM可以拒绝继续启动过程,或者将此信息上报给操作系统的管理软件或用户,这样就阻止了被篡改成后门版本或被植入恶意代码的固件/引导加载程序启动进入操作系统的可能性。
- 数据保护时,加密键通常在一触的物理模块(TPM)中,操作系统需要时会(有时类似模拟)“伸头咬条线”让TPM检查其封口确保可用,然后在真正需要用到数据或写数据的时候才允许解密。
总的来说,TPM 是一个非常重要的底层安全引擎,主要功能是提供安全、隔离的环境,用于管理和执行涉及设备核心安全属性的操作,是构建操作系统、企业安全策略和强身份认证(如Win Hello)等许多安全功能的基础,帮助提高整个系统环境的总体安全防护能力。虽然它本身不直接保证网络安全(如防止钓鱼攻击),但其能力增强了设备本身在启动、登录和持久数据保护方面的安全性,相当于计算机的“安全保险箱”或者一个高度受控的“小房间”存储最放心里的钥匙(密钥)。
© 版权声明
本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com