(1) 什么是TPM
TPM(Trusted Platform Module,受信任的平台模块)是加密协处理器,其中包含随机数生成、加密密钥的安全生成,以及它们的使用限制功能。它还包括诸如远程证明和密封存储等功能。TPM 规范由受信任的计算组 (TCG) 制定并公开发行。最新版本TPM 2.0(2014年10月发布)主要对规范进行了重新设计。该版本添加了新的功能并修复了TPM 1.2版本的缺陷。
(2) 为什么选择TPM
采用TPM的计算机可以创建加密密钥并对其加密。这样,加密密钥只能由TPM 进行解密。此过程(通常被称为封装或绑定密钥)可以帮助保护密钥,避免泄露。每个TPM 都有一个主封装密钥(称为“存储根密钥”),它存储在TPM 的内部。在TPM中创建的密钥的隐私部分从不暴露给其他组件、软件、进程或者人员。
采用TPM 的计算机还可以创建一个密钥(该密钥不仅可以被封装,还可以绑定到特定平台)。只有当平台度量的值与创建该密钥时的值相同时,才能解锁这种类型的密钥。此过程称为将密钥封装到TPM。解密过程被称为“解封”。TPM 还可以对在TPM 外部生成的数据进行封装和解封。使用这种封装的密钥和软件(例如BitLocker),可以锁定数据,直到其符合特定的硬件或软件条件为止。
借助 TPM,可保持密钥对的私钥部分独立于操作系统控制的内存。我们可以将密钥封装到 TPM 中,并且在解封并释放该密钥以供使用之前,根据系统的状态提供某些保证。因为 TPM 使用自身的内部固件和逻辑电路来处理指令,所以它不依赖于操作系统,也不会受操作系统或应用程序中可能存在的漏洞影响。
(3) TPM 标准
TPM 规范自推出以来,经过多次版本迭代,中间产生了ISO/IEC 11889—2009(TCG 1.2) 以 及ISO/IEC 11889—2015(TCG 2.0) 两个国际标准。该规范定义了TPM 的架构、结构、命 令与支持途径等内容。
在TPM 中,“可信”指的是确定身份的可预期行为。具体来说,TPM 提供的功能包括基于信任的引荐、认证、测试与鉴证、存储空间的加密与保护、完整性测量与报告等。
TPM 规范对加密算法、引擎、随机生成器、管理及授权、远程证明等内容进行了定义,并定义了软件接口 。TPM 典型架构如图5-17所示。
●非易失内存可由系统芯片提供,数据在受保护的情况下来往于非易失内存。此种情况下,TPM 中保护非易失内存数据副本
图 5- 17 TPM 典型架构
TPM1.2 版本主要解决以下问题。
设备识别 。
密钥安全生成 。
密钥安全存储 。
NVRAM 存储 。
设备健康证明 。
TPM 2.0 版本还拓展了以下功能。
算法灵活性。
增强授权。
密钥快速加载。
非脆弱性PCR。
灵活管理。
按名称识别资源。
来源:汽车电子与软件
作者:SASETECH社区