TPM 原理

TPM 原理

TPM 构成

逻辑功能

  1. 密码学系统。实现数据加密、数字签名、密码杂凑和随机数生成的各类密码算法的计算引擎,不对外提供接口的内部功能模块。
  2. 平台数据保护。对外提供秘钥管理和各类数据机密性、完整性保护功能,是直接体现密码学系统的功能类别。依赖该功能的秘钥管理和密码学计算器
  3. 身份标识功能。对外提供身份标识秘钥的申请与管理,远程证明的基础
  4. 完整性存储和报告。对外提供完整性值存储和签署功能,直接体现“可信性”。依赖该功能可以构建平台内部的信任链,还可以向外部实体进行远程证明

硬件构成

  1. 密码引擎
  2. 电源
  3. 时钟
  4. 存储器

秘钥类型

  1. 身份秘钥:根秘钥,标识 TPM 和计算平台的身份,用于引证完整性报告
  2. 绑定秘钥:用于数据的加密和解密
  3. 签名秘钥:用于对用户选定的数据进行签名,也可用于引证平台完整性

TPM 完整性存储与报告

完整性度量

BIOS->BOOTLOADER->OS Kernel 逐级度量。度量代码的密码杂凑值(表征完整性),将度量结果放在:平台配置寄存器(PCR)中

PCR 值以扩展的方式更改:**新PCR = Hash(原PCR值 || 扩展值)**,具有顺序性和单向性。

远程证明

证明方:将所有被度量的软硬件信息发送给挑战方,包括完整性hash值。
挑战方:根据证明方提供的软硬件信息列表,自行获取软硬件的标准完整性值,并计算PCR的扩展结果。最后验证是否一致。

动态可信度量根

DRTM 可以在平台启动后任意时刻触发,能够基于硬件和程序代码简历一个隔离的安全可执行环境。
基于CPU指令,将用户代码加载到SLB(secure loader block)内存区间,能够提供硬件级的DMA保护。

动态可信链:根据安全指令


TPM 原理
http://blog.mornw.com/2022/03/01/学习/tpm/
作者
朝霞换夕阳
发布于
2022年3月1日
许可协议