鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

可信启动

可信启动也称为measure boot,首先建立一个硬件可信根CRTM,在启动过程中,从CRTM开始,逐级度量(计算Hash值)后一级固件,然后把度量值安全的保存下来,比如扩展到TPM的PCR寄存器中安全的保存。

CRTM(Core Root of Trust for Measurement)是可信计算架构中的核心度量根,用于系统启动时的初始完整性度量,负责构建可信链的起点,并通过TPM芯片中的可信存储根(RTS)和可信报告根(RTR)实现信任传递与数据安全。

TPM芯片中有多个PCR寄存器,用来保存对应度量对象的摘要值,TPM对外提供扩展PCR接口外部不能直接更新PCR,TPM外部调用扩展接口,TPM将度量对象的摘要和当前PCR值拼接后再计算摘要,将最后的摘要写入PCR,这些过程都在TPM芯片内部进行,外部不能修改PCR寄存器的值。本地证明和远程证明是TPM用于证明平台完整性的有效方法。

图1 可信启动原理示意图

鲲鹏服务器支持如下可信启动能力

  1. 芯片具备被硬件保护的信任根,系统上电后,信任根校验BIOS数字签名,度量并扩展哈希值。
  2. 主板BIOS对bootloader进行度量并扩展bootloader的哈希值。
  3. 度量状态值扩展与存储使用物理硬件TPM芯片的方式实现。
  4. 度量状态值离开硬件或硬件TEE环境时,保护状态值的数字签名产生过程在硬件或硬件TEE环境内实现。
  5. 每一级度量完下一级启动代码后立即转入下一级代码执行,度量和执行间的时间窗小。