当前位置: 首页 > news >正文

TEE-OS学习轨迹第九篇:探讨安全启动BL1 BL2 BL3X启动链验可信启动密钥体系与证书层级

TF-A TBBR 可信启动密钥体系与证书层级详解

结合提供的启动日志、镜像ID定义与ARM TBBR官方规范,整个信任链采用「根密钥分层派生 + 证书签名传递信任 + 哈希校验镜像完整性」的三级证书架构,所有证书均为标准X.509 v3格式,公钥与镜像哈希存放在证书自定义扩展字段中。

一、核心设计原则

1. 两类证书分工

TF-A 将证书明确分为两类,职责严格分离:

证书类型

核心作用

存放内容

密钥证书(Key Cert)

传递签名权限

下一级证书的验证公钥

内容证书(Content Cert)

校验固件完整性

对应固件镜像的哈希值

2. 验签的两步标准流程

固件镜像本身不会被直接数字签名,每一级验证都遵循固定逻辑:
  1. 证书签名验证:用上一级传递来的公钥,验证当前证书的数字签名合法性,确认证书未被篡改;
  2. 信息提取:验签通过后,从证书扩展字段中提取下一级公钥(密钥证书)或镜像哈希(内容证书);
  3. 镜像哈希对比:对内容证书来说,最终用提取的哈希与实际固件计算的哈希做比对,完成完整性校验。
对应你日志中的现象:Signature verification: PASS 对应证书签名验证;Hash match 对应镜像哈希对比。

二、完整密钥体系与签发层级(私钥视角,从根到叶子)

整个体系只有一个信任根,密钥逐级向下派生,根私钥全程离线保存,不直接接触业务证书。

第0层:信任根 —— ROT 根密钥

  • 私钥:Root of Trust Private Key(根私钥)
    • 持有者:设备厂商/固件发布方,全程离线安全存储,仅用于签发最顶层的两张根证书
    • 签名对象:

可信启动固件证书(ID=6,Trusted Boot FW Cert)

可信密钥证书(ID=7,Trusted Key Cert)

  • 公钥:ROTPK(Root of Trust Public Key,根公钥)
    • 存储位置:开发环境下直接编译进BL1固件;量产环境下哈希值烧录在芯片OTP/eFuse一次性可编程寄存器中,不可篡改
    • 作用:整个信任链的唯一信任锚,BL1阶段用它验证最顶层的两张根证书

第1层:世界级密钥(从根密钥派生)

可信密钥证书(ID=7)中会存放两对世界级公钥,对应安全世界与非安全世界两条独立分支:
1.1 可信世界密钥(Trusted World Key)
  • 私钥:由固件发布方持有,用于签发所有安全世界子系统的密钥证书
  • 签名对象
    • SoC固件密钥证书(ID=9,对应BL31)
    • 可信OS固件密钥证书(ID=10,对应BL32)
  • 公钥存放位置:可信密钥证书(ID=7)的扩展字段中
1.2 非可信世界密钥(Non-Trusted World Key)
  • 私钥:由固件发布方持有,用于签发非安全世界子系统的密钥证书
  • 签名对象:非可信固件密钥证书(ID=11,对应BL33)
  • 公钥存放位置:可信密钥证书(ID=7)的扩展字段中

第2层:子系统内容签名密钥

每个子系统的密钥证书中,会存放对应内容证书的签名公钥:
  • SoC内容签名私钥 → 签发SoC固件内容证书(ID=13),公钥存放在ID=9证书中
  • TOS内容签名私钥 → 签发可信OS内容证书(ID=14),公钥存放在ID=10证书中
  • NT内容签名私钥 → 签发非可信内容证书(ID=15),公钥存放在ID=11证书中

第3层:固件镜像

所有固件镜像(BL2/BL31/BL32/BL33)都不直接签名,仅将其哈希值存入对应内容证书,通过证书的签名间接保证可信。

三、证书验签链与对应关系(启动视角,逐级验证)

对应启动日志的加载顺序,验签从BL1开始,公钥逐级向下传递,完整对应关系如下表:

证书层级

镜像ID

证书全称

签发所用私钥

验签所用公钥来源

证书核心承载内容

执行验签的阶段

根证书层

6

可信启动固件证书
Trusted Boot FW Certificate

ROT根私钥

BL1固件中固化的ROTPK根公钥

BL2固件镜像的SHA256哈希

BL1阶段

根证书层

7

可信密钥证书
Trusted Key Certificate

ROT根私钥

BL2继承的ROTPK根公钥

可信世界公钥、非可信世界公钥

BL2阶段

子系统密钥层

9

SoC固件密钥证书
SoC FW Key Certificate

可信世界私钥

可信密钥证书(ID7)中的可信世界公钥

BL31内容证书的签名公钥

BL2阶段

子系统密钥层

10

可信OS固件密钥证书
Trusted OS FW Key Certificate

可信世界私钥

可信密钥证书(ID7)中的可信世界公钥

BL32内容证书的签名公钥

BL2阶段

子系统密钥层

11

非可信固件密钥证书
Non-Trusted FW Key Certificate

非可信世界私钥

可信密钥证书(ID7)中的非可信世界公钥

BL33内容证书的签名公钥

BL2阶段

子系统内容层

13

SoC固件内容证书
SoC FW Content Certificate

SoC内容签名私钥

SoC密钥证书(ID9)中的公钥

BL31固件镜像的SHA256哈希

BL2阶段

子系统内容层

14

可信OS内容证书
Trusted OS FW Content Certificate

TOS内容签名私钥

TOS密钥证书(ID10)中的公钥

BL32固件镜像的SHA256哈希

BL2阶段

子系统内容层

15

非可信内容证书
Non-Trusted FW Content Certificate

NT内容签名私钥

NT密钥证书(ID11)中的公钥

BL33固件镜像的SHA256哈希

BL2阶段

四、各固件的完整验签链路

1. BL2 固件(ID=1)

  • 信任链长度:1级证书直达
  • 验签流程
  1. BL1 加载可信启动固件证书(ID=6)
  2. BL1 用固化的ROTPK根公钥,验证ID6证书的数字签名
  3. 验签通过后,从ID6证书中提取BL2的期望哈希
  4. BL1 计算实际加载的BL2镜像哈希,与期望哈希对比,匹配则校验通过
  • 验签执行方:BL1

2. BL31 固件(ID=3)

  • 信任链长度:3级证书
  • 验签流程
  1. BL2 加载可信密钥证书(ID=7),用ROTPK验签,提取可信世界公钥
  2. BL2 加载SoC固件密钥证书(ID=9),用可信世界公钥验签,提取BL31内容公钥
  3. BL2 加载SoC固件内容证书(ID=13),用BL31内容公钥验签,提取BL31期望哈希
  4. BL2 计算实际BL31镜像哈希,对比匹配则校验通过
  • 验签执行方:BL2

3. BL32 固件(ID=4,OP-TEE)

  • 信任链长度:3级证书
  • 验签流程
  1. BL2 加载可信密钥证书(ID=7),用ROTPK验签,提取可信世界公钥
  2. BL2 加载可信OS固件密钥证书(ID=10),用可信世界公钥验签,提取BL32内容公钥
  3. BL2 加载可信OS内容证书(ID=14),用BL32内容公钥验签,提取BL32期望哈希
  4. BL2 计算实际BL32镜像哈希,对比匹配则校验通过
  • 验签执行方:BL2

4. BL33 固件(ID=5,U-Boot)

  • 信任链长度:3级证书
  • 验签流程
  1. BL2 加载可信密钥证书(ID=7),用ROTPK验签,提取非可信世界公钥
  2. BL2 加载非可信固件密钥证书(ID=11),用非可信世界公钥验签,提取BL33内容公钥
  3. BL2 加载非可信内容证书(ID=15),用BL33内容公钥验签,提取BL33期望哈希
  4. BL2 计算实际BL33镜像哈希,对比匹配则校验通过
  • 验签执行方:BL2

五、架构设计的安全考量

  1. 根密钥最小化使用:根私钥仅签发两张顶层证书,全程离线保存,最大程度降低泄露风险;即使子密钥泄露,也无需更换根密钥,只需吊销对应子证书即可。
  2. 安全域隔离:安全世界与非安全世界使用独立的密钥分支,避免非安全域密钥泄露影响安全域固件的可信性。
  3. 权限最小化:内容证书仅能校验单一份固件的哈希,无法派生其他信任,单证书被攻破不会影响整个信任链。
  4. 标准兼容:所有证书遵循X.509 v3标准,可直接用OpenSSL等通用工具签发与解析,兼容现有PKI体系。
http://www.gsyq.cn/news/1561832.html

相关文章:

  • 视觉SLAM闭环检测的GPU加速优化实践
  • 深度剖析熟人邀约型钓鱼攻击:从心理诱导到五层防御体系
  • 从脚本小子到安全专家:渗透测试核心能力与实战路径全解析
  • 三创赛AI集群协作:300页项目书的小时级拆解与协同落地
  • 2026年6月优秀的工业拉伸膜/pvc拉伸膜厂家推荐,一站式配套膜材,覆盖物流、化工、建材行业 - 品牌鉴赏师
  • 星火认知大模型如何实现AI辅学的范式跃迁
  • CodeWarrior嵌入式开发套件:架构解析与实战应用指南
  • 2026青岛配镜全流程避坑指南与主流连锁门店实力解析 - 起跑123
  • 2026沈阳人卖金指南:对比六家回收行,隐藏收费项公开,仅五家全透明 - 商业快讯早知道
  • 2026 年益阳市厨卫屋顶地下室防水修缮三家横向测评:吉修匠 99.8 分五星榜首 - 吉修匠
  • DeepSeek-V4企业级实测:多源异构知识处理与Agent原生架构解析
  • 2026年6月最新宝珀中国官方售后服务热线客服电话地址网点 - 亨得利官方服务中心
  • 收藏级翡翠回收优选,天津连锁机构当面检测当场结款 - 讯息早知道
  • MPC8535E接口电气特性深度解析:JTAG、SATA与I2C硬件设计实战
  • MiniMax M2.7深度解析:面向工程落地的代码大模型演进
  • 2026年6月最新宝珀中国官方售后服务热线地址电话客服网点 - 亨得利官方服务中心
  • 如何用AI技术修复破损文档?5个步骤实现智能OCR恢复
  • 2026年6月最新宝玑中国官方售后电话热线客服地址服务网点 - 亨得利官方服务中心
  • AI建站工具怎么选?5类建站方案横向对比与选型指南
  • 安徽各地 200-300 分初三生升学通道,合肥公办 3+2 五年制大专,2026 完整版招生简章,咨询热线汇总 - 我叫小周
  • 2026 年长沙厨卫阳台屋顶卫生间漏水维修测评 吉修匠 99.8 分 - 吉修匠
  • 从旧厂街鱼贩到京海教父的底层逆袭与系统反噬
  • 2026北京留学中介真实案例解析 - 资讯速览
  • Swift项目编码规范
  • 跨越语言的投资桥梁:基金翻译的专业世界
  • 对于目前AI的一些理解
  • Fast-HaMeR:轻量级3D手部网格重建技术解析
  • 《双花防护下的高并发记账:协程事务 + io_uring 持久化日志的一致性保证》
  • B站缓存视频转换:3分钟掌握m4s转MP4的完整指南
  • 天津钻石首饰变现指南,有无证书均可公正估价回收 - 讯息早知道