一、概述
1. 目的
(1)所有权
只能运行OEM或其授权的固件
(2)完整性
静态完整性:完整性检测
动态完整性:封闭的软硬件环境
(3)保密性
非授权内容不可窥视
(4)可靠性
数据来源可验证
数据来源可以追溯
(5)不可回退性
单向版本升级
2. 基础部件
(1)Hash算法
计算信息的特征值,具有不可逆和表征性
(2)加密算法
对称加密:加解密同一个秘钥
非对称加密:加解密秘钥不同
(3)数字证书
身份验证和内容保护
(4)OTP
单次编程的器件
(5)TrustZone
运行时隔离出来的两个world
3. 基础原理
(1)所有权
OTP中写入OEM的公钥Hash,这样就能保证只有OEM的私钥签名过的固件才合法
(2)静态完整性
验证证书的合法性
验证固件的合法性
(3)动态完整性
TrustZone隔离开的两个world
(4)不可回退性
基于OTP的固件版本
4. 硬件
5. 软件
6. 参与者
(1)Trust OS提供商
Trust OS提供者
可签署内容保护证书,确保Trust OS不被篡改
(2)SiP提供商
Trust Zone套件
Root of Trust
(3)OEM
整合Rich OS和Secure OS
(4)其它方
TA提供商
二、Secure Boot
1. 基础
(1)必备性
信任链的源头
(2)功能
验证真实性
验证完整性
保证固件不可回退
(3)分为两个阶段
SBromHW
SBromSW
2. 流程
3. SBromHW
(1)从外部介质读取TOC0
(2)TOC0中证书和SBromHW的真实性和完整性检测
(3)触发SBromSW的执行
(4)上述步骤任何一步失败,则从Secure态切换到Non-Secure态,并进入Non-Secure态下的Fel模式
4. SBromSW
(1)关键Key的烧录
ROTPK
HUK
eK
(2)TOC1的真实性和完整性检测
Debug模式
Key
SCP
Secure OS
Non-Secure Bootloader
三、Secure OS
1. 目的
(1)必备性
非必备
(2)功能
隔离开的TEE环境
提供安全服务
真实性和可靠性检测
(3)已有的实现
<t-base-300: Trustonic
2. 标准化
(1)GlobalPlatform定义了几组API
TEE Client API
TEE Internal API
(2)第三方TA可以运行在不同的Secure OS上
3. SEMILES
(1)SEMEILES是什么
一个Secure OS的具体实现
兼容GlobalPlatform标准化API
(2)SEMEILES提供的服务
安全的隔离的可信的执行环境
数字版权管理
安全支付环境
(3)SEMEILES架构
四、量产
1. KEY生成
支持多机同时生成
2. KEY管理
统一生成、保存
统一分发
交换加密
内生码收集
支持在线、离线模式
3. KEY烧录
SBromSW阶段实现
4. 证书生成工具
5. 签名工具
6. 打包TOC工具
7. 烧写KEY过程
在受控的环境下烧录
8. 烧写FW过程