1、概要
在设备启动流程中,逐级进行软件签名校验形成安全启动链,任何一个环节的签名校验不通过即终止设备启动;安全启动链中最初执行签名校验的软硬件实体,需确保自身的合法、未被篡改。该实体即为设备的启动可信根。
启动可信根可为固化在ROM中的一段代码,这段代码在芯片制造环节固化到芯片中,芯片制造完成后软件不可更改,在设备上电初始化的过程中,最先执行这段ROM中的代码,并由这段ROM代码执行后续的软件签名校验。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0MxF8wWD-1667379817223)(PNG/13.png
)]
不同的硬件安全隔离方案不同,比如arm芯片采用TrustZone技术,
- 启动可信根为了确保自身的可信,一般是在设备生产时固化在ROM 中的一段代码,用于执行软硬件的签名校验
- 根密钥需要保证自身的合法性,一般采用eFuse/OTP等存储介质来存储根密钥。根密钥由华为TEE 签名服务器提供,私钥不会离开服务器,提供的是公钥。
- 硬件密钥引擎提供简单的安全运算。密码运算、密钥的安全存储,真随机数等,可提高芯片整体性能、降低功耗。
- 一般可信环境对外提供基本的服务包括,安全监控、密钥验证、数据保护、安全通信、密钥管理等。
- 通过硬件隔离一般将系统分为TEE 可信环境和REE 正常运行环境。在REE环境下可运行丰富的app,TEE 环境下只能使用安全服务,REE 环境需要通过iTrustee lite 接口来访问TEE服务