海思Hi3519AV100╱Hi3556AV100 V100 安全启动 secure boot

本文深入探讨了海思芯片安全启动机制,详细解释了secureboot如何保护关键固件免遭篡改,包括ddr_init.bin和uboot.bin的验签过程。文章还介绍了OTP(一次性可编程存储器)的作用及其在安全启动中的应用,以及如何通过RSA签名进一步保护后续分区。

1.海思提供的文档

文档路径:ReleaseDoc\zh\01.software\board\Hi3519AV100╱Hi3556AV100 V100 安全启动使用指南.pdf
从文档中截下的boot image的结构图如下:
普通安全boot镜像结构图
加密安全boot 镜像结构图

2.secure boot 保护了些什么

依据上图可以知道,secure boot 可以保护ddr_init.bin 和 uboot.bin。保证这两部分没有被篡改。
但是,secure boot 也仅仅只是保护了这两部分,当uboot运行完后,会条用后面的kernel,rootfs等等,这些部分secure boot是没有保护的。
那么如果想保护后面的分区,怎么做呢?
将后面的分区用RSA算法对其签名,公钥的hash保存起来(可以存在海思OTP中供用户使用的部分,也可以明文保存在uboot中,因为secure boot 确保了uboot不能被别人修改),然后在uboot中去验证后面分区的签名是否正确,签名正确才表示后面分区的内容没有被篡改,才将控制权交给kernel。

3.secure boot 中的一些必须知道的细节

最开始研究secure boot的时候是真的痛苦,现在回想起来是因为很多细节都不清楚导致。

预备知识

Flash 的编程原理都是只能将 1 写为 0,而不能将 0 写为 1。所以在 Flash 编程之前,必须将对应的块擦除,而擦除的过程就是把所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值