利用对称算法及非对称算法实现安全启动

我们可以利用对称算法及非对称算法实现安全启动

对称加密算法:加密和解密时只有一个key,称为common key,即加密方和解密方都知道这个key,这个key可以在生产或其它需要更新密钥的时候写入HSM的PFLASH

非对称加密算法:加密和解密方用不同的key,加密用private key,解密用public(可能是这样用的,记忆有点混乱)

当然从安全性维度,非对称算法更安全,因为加密方和解密方都不知道对方用的是什么密钥。

对称算法实现secure boot

1 软件下载代码包生成时不需要额外做什么工作,只需要把boot image 及app image下到指定的Flash中。

2 安全启动流程

先启动可信任根,验证可信任链,再通过对称算法如CMAC,及common key 验证boot image,验证成功后继续采用对称算法及common key验证app软件,app软件验证成功后启动app。

非对称算法实现secure boot

1 软件下载代码包的同时需要把签名也存在指定的Flash中,因为在安全启动的时候还是需要这个签名的

2 安全启动流程

先启动可信任根,验证可信任链,再计算boot软件的hash值,对计算出的hash采用非对称算法如ECDSA及public key进行验证。验证成功后计算app的hash值,对计算出的hash采用非对称算法及public key进行验证,app软件验证成功后启动app。

两者的优缺点如安全性可定是非对称算法高,验证速度(影响启动速度)还不知道哪个高。

相关推荐
未若君雅裁27 分钟前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
Likeadust35 分钟前
私有化视频会议系统/智能会议管理系统EasyDSS集群通话助力各行业安全高效远程协作
安全
cen__y1 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
社交怪人1 小时前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言
阿维的博客日记1 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI1 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
郭涤生2 小时前
不同主机之间网络通信-以太网连接复习
开发语言·rk3588
山居秋暝LS2 小时前
【无标题】RTX00安装paddle OCR,win11不能装最新的,也不能用GPU
开发语言·r语言
卢锡荣2 小时前
单芯通吃,盲插标杆 —— 乐得瑞 LDR6020,Type‑C 全场景互联 “智慧芯”
c语言·开发语言·计算机外设