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

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

对称加密算法:加密和解密时只有一个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。

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

相关推荐
cui_ruicheng18 分钟前
Python数据分析(一):数据分析概述与环境搭建
开发语言·python·数据分析
青山木24 分钟前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
心平气和量大福大36 分钟前
C#-WPF-UserControl-生命周期(加载 退出)
开发语言·c#·wpf
小龙报41 分钟前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
sunywz1 小时前
【c#】 Web Deploy一键发布,IIS部署全流程
开发语言·前端·c#
自强的小白1 小时前
重点!起始时间和结束时间与创建时间和修改时间的区别(localdate与LocaldateTIME区别)以及增删改查什么时候设置目前时间(添加和更新员工时)
java
Brilliantwxx1 小时前
【Linux】 软件包管理器(yum)+ Vim使用
linux·运维·服务器·开发语言·编辑器·vim
雪的季节1 小时前
Python 线程同步与异步编程 全解析
java·开发语言
●VON1 小时前
鸿蒙 PC Markdown 编辑器自由窗口:覆盖侧栏与响应式预算
安全·华为·编辑器·harmonyos·鸿蒙
吃饱了得干活1 小时前
缓存与数据库一致性:从理论到实战
java·后端·面试