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

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

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

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

相关推荐
2501_941875283 小时前
从配置中心到动态管理的互联网工程语法演进与多语言实践分享
开发语言·python
hfywmsj3 小时前
广州餐饮铺位招租决策模型:多因子选址系统设计
开发语言·人工智能·python·广州餐饮铺位招租
努力的lpp5 小时前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
菜鸟~noob2335 小时前
【电子战】第03篇:CFAR(恒虚警)处理【含matlab代码】
开发语言·matlab
三8446 小时前
redis防御加固与安全基线
数据库·redis·安全·应急响应·防御
lhldsg6 小时前
全民健身解决方案小程序开发:从0到1的技术实战
java·数据库·需求分析
jason成都6 小时前
Spring WebFlux 适配达梦新方案|dm‑r2dbc:Netty 异步传输的实验性 R2DBC 驱动
java·后端·spring
泡海椒6 小时前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
hqyjzsb6 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
辰烨chenye6 小时前
LeetCode Hot 100 题解 · 二分篇
java·算法·leetcode