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

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

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

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

相关推荐
LXS_3571 分钟前
Day17 C++提高 之 类模板案例
开发语言·c++·笔记·算法·学习方法
leo__5202 分钟前
基于MATLAB实现的鲁棒性音频数字水印系统
开发语言·matlab·音视频
2301_789015622 分钟前
C++:多态(面向对象的主要手段之一)
c语言·开发语言·c++·多态
小年糕是糕手2 分钟前
【C++】string类(一)
linux·开发语言·数据结构·c++·算法·leetcode·改行学it
sali-tec3 分钟前
C# 基于halcon的视觉工作流-章70 深度学习-Deep OCR
开发语言·人工智能·深度学习·算法·计算机视觉·c#·ocr
晚霞的不甘4 分钟前
C语言利用数组处理批量数据详解
android·c语言·开发语言
武子康5 分钟前
Java-200 RabbitMQ 架构与 Exchange 路由:fanout/direct/topic/headers
java·架构·消息队列·系统架构·rabbitmq·java-rabbitmq·mq
计算机学姐7 分钟前
基于SSM的社区外来务工人员管理系统【2026最新】
java·vue.js·java-ee·tomcat·maven·intellij-idea·mybatis
_OP_CHEN8 分钟前
【从零开始的Qt开发指南】(十二)Qt 布局管理器终极指南:5 大布局 + 实战案例,搞定所有界面排版需求
开发语言·qt·前端开发·qt控件·布局管理器·gui开发
ForteScarlet8 分钟前
Kotlin 2.3.0 现已发布!又有什么好东西?
android·开发语言·后端·ios·kotlin