杰发科技AC7840——CSE安全启动

看了前面关于秘钥更新和删除之后,安全启动其实就很简单了

0. CMAC生成和验证

安全启动用的CMAC 算法。

CMAC 是一种消息认证码算法,核心作用是 "验证数据的完整性和真实性"(确认数据没被篡改、来自合法方)。

1. 加载boot_mac_key和boot_mac流程

对应的方法描述

代码里流程:

加载boot_mac_key,设置引导方式,设置校验的boot起始地址和大小并计算出boot_mac值,更新boot_mac

注意这里boot_mac_key和boot_mac的区别

2. 计算的boot_mac值

3. 修改后的hex验证mac值

这里我们在之前代码的基础上加了一行打印,要校验的flash数据会有差别

验证没有通过

返回值:安全启动流程的条件未满足

4. 未修改的hex验证mac值

校验成功,和之前的mac值也对应上了

相关推荐
EVERSPIN17 小时前
高性能32位MCU在热敏打印机上的应用
单片机·嵌入式硬件·mcu·32位mcu
学嵌入式的小杨同学17 小时前
STM32 进阶封神之路(四十一)FreeRTOS 中断管理、软件定时器、内存管理与低功耗模式|工业级实战完整版
vscode·stm32·单片机·嵌入式硬件·mcu·智能硬件·嵌入式实时数据库
学嵌入式的小杨同学17 小时前
STM32 进阶封神之路(四十)FreeRTOS 队列、信号量、互斥锁精讲|任务通信、同步、资源保护(超详细图文版)
c++·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
电子科技圈2 天前
赋能高端音频功能促进多样化设备创新——XMOS USB Audio平台实现四大功能升级
人工智能·mcu·音视频·智能家居·边缘计算·语音识别·智能硬件
笨笨饿2 天前
42_C语言查找算法
linux·服务器·c语言·人工智能·mcu·学习方法·嵌入式软件
匿名了匿名了3 天前
直流无刷与直流有刷电机
stm32·嵌入式硬件·mcu
笨笨饿4 天前
29_Z变换在工程中的实际意义
c语言·开发语言·人工智能·单片机·mcu·算法·机器人
R6bandito_6 天前
自实现FLASH读取函数中的隐式类型转换bug踩坑记录
c语言·开发语言·经验分享·stm32·单片机·mcu·bug
Redemption6 天前
嵌软面试每日一阅----freeRTOS(三)
stm32·单片机·嵌入式硬件·mcu·物联网·面试·51单片机
学嵌入式的小杨同学6 天前
STM32 进阶封神之路(三十九)FreeRTOS 临界区、挂起 / 删除、钩子函数、调度底层原理|从应用到内核深度解析
c++·stm32·单片机·嵌入式硬件·mcu·硬件架构·pcb