论坛» 嵌入式开发» MCU

有些MCU的程序是放置在外挂的norflash存储器上,那如何对程序进行加密呢?

工程师
2021-10-27 22:09 1楼

有些MCU的程序是放置在外挂的nor flash存储器上,比如: ESP32

那如何对程序进行加密呢?

用唯一ID 还是 AES 单元?大家有什么经典的程序保护方案或者参考例程吗?

工程师
2021-10-27 23:14 2楼

现在很多nor flash都有UID和OTP区,可以利用来加密

院士
2021-10-27 23:24 3楼
谢谢
院士
2021-10-27 23:24 4楼
看看
院士
2021-10-27 23:24 5楼
厉害
工程师
2021-10-27 23:28 6楼

写个boot ,烧写程序的时候,通过boot配合上位机写入加密后的程序 ,可以做到每个单片机程序都不同
运行的时候解密单片机程序到内存中,如果不是频繁开关机的 也可以解压到指定flash中,最后跳转运行
有些单片机本身内置了上面类似功能

工程师
2021-10-28 20:19 7楼

如果是放在外部 FLASH ,Memory Map 方式读取FLASH,直接在外部 FLASH 运行,这个要看芯片支持的加密方式。
如果是通过Boot加载到内部 RAM 运行,Boot 程序可以自己实现自定义的加密算法。

工程师
2021-10-28 20:29 8楼

1. 自制烧写工具,根据芯片ID,每个芯片生产不同的已加密二进制文件,烧写到flash
2. MCU上,从flash读取数据,解密加载到内存运行

高工
2021-10-28 20:46 9楼

开眼

共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]