芯片固件加密方式

芯片固件加密方式

芯片固件加密通常需要保护《固件提供方 》的利益,因为提供固件的付出了绝大数的研发成本。通常会提供固件给《生产方 》进行烧录生产,如果固件不做任何保护,《破解方 》(可能就是《生产方 》)就可以利用各种办法绕过《固件提供方 》,进行产品生产。进而损害到《固件提供方》的利益。

下面对各个业务场景进行说明,以及各个业务场景下,各方之间交互内容和保护行为进行说明。

文件加密(弱)

加密/解密/烧录流程

优点:无需任何芯片支持,只需要在上位机做处理,加密安全级别可以用异或,也可以AES对称加密等多种方式保障。和调试无关。

缺点:因为芯片运行的BIN文件无任何加密,可以通过JLINK等方式将Flash内容读出来,就没有保护效果了。

业务场景/破解流程

固件提供方 》提供《Bin文件(加密)》和《烧录工具》给到《生产方》,最终生产出《产品(流通)》,芯片由原厂提供。

破解方 》从原厂拿到芯片,通过JLINK等调试工具从《产品(流通)》中提取Bin文件,最终就可以绕过《固件提供方》生产产品。

烧录固件加密(强)

加密/解密/烧录流程

优点:加密安全级别由芯片提供的方案决定,由芯片原厂保证芯片不会被第三方破解。

缺点:需要芯片支持硬件加密。KEY只有一套,KEY被破解了,就没办法了。调试麻烦。

业务场景/破解流程

固件提供方 》从芯片原厂拿到芯片,并提供《Bin文件(加密)》、《烧录工具》还有写好秘钥的《芯片(KEY)》给到《生产方》,最终生产出《产品(流通)》。

破解方》从原厂拿到芯片,通过JLINK等调试工具从《产品(流通)》中提取Bin文件,注意,这时候提取出来的固件是《Bin文件(加密)》,因为没有配套加密的芯片《芯片(KEY)》,这个情况下,是无法使用的。

软件校验(CHIP ID)(强)

加密/解密/烧录流程

优点:平时调试就可以验证KEY是否正常,研发这一侧就可以验证OK。KEY不会出现在生产方,校验方式可以用户自定义,避免原厂来破解。

缺点:需要芯片有CHIP ID,并且提供用户可烧录的OTP/Efuse区域去写入校验信息。

业务场景/破解流程

固件提供方 》从芯片原厂拿到芯片,并提供《Bin文件(带有校验功能)》、《烧录工具》还有写好校验信息的《芯片(CHIP ID信息)(校验信息)》给到《生产方》,最终生产出《产品(流通)》。

破解方》从原厂拿到芯片,通过JLINK等调试工具从《产品(流通)》中提取Bin文件,注意,这时候提取出来的固件是《Bin文件(带有校验功能)》,因为没有配套加密的芯片《芯片(CHIP ID信息)(校验信息)》,这个情况下,是无法使用的。

相关推荐
anew___1 小时前
GPIO 输入输出——按键、LED 与蜂鸣器
单片机·嵌入式硬件
xu_wenming6 小时前
嵌入式软件架构中的6种解耦艺术
c语言·驱动开发·嵌入式硬件·架构
sramdram6 小时前
国产32位mcu微控制器高速风筒方案
单片机·嵌入式硬件·32位mcu·mcu微控制器·国产32位mcu
单片机仿真设计6 小时前
【proteus仿真】基于STM32单片机直流电机控制设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
天空'之城6 小时前
单片机基础核心知识点汇总(十八)
单片机·嵌入式硬件
luiyarch7 小时前
汽车电子ISO 26262功能安全系列(第17期):系统集成与测试——验证系统级安全机制
嵌入式硬件·安全·车载系统·汽车
DevHub10 小时前
CANopen 教程:STM32 实现 CANopen 从站,3 个回调替代手写对象字典
c语言·驱动开发·stm32·单片机·嵌入式硬件·mcu
不灭的黄金瞳12311 小时前
C语言手写顺序表
c语言·开发语言·数据结构
单片机仿真设计12 小时前
【proteus仿真】基于 STM32 农业大棚巡检小车 (仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
Hello_Damon_Nikola14 小时前
AiP9M161个人护理产品方案从设计到实现
单片机·嵌入式硬件