STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计

SMEC88ST SDK开发包下载

目前市场上很多嵌入式产品方案都是可以破解复制的,主要是因为方案主芯片不具备防破解的功能,这就导致开发者投入大量精力、财力开发的新产品一上市就被别人复制,到市场上的只能以价格竞争,最后工厂复制的产品反而价格更有优势,因为他们的开发投入几乎可以忽略不计。 所以针对这种主芯片可以被破解的产品方案,开发者需要在开发时在产品方案中使用加密芯片并设计合理的加密方案。开发者首先需要选定性价比高的加密芯片,然后再设计加密方案。

市面上加密芯片一般有两种:一种是传统的逻辑加密芯片,可配数据与主芯片做相互认证起到简单的加密功能;另一种是智能卡内核的可编程CPU加密芯片,除了具有逻辑加密芯片的功能外,还可以将主芯片部分核心的算法、功能代码以及核心数据放入加密芯片,开发者设计的加密方案更加灵活、安全、可靠。

本方案选用具有智能卡32位内核的加密芯片SMEC88ST来举例实现使用STM32作为主芯片的产品的加密方案。SMEC88ST提供5K Bytes SRAM、128K Bytes CODE,32K Bytes Data,用户可根据自己的需要来编程设计SEMC88ST与STM32配合的加密方案。下表为SEMC88ST与STM32配的的各种加密功能说明,具体可参见SMEC88ST SDK开发包。

注:

① STM32与SMEC88ST间的I2C协议指令接口规则开发者自定义。

② 上述加解密密钥均为对称DES或3DES密钥,每一对密钥开发者须在开发时分别在STM32和SMEC88ST上同时存储相同的值。

③ 上述随机数都是8字节随机数,加解密算法采用DES或3DES。客户也可以根据自身需要设计或使用其他加解密算法。

④ SMEC88ST随机数发生器产生的随机数是真随机数,这样可以保证关键数据在通讯时每次都是随机数参与的,每次通讯的数据密文都是不一样的,可有效防止破解者在I2C通道上的数据监听分析。

⑤ DES或3DES加解密数据块必须为8字节整数倍,加密原始数据不是8的整数倍的按开发者自己定义补足8的整数倍,对于密文读写数据建议按LV结构补,比如:

原始数据为1122334455,补数后的数据为0511223344558000;

原始数据为11223344556677,补数后的数据为0711223344556677

原始数据为1122334455667788,补数后的数据为08112233445566778880000000000000

STM32配合SMEC88ST加密方案编程时增加加密方案可靠度小技巧:

① 访问STM32 ID和随机数因子时,尽量不要使用常量直接访问目的地址,可以使用一个假地址再通过变量异或、加减或其他算法来得到目的地址,以防止破解者轻易找到这个地址来窜改、固定ID和随机数。程序里确保每次产生的随机数只能使用一次,使用后随机数失效,下次要使用随机数必须重新产生。程序对收到的外设发来的随机数做缓存,如果随机数有重复,做一些特殊处理,防反复跟踪解析。

② STM32程序秘钥值尽量不要连续存放在一个常量或变量数组里,尽量分开存放,使用前通过一些算法计算再组成正确的秘钥值。

③ 主MCU程序做完整性校验,完整性校验绑定UID,防止STM32程序被破解者破解得到后通过窜改来跟踪、分析、破解加密方案。

④ 设计加密方案时尽量不要使用判断正确就继续执行错误就报错这种简单的判断逻辑,可以设计成错误后继续执行,只是在后续执行过程中在不特定的地方出不特定的错误。

⑤ 加密方案里使用的一些校验算法、加解密算法等,尽量不是用标准算法,可以使用这些算法的变异算法。

⑥使用可编程的加密芯片,把主芯片的部分功能代码放入加密芯片里运行,这样才能达到最高安全级别的方案保护,千万不要低估黑客的反汇编能力! (可参考笔者另一篇文章 《浅谈加密芯片的一种破解方法和对应加密方案改进设计》

相关推荐
兆龙电子单片机设计6 小时前
【STM32项目开源】STM32单片机语音分类垃圾桶-蓝牙APP
stm32·单片机·嵌入式硬件·物联网·开源·自动化·毕业设计
厦门辰迈智慧科技7 小时前
管网遥测终端机赋能城市安全的核心价值
物联网·遥测终端机·管网遥测终端机·排水管网遥测终端·管网遥测终端
七仔啊7 小时前
modbus快速入门
物联网
论迹复利13 小时前
PSA Certified 是什么——物联网芯片安全认证的三级体系
物联网·struts·安全
MetrixAeroCore15 小时前
AI玩具出海用物联网卡还是eSIM?200国漫游和本地落地卡成本差多少?
物联网
数智顾问18 小时前
(84页PPT)PWC海科集团生物医药业务5年发展战略项目建议书(附下载方式)
大数据·人工智能·物联网
MetrixAeroCore19 小时前
智能快递柜格口监控物联网卡在老旧小区弱网环境下多运营商切换组网方案
物联网
腻害兔19 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro IoT 物联网模块:从协议网关到物模型,一文讲透开源 IoT 平台架构
前端·vue.js·物联网·产品经理·ai编程
北京晶数信息科技19 小时前
加油站成品油智慧监管系统项目建设实施汇报(一)
大数据·物联网·产品经理·需求分析
TurMass工程师19 小时前
什么是 TurMass™ Mesh?它在电力物联网感知网络中起什么作用?
物联网·电力物联网·turmass·turmassmesh