您尚未登录。

楼主 #1 2021-01-06 09:47:32

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 160
积分: 38

关于单片机代码加密相关讨论

hi 不知道各位大神在做单片机代码的时候用什么加密方式?我这边使用了DES和AES加密,但是这两种加密都是对称加密,也就是说我的秘钥还是需要保存在我单片机的eeprom或者flash里面的。我老是担心这样会被别人读出来,或者破解出来。其方法如下:
A 加密
在PC端或者手持加密机上读出需要被加密机器的唯一ID, 根据ID生成密文(加密机使用秘钥A),写入到EEPROM或者flash特定位置

B解密
系统启动后,读出唯一ID,读出特定位置的密文,根据秘钥(也要存在代码里面)解密判断解密之后的得到的ID和读出芯片的ID是否一 致.

上面的方法的问题点就在于,秘钥还是要保存在代码里面,这样就有被别人识别出来的风险。非对称加密现在还没有搞定。各位大神有什么建议?关于代码加密的都行

最近编辑记录 伍零壹 (2021-01-06 09:49:31)

离线

楼主 #3 2021-01-06 11:14:18

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 160
积分: 38

Re: 关于单片机代码加密相关讨论

这个方法好像不错!通过计算ROM里面代码的hash值作为秘钥,这样秘钥就不是以明文的方式存在,而是在运行计算的时候得到。

最近编辑记录 伍零壹 (2021-01-06 11:15:45)

离线

楼主 #6 2021-01-06 11:46:14

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 160
积分: 38

Re: 关于单片机代码加密相关讨论

真的是很烦 wrote:

"根据秘钥(也要存在代码里面)解密判断解密之后的得到的ID和读出芯片的ID是否一 致."

这种不是一个跳转就解决了?

不一定是跳转,比如我的解密函数是decode_A,我读到读到ID数据是B,B=GetID();
我在做一些循环的时候我用 for(i=decode_A-B;i<ff;i++)这种形式,只要ID不同 程序也许不会马上死掉但是会出现异常。这样也是保护产品代码的方法。用跳转指令有可能会被破解。

离线

楼主 #9 2021-01-07 16:59:45

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 160
积分: 38

Re: 关于单片机代码加密相关讨论

达克罗德 wrote:

暗装,虚拟机,片外加密芯片

单片机里面如何跑虚拟机?兄台能否指点下?

离线

楼主 #14 2021-01-08 11:49:52

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 160
积分: 38

Re: 关于单片机代码加密相关讨论

jiangchun9981 wrote:

产品利润高的话,可以用专用加密芯片,大概会多2,3元成本. 专用加密芯片使用的类似银行卡的技术,至少难度比单片机破解复杂多了. 把核心的一段代码,但要求运算量不大不影响速度放进去即可. 我买的类似是51内核的,但是用了银行卡的防破解技术

一般人就是简单的防止别人直接抄板就差不多了,直接抄板是很多电子厂的手段,稍微加密一下他们不能直接操就差不多了.

如果是大钱的项目,人家直接请别的重新自主开发也不难吧

你用的这个芯片的型号能推荐下么?

离线

楼主 #17 2021-01-08 20:18:11

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 160
积分: 38

Re: 关于单片机代码加密相关讨论

jiangchun9981 wrote:

LKT4201 32位高性能超低功耗RSA加密IC

分类: 嵌入式

2013-07-15 11:27:05

LKT4201 32位高性能超低功耗RSA加密IC是目前行业内最低功耗的高性能的RSA加密芯片,芯片采用32位CPU(获得全球最高安全等级EAL5+的智能卡芯片),18K RAM ,支持ISO7816及UART通信,通讯速率最高可达1.25Mbps;用户数据存储区容量最低64K字节。在超高安全等级加密的同时,速度大大超越一般8位或16位RSA加密芯片。RSA加接密功耗只相当于市面上普通8位16位RSA加密芯片的十分之一。

产品特点:

高性能、低功率32位CPU内核

64K以上字节用户数据存储区;

内嵌真随机数发生器,符合FIPS140-2标准;

外部时钟频率范围1~10M Hz;

支持UART接口 最高支持1.25Mbps通讯速率;

通讯速率远远超过普通8位16位智能卡芯片为基础的RSA加密芯片;

芯片安全性能,采用通过国际智能卡安全检测标准EAL5+,高于8位16位的智能卡加密芯片。

安全特性:

电压检测模块对抗高低电压攻击;

频率检测模块对抗高低频率攻击;

多种检测传感器:高压和低压传感器,频率传感器、滤波器、脉冲传感器、温度传感器,具有传感器寿命测试功能,一旦芯片检测到非法探测,将启动内部的自毁功能;

芯片防篡改设计,唯一序列号;

总线加密,具有金属屏蔽防护层,探测到外部攻击后内部数据自毁;

硬件RSA、3DES算法协处理器;

32位可编程算法协处理器;

MMU存储器管理单元,可灵活设置SYS\APP模式及授予相应权限;

程序和数据均加密存储;

安全认证目标:EAL5+。

产品功能:

支持产生存储多条公私钥

RSA密钥支持1024-1984位、2048位可定制

公钥指数可以设定多种模式

公私钥文件安全权限可以自定义

支持SHA1、SHA256摘要算法

支持DES、3DES算法

支持DES 3DES过程密钥

支持AES算法

支持标准二进制、记录等文件系统

技术参数:

工作电压范围:1.8v—5.5v;

工作温度:-20℃~+85℃;

ESD保护:大于4KV;

封装形式:SSOP20(可定制封装)。

应用领域:

移动支付领域

需要超高安全性,以及需要加密的各类设备,单片机系统。

好的

离线

楼主 #20 2021-01-10 10:10:56

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 160
积分: 38

Re: 关于单片机代码加密相关讨论

现在是希望大家讨论下加密的方法 不是说用什么加密方法让别人破戒不了 道高一尺魔高一丈。现在想知道大家一般采用什么方式加密 或者说有什么技巧

离线

楼主 #22 2021-01-12 11:44:21

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 160
积分: 38

Re: 关于单片机代码加密相关讨论

迪卡 wrote:

用环氧树脂胶将芯片滴起来,看起来像牛屎芯片。别人就没兴趣破解了。

嗯 这个也算是一种方法

离线

楼主 #23 2021-02-01 17:28:10

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 160
积分: 38

Re: 关于单片机代码加密相关讨论

搞了个quicklz的压缩与解压缩 看看能不能用来加密使用

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn


东莞哇酷科技有限公司开发