您尚未登录。

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

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

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

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
已发帖子: 158
积分: 36

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

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

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

离线

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

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

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

真的是很烦 说:

"根据秘钥(也要存在代码里面)解密判断解密之后的得到的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
已发帖子: 158
积分: 36

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

达克罗德 说:

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

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

离线

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

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

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

jiangchun9981 说:

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

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

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

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

离线

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

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

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

jiangchun9981 说:

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
已发帖子: 158
积分: 36

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

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

离线

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

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

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

迪卡 说:

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

嗯 这个也算是一种方法

离线

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

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

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

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

离线

页脚

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

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