hi 不知道各位大神在做单片机代码的时候用什么加密方式?我这边使用了DES和AES加密,但是这两种加密都是对称加密,也就是说我的秘钥还是需要保存在我单片机的eeprom或者flash里面的。我老是担心这样会被别人读出来,或者破解出来。其方法如下:
A 加密
在PC端或者手持加密机上读出需要被加密机器的唯一ID, 根据ID生成密文(加密机使用秘钥A),写入到EEPROM或者flash特定位置
B解密
系统启动后,读出唯一ID,读出特定位置的密文,根据秘钥(也要存在代码里面)解密判断解密之后的得到的ID和读出芯片的ID是否一 致.
上面的方法的问题点就在于,秘钥还是要保存在代码里面,这样就有被别人识别出来的风险。非对称加密现在还没有搞定。各位大神有什么建议?关于代码加密的都行
最近编辑记录 伍零壹 (2021-01-06 09:49:31)
离线
可以读出一部分ROM的数据,HASH操作之后变为KEY,这样比较难猜到KEY
不过,再牛逼的系统也有短板
离线
这个方法好像不错!通过计算ROM里面代码的hash值作为秘钥,这样秘钥就不是以明文的方式存在,而是在运行计算的时候得到。
最近编辑记录 伍零壹 (2021-01-06 11:15:45)
离线
其实吧,要不是这个产品能有千八百万的纯利,没谁会去想着破解你的,随便做点加密就行了,但是呢,要是利润那么高,又不如直接重新开发来得好
离线
"根据秘钥(也要存在代码里面)解密判断解密之后的得到的ID和读出芯片的ID是否一 致."
这种不是一个跳转就解决了?
离线
"根据秘钥(也要存在代码里面)解密判断解密之后的得到的ID和读出芯片的ID是否一 致."
这种不是一个跳转就解决了?
不一定是跳转,比如我的解密函数是decode_A,我读到读到ID数据是B,B=GetID();
我在做一些循环的时候我用 for(i=decode_A-B;i<ff;i++)这种形式,只要ID不同 程序也许不会马上死掉但是会出现异常。这样也是保护产品代码的方法。用跳转指令有可能会被破解。
离线
没必要太复杂,加一颗专用加密芯片,比你想的靠谱
离线
暗装,虚拟机,片外加密芯片
离线
暗装,虚拟机,片外加密芯片
单片机里面如何跑虚拟机?兄台能否指点下?
离线
有那种1元一个的外置加密芯片 可以在上面跑程序 据说是银行卡的保密级别
离线
达克罗德 说:暗装,虚拟机,片外加密芯片
单片机里面如何跑虚拟机?兄台能否指点下?
离线
各位F1C100s有研究过怎样加密吗??
http://whycan.com/t_3118.html#p26369
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)
离线
产品利润高的话,可以用专用加密芯片,大概会多2,3元成本. 专用加密芯片使用的类似银行卡的技术,至少难度比单片机破解复杂多了. 把核心的一段代码,但要求运算量不大不影响速度放进去即可. 我买的类似是51内核的,但是用了银行卡的防破解技术
一般人就是简单的防止别人直接抄板就差不多了,直接抄板是很多电子厂的手段,稍微加密一下他们不能直接操就差不多了.
如果是大钱的项目,人家直接请别的重新自主开发也不难吧
离线
产品利润高的话,可以用专用加密芯片,大概会多2,3元成本. 专用加密芯片使用的类似银行卡的技术,至少难度比单片机破解复杂多了. 把核心的一段代码,但要求运算量不大不影响速度放进去即可. 我买的类似是51内核的,但是用了银行卡的防破解技术
一般人就是简单的防止别人直接抄板就差不多了,直接抄板是很多电子厂的手段,稍微加密一下他们不能直接操就差不多了.
如果是大钱的项目,人家直接请别的重新自主开发也不难吧
你用的这个芯片的型号能推荐下么?
离线
jiangchun9981 说:产品利润高的话,可以用专用加密芯片,大概会多2,3元成本. 专用加密芯片使用的类似银行卡的技术,至少难度比单片机破解复杂多了. 把核心的一段代码,但要求运算量不大不影响速度放进去即可. 我买的类似是51内核的,但是用了银行卡的防破解技术
一般人就是简单的防止别人直接抄板就差不多了,直接抄板是很多电子厂的手段,稍微加密一下他们不能直接操就差不多了.
如果是大钱的项目,人家直接请别的重新自主开发也不难吧
你用的这个芯片的型号能推荐下么?
LKT4101 开发套件 LKT4100 LKT4200 LKT4201
他这个有很多序列,内核便宜的有51内核的,还有ARM内核的适合高级算法.
还有个最简单的方法,就是买台系几毛钱的单片机(反正是冷门的),算法放进去一点,注意一定是算法而不是什么KEY(任何KEY都是可能拿到或者跳过你判断的地方的),然后型号擦除,用作加密芯片,
主芯片嘛随便你用熟悉的来开发了,用到算法的地方就调用上面那个芯片,这样不可能破解这个芯片跳过了,基本也能阻挡99%的破解的人了
最近编辑记录 jiangchun9981 (2021-01-08 13:25:32)
离线
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(可定制封装)。
应用领域:
移动支付领域
需要超高安全性,以及需要加密的各类设备,单片机系统。
离线
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(可定制封装)。
应用领域:
移动支付领域
需要超高安全性,以及需要加密的各类设备,单片机系统。
好的
离线
不同的加密芯片有不同的破解价格,就看你要到哪种程度了。普通的加密芯片是很容易被破解的,以现在的技术就算你把核心代码下载到加密芯片也可以被攻破。
离线
不同的加密芯片有不同的破解价格,就看你要到哪种程度了。普通的加密芯片是很容易被破解的,以现在的技术就算你把核心代码下载到加密芯片也可以被攻破。
没错 普通的STM32这类的好像几千块就能读出ROM什么的 但是冷门或者专用芯片要几万或者几十万几百万,那破解的就的想想了
离线
现在是希望大家讨论下加密的方法 不是说用什么加密方法让别人破戒不了 道高一尺魔高一丈。现在想知道大家一般采用什么方式加密 或者说有什么技巧
离线
用环氧树脂胶将芯片滴起来,看起来像牛屎芯片。别人就没兴趣破解了。
嗯 这个也算是一种方法
离线
搞了个quicklz的压缩与解压缩 看看能不能用来加密使用
离线
参考POS机安全认证。
0 硬件用安全芯片,设备加防拆。
1 关键信息加密,比如密钥,受到攻击就清除。
2 固件加密校验,现在的新芯片都有truceZone,相当于有可信根。
3 固件用非对称校验,公私密钥对,私钥放保险柜。
4 根据ID生成一机一密,被攻击了就销毁。
这些,功能挺多的,要看你保护什么。
可以找找银联认证的要求,或者国际认证PCI的要求。
离线