62

帖子

0

TA的资源

一粒金砂(初级)

41
 
                                 回38楼:ST能保证目前的FLASH序列号不可改写!
此帖出自stm32/stm8论坛
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

42
 
只要有唯一ID,就可能保证接收方的HEX数据流唯一即机内代码的唯一。
但不采取混淆措施(有人认为是加密),则两次拦截数据流不同位置处就可能是不同UID绑定的位置。
这种“无知者无畏”的加密方法是无任何抵御能力的。
此帖出自stm32/stm8论坛
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

43
 
动态加密,即2个key先后对代码流加密,一个key是指定的,另一个是一个随机数
通讯过程中动态插入改Key的命令,也就是说整个IAP过程,使用了N个Key(N也是随机的,Key是固定Key复合上动态Key)

我也在用这类东西,只是协议支持这些东西,但是功能上只是测试OK,给客户的DFU的时候并未使用。
暂时还没有加密的迫切性,因为目前客户买我的东西比自己开发成本低
此帖出自stm32/stm8论坛
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

44
 
                                 底端没有独立的硬件加密模块,想做到纯软件加密是不可能的。
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

45
 
楼上说的在理但非全对。
远程ISP IAP即使无硬件支持也难以破解。
它的软肋在IAP环节
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

46
 
说到“难以破解”,其实只要把bootloader代码搞得复杂一些难以理解一些就行了(理论上反汇编之后可以弄清楚代码的所有细节——但是,现在这个世上有几个人有这个能力和耐心去做这种事?)

对于STM32,可以这样干:
1-把bootloader0做得很小,放到Flash的开头,启动后加载到SRAM;
2-bootloader0向服务器请求bootloader1,bootloader1就不是那么小巧了……
3-……
思路就是函数放在一个巨大的虚拟空间里,需要的时候服务器才会把相关片断下载到SRAM里,然后执行;
理论上总可以破解,但是足够把破解人弄的痛不欲生……

还有一些非技术手段也能让破解人头痛不已,例如电脑的开机密码,错三次你就得重启;银行卡密码,错三次你就得去找齐证件那号排队申请……依此类推,当你的服务器监测到异常的时候,就可以中止该设备的升级,打电话找客户了……
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

47
 
说到“难以破解”,其实只要把bootloader代码搞得复杂一些难以理解一些就行了(理论上反汇编之后可以弄清楚代码的所有细节——但是,现在这个世上有几个人有这个能力和耐心去做这种事?)

对于STM32,可以这样干:
1-把bootloader0做得很小,放到Flash的开头,启动后加载到SRAM;
2-bootloader0向服务器请求bootloader1,bootloader1就不是那么小巧了……
3-……
电脑上的很多木马就是这么干的
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

48
 
46楼的想**是我所申请的一个专利的内容之一。
只是我的专利还考虑的更多一些、、、、
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

49
 
就运行加密算法来说,硬件与软件并没有本质区别。

但是密码学系统的另几个关键部件,倒是有的必须是硬件才理想。
此帖出自stm32/stm8论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

50
 
回38楼:ST能保证目前的FLASH序列号不可改写!
呵呵,太棒了!!!
Define STM32芯片的Team里面肯定有从Secure产品线来的人。
STM32的很多做法非常为加密IAP做考虑。
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

51
 
可能大家都想歪了,没如此复杂,俺给匠人描述的很细微。而且讲了互联卫士在嵌入式的应用细节。

版主竟然动用了虚拟机,估计版主也搞过破坏活动~~~
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

52
 
                                 大家都没歪,是老顽童胃口吊足。
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

53
 
我的语言表达能力不强,而且全部是手机输入太辛苦。

俺没吊足胃口,俺是认真讨论。
此帖出自stm32/stm8论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

54
 
可能大家都想歪了,没如此复杂,俺给匠人描述的很细微。而且讲了互联卫士在嵌入式的应用细节。

版主竟然动用了虚拟机,估计版主也搞过破坏活动~~~ ...
hotpower 发表于 2010-8-7 04:05
此帖出自stm32/stm8论坛
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(初级)

55
 
哈哈~~~原来是同道中人~~~

俺昨晚将互联卫士的嵌入式部分给匠人聊到快4点~~~
此帖出自stm32/stm8论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

56
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

57
 
用手机太慢。

本文的加密方法(注意还未牵扯到加密算法)实际就2个部分:
1.ISP 它可以理解为光盘的制作,不过每次制作的光盘都可能不一样
2.IAP 它可以理解为网站注册序列码,它因为有唯一ID、操作时间和波特率误差等柔和而成。

由于每台都有唯一码,网站有时2次制作方(第1此是软件工程师),那么接收方(老板或公司)
得到的光盘的内容(数据,例如数组等)就不可能相同,而且各台机子都不同。

被逆向的重点在IAP,ISP可以证明无法破解。
但是问题可能出在IAP数据下载部分。即使采取扰码,被虚拟机攻克的几率很大。

虚拟机实际就是代码扫描器,即经过之处的数据叫“指令”,未经过或未激活的代码都叫“数据”。
故“程序”实际由“代码+数据”构成实体。

由于flash数据是不能二次改写的,但空是可以改写的,故一般UID只能对数据加密。而不应该对代码加密。

不对代码加密就抵抗不了虚拟机。

但函数指针就可以迷惑虚拟机!!!
当函数指针必须经过解码后才能运行时,解码算法将暴露无遗。

但是如果解码算法不可逆即公开密码体系时,破解将会是有很到难度。

至于版主提出的这段IAP必须事先装载,俺认为不太必要,因为将IAP只有一个入口且为公用时
因为参数都是可变的,所以必须拦截通讯协议。

由于flash二次写入是有限制的,故破解时对虚拟机必须逐条跟踪,至少要在IAP函数内设置断点。

所以即使破解也是代价惨重的。
此帖出自stm32/stm8论坛
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

58
 
                                 讨论偏离了航向,俺先撤,做出来大家试用好了。
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

59
 
                                 我们这些小虾只有听课的份了
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

60
 
                                 大侠们讨论问题,小虾得来捧场,也是很好的学习机会
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
艾睿电子& Silicon Labs 有奖直播 | 全新蓝牙信道探测:从技术创新到实际应用
直播时间:3月12日(周三)上午10:00
直播奖励:多功能榨汁机、蓝牙音箱、手机支架

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表