2 lingkes lingkes 于 2014.12.02 16:57 提问

我想要保护设备中的程序,据我了解目前有高强度加密算法保护,还有的就是程序移植,哪种方案比较好呢?

我想要保护设备中的程序,据我了解目前有高强度加密算法保护,还有的就是程序移植,哪种方案比较好呢?目前成本有限,两种都支持的话成本太高。

4个回答

weizongwei5
weizongwei5   2014.12.02 17:04

推荐使用加密,程序移植我个人不大懂,我理解的程序移植要更换编程语言到其他平台上去。

yf0994
yf0994   2014.12.02 22:25

如果考虑成本的话那肯定是加密了

WL201201
WL201201   2014.12.03 09:57

1 数据加密保护:
程序段A 芯片
产生随机数Rnd 加密Rnd,获得Res
认证<-------Res

对比认证通过后运行B(对比点1)
程序段B
产生随机数Rnd' 加密Rnd',获得Res'
认证<-------Res'

对比认证通过后运行C(对比点2)
程序段C
…………………………

2 程序移植
程序段A 芯片
发送指令,调用程序B

执行程序B,返回Res
<------- Res
程序段C
使用Res,运行程序C
………………

综合看来:方案1中,如果盗版商通过反汇编等手段,获得程序的对比点,那么无论加密算法(如RSA ECC)多么复杂,都无法避免主程序的被盗取。
方案2中,程序中的一部分在加密芯片中执行,想要获得完整的主程序,必须要对加密芯片进行破解,这极大的增加了破解难度,同时此方案与对比认证方案不冲突,可通过3DES算法进行对比验证,进一步增加了程序保护的安全性。
方案1的成本目前也要高于方案2,方案1的芯片一般成本在8-9元,方案2在3-10元不等,我用过的LKT4105,不到4元。

lingkes
lingkes   2015.01.05 13:34

谢谢1楼回答的那么全

Csdn user default icon
上传中...
上传图片
插入图片