嵌入式版权保护的软硬件方案对比 点击:176 | 回复:0



linksafe

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:67帖 | 24回
  • 年度积分:0
  • 历史总积分:283
  • 注册:2010年6月10日
发表于:2015-09-18 15:27:41
楼主

随着嵌入式系统中的应用程序越来越多,嵌入式应用软件的盗版问题也日趋严峻.电子产品被竞争对手破解,这往往给生产厂家造成很大损失。针对这种现象,很多厂家采用了加密技术来防止产品被破解。

目前, 一部分厂家采用的是软件方法的加密。用软件的方法把产品中使用到的部分程序代码隐藏或掩盖起来、使用混淆的办法把部分程序代码和数据混同起来、使用乱跳的方法使程序跳来跳去、在程序中设置大量的冗余指针和冗余数据单元等;

一部分厂家采用比较简单的硬件加密,方法主要有:交换总线(总线乱置)、使用替代RAM、使用GAL器件对器件外EPROM中的软件加密等。这样做也确实在一定程度上增大了破解产品的难度,但总体来看产品仍有较大可能被破解,加密效果不太理想。

目前对硬件加密较深入的研究局限于少数的贵重电子产品上,这样的加密所用到的元器件、电路比较复杂,价格也比较昂贵;如何能对大众化的电子产品实施价格低廉而有效的加密成为一个迫切需要解决的问题。

1.硬件加密的概念和原理

硬件加密是指通过专用加密芯片或独立的处理芯片等实现保护嵌入式软件代码不被轻易破解的一种有效的方法。

本文所说的硬件加密,是指这样一种方法:用户可以把CPU中程序一部分关键算法函数移植到加密芯片中运行。在实际运行中,通过调用函数方式运行加密芯片内的程序段,获得运行结果,并以此结果作为用户程序进一步运行的输入数据。因此加密芯片成了产品的一部分,而算法在加密芯片内部运算,盗版商无法破解,从根本上杜绝了程序被破解的可能。

CPU程序分为两个部分:一部分是在CPU中,另一部分在加密芯片中。CPU中的整个逻辑就是不完整的,就算CPU被剖片成功,破解商读获取到的代码是缺少一块的。缺少的这一块该是整个系统中的哪段代码,这就需要开发者定义移植哪段到加密芯片中。

要注意的是移植部分的代码逻辑太简单,输入输出有规律可循,或者是只进行Yes Or No 的简单判断都容易依照规律被猜出来。

2.使用硬件加密与使用软件加密的对比:

    使用硬件对电子产品进行加密正在逐步成为对电子产品加密的理想手段,这是因为:软件加密不太可靠,只要有足够的耐心和经验,使用软件加密的电子产品存在着很大的被破解可能性。软件加密的一个最大的优点是:成本低。最大的一个缺点是:易被破解。

使用硬件加密,其优缺点刚好和软件加密相反:由于使用了额外的硬件,其成本要高一些,也正是这个原因,增大了产品被破解的难度。相比之下,使用硬件加密虽然成本有所提高,但是不易被破解。

考虑到如果产品被轻易破解所带来的损失,硬件加密是比较理想的一种方法。

当前软件加密的不可靠性和电子产品急需加密的需求共同促进了硬件加密的发展。实际证明,相比于软件加密,使用硬件加密的方法

虽然增大了一些成本,但行之有效。

在电子产品批量生产的今天,考虑到产品被破解所带来的损失,硬件加密所花费的代价都是微不足道的,且不论是在哪种产品的设计中,笔者建议大家能多多考虑版权保护的重要性。




热门招聘
相关主题

官方公众号

智造工程师