本帖最后由 yaoyao8212 于 2018-5-16 20:32 编辑
随着嵌入式系统中的应用程序越来越多,嵌入式应用软件的盗版问题也日趋严峻.电子产品被竞争对手**,这往往给生产厂家造成很大损失。针对这种现象,很多厂家采用了加密技术来防止产品被**。 一.现在软件加密与硬件加密的对比 一部分厂家采用的是软件方法的加密。用软件的方法把产品中使用到的部分程序代码隐藏或掩盖起来、使用混淆的办法把部分程序代码和数据混同起来、使用乱跳的方法使程序跳来跳去、在程序中设置大量的冗余指针和冗余数据单元等;一部分厂家采用比较简单的硬件加密,方法主要有:交换总线(总线乱置)、使用替代RAM、使用GAL器件对器件外EPROM中的软件加密等。这样做也确实在一定程度上增大了**产品的难度,但总体来看产品仍有较大可能被**,加密效果不太理想。 目前对硬件加密较深入的研究局限于少数的经济价值较高的电子产品上。这样的加密所用到的元器件、电路比较复杂,价格也比较昂贵。如何能对大众化的电子产品实施价格低廉而有效的加密保护成为一个迫切需要解决的问题。 二.硬件加密的实际应用 我公司原来在研发的一款高端NVR产品,尽管在软件方面作了加密,但还是被深圳某公司通过**MPU的代码后进行了抄袭,修改产品外观和包装后,以低价打入市场,造成很大损失。**公司的专业性和手段超过我们的想像,也考虑过申请专利等方式进行保护,但中国的产权保护的现实,起不了多大作用,只能通过技术手段去解决,为此研发团队考虑使用硬件加密,通过比较认证的加密强度,应用方便性和技术支持服务方面,最终从国内外等几个品牌中最终选择了武汉瑞纳捷的RJGT102进行硬件加密。 加密应用电路如下: file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 认证过程: 第一步,在产品生产时,通过预设密钥、UID、PAGE 区等关键参数来进行第三方授权, 并能跟踪和确认其使用,防范非法使用程序代码; 第二步,在产品使用时,每次上电自检,系统先通过 RJGT102 执行认证过程,只有具 备有效密钥的 RJGT102 才能成功地返回有效 MAC 值。如果检测到无效 MAC,处理器将结束操作.比较MAC值可以在主机内进行,也可以在RJGT102内部进行,如下流程图是在主机内进行比较的。 file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png RJGT102为纯逻辑电路,存放密钥的空间只支持写操作,不支持读,并且存储空间作了特殊处理,无法读出密钥。GT102使用SHA256非对称算法,具有不可逆的特性,无法从截获的MAC值逆向推出密钥,这样即使**了主控的代码,产品也不能正常工作,从而保护产品不可复制。 三.应用总结
- 考虑到如果产品被轻易**所带来的损失,硬件加密是比较理想的一种方法。当前软件加密的不可靠性和电子产品急需加密的需求共同促进了嵌入式加密芯片的发展。实际证明,相比于软件加密,使用加密芯片的方法虽然增大了一些成本,但行之有效。
- 在电子产品批量生产的今天,考虑到产品被**所带来的损失,硬件加密所花费的代价都是微不足道的,且不论是在哪种产品的设计中,建议大家能多多考虑版权保护的重要性。
|
用过很不错。武汉瑞纳捷服务很到位