单片机的MRC多重加密技术

2018-12-21 02:45 来源:未知

  目前对于AVR单片机来讲,本身有加密熔丝位,一旦熔丝被烧写程序就不能读出了。但这种加密技术可以通过芯片揭盖侵入式破解,大多数破解公司都掌握了这种技术,破解费仅1000元左右。

  对于这种情况已经不可避免,如果源码没有其他加密措施的话,把反汇编出来的程序编译一下,换到原电路板上即可运行了。

  事实上,不管你怎么处理,都可以分析源码,找出你的关键所在,并修改汇编出来的程序来破解。

  而我们要做的是,将加密部分尽可能隐藏,扰乱,使得破解者只能逐一分析来破解,这样他不但要全部了解产品的工作特点,功能,还要了解内部全部的硬件设计,以及芯片的工作原理。对于一些特殊算法他可能永远也搞不明白,这样使得破解的成本远远大于重新设计的成本。

  凡是从事盗版生产的单位基本没有开发能力,而破解者只是一些二三流工程师,真正的一流工程师对破解都不屑一顾。

  为啥叫MRC机密技术,因为这是香港MRC公司采用的实用加密技术,这种技术不需要增加硬件成本,主要通过以下几个技术实现:

  类似上述这样的程序可以放在中断处理程序,CRC算法,纠错程序,编解码程序,快速开方程序等关键程序里,另外长时间(几天,几个月)才运行一次的程序里也要放置来对付仿真器的单步跟踪。最好每个程序里的处理都不一样,不要写成子程序。

  #if(OSCID)%3==0//这里利用校准值来扰动,也可利用编译时的时间来扰动。

  把类似这样程序的条件编译语句放入关键程序,使程序代码浮动,避免解密者对比两样片的16进制代码来寻找不同的位置。

  由于编译后,产生的代码差异很大,这个措施可以对付反汇编代码比对来寻找有差别的位置。

  如果破解者能读出多个样片的汇编程序。他无法通过比对16进制或汇编后的代码来获得这些样片的差异。

  他只有仔细阅读汇编代码来解除加密的代码,对于一些特殊算法,他要搞清楚原理才能修改,否则可能埋下极大故障隐患。对于单步追踪,由于长时间程序并没触发,因此不能保证都能追踪得到,有些程序需要特定的条件才能激活,因此也不能保证一一追踪得到,这样要彻底破解,解密者只能在全部弄清楚设备的功能后,一一解除,一一烧录,一一测试。这样的工作量可能相当的大。

  对于类似CC1101这样的器件,寄存器既多又复杂,稍微错一个地方就可能引起莫名其妙的故障。

  本文提出的MRC加密技术不是不能破解,而是破解的代价很大,即使破解后用于产品中隐患也很大,有可能加密程序里含有自毁程序,在一定时间后才能发作,到时可能导致无法想象的损失,因此用户不要贪小便宜,应该购买具有自主知识产权的产品。

  通过多重MRC加密,可以大大打击盗版者和破解者的信心,达到为自主创新产品保驾护航的目的。

TAG标签: 单步追踪
版权声明:转载须经版权人书面授权并注明来源