当前位置:首页 > 技术理论   

单片机解密常用方法及对策

发布时间:2009-09-09 16:25:58  来源:本站整理


  还有一种可能的攻击手段是借助显微镜和激光切割机等设备来寻找保护熔丝,从而寻查和这部分电路相联系的所有信号线。由于设计有缺陷,因此,只要切断从保护熔丝到其它电路的某一根信号线(或切割掉整个加密电路)或连接1~3根金线(通常称FIB:focused ion beam),就能禁止整个保护功能,这样,使用简单的编程器就能直接读出程序存储器的内容。
  虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但由于通用低档的单片机并非定位于制作安全类产品,因此,它们往往没有提供有针对性的防范措施且安全级别较低。加上单片机应用场合广泛,销售量大,厂商间委托加工与技术转让频繁,大量技术资料外泻,使得利用该类芯片的设计漏洞和厂商的测试接口,并通过修改熔丝保护位等侵入型攻击或非侵入型攻击手段来读取单片机的内部程序变得比较容易。
  3.应对单片机破解的几点建议
  任何一款单片机从理论上讲,攻击者均可利用足够的投资和时间使用以上方法来攻破。所以,在用单片机做加密认证或设计系统时,应尽量加大攻击者的攻击成本和所耗费的时间。这是系统设计者应该始终牢记的基本原则。除此之外,还应注意以下几点:
  (1)在选定加密芯片前,要充分调研,了解单片机破解技术的新进展,包括哪些单片机是已经确认可以破解的。尽量不选用已可破解或同系列、同型号的芯片选择采用新工艺、新结构、上市时间较短的单片机,如可以使用ATMEGA88/ATMEGA88V,这种国内目前破解的费用一需1要万元左右;其他也可以和CPLD结合加密,这样解密费用很高,解密一般的CPLD也要1万左右。
  (2)尽量不要选用MCS51系列单片机,因为该单片机在国内的普及程度最高,被研究得也最透。
  (3)产品的原创者,一般具有产量大的特点,所以可选用比较生僻、偏冷门的单片机来加大仿冒者采购的难度,选用一些生僻的单片机,比如motorola单片机,目前国内会开发使用熟悉motorola单片机的人很少,所以破解的费用也相当高,从8000~3万左右。
  (4)在设计成本许可的条件下,应选用具有硬件自毁功能的智能卡芯片,以有效对付物理攻击;另外程序设计的时候,加入时间到计时功能,比如使用到1年,自动停止所有功能的运行,这样会增加破解者的成本。
  (5)如果条件许可,可采用两片不同型号单片机互为备份,相互验证,从而增加破解成本。
  (6)打磨掉芯片型号等信息或者重新印上其它的型号,以假乱真。
  (7)可以利用单片机未公开,未被利用的标志位或单元,作为软件标志位。
  (8)利用MCS-51中A5指令加密,其实世界上所有资料,包括英文资料都没有讲这条指令,其实这是很好的加密指令,A5功能是二字节空操作指令加密方法在A5后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5指令,造成正常程序反汇编乱套,执行程序无问题仿制者就不能改变你的源程序。
  (9)应在程序区写上你的大名单位开发时间及仿制必究的说法,以备获得法律保护;另外写上你的大名的时候,可以是随机的,也就是说,采用某种算法,外部不同条件下,你的名字不同,比如husoon1011、jisppm1012等,这样比较难反汇编修改。
  (10)采用高档的编程器,烧断内部的部分管脚,具体如何烧断,可以参考:单片机管脚烧断的方法和破解。
  (11)采用保密硅胶(环氧树脂灌封胶)封住整个电路板,PCB上多一些没有用途的焊盘,在硅胶中还可以掺杂一些没有用途的元件,同时把MCU周围电路的电子元件尽量抹掉型号。
  (12)对SyncMos,Winbond单片机,将把要烧录的文件转成HEX文件,这样烧录到芯片内部的程序空位自动添00,如果你习惯BIN文件,也可以用编程器把空白区域中的FF改成00,这样一般解密器也就找不到芯片中的空位,也就无法执行以后的解密操作。

上一页  [1] [2] [3] 


网站首页-龙人概况-企业文化-服务与承诺-人才与使命-联系我们
@龙人计算机系统工程有限公司 版权所有 严禁转载 建议1024*768,IE浏览器6.0以上为最佳浏览模式  粤ICP备0428956号  关键词:

PCB抄板

|

芯片解密