
单片机解密失败的原因很多,有人为因素,也有客观环境因素的影响等等,下面是集中常见的造成单片机失败的原因:
1.DECAP存在失败的可能(这种占解密失败原因的绝大部分):
A.过腐蚀,PAD腐蚀坏,外部不能读出程序
B.芯片流片工艺不好,DECAP的时候容易腐蚀PASSVATION表层(钝化层),使管芯实效,外部无法读出程序
C.开盖的时候把PIN脚氧化(酸弄到管脚上了)
D.无意中弄断AL线
E.单片机机使用特殊封装材料,无法和酸反应
F.管芯特殊封装,不在芯片正中位置,极容易开坏(下图是MCU由2个管芯组成,通常称为MCM)
E:芯片封装的时候有杂质,无法进行化学反应。
2.FIB存在失败的可能:
A:芯片流片工艺小,位子没有找正确
B:FIB连线过长,离子注入失效
C:离子注入强度没有控制好
D:FIB设备存在问题
E:某些芯片破解,需要在同一小区域做多项FIB,或者在同一时间内,做多项FIB,那么就容易FIB出现问题。
目前芯片解密有两种方法,一种是以软件为主,称为非侵入型攻击,要借助一些软件,如类似编程器的自制设备,这种方法不破坏母片(解密后芯片处于不加密状态);还有一种是以硬件为主,辅助软件,称为侵入型攻击,这种方法需要剥开母片(开盖或叫开封,decapsulation),然后做电路修改(通常称FIB:focused ion beam),这种破坏芯片外形结构和芯片管芯线路只影响加密功能,不改变芯片本身功能。
(1)软件攻击
该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。软件攻击取得成功的一个典型事例是对早期ATMEL AT89C系列单片机的攻击。攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。
目前在其他加密方法的基础上,可以研究出一些设备,配合一定的软件,来做软件攻击。