單片機解密失敗的原因很多,有人為因素,也有客觀環(huán)境因素的影響等等,下面是集中常見的造成單片機失敗的原因:
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:某些芯片破解,需要在同一小區(qū)域做多項FIB,或者在同一時間內,做多項FIB,那么就容易FIB出現(xiàn)問題。
目前芯片解密有兩種方法,一種是以軟件為主,稱為非侵入型攻擊,要借助一些軟件,如類似編程器的自制設備,這種方法不破壞母片(解密后芯片處于不加密狀態(tài));還有一種是以硬件為主,輔助軟件,稱為侵入型攻擊,這種方法需要剝開母片(開蓋或叫開封,decapsulation),然后做電路修改(通常稱FIB:focused ion beam),這種破壞芯片外形結構和芯片管芯線路只影響加密功能,不改變芯片本身功能。
(1)軟件攻擊
該技術通常使用處理器通信接口并利用協(xié)議、加密算法或這些算法中的安全漏洞來進行攻擊。軟件攻擊取得成功的一個典型事例是對早期ATMEL AT89C系列單片機的攻擊。攻擊者利用了該系列單片機擦除操作時序設計上的漏洞,使用自編程序在擦除加密鎖定位后,停止下一步擦除片內程序存儲器數(shù)據(jù)的操作,從而使加過密的單片機變成沒加密的單片機,然后利用編程器讀出片內程序。
目前在其他加密方法的基礎上,可以研究出一些設備,配合一定的軟件,來做軟件攻擊。