什么是單片機解密
單片機解密又叫芯片解密,單片機破解,芯片破解,IC解密,但是這嚴格說來這幾種稱呼都不科學,但已經成了習慣叫法,我們把CPLD解密,DSP解密都習慣稱為單片機解密。
單片機(MCU)一般都有內部EEPROM/FLASH供用戶存放程序和工作數據。什么叫單片機解密呢?如果要非法讀出里的程式,就必需解開這個密碼才能讀出來,這個過程通常稱為單片機解密或芯片加密。為了防止未經授權訪問或拷貝單片機的機內程序,大部分單片機都帶有加密鎖定位或者加密字節(jié),以保護片內程序;如果在編程時加密鎖定位被使能(鎖定),就無法用普通編程器直接讀取單片機內的程序,單片機攻擊者借助專用設備或者自制設備,利用單片機芯片設計上的漏洞或軟件缺陷,通過多種技術手段,就可以從芯片中提取關鍵信息,獲取單片機內程序這就叫單片機解密。大部分單片機程式寫進單片機后,工程師們?yōu)榱朔乐顾朔欠ūI用(侵權),所以給加密,以防他人讀出里面的程式。
AT89C51單片機解密原理
單片機解密簡單就是擦除單片機片內的加密鎖定位。由于AT89C系列單片機擦除操作時序設計上的不合理。使在擦除片內程序之前首先擦除加密鎖定位成為可能。
AT89C系列單片機擦除操作的時序為:擦除開始----》擦除操作硬件初始化(10微秒)----》擦除加密鎖定位(50----200微秒)---》擦除片內程序存儲器內的數據(10毫秒)-----》擦除結束。如果用程序監(jiān)控擦除過程,一旦加密鎖定位被擦除就終止擦除操作,停止進一步擦除片內程序存儲器,加過密的單片機就變成沒加密的單片機了。片內程序可通過總線被讀出。
對于AT89C系列單片機有兩種不可破解的加密方法。
一、永久性地破壞單片機的加密位的加密方法。簡稱OTP加密模式。
二、永久性地破壞單片機的數據總線的加密方法。簡稱燒總線加密模式。AT89C系列單片機OTP加密模式原理這種編程加密算法燒壞加密鎖定位(把芯片內的硅片擊穿),面不破壞其它部分,不占用單片機任何資源。加密鎖定位被燒壞后不再具有擦除特性,89C51/52/55有3個加密位進一步增加了加密的可靠性。一旦用OTP模式加密后,單片機片內的加密位和程序存儲器內的數據就不能被再次擦除,89C51/52/55單片機就好象變成了一次性編程的OTP型單片機一樣。
如果用戶程序長度大于89C51單片機片內存儲器的容量,也可使用OPT模式做加密,
具體方法如下:
1、按常規(guī)擴展一片大容量程序存儲器,如27C512(64K)。
2、把關鍵的程序部分安排在程序的前4K中。
3、把整個程序寫入27C512,再把27C512的前4K填充為0。
4、把程序的前4K固化到AT89C51中,用OPT模式做加密。
5、把單片機的EA腳接高電平。這樣程序的前4K在單片機內部運行,后60K在片外運行。盜版者無法讀出程序的前4K程序,即使知道后60K也無濟于事。
AT89C系列單片機煉總線加密模式原理因為單片機片內的程序代碼最終都要通過數據總線讀出,如果指導單片機的數據總線的其中一條線永久性地破壞,解密者即使擦除了加密位,也無法讀出片內的程序的正確代碼。89C1051/2051的數據總線為P1口燒總線模式燒壞89C2051的P1.0端口,原程序代碼為02H、01H、00H。讀出的數據則為03H,01H,00H。其中最低位始終為1,讀出的程序代碼顯然為錯碼。這種加密模式用于加密89C1051/2051單片機。缺點是占用單片機的資源。開發(fā)設計人員在設計單片機硬件系統(tǒng)時只要預留出口線P1.0不用,以后就可用燒總線模式對單片機加密。
單片機解密方法
目前芯片解密有兩種方法,一種是以軟件為主,稱為非侵入型攻擊,要借助一些軟件,如類似編程器的自制設備,這種方法不破壞母片(解密后芯片處于不加密狀態(tài));還有一種是以硬件為主,輔助軟件,稱為侵入型攻擊,這種方法需要剝開母片(開蓋或叫開封,decapsulation),然后做電路修改(通常稱FIB:focused ion beam),這種破壞芯片外形結構和芯片管芯線路只影響加密功能,不改變芯片本身功能。
侵入型攻擊的第一步是揭去芯片封裝(簡稱“開蓋”有時候稱“開封”,英文為“DECAP”,decapsulation)。有兩種方法可以達到這一目的:第一種是完全溶解掉芯片封裝,暴露金屬連線。第二種是只移掉硅核上面的塑料封裝。第一種方法需要將芯片綁定到測試夾具上,借助綁定臺來操作。
目前單片機解密方法主要如下:
(1)軟件攻擊
該技術通常使用處理器通信接口并利用協(xié)議、加密算法或這些算法中的安全漏洞來進行攻擊。軟件攻擊取得成功的一個典型事例是對早期AT89CATMEL系列單片機的攻擊。攻擊者利用了該系列單片機擦除操作時序設計上的漏洞,使用自編程序在擦除加密鎖定位后,停止下一步擦除片內程序存儲器數據的操作,從而使加過密的單片機變成沒加密的單片機,然后利用編程器讀出片內程序。目前在其他加密方法的基礎上,可以研究出一些設備,配合一定的軟件,來做軟件攻擊。近期國內出現(xiàn)了了一種51單片機解密設備(成都一位高手搞出來的),這種解密器主要針對SyncMosWinbond,在生產工藝上的漏洞,利用某些編程器定位插字節(jié),通過一定的方法查找芯片中是否有連續(xù)空位,也就是說查找芯片中連續(xù)的FF FF字節(jié),插入的字節(jié)能夠執(zhí)行把片內的程序送到片外的指令,然后用解密的設備進行截獲,這樣芯片內部的程序就被解密完成了。
(2) 電子探測攻擊
該技術通常以高時間分辨率來監(jiān)控處理器在正常操作時所有電源和接口連接的模擬特性,并通過監(jiān)控它的電磁輻射特性來實施攻擊。因為單片機是一個活動的電子器件,當它執(zhí)行不同的指令時,對應的電源功率消耗也相應變化。這樣通過使用特殊的電子測量儀器和數學統(tǒng)計方法分析和檢測這些變化,即可獲取單片機中的特定關鍵信息。目前RF編程器可以直接讀出老的型號的加密MCU中的程序,就是采用這個原理。
(3)過錯產生技術
該技術使用異常工作條件來使處理器出錯,然后提供額外的訪問來進行攻擊。使用最廣泛的過錯產生攻擊手段包括電壓沖擊和時鐘沖擊。低電壓和高電壓攻擊可用來禁止保護電路工作或強制處理器執(zhí)行錯誤操作。時鐘瞬態(tài)跳變也許會復位保護電路而不會破壞受保護信息。電源和時鐘瞬態(tài)跳變可以在某些處理器中影響單條指令的解碼和執(zhí)行。
(4)探針技術
該技術是直接暴露芯片內部連線,然后觀察、操控、干擾單片機以達到攻擊目的。為了方便起見,人們將以上四種攻擊技術分成兩類,一類是侵入型攻擊(物理攻擊),這類攻擊需要破壞封裝,然后借助半導體測試設備、顯微鏡和微定位器,在專門的實驗室花上幾小時甚至幾周時間才能完成。所有的微探針技術都屬于侵入型攻擊。另外三種方法屬于非侵入型攻擊,被攻擊的單片機不會被物理損壞。在某些場合非侵入型攻擊是特別危險的,這是因為非侵入型攻擊所需設備通常可以自制和升級,因此非常廉價。大部分非侵入型攻擊需要攻擊者具備良好的處理器知識和軟件知識。與之相反,侵入型的探針攻擊則不需要太多的初始知識,而且通常可用一整套相似的技術對付寬范圍的產品。因此,對單片機的攻擊往往從侵入型的反向工程開始,積累的經驗有助于開發(fā)更加廉價和快速的非侵入型攻擊技術。
-
單片機
+關注
關注
6032文章
44525瀏覽量
633249 -
AT89C51
+關注
關注
27文章
543瀏覽量
81088 -
單片機解密
+關注
關注
1文章
18瀏覽量
2257
發(fā)布評論請先 登錄
相關推薦
評論