單片機(jī)常見(jiàn)加密方法有哪些?如何對(duì)單片機(jī)進(jìn)行解密?
單片機(jī)可以說(shuō)是一個(gè)小型計(jì)算機(jī),通過(guò)單片機(jī),可以開(kāi)發(fā)出來(lái)很多有意思的東西。為增進(jìn)大家對(duì)單片機(jī)的認(rèn)識(shí),本文將對(duì)單片機(jī)的常見(jiàn)加密方法以及單片機(jī)解密方法予以介紹。如果你對(duì)單片機(jī)具有興趣,不妨和小編一起繼續(xù)往下閱讀哦。
一、單片機(jī)常見(jiàn)加密方法
1、程序?qū)懕Wo(hù)
這種方法是最常見(jiàn),也是最簡(jiǎn)單的一種?,F(xiàn)在的MCU基本都有寫保護(hù)功能,但是這種容易被人破解。
2、燒斷數(shù)據(jù)總線
這個(gè)方法聽(tīng)起來(lái)不錯(cuò),但有損壞的風(fēng)險(xiǎn),同樣也能破解。
3、軟件加密
是一些防止別人讀懂程序的方法,單一的這種方法不能防止別人全盤復(fù)制,須配合其他的加密算法。
4、添加外部硬件電路的加密方法
這個(gè)方法效果看起來(lái)比較好,但會(huì)增加成本。
5、芯片打磨改型
這個(gè)方法改了型號(hào)能誤導(dǎo),但同時(shí)也增加成本,解密者一般也能分析出來(lái)。
6、通過(guò)通過(guò)聯(lián)網(wǎng)加序列號(hào)加密
通過(guò)連接網(wǎng)絡(luò),在你的MCU中生成一個(gè)唯一的隨機(jī)長(zhǎng)序列號(hào),并加入復(fù)雜的特種算法,或加入你們重新編碼的企業(yè)信息在里面,每個(gè)芯片內(nèi)不同,復(fù)制者只能復(fù)制到一個(gè)序列號(hào)。
7、通過(guò)MCU唯一的標(biāo)識(shí)加密
以前很多MCU沒(méi)有唯一標(biāo)識(shí)碼,現(xiàn)在的很多MCU都具有唯一標(biāo)識(shí)碼了。
這個(gè)方法比較好,簡(jiǎn)單省事,能很好的防止復(fù)制。
8、讀保護(hù) + 唯一ID加密
使用讀保護(hù)+唯一ID的加密是最常用的一種方法,也是推薦大家使用的一種方法。
現(xiàn)在正規(guī)的芯片,每顆出廠的時(shí)候都帶了一個(gè)唯一標(biāo)識(shí)碼,這個(gè)號(hào)碼是唯一不重復(fù)的,比如STM32的就使用96位作為唯一ID。 和我們每個(gè)人的身份證號(hào)碼一樣,現(xiàn)在剛出生的嬰兒,上戶的時(shí)候就給他一個(gè)身份證號(hào),那么每個(gè)芯片一生產(chǎn)出來(lái),也就具備了這個(gè)身份證號(hào)。 讀保護(hù)就不用說(shuō)了,增加被破解難度。 使用唯一ID加密的方法很多,這里說(shuō)一種簡(jiǎn)單的方法:出廠時(shí)程序讀取唯一ID并保存在一個(gè)位置,以后程序執(zhí)行之前,要讀取并匹配這個(gè)唯一ID,一致才執(zhí)行程序。 當(dāng)然,這種方法是最基礎(chǔ)的原理,但也存在被破解的風(fēng)險(xiǎn)。所以,存儲(chǔ)的數(shù)據(jù),以及讀取驗(yàn)證這兩個(gè)地方需要進(jìn)一步添加一些算法。 這樣操作之后,即使別人讀取了你的程序,也是無(wú)法正常執(zhí)行。
二、單片機(jī)解密方法
1、軟件攻擊
該技術(shù)通常使用處理器通信接口并利用協(xié)議、加密算法或這些算法中的安全漏洞來(lái)進(jìn)行攻擊。
比如一個(gè)典型事例是對(duì)早期XXX系列單片機(jī)的攻擊。攻擊者利用了該系列單片機(jī)擦除操作時(shí)序設(shè)計(jì)上的漏洞,使用自編程序在擦除加密鎖定位后,停止下一步擦除片內(nèi)程序存儲(chǔ)器數(shù)據(jù)的操作,從而使加過(guò)密的單片機(jī)變成沒(méi)加密的單片機(jī),然后利用編程器讀出片內(nèi)程序。
目前在其他加密方法的基礎(chǔ)上,可以研究出一些設(shè)備,配合一定的軟件,來(lái)做軟件解密。
還有比如利用某些編程器定位插字節(jié),通過(guò)一定的方法查找芯片中是否有連續(xù)空位,也就是說(shuō)查找芯片中連續(xù)的FFFF字節(jié),插入的字節(jié)能夠執(zhí)行把片內(nèi)的程序送到片外的指令,然后用解密的設(shè)備進(jìn)行截獲,這樣芯片內(nèi)部的程序就被解密完成了。
2、電子探測(cè)攻擊
該技術(shù)通常以高時(shí)間分辨率來(lái)監(jiān)控處理器在正常操作時(shí)所有電源和接口連接的模擬特性,并通過(guò)監(jiān)控它的電磁輻射特性來(lái)實(shí)施攻擊。
因?yàn)閱纹瑱C(jī)是一個(gè)活動(dòng)的電子器件,當(dāng)它執(zhí)行不同的指令時(shí),對(duì)應(yīng)的電源功率消耗也相應(yīng)變化。這樣通過(guò)使用特殊的電子測(cè)量?jī)x器和數(shù)學(xué)統(tǒng)計(jì)方法分析和檢測(cè)這些變化,即可獲取單片機(jī)中的特定關(guān)鍵信息。
3、 過(guò)錯(cuò)產(chǎn)生技術(shù)
該技術(shù)使用異常工作條件來(lái)使處理器出錯(cuò),然后提供額外的訪問(wèn)來(lái)進(jìn)行攻擊。使用最廣泛的過(guò)錯(cuò)產(chǎn)生攻擊手段包括電壓沖擊和時(shí)鐘沖擊。
低電壓和高電壓攻擊可用來(lái)禁止保護(hù)電路工作或強(qiáng)制處理器執(zhí)行錯(cuò)誤操作。時(shí)鐘瞬態(tài)跳變也許會(huì)復(fù)位保護(hù)電路而不會(huì)破壞受保護(hù)信息。電源和時(shí)鐘瞬態(tài)跳變可以在某些處理器中影響單條指令的解碼和執(zhí)行。
4、探針技術(shù)
該技術(shù)是直接暴露芯片內(nèi)部連線,然后觀察、操控、干擾單片機(jī)以達(dá)到攻擊目的。
(PS:芯片內(nèi)部都完全暴露了,芯片正在瑟瑟發(fā)抖!)
5、單片機(jī)解密分類
為了方便起見(jiàn),人們將以上四種攻擊技術(shù)分成兩類,一類是侵入型攻擊(物理攻擊),這類攻擊需要 破壞封裝,然后借助半導(dǎo)體測(cè)試設(shè)備、顯微鏡和微定位器,在專門的實(shí)驗(yàn)室花上幾小時(shí)甚至幾周時(shí)間才能完成。
所有的微探針技術(shù)都屬于侵入型攻擊。另外三種方法屬于非侵入型攻擊,被攻擊的單片機(jī)不會(huì)被物理?yè)p壞。在某些場(chǎng)合非侵入型攻擊是特別危險(xiǎn)的,這是因?yàn)榉乔秩胄凸羲柙O(shè)備通??梢宰灾坪蜕?jí),因此非常廉價(jià)。
大部分非侵入型攻擊需要攻擊者具備良好的處理器知識(shí)和軟件知識(shí)。與之相反,侵入型的探針攻擊則不需要太多的初始知識(shí),而且通常可用一整套相似的技術(shù)對(duì)付寬范圍的產(chǎn)品。
因此,對(duì)單片機(jī)的攻擊往往從侵入型的反向工程開(kāi)始,積累的經(jīng)驗(yàn)有助于開(kāi)發(fā)更加廉價(jià) 和快速的非侵入型攻擊技術(shù)。
以上便是小編此次帶來(lái)的有關(guān)單片機(jī)的全部?jī)?nèi)容,十分感謝大家的耐心閱讀,想要了解更多相關(guān)內(nèi)容,或者更多精彩內(nèi)容,請(qǐng)一定關(guān)注我們網(wǎng)站哦。