• <noscript id="p5tpn"><progress id="p5tpn"></progress></noscript>
    <source id="p5tpn"></source>
      <source id="p5tpn"><dfn id="p5tpn"></dfn></source>

      1. <span id="p5tpn"><del id="p5tpn"></del></span>
      2. English中文

        132 6655 9319

         

        • ?聯(lián)系我們

        公司:深圳市欣創(chuàng)微科技有限公司

        地址:深圳市福田區(qū)中航路新亞洲一期2A180

        電話:132 6655 9319

        傳真:0755-82170875

        郵箱:[email protected]

         
        • 搜索
         

        怎樣破解芯片,芯片解密方法介紹

        更新時間:2020-05-26 09:15:09點(diǎn)擊:6513
        非侵入式攻擊破解芯片

        不需要對芯片進(jìn)行初始化,解密時時把芯片放在測試電路中分析。這種芯片解密方法容易操作,學(xué)習(xí)成本較低。但通常需要很多時間和精力來尋找對特定芯片的非侵入式攻擊破解方法,包括反匯編軟件和理解硬件版圖。

        非侵入式攻擊芯片解密包括被動和主動兩種方式。

        被動攻擊觀察它的信號和電磁輻射,如功耗分析和時鐘攻擊,不會對被攻擊芯片發(fā)生作用。

        主動攻擊有窮舉攻擊和噪聲攻擊,特點(diǎn)是將信號加到芯片上,用示波器或邏輯分析儀,捕捉所有信號。然后可以通過分析波形并回復(fù)獨(dú)有的命令。



        時序攻擊破解芯片

        時序攻擊屬于側(cè)信道攻擊/旁路攻擊,側(cè)信道攻擊是指利用信道外的信息,比如加解密的速度/加解密時芯片引腳的電壓/密文傳輸?shù)牧髁亢屯緩降冗M(jìn)行攻擊的方式,一個詞形容就是“旁敲側(cè)擊”。

        時序攻擊破解芯片包括執(zhí)行適時跳過需要的分支和操作條件;使用緩存;不固定時間處理指令如倍頻和分頻;還有大量的其他原因。

        解密飛思卡爾的68HC08微控制器的內(nèi)部存儲器載入模塊在輸入正確的八字節(jié)密碼后可以訪問內(nèi)部閃存。為達(dá)到正確和錯誤的密碼都處理相同的時間,程序中增加了額外的空操作指令。這對時序攻擊提供了很好的保護(hù)。一些微控制器有內(nèi)部阻容振蕩器,那樣處理器的工作頻率與電壓和芯片的溫度相關(guān)。這使得時序分析很困難,攻擊時需要穩(wěn)定元器件的溫度并減少電源線上的噪聲和電壓波動。一些智能卡有內(nèi)部隨機(jī)時鐘信號使得攻擊時測量時間延遲無效。



        窮舉攻擊破解芯片

        窮舉攻擊是對系統(tǒng)嘗試數(shù)量眾多的密鑰。通常是使用高速計算機(jī)來尋找匹配的密鑰。例如對MCU單片機(jī)中的密碼保護(hù)設(shè)置,密碼本身長度為32字節(jié)(256位),抵擋暴力攻擊已經(jīng)足夠了。但密碼分配在與處理器中斷矢量相同的存儲器地址。那么,首先減少存儲器內(nèi)矢量一直指向的區(qū)域。然后當(dāng)軟件被更新時,只有小部分的密碼被修改,因?yàn)榇蟛糠种袛嘧映绦蛑赶虻氖噶渴窍嗤牡刂?。芯片破解知道早前密碼中的一個,就很容易做系統(tǒng)的搜索,在合理的時間內(nèi)找到正確的密碼。窮舉攻擊也可用在ASIC或CPLD的芯片解密。使用所有可能的邏輯組合到元器件可能的輸入端并觀察所有輸出。

        窮舉攻擊破解芯片也稱為黑箱分析,因?yàn)槠平庹卟恢辣粶y試元器件的情況。通過所有可能的信號組合,嘗試獲得元器件的功能。這種破解方法對相對小的芯片很有效。

        另一個問題是破解者使用的ASIC或CPLD有觸發(fā)器,故輸出將可能是當(dāng)前狀態(tài)或輸入的狀態(tài)。但如果預(yù)先檢查并分析信號,搜索的范圍可以顯著減少。例如,時鐘輸入,數(shù)據(jù)總線和一些控制信號是很容易認(rèn)出的。

        窮舉攻擊破解芯片對很多半導(dǎo)體芯片有效,是將外部高壓信號(通常是兩倍于電源電壓)加到芯片引腳上,來試圖進(jìn)入工廠測試或編程模式。這些引腳用數(shù)字萬用表很容易發(fā)現(xiàn),因?yàn)樗鼈儧]有保護(hù)二極管到電源腳。一旦發(fā)現(xiàn)對高壓敏感的引腳,破解者就可以嘗試可能的邏輯信號組合來加到別的引腳上,找出用于進(jìn)入工廠測試或編程模式的部分。破解者也可用元器件的通信協(xié)議來找出設(shè)計者嵌入在軟件中的測試和更新用得隱藏功能。


        功耗分析破解芯片

        芯片運(yùn)行的功耗取決于它當(dāng)前的狀態(tài)。依照CMOS晶體管的原理,各部分動態(tài)時的功耗比靜態(tài)的要大。當(dāng)輸入電壓加到反向器上,會引起一個晶體管短路,這個晶體管電流的增加比靜態(tài)消耗的寄生漏電要大得多。在電源線上加個10-20歐的電阻,就可以測量電流的波動。為達(dá)到更好的效果,需要使用至少12位精度和50MHz采樣速度的模數(shù)轉(zhuǎn)換器。

        這些獲得的參數(shù)在解密芯片時可以用來區(qū)別芯片的不同指令并估計總線上同時翻轉(zhuǎn)的位數(shù)。通過平均多次重復(fù)同樣操作的電流,即使是沒有通過總線的很小信號也能區(qū)別開。有些信號如移位狀態(tài)特別有用,因?yàn)楹芏嗝艽a的密鑰產(chǎn)生算法使用移位操作來逐一移出單個密鑰倒進(jìn)位標(biāo)志。即使?fàn)顟B(tài)位的變化不能直接測量,它們通常會改變指令次序或微碼的執(zhí)行,這會導(dǎo)致功耗的明顯變化。

        不同指令導(dǎo)致不同級別的指令解碼和運(yùn)算單元的活動,可被清晰地區(qū)別開,故運(yùn)算部分能被推測出。處理器的不同單元在時鐘沿相關(guān)的不同時間里有獨(dú)有的開關(guān)狀態(tài),能被高頻儀器分離出來。

        有多種不同的功耗分析技術(shù)用在破解芯片算法上。整個分析過程是相對簡單的,只需要標(biāo)準(zhǔn)的現(xiàn)有的廉價儀器設(shè)備。功耗分析技術(shù)主要有兩種:簡單功耗分析和差分功耗分析。

        簡單功耗分析解密是在密碼或別的安全相關(guān)操作時直接觀察功耗,可以得知設(shè)備運(yùn)行時的信息如密鑰資料。如果破解者知道密碼算法,很容易通過觀察處理器指令次序,特別是移位條件轉(zhuǎn)移,找到一些位的信息。如果算法或邏輯運(yùn)算的結(jié)果很容易被看出,如進(jìn)位狀態(tài),零或負(fù)標(biāo)志,就可以獲得更多的信息。

        差分功耗分析解密是種更有效的技術(shù),因?yàn)槠平庹卟恍枰佬酒用芩惴ㄊ侨绾螆?zhí)行的。它使用靜態(tài)分析和已知密碼運(yùn)算的大量功耗跡線來獲取隱藏信息。用統(tǒng)計方法鑒別功耗的微小區(qū)別,可用來恢復(fù)密鑰中的單個的位信息。 功耗特性當(dāng)然包括噪聲部分。額外的噪聲可以通過減少獲取信號的探針長度并小心使用測量儀器來降低它。測量接在地線上的電阻的功耗有一些優(yōu)勢。首先,減少了噪聲電平。其次,可以用示波器的探頭直接測量信號,因?yàn)榇蟛糠痔结樥居泄驳牡鼐€與外部電源地相連。為了增加信噪比,可以通過提高平均采樣數(shù)來獲得。

        有源探頭能降低輸入電容,增加對輸入信號的帶寬。一種方法是用高速低噪聲的運(yùn)放來構(gòu)建相對簡單的探頭,另一種是用很短的同軸電纜直連到示波器的輸入端。在這些情況下,探頭的輸入電容顯著減少。


        噪聲攻擊破解芯片

        噪聲攻擊是快速改變輸入到芯片的信號,以影響它的正常運(yùn)行。通常噪聲是疊加在電源上或時鐘信號上,但噪聲也可以是外加的短暫電場或電磁脈沖。在離芯片表面數(shù)百微米處放置兩根金屬針,然后加上少于1微秒的數(shù)百伏電壓的窄脈沖,晶圓襯底會感應(yīng)出一個電場,使得鄰近晶體管的閾值電壓發(fā)生變化。最近出現(xiàn)一種改進(jìn)的方法:使用幾百圈金屬線繞在微探針的針尖構(gòu)成一個小型電感。當(dāng)電流進(jìn)入線圈會產(chǎn)生磁場,針尖將集中磁力線。

        單片機(jī)的每個晶體管和與它相連的線路構(gòu)成有時延特性的RC電路。處理器的最大可用時鐘頻率取決于該電路的最大延遲。同樣的,每個觸發(fā)器在接收輸入電壓和由此引致的輸出電壓之間有個特征時間窗口。這個窗口由給定的電壓和溫度來確定。如果用時鐘噪聲(比正常的時鐘脈沖要短得多)或電源噪聲(電源電壓的快速波動)將會影響芯片里的某些晶體管,導(dǎo)致一個或多個觸發(fā)器進(jìn)入錯誤狀態(tài)。通過改變參數(shù),處理器會被導(dǎo)致執(zhí)行許多完全不同的錯誤指令,有時甚至是不被微碼支持的。盡管我們不會預(yù)先知道何種噪聲會導(dǎo)致何種芯片的何種錯誤,但它能相當(dāng)簡單地進(jìn)行系統(tǒng)的搜索。

        1、時鐘噪聲攻擊

        時鐘信號的噪聲攻擊在目前是最簡單的,且相當(dāng)實(shí)用的芯片解密方法。實(shí)際應(yīng)用中的噪聲通常用來取代跳轉(zhuǎn)條件并試驗(yàn)先前的測試指令??梢栽诎踩艽a問詢處理時創(chuàng)建一個攻擊窗口,簡單預(yù)防執(zhí)行這些指令。指令噪聲也能用來擴(kuò)大循環(huán)的時間。如串口子程序在輸出緩沖后再讀更多的內(nèi)容;或在密鑰操作時減少循環(huán)次數(shù)來傳一個弱的密碼。

        為獲得噪聲,時鐘需要臨時增加一個或大于半個周期,有些觸發(fā)器在到達(dá)新狀態(tài)之前就獲得輸入。時鐘噪聲通常針對處理器的指令流。對硬件執(zhí)行安全保護(hù)的微控制器沒有什么效果。實(shí)際中,僅使用時鐘噪聲來攻擊微控制器或智能卡的軟件程序接口。

        這類保護(hù)的破解是相對容易的。如處理器在循環(huán)里只執(zhí)行一個指令,攻擊時可用不同的時鐘噪聲導(dǎo)致處理器誤操作。不需要小心地與時鐘信號同步,只需要隨機(jī)制造噪聲就可在數(shù)次攻擊內(nèi)成功。插入噪聲是相對容易的,無需使用外部發(fā)生器,瞬間短路晶振即可。當(dāng)諧振器在不同的泛音上產(chǎn)生震蕩會發(fā)出很多噪聲。大部分情況下需要在確定的時鐘周期內(nèi)獲得所需結(jié)果,在這種情況下用信號發(fā)生器更好。

        使用時鐘噪聲來攻擊某些微控制器也許是很困難的。例如德儀的MPS430微控制器在內(nèi)部RC震蕩器工作的啟動模塊。很難與內(nèi)部時鐘同步,攻擊時很難估計精確的時間。一些智能卡在處理器指令流里會隨機(jī)插入延遲,使得攻擊更為困難。使用功耗分析會有幫助,但要求非常昂貴的設(shè)備來實(shí)時獲得參考信號。

        2、電源噪聲攻擊

        電源供應(yīng)電壓的波動會導(dǎo)致晶體管閾值電平的漂移。結(jié)果就是一些觸發(fā)器在不同的時間里采樣它們的輸入,或讀出錯誤的安全熔絲的狀態(tài)。通常用瞬間增加電源電壓或電壓跌落來制造噪聲,一般在10個時鐘周期內(nèi)。電源噪聲通常用在微控制器的程序接口上,能影響處理器運(yùn)行或硬件安全電路。一般地,弱點(diǎn)比時鐘噪聲更難找到并利用,因?yàn)閷τ跁r域參數(shù),振幅,上升/下降時間都是變量。

        一個例子是上例提到的攻擊MC68C05B6.如果在執(zhí)行AND $0100指令時電源電壓減少50-70%,處理器從EEPROM中取出的值是FFh而不是實(shí)際的值。這會對應(yīng)熔絲未加密狀態(tài)。竅門是小心計算執(zhí)行時間來減少電源電壓,否則處理器會停止運(yùn)行或進(jìn)入復(fù)位狀態(tài)。這種任務(wù)并不難,復(fù)位后目標(biāo)指令在第一個一百周期內(nèi)被執(zhí)行。破解者可以使用矢量發(fā)生器或構(gòu)建一個自己的噪聲源。

        另一個是微芯的老舊的PIC16F84。芯片的擦除操作會解除安全保護(hù)。但同時會芯片上程序和數(shù)據(jù)存儲器中的內(nèi)容。安全保護(hù)電路在硬件設(shè)計上是在安全熔絲復(fù)位之前擦掉存儲器。但我們發(fā)現(xiàn)在芯片擦除操作時電源電壓幾微秒內(nèi)增加到大約10V,會中斷存儲器擦除操作,但安全熔絲正常完成復(fù)位,這使得有可能讀出存儲器里的內(nèi)容。如此高壓需要謹(jǐn)慎使用,如果時間過長會損傷芯片。新版本的PIC16F84A增加了防欠壓和過壓攻擊的能力。如果電源電壓低于3V或6V,通過編程接口的任意修改存儲器的操作會被立即中斷。

        不是一直需要電源噪聲超過電源電壓范圍的規(guī)格。例如,PIC18F84A微控制器,保護(hù)機(jī)制可以阻止在芯片擦除操作開始后使用大于50mV的噪聲。那會導(dǎo)致中止程序存儲器的擦除操作但不會擦掉熔絲。

        上述例子表明噪聲攻擊時無需特殊工具就有很好的效果。智能卡里有時鐘監(jiān)控電路但極少微控制器有。



        數(shù)據(jù)保持能力分析破解芯片

        芯片密鑰存儲于靜態(tài)RAM里,在破解某些芯片時RAM內(nèi)容丟失,從而保護(hù)密鑰不被竊取。很多芯片使用密鑰或類似的方法進(jìn)行加密和別的安全相關(guān)的計算,需要不能被讀出或改變。最普遍的解決方法是把安全密鑰放在帶篡改傳感器的易失存儲器中。一旦檢測到發(fā)生篡改,易失傳感器會掉電或短路到地。但如果數(shù)據(jù)保留時間大于破解者打開元器件并對存儲器上電的時間,那保護(hù)機(jī)制就被摧毀了。

        在早期芯片解密者發(fā)現(xiàn)低溫能將SRAM的數(shù)據(jù)保存時間增加到幾秒甚至幾分鐘。對于那個時候的元器件,發(fā)現(xiàn)零下20度就可以增加數(shù)據(jù)保存時間,并且會隨著溫度的降低而增加保持的時間。有些就增加了溫度傳感器,溫度低于零下20度就觸發(fā)篡改事件,立即清零存儲器。本次試驗(yàn)是重復(fù)這個工作,察看2000年后的產(chǎn)品是否也有此特性。

        另一個需要關(guān)注的是即使部分內(nèi)容已被破壞,安全信息也能被復(fù)原。假設(shè)破解者獲得了n=128位密鑰中的m=115位,也就是90%的信息。他可以通過搜索n!/(m!(n-m)!=128!/(115!13!)=2.12*1017~258個可能的密鑰。通過1萬臺電腦,每臺每秒進(jìn)行10億次搜索密鑰的操作,破解者只需6個小時就能搜遍所有密鑰。如果只有80%的信息,也就是知道128位密鑰中的103位,那就有2.51*1026~288種可能。幾乎增大了一百倍,破解者要花百萬年來搜索密鑰,故認(rèn)為均勻的128位密鑰不能被恢復(fù)。



        軟件攻擊破解芯片

        軟件攻擊是使用處理器通信接口,利用協(xié)議、加密算法或這些算法中的安全漏洞來進(jìn)行攻擊的。軟件攻擊取得成功的一個典型事例是對早期ATMEL AT89C 系列單片機(jī)的攻擊。攻擊者利用了該系列單片機(jī)擦除操作時序設(shè)計上的漏洞,使用自編程序在擦除加密鎖定位后,停止下一步擦除片內(nèi)程序存儲器數(shù)據(jù)的操作,從而使加過密的單片機(jī)變成沒加密的單片機(jī),然后利用編程器讀出片內(nèi)程序。目前在其他加密方法的基礎(chǔ)上,可以研究出一些設(shè)備,配合一定的軟件,來做軟件攻擊。




        過錯產(chǎn)生技術(shù)破解芯片

        該技術(shù)使用異常工作條件來使處理器出錯,然后提供額外的訪問來進(jìn)行攻擊。使用最廣泛的要數(shù)電壓沖擊和時鐘沖擊,低電壓和高電壓攻擊可用來禁止保護(hù)電路工作或強(qiáng)制處理器執(zhí)行錯誤操作,而時鐘瞬態(tài)跳變會復(fù)位保護(hù)電路同時不破壞受保護(hù)信息,電源和時鐘瞬態(tài)跳變可以在某些處理器中影響單條指令的解碼和執(zhí)行。



        探針技術(shù)破解芯片

        該技術(shù)是直接暴露芯片內(nèi)部連線,然后觀察、操控、干擾單片機(jī)以達(dá)到攻擊目的。該技術(shù)通常以高時間分辨率來監(jiān)控處理器在正常操作時所有電源和接口連接的模擬特性,并通過監(jiān)控它的電磁輻射特性來實(shí)施攻擊。因?yàn)閱纹瑱C(jī)是一個活動的電子器件,當(dāng)它執(zhí)行不同的指令時,對應(yīng)的電源功率消耗也相應(yīng)變化。這樣通過使用特殊的電子測量儀器和數(shù)學(xué)統(tǒng)計方法分析和檢測這些變化,即可獲取單片機(jī)中的特定關(guān)鍵信息。

        以上芯片解密技術(shù)可以分成兩大類,一類是侵入型攻擊需要破壞封裝,然后借助半導(dǎo)體測試設(shè)備、顯微鏡和微定位器,在專門的實(shí)驗(yàn)室花上幾小時甚至幾周時間才能完成,所有的微探針技術(shù)都屬于侵入型攻擊;類是非侵入型攻擊,被攻擊的單片機(jī)不會被物理損壞。



        芯片破解常見品牌
        Atmel Feeling Freescale Fujitsu Hitachi

        Holtek Hynix Infineon Intel Lattice

        Macronix Maxim Microchip Mitsubishi Motorola

        Myson NEC NTK Nuvoton NXP

        Philips Rohm Renesas Samsung Silicon

        SST ST STC Syncmos TI

        PIC 51 AVR CPLD Winbond
      3. <noscript id="p5tpn"><progress id="p5tpn"></progress></noscript>
        <source id="p5tpn"></source>
          <source id="p5tpn"><dfn id="p5tpn"></dfn></source>

          1. <span id="p5tpn"><del id="p5tpn"></del></span>
          2. www.艹艹艹 | 国产妓女AV | 黄片小视频插插插 | 国产精品7777 | 91人妻爽爽 | 国产三级国产经典 | 国产伦子伦视频在线观看 | 中文天堂在线播放 | 91人人澡人人爽人人看 | 日本三级又黄又粗又爽 |