• <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]

         
        • 搜索
         

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

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

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

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

        被動(dòng)攻擊觀察它的信號(hào)和電磁輻射,如功耗分析和時(shí)鐘攻擊,不會(huì)對(duì)被攻擊芯片發(fā)生作用。

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



        時(shí)序攻擊破解芯片

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

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

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



        窮舉攻擊破解芯片

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

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

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

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


        功耗分析破解芯片

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

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

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

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

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

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

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


        噪聲攻擊破解芯片

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

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

        1、時(shí)鐘噪聲攻擊

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

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

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

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

        2、電源噪聲攻擊

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

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

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

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

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



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

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

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

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



        軟件攻擊破解芯片

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




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

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



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

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

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



        芯片破解常見品牌
        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. 国产日皮视频 | 日B干B | 日日操日日插 | 成人免费视频免费看 | 伊人伊人 | 免费观看的日韩黄视频 | 久久伊人青青 | 日韩激情视频在线观看 | 午夜成人精品一区二三区免费看 | 天天操B网|