芯片程序開(kāi)發

讀取加密芯片程序

傳統的從智能卡中讀出數(shù)據的采用機械探測攻擊入侵,就是入侵芯片處理(lǐ)器(qì)的總線部份,這些(xiē)攻擊手段包括物理(lǐ)1:1還(hái)原芯片程序和(hé)直接使用微探針直接讀取內(nèi)部程序,當然,這就是解密手段難度加大(dà)的原因,比如說芯片的大(dà)小(xiǎo),存儲器(qì)的硬件訪問控制(zhì)電(diàn)路越來(lái)越複雜。

半侵入式攻擊方式已經是我們研究經常使用的手段了,半侵入式攻擊的話(huà)芯片還(hái)是保持原來(lái)的狀态,沒有(yǒu)直接的電(diàn)接觸,芯片仍然是完好無損的,這樣的攻擊例子包括光學探測,用激光誘導瞬态故障在一個(gè)或多(duō)個(gè)門(mén)導緻的信息洩漏;渦流電(diàn)的攻擊,其中一個(gè)類似的效果是通(tōng)過使一個(gè)小(xiǎo)線圈接近芯片的表面,并誘導一個(gè)大(dà)的瞬态磁場(chǎng)。

用半入侵式方法将存儲器(qì)的程序讀取出來(lái)并保持存儲器(qì)是一個(gè)無損的狀态是否是一種順理(lǐ)成章的方式?在我們看來(lái),答(dá)案是肯定的,我們将在COMS RAM中來(lái)講述這個(gè)技(jì)術(shù),但(dàn)是他們的應用是更為(wèi)廣泛的。

{C}2、{C}{C}光學讀取CMOS RAM

 

一個(gè)典型的SRAM單元的結構如圖1所示。;兩個(gè)逆變器(qì)是由一對P和(hé)N溝道(dào)晶體(tǐ)管構成。第一個(gè)逆變器(qì)的輸出連接到第二逆變器(qì)輸入端,反之亦然。兩個(gè)N溝道(dào)晶體(tǐ)管用于它讀取數(shù)據和(hé)寫入數(shù)據到它。一種基于微分結構讀寫放大(dà)器(qì)獲得(de)的單元(圖2)。

在顯微鏡下面用紅色激光聚焦在芯片表面對SRAM的存儲結構進行(xíng)分析,紅色激光光子(650nm波長)的能量大(dà)于矽的帶隙,它們将芯片內(nèi)部的活動區(qū)電(diàn)離,如果光子接近p-n結面積,由于光電(diàn)流會(huì)産生(shēng)光伏效應,當光子打到PN溝道(dào)區(qū),浙江通(tōng)過自由載流子注入下降通(tōng)道(dào)。在每一個(gè)CMOS反相器(qì),有(yǒu)六個(gè)PN結,也有(yǒu)兩個(gè)電(diàn)阻對應于N和(hé)P-信道(dào)。

事實上(shàng),使我們能夠讀取一個(gè)存儲單元的狀态是,電(diàn)阻明(míng)顯的下降通(tōng)道(dào)關閉,和(hé)幾乎可(kě)以忽略不計(jì)的打開(kāi)通(tōng)道(dào),因此,通(tōng)過瞄準一個(gè)合适的晶體(tǐ)管或晶體(tǐ)管的激光束,我們可(kě)以區(qū)分這兩種可(kě)能的內(nèi)存狀态。

在我們的第一實驗中,我們建立了一個(gè)微控制(zhì)器(qì)芯片表面的光電(diàn)流的有(yǒu)源區(qū)地圖用于激光掃描測量,該芯片被安裝在分辨率為(wèi)0.1umX-Y平移台上(shàng),掃描結果如圖三所示,有(yǒu)源區(qū)可(kě)以被看作(zuò)是他們産生(shēng)跟高(gāo)的電(diàn)流,但(dàn)大(dà)部分的芯片上(shàng)覆蓋金屬層,激光無法穿透,所以這些(xiē)區(qū)域不産生(shēng)任何電(diàn)流,我們可(kě)以把這張驅動芯片的結果做(zuò)為(wèi)一個(gè)參照物。

我們的下一個(gè)實驗是來(lái)操作(zuò)芯片它的編程是允許我們将任何值上(shàng)傳到它的內(nèi)存,然後停止芯片操作(zuò),與随機數(shù)據加載的存儲單元的掃描的結果如圖4所示,可(kě)以看出單元的狀态是不同的,單元溝渠“1”的表面就透亮的,反之底部表現的是“0”,16位表現如下表:我們的實驗是有(yǒu)點類似由Sandia實驗公布的結果,但(dàn)有(yǒu)一些(xiē)差異、他們沒有(yǒu)使用非常昂貴的激光掃描顯微鏡,我們從芯片的頂部開(kāi)始掃描,在标準的功率分析中,我們使用了一個(gè)恒定的電(diàn)壓供應和(hé)測量電(diàn)流,而不是通(tōng)過發送恒定電(diàn)流通(tōng)過芯片。3:內(nèi)存無啓動激光掃描圖4:內(nèi)存啓動時(shí)激光掃描的狀态圖3、電(diàn)磁攻擊

它也可(kě)以使用電(diàn)磁感應掃描半導體(tǐ)芯片。在我們解釋了一個(gè)低(dī)成本的攻擊中,我們使用了一個(gè)微距閃光,探針和(hé)一些(xiē)線插入去故障一個(gè)加密處理(lǐ)器(qì)。我們用細鐵(tiě)絲繞一個(gè)探針針尖幾百圈建立一個(gè)小(xiǎo)型電(diàn)感器(qì)。這個(gè)線圈注入的電(diàn)流将産生(shēng)一個(gè)磁場(chǎng),針将集中的磁場(chǎng)線。我們從攝像頭獲得(de)電(diàn)流去連接閃光處。測試探針放置在目标處理(lǐ)器(qì)的表面上(shàng)的幾微米。磁場(chǎng)在芯片創建一個(gè)渦流電(diàn)流,就像建立一個(gè)芯片的地圖(圖5)。圖片5:使用渦流建立的地圖同一區(qū)域的正常圖

我們嘗試看看是否這種故障誘導技(jì)術(shù)也可(kě)以用于無損讀出。我們掃描了相同的傳感器(qì)芯片,我們在一個(gè)儲存單元創建了一個(gè)小(xiǎo)微擾。我們的想法很(hěn)簡單:在一個(gè)很(hěn)短(duǎn)的時(shí)間(jiān)的移動晶體(tǐ)管的極化點。隻要在兩種情況下的偏振點不返回到它的初始狀态,在兩個(gè)情況下,知道(dào)如果晶體(tǐ)管被鎖定在0”或在“1”它是有(yǒu)可(kě)能存在的。因此,我們試圖做(zuò)一個(gè)定時(shí)攻擊。在實踐中,我們發現以區(qū)分內(nèi)存狀态,時(shí)序差異是不夠的,但(dàn)是當前所需的強度恢複的偏振點的初始值零狀态和(hé)1狀态是明(míng)顯不同的。

我們設法從靜态的RAM和(hé)flash的中恢複了幾個(gè)字節,在一個(gè)單元裏面,這兩種狀态是不一樣的。但(dàn)隻要晶管體(tǐ)不以相同的方式反應,當他們的偏振點是不一樣的,它似乎是可(kě)以測量的差異。

通(tōng)過的精準設備,在芯片上(shàng)創建足夠的電(diàn)流而不幹擾任何存儲單元的內(nèi)容是有(yǒu)一定的技(jì)術(shù)難度的。特别是,讀寫放大(dà)器(qì)是相當敏感的,甚至一個(gè)小(xiǎo)擾動的其中一個(gè)組件将帶動一整行(xíng)或列的輸出到一個(gè)定值。

因此我們集中我們的實際研究細化激光讀出方法。然而,随着更好的設備組合,提高(gāo)了實驗室的技(jì)術(shù)和(hé)更複雜的信号處理(lǐ),我們相信它可(kě)以利用電(diàn)磁技(jì)術(shù)的內(nèi)存讀取實際。4、制(zhì)冷和(hé)探測

上(shàng)述的直接內(nèi)存讀取技(jì)術(shù)是有(yǒu)效但(dàn)慢,他們可(kě)以從芯片中讀取程序,然而,智能卡芯片通(tōng)常有(yǒu)防禦下時(shí)鍾如複位電(diàn)路或使用動态邏輯。

在解釋為(wèi)了當電(diàn)源關閉保護數(shù)據的完整性如何制(zhì)冷一個(gè)RAM內(nèi)存,我們使用要同的技(jì)術(shù),但(dàn)取而代之的是帕爾貼制(zhì)冷或液噴淋冷卻,制(zhì)冷RAM保持其內(nèi)容為(wèi)顯着更長的時(shí)間(jiān)從幾分鍾到幾個(gè)小(xiǎo)時(shí)。為(wèi)了能讀到離線內(nèi)容,我們用這種方法來(lái)保護數(shù)據,特别是制(zhì)冷保護一個(gè)RAM內(nèi)存或是回複一個(gè)56位的DES密鑰

不管用什麽方法攻擊芯片得(de)到芯片的數(shù)據,反之我們總是設法用一種方法或另一種方法來(lái)提取數(shù)據,因為(wèi)随着芯片加密結構的提升,破解手法也随之不同。

{C}5、{C}{C}結論

攻擊芯片的手段是随之芯片加密的結構的變化而變化的,但(dàn)有(yǒu)一些(xiē)國外的芯片,受阻于設備,你(nǐ)們可(kě)能就是無法研究的。随着加密手段的提升,所要運用到的設備和(hé)技(jì)術(shù)研究的投入也會(huì)不同,這裏我們講的是半攻擊技(jì)術(shù),一會(huì)我們還(hái)會(huì)講到全侵入攻擊,像這樣,就是投入非常到,要用到的設備費用也是非常高(gāo)。

 




首頁

電(diàn)話(huà)

地址

到底了~