傳統的從智能卡中讀出數據的采用機械探測攻擊入侵,就是入侵芯片處理器的總線部份,這些攻擊手段包括物理1:1還原芯片程序和直接使用微探針直接讀取內部程序,當然,這就是解密手段難度加大的原因,比如說芯片的大小,存儲器的硬件訪問控制電路越來越復雜。
半侵入式攻擊方式已經是我們研究經常使用的手段了,半侵入式攻擊的話芯片還是保持原來的狀態,沒有直接的電接觸,芯片仍然是完好無損的,這樣的攻擊例子包括光學探測,用激光誘導瞬態故障在一個或多個門導致的信息泄漏;渦流電的攻擊,其中一個類似的效果是通過使一個小線圈接近芯片的表面,并誘導一個大的瞬態磁場。
用半入侵式方法將存儲器的程序讀取出來并保持存儲器是一個無損的狀態是否是一種順理成章的方式?在我們看來,答案是肯定的,我們將在COMS RAM中來講述這個技術,但是他們的應用是更為廣泛的。
{C}2、{C}{C}光學讀取CMOS RAM
一個典型的SRAM單元的結構如圖1所示。;兩個逆變器是由一對P和N溝道晶體管構成。第一個逆變器的輸出連接到第二逆變器輸入端,反之亦然。兩個N溝道晶體管用于它讀取數據和寫入數據到它。一種基于微分結構讀寫放大器獲得的單元(圖2)。
在顯微鏡下面用紅色激光聚焦在芯片表面對SRAM的存儲結構進行分析,紅色激光光子(650nm波長)的能量大于硅的帶隙,它們將芯片內部的活動區電離,如果光子接近p-n結面積,由于光電流會產生光伏效應,當光子打到P或N溝道區,浙江通過自由載流子注入下降通道。在每一個CMOS反相器,有六個PN結,也有兩個電阻對應于N和P-信道。
事實上,使我們能夠讀取一個存儲單元的狀態是,電阻明顯的下降通道關閉,和幾乎可以忽略不計的打開通道,因此,通過瞄準一個合適的晶體管或晶體管的激光束,我們可以區分這兩種可能的內存狀態。
在我們的第一實驗中,我們建立了一個微控制器芯片表面的光電流的有源區地圖用于激光掃描測量,該芯片被安裝在分辨率為0.1um的X-Y平移臺上,掃描結果如圖三所示,有源區可以被看作是他們產生跟高的電流,但大部分的芯片上覆蓋金屬層,激光無法穿透,所以這些區域不產生任何電流,我們可以把這張驅動芯片的結果做為一個參照物。
我們的下一個實驗是來操作芯片它的編程是允許我們將任何值上傳到它的內存,然后停止芯片操作,與隨機數據加載的存儲單元的掃描的結果如圖4所示,可以看出單元的狀態是不同的,單元溝渠“1”的表面就透亮的,反之底部表現的是“0”,16位表現如下表:我們的實驗是有點類似由Sandia實驗公布的結果,但有一些差異、他們沒有使用非常昂貴的激光掃描顯微鏡,我們從芯片的頂部開始掃描,在標準的功率分析中,我們使用了一個恒定的電壓供應和測量電流,而不是通過發送恒定電流通過芯片。
圖3:內存無啟動激光掃描圖
圖4:內存啟動時激光掃描的狀態圖3、電磁攻擊
它也可以使用電磁感應掃描半導體芯片。在我們解釋了一個低成本的攻擊中,我們使用了一個微距閃光,探針和一些線插入去故障一個加密處理器。我們用細鐵絲繞一個探針針尖幾百圈建立一個小型電感器。這個線圈注入的電流將產生一個磁場,針將集中的磁場線。我們從攝像頭獲得電流去連接閃光處。測試探針放置在目標處理器的表面上的幾微米。磁場在芯片創建一個渦流電流,就像建立一個芯片的地圖(圖5)。圖片5:使用渦流建立的地圖同一區域的正常圖
我們嘗試看看是否這種故障誘導技術也可以用于無損讀出。我們掃描了相同的傳感器芯片,我們在一個儲存單元創建了一個小微擾。我們的想法很簡單:在一個很短的時間的移動晶體管的極化點。只要在兩種情況下的偏振點不返回到它的初始狀態,在兩個情況下,知道如果晶體管被鎖定在“0”或在“1”它是有可能存在的。因此,我們試圖做一個定時攻擊。在實踐中,我們發現以區分內存狀態,時序差異是不夠的,但是當前所需的強度恢復的偏振點的初始值零狀態和1狀態是明顯不同的。
我們設法從靜態的RAM和flash的中恢復了幾個字節,在一個單元里面,這兩種狀態是不一樣的。但只要晶管體不以相同的方式反應,當他們的偏振點是不一樣的,它似乎是可以測量的差異。
通過的精準設備,在芯片上創建足夠的電流而不干擾任何存儲單元的內容是有一定的技術難度的。特別是,讀寫放大器是相當敏感的,甚至一個小擾動的其中一個組件將帶動一整行或列的輸出到一個定值。
因此我們集中我們的實際研究細化激光讀出方法。然而,隨著更好的設備組合,提高了實驗室的技術和更復雜的信號處理,我們相信它可以利用電磁技術的內存讀取實際。4、制冷和探測
上述的直接內存讀取技術是有效但慢,他們可以從芯片中讀取程序,然而,智能卡芯片通常有防御下時鐘如復位電路或使用動態邏輯。
在解釋為了當電源關閉保護數據的完整性如何制冷一個RAM內存,我們使用要同的技術,但取而代之的是帕爾貼制冷或液氮噴淋冷卻,制冷RAM保持其內容為顯著更長的時間從幾分鐘到幾個小時。為了能讀到離線內容,我們用這種方法來保護數據,特別是制冷保護一個RAM內存或是回復一個56位的DES密鑰
不管用什么方法攻擊芯片得到芯片的數據,反之我們總是設法用一種方法或另一種方法來提取數據,因為隨著芯片加密結構的提升,破解手法也隨之不同。
{C}5、{C}{C}結論
攻擊芯片的手段是隨之芯片加密的結構的變化而變化的,但有一些國外的芯片,受阻于設備,你們可能就是無法研究的。隨著加密手段的提升,所要運用到的設備和技術研究的投入也會不同,這里我們講的是半攻擊技術,一會我們還會講到全侵入攻擊,像這樣,就是投入非常到,要用到的設備費用也是非常高。