IC集成電路在早期,除法律和經濟外,幾乎沒有保護措施來防止復制這些設備。例如:ROM 是用低成本的掩模技術制造的,可用EPROM 輕易復制,但后者通常要貴 3-10 倍或更多。或定制掩模ROM,那就需要很長的時間和很大的投資。工業控制器的硬件安全措施與嵌入式系統同時開始發展。40年前的可編程工業控制器是由分離的部件如 CPU,ROM,RAM,I/O 緩沖器,串口和其他通信與控制接口組成的。通用的嵌入式控制器。PCB 上的每個部件很容易辨別且極易被復制。
了解解密可以更好的做芯片加密。
--------------------------------------------------------------------------------------------------------------
二、硅芯片安全措施的演變
第1代,芯片加密解密:
是在游戲機中廣泛使用的簡易ASIC,這些ASIC主要用于I/O部分來取代數十個邏輯器件,在降低成本的同時防止競爭者的復制,使之不得不應用更大且更貴的解決方案。實際上ASIC不會更安全,用示波器來簡單分析信號或窮舉所有可能的引腳組合就可以在數小時內得知它的具體功能。游戲機中的專用集成電路(ASIC),實例如下圖:
-------------------------------------------------------
第2代,芯片加密解密:
從70年代后期開始,微控制器提供一種非常好的取代基于 CPU控制板方法。它有內部存儲器和通用 I/O 接口,還有一些保護措施以防止未經授權訪問內部存儲器的內容。 不幸的是,早期的單片機沒有提供非易失存儲能力,重要數據不得不存在單片機外部存儲器中,很容易被讀出數據。最近銷售的一些廉價 USB 狗也用此法來進行軟件保護,如圖所示:
-------------------------------------------------------
第3代,芯片加密解密:
安全工藝措施是把EEPROM數據存儲芯片和單片機MCU裝在同一封裝內部。破解這些芯片是不容易的。一種專業的方法是打開樣品的封裝,用微探針來獲得數據。或將芯片重新焊在一個分開的封裝內。這兩種設備都不是低級破解者所能擁有的。這些破解者會嘗試用自制的微探針(舊芯片的焊線區域是相當大的)或利用軟件上的缺陷來讀出數據。
實例1:微芯Microchip的PIC12CE518微控制器打開封裝后的照片,可見非易失數據存儲器和 MCU 是分開封在同一封裝內部的。如下圖所示:
實例2:近來的堆疊芯片,如手機中用的Flash+SRAM的combo存儲器,結構與之類似,不同的是在垂直方向疊加。破解方法亦類似。例如意法ST某型32位MCU 打開封裝后的SEM,
-------------------------------------------------------
第4代,芯片加密特殊的加密:
個別一些公司設計的 MCU(單片機) 始終沒有任何特殊的硬件安全保護。它們僅僅是基于不公開編程算法來保護。這可能有偽裝回讀功能,或用校驗功能來代替。一般這些 MCU 不會提供非常好的保護能力。實際上,在一些智能卡中,適當使用校驗功能能夠起到很強的保護作用。
-------------------------------------------------------
第5代,芯片加密解密:
增強數據安全的措施是增加一個硬件安全熔絲(security fuse 安全熔絲就是寄存器)來禁止訪問數據。這很容易做到,無需完全重新設計MCU架構,僅利用熔絲(寄存器)控制編程接口的回讀功能。缺點是熔絲位很容易被定位并進行入侵攻擊。例如:熔絲(寄存器)狀態可以通過直接把熔絲位(寄存器)的輸出連到電源或地線上來進行修改。有些例子中僅僅用激光或聚焦離子束來切斷熔絲的感應電路就可以了。用非侵入式攻擊也一樣可以成功。下圖實例: 微芯 PIC12C508 微控制器的安全熔絲位于程序存儲器陣列的外部。
-------------------------------------------------------
第6代,芯片加密解密:
是將安全熔絲和存儲器陣列集成到一起,如已設好熔絲(寄存器),可禁止外部讀寫數據。一般的熔絲(寄存器)與主存儲器離得很近,或干脆與主存儲器共享一些控制線。因為晶圓廠使用與主存儲器相同的工藝來制造,熔絲(寄存器)很難被定位和復位。非侵入式攻擊仍然可用,但需要時間去尋找。同樣,半侵入式攻擊也可用。當然破解者需要更多的時間去尋找安全熔絲(寄存器)或控制電路負責安全監視的部分,但這些可以自動完成的。進行侵入式攻擊將是很困難的,需要手工操作,那將花費更多的成本來破解。
-------------------------------------------------------
第7代,芯片加密解密:
是用主存儲器的一部分來控制外部對數據的訪問。這可以用上電時鎖定特定區域地址的信息,將它作為安全熔絲(寄存器)。或用密碼來控制對存儲器的訪問。例如德儀的MSP430F112,只有輸入正確的32字節密碼后才能進行回讀操作。如沒輸入密碼,只有擦掉芯片后才能操作。盡管這個保護方法看上去比先前的更有效,它有一些缺點可以用低成本的非侵入式攻擊如時序分析和功耗分析來破解。如果安全熔絲的狀態是上電或復位后的存儲器的一部分,這就給破解者用電源噪聲來破解的機會,強制電路進入存儲器中的錯誤狀態。
-------------------------------------------------------
第8代,芯片加密解密:
增加頂層金屬網格,使入侵攻擊開銷更多。所有的網格都用來監控短路和開路,一旦觸發,會導致存儲器復位或清零。在智能卡中,電源和地之間鋪了一些這樣的網格線。在這些方法中發現一些設計缺陷使得可以進行微探測攻擊。同樣,這些網格不能保護非侵入式攻擊。因為導線之間有電容,并且光線可以通過導線抵達電路的有效區域,半侵入式攻擊仍然可能。
普通的 MCU 不會使用這種保護方法,因為設計較難,且在異常運行條件下也會觸發,如:高強度電磁場噪聲,低溫或高溫,異常的時鐘信號或供電不良。所以有些普通的 MCU 使用更廉價的偽頂層金屬網格,但這也有非常高效的光學分析進行微探測攻擊的方法。在智能卡中,電源和地之間鋪了一些這樣的網格線。在這些方法中發現一些設計缺陷使得可以進行微探測攻擊。同樣,這些網格不能保護非侵入式攻擊。因為導線之間有電容,并且光線可以通過導線抵達電路的有效區域,半侵入式攻擊仍然可能。
-------------------------------------------------------
第9代,芯片加密解密:
可編程的智能卡制造商走得更遠,干脆砍掉標準的編程接口。取而代之的是啟動模塊,可以在代碼載入后擦掉或屏蔽掉自己。這些卡只能在初始化時被編程一次,之后只能響應使用者的嵌入軟件所支持的讀寫存在卡里的數據或程序。
-------------------------------------------------------
第10代,芯片加密解密:
一些智能卡使用存儲器總線編碼(Bus encryption)技術來防止微探測攻擊。即使破解者獲得數據總線的數據也不可能知道密碼或別的敏感信息。這種保護措施直指侵入式和半侵入式攻擊。但非侵入式攻擊仍然可以像正常的 CPU 一樣訪問控制非編碼信息。事實上,幾年前就發現廉價地破解編碼信息的方法.
-------------------------------------------------------
第11代,芯片加密解密:
另外一些需要提及的改進是將標準的模塊結構如解碼器,寄存器文件,ALU 和 I/O 電路用類似 ASIC 邏輯來設計。這些設計稱為混合邏輯(Glue logic),廣泛用于智能卡。混合邏輯使得實際上不可能通過手工尋找信號或節點來獲得卡的信息進行物理攻擊。這種技術廣泛用于盜版,并可提升常見 CPU 內核的性能和安全性。例如 Ubicom 的 SX28 微控制器的引腳和程序都兼容于微芯的 PIC16C57,但它使用了混合邏輯設計,閃存,大容量 RAM 使它的性能獲得大幅提升。在 PIC 微控制器中,破解者很容易跟蹤內存到 CPU 的數據總線,但在 SX 微控制器中,幾乎不可能知道總線的物理位置,反向工程和微探測攻擊將是非常困難且耗費時間。
-------------------------------------------------------
第12代,芯片加密解密:
更常用的是芯片由不同模塊組成,但每個模塊使用混合邏輯設計。如賽普拉斯的CY7C63001A 微控制器。在這種情況下,破解者更容易跟蹤模塊之間的總線和控制線,并對芯片進行侵入式和半侵入式攻擊。混合邏輯設計不能防止非侵入式攻擊,但需要更快更昂貴的設備。半侵入式攻擊面臨偽設計模塊的問題。當然破解者可以自動操作來進行窮舉搜索并嘗試攻擊所有可能區域。結果很可能是花了很長時間并沒有取得成功。另一方面,破解者可以直接攻擊存儲器器或它的控制電路。賽普拉斯Cypress的CY7C63001A微控制器使用部分混合邏輯設計,但內部總線很容易被訪問:
--------------------------------------------------------------------------------------------------------------
三、總結
技術進步增加了入侵攻擊的成本。十年前很容易使用激光切割器和簡單的探針臺就可以讀寫芯片表面的任何點,但對于現代的深亞微米半導體芯片就需要用到不一般的且昂貴的技術,這難倒了很多潛在的破解者。如 PIC16F877 很容易在顯微鏡下觀察并進行反向工程,藏在頂層金屬下的第二層金屬和多晶硅層仍然可見。但在 PIC16F887A 微控制器中使用了平坦化工藝,使得不會顯示更深的層。唯一的方法是用物理或化學的方法除去頂層金屬。
另外一個需要注意的是大量二手的半導體制造和測試設備出現在市場上,雖不能用于攻擊高端產品,但用于破解舊技術制造的芯片已經夠了。
審核編輯 黃昊宇
-
加密
+關注
關注
0文章
305瀏覽量
23985 -
芯片解密
+關注
關注
2文章
60瀏覽量
11663
發布評論請先 登錄
相關推薦
評論