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