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