《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電子元件 > 業(yè)界動(dòng)態(tài) > MCU 芯片加密歷程

MCU 芯片加密歷程

2021-01-15
來(lái)源: 電子工程專輯
關(guān)鍵詞: MCU芯片 加密

  自從上世紀(jì)七十年代 MCU 誕生以來(lái),芯片的破解技術(shù)與防止芯片被破解方案就在不斷在上演著“道高一尺,魔高一丈”,一山更比一山高的追逐。本文將單片機(jī)在安全保護(hù)方面的發(fā)展歷程與大家分享。并在文章的最后,總結(jié)了現(xiàn)階段安全級(jí)別最高的智能卡芯片的優(yōu)點(diǎn)及其缺點(diǎn)。

  一、單板機(jī)時(shí)代

  上世紀(jì) 70 年代初期,嵌入式系統(tǒng)是由分離部件如:CPU、ROM、RAM、I/O 緩存、串口和其他通信與控制接口組成的控制板。這一時(shí)期除法律外,幾乎沒(méi)有保護(hù)措施來(lái)防止侵入者復(fù)制單板機(jī)上 ROM 區(qū)的數(shù)據(jù)。

  二、單片機(jī)時(shí)代

  隨著大規(guī)模集成電路技術(shù)的發(fā)展,中央處理單元(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)及其他 I/O 通信口都集成在一塊單片機(jī)芯片上了,微控制器 MCU 取代了單板機(jī)。如圖:

  2.png

  這一時(shí)期,內(nèi)部存儲(chǔ)器 EEPROM 和 MCU 是分開(kāi)封在同一封裝內(nèi)部。侵入者可用微探針來(lái)獲取數(shù)據(jù)。

  三、安全熔斷絲(Security Fuse)

  隨著入侵者的增加,MCU 為了自身的安全,后來(lái)增加了安全熔斷絲(Security Fuse)來(lái)禁止訪問(wèn)數(shù)據(jù)。如圖:

  3.png

  優(yōu)點(diǎn):很容易做到,不需要完全重新設(shè)計(jì) MCU 構(gòu)架,僅用熔斷絲來(lái)控制數(shù)據(jù)的訪問(wèn)。

  缺點(diǎn):熔斷絲容易被定位、攻擊。例如:熔絲的狀態(tài)可以通過(guò)直接把位輸出連到電源或地線上來(lái)進(jìn)行修改。有些僅用激光或聚焦離子束來(lái)切斷熔絲的感應(yīng)電路就可以了。用非侵入式攻擊也一樣成功,因?yàn)橐粋€(gè)分離的熔絲版圖異于正常存儲(chǔ)陣列,可以用組合外部信號(hào)來(lái)使位處與不能被正確讀出的狀態(tài),那樣就可以訪問(wèn)存在內(nèi)部芯片上信息了。用半侵入式攻擊可以使破解者快速取得成功,但需要打開(kāi)芯片的封裝來(lái)接近晶粒。一個(gè)眾所周知方法就是用紫外線擦掉安全熔斷絲。

  四、安全熔絲變成存儲(chǔ)器陣列的一部分

  再后來(lái) MCU 制造商將安全熔絲做成存儲(chǔ)器陣列的一部分,如圖:

  4.png

  一般的熔絲與主存儲(chǔ)器離得很近,或干脆共享些控制線,與主存儲(chǔ)器用相同的工藝來(lái)制造,熔斷絲很難被定位。非入侵試攻擊仍然可以用,可以用組合外部信號(hào)來(lái)使熔斷位處于不被正確讀出的狀態(tài)。同樣,半侵入式攻擊也可用。當(dāng)然破解者需要更多的時(shí)間去尋找安全熔絲或控制電路負(fù)責(zé)安全監(jiān)視的部分,但這些可以自動(dòng)完成。進(jìn)行侵入式攻擊將是很困難需要手工操作,那將花費(fèi)更多的成本來(lái)破解。

  五、用主存儲(chǔ)器的一部分來(lái)控制外部對(duì)數(shù)據(jù)訪問(wèn)

  利用上電時(shí)鎖定特定區(qū)域地址的信息,將它作為安全熔絲?;蛴妹艽a來(lái)控制對(duì)存儲(chǔ)器訪問(wèn)。例如德州儀器的 MSP430F112 只有輸入正確的 32 字節(jié)密碼后才能進(jìn)行回讀操作。如果沒(méi)輸入,只有擦字節(jié)密碼后才能進(jìn)行回讀操作。盡管這個(gè)保護(hù)方法看上去比先前的更有效,但它有一些缺點(diǎn)可以用低成本的非侵入式攻擊,如時(shí)序分析和功耗來(lái)破解。如果安全熔絲狀態(tài)是上電或復(fù)位后存儲(chǔ)器的一部分,這就給破解者用電源噪聲來(lái)破解的機(jī)會(huì),強(qiáng)制路進(jìn)入存儲(chǔ)中錯(cuò)誤狀態(tài)。

  六、使用頂層金屬網(wǎng)絡(luò)

  使用頂層金屬網(wǎng)絡(luò)設(shè)計(jì),提升入侵難度。所有的網(wǎng)格都用來(lái)監(jiān)控短路和開(kāi)路,一旦觸發(fā),會(huì)導(dǎo)致存儲(chǔ)器復(fù)位或清零。如圖:

  5.png

  普通的 MCU 不會(huì)使用這種保護(hù)方法,因?yàn)樵O(shè)計(jì)較難,且在異常運(yùn)行條件下也會(huì)觸發(fā),如:高強(qiáng)度電磁場(chǎng)噪聲,低溫或高溫,異常的時(shí)鐘信號(hào)或供電不良。故有些普通的 MCU 使用更廉價(jià)的偽頂層金屬網(wǎng)格,會(huì)被非常高效的光學(xué)分析進(jìn)行微探測(cè)而被攻擊。另外,這些網(wǎng)格不能防范非侵入式攻擊。同樣不能有效防范半侵入式攻擊,因?yàn)閷?dǎo)線之間有電容,并且光線可以通過(guò)導(dǎo)線抵達(dá)電路的有效區(qū)域。在智能卡中,電源和地之間也鋪了一些這樣的網(wǎng)格線。部分可編程的智能卡走的更遠(yuǎn),干脆砍掉了標(biāo)準(zhǔn)的編程接口,甚至干掉了讀取EEPROM 接口,取而代之的是啟動(dòng)模塊,可以在代碼裝入后擦掉或者屏蔽自己,之后只能響應(yīng)使用者的嵌入軟件所支持的功能。有效的防范了非侵入式攻擊。

  七、智能卡芯片安全設(shè)計(jì)

  近些年,一些智能卡使用存儲(chǔ)器總線加密(Bus Encryption)技術(shù)來(lái)防止探測(cè)攻擊。如圖:

  6.png

  數(shù)據(jù)以密文方式存儲(chǔ)在存儲(chǔ)器中。即使入侵者獲得數(shù)據(jù)總線的數(shù)據(jù),也不可能知道密鑰或者別的敏感信息(如數(shù)據(jù)還原方法)。這種保護(hù)措施有效的防范了侵入式和半侵入式攻擊。有些智能卡甚至能夠做到每張卡片總線加密密鑰不同,這樣即使入侵者完全破解了,也無(wú)法生產(chǎn)出相同功能的芯片來(lái),因?yàn)槊總€(gè)智能卡芯片有唯一的 ID 號(hào),無(wú)法買(mǎi)到相同 ID 號(hào)的智能卡。另外值得一提的是,有些智能卡將標(biāo)準(zhǔn)的模塊結(jié)構(gòu)如解碼器,寄存器文件,ALU 和 I/O 電路用類似 ASIC 邏輯來(lái)設(shè)計(jì)。這些設(shè)計(jì)成為混合邏輯(Gle Logic)設(shè)計(jì)?;旌线壿嬍沟脤?shí)際上不可能通過(guò)手工尋找信號(hào)或節(jié)點(diǎn)來(lái)獲得卡的信息進(jìn)行物理攻擊。大大提高了 CPU 內(nèi)核的性能和安全性?;旌线壿嬙O(shè)計(jì)幾乎不可能知道總線的物理位置,有效的防范了反向工程和微探測(cè)攻擊。

  智能卡芯片加密方案優(yōu)缺點(diǎn)

  對(duì)于開(kāi)發(fā)者來(lái)講,選擇更為安全設(shè)計(jì)的微控制器或可以得到更好的保護(hù)。與大多數(shù)微控制器相比,即使是十年前設(shè)計(jì)的智能卡也能提供更好的保護(hù)?,F(xiàn)代的智能卡提供了更多的防攻擊保護(hù),內(nèi)部電壓傳感器保護(hù)免受電源噪聲攻擊(Power Glitch attacks)、過(guò)壓和欠壓保護(hù)。時(shí)鐘頻率傳感器防止受到靜態(tài)分析(Static analysis)的降低時(shí)鐘頻率攻擊。同時(shí)也可以防止時(shí)鐘噪聲(Clock glitch attacks)進(jìn)行提高時(shí)鐘頻率的攻擊。頂層金屬網(wǎng)格和內(nèi)部總線硬件加密使可以防止微探測(cè)攻擊。但是與微控制器相比,智能卡芯片也有劣勢(shì),如:芯片價(jià)格昂貴,小批量的很難買(mǎi)到貨。開(kāi)發(fā)工具昂貴,需要和制造商簽署保密協(xié)議,即使是說(shuō)明書(shū)也要這樣。很多制造商僅向特定客戶銷售大批量的智能卡。另一個(gè)不足是 I/O 的功能受限,普通智能卡芯片通常只有ISO7816 接口,極少有單獨(dú)的 I/O 口。這使得多數(shù)應(yīng)用中不能取代微控制器,而只能用于安全要求非常高的行業(yè),如:付費(fèi)機(jī)頂盒,銀行卡,SIM 卡,二代身份證,高端加密芯片等領(lǐng)域。智能卡芯片在加密芯片領(lǐng)域的應(yīng)用,將是個(gè)不錯(cuò)的方向。因?yàn)橹悄芸ㄐ酒踩燃?jí)高,IO 資源少。而普通 MCU 的硬件資源非常豐富,安全程度卻不高,可以將 MCU 中一些關(guān)鍵算法及運(yùn)行參數(shù),以特殊形式存放在智能卡芯片中,從而實(shí)現(xiàn)高安全強(qiáng)度的強(qiáng)大功能。

  后記

  堅(jiān)持不懈的嘗試突破保護(hù)機(jī)制的破解團(tuán)體和不斷引入新的安全防范方案的制造商之間的斗爭(zhēng)是沒(méi)有盡頭的?!暗栏咭怀?,魔高一丈”,又或是“邪不壓正”,將不停的在兩派之間上演!

 


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。