色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > 干貨 | MCU 芯片加密心得

          干貨 | MCU 芯片加密心得

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


          一、單板機(jī)時代


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


          二、單片機(jī)時代


          隨著大規(guī)模集成電路技術(shù)的發(fā)展,中央處理單元(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM)及其他 I/O 通信口都集成在一塊單片機(jī)芯片上了,微控制器 MCU 取代了單板機(jī)。如圖:
          這一時期,內(nèi)部存儲器 EEPROM 和 MCU 是分開封在同一封裝內(nèi)部。侵入者可用微探針來獲取數(shù)據(jù)。


          三、安全熔斷絲(Security Fuse)


          隨著入侵者的增加,MCU 為了自身的安全,后來增加了安全熔斷絲(Security Fuse)來禁止訪問數(shù)據(jù)。如圖:
          優(yōu)點(diǎn):很容易做到,不需要完全重新設(shè)計 MCU 構(gòu)架,僅用熔斷絲來控制數(shù)據(jù)的訪問。缺點(diǎn):熔斷絲容易被定位、攻擊。例如:熔絲的狀態(tài)可以通過直接把位輸出連到電源或地線上來進(jìn)行修改。有些僅用激光或聚焦離子束來切斷熔絲的感應(yīng)電路就可以了。用非侵入式攻擊也一樣成功,因為一個分離的熔絲版圖異于正常存儲陣列,可以用組合外部信號來使位處與不能被正確讀出的狀態(tài),那樣就可以訪問存在內(nèi)部芯片上信息了。用半侵入式攻擊可以使破解者快速取得成功,但需要打開芯片的封裝來接近晶粒。一個眾所周知方法就是用紫外線擦掉安全熔斷絲。


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


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


          五、用主存儲器的一部分來控制外部對數(shù)據(jù)訪問


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


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


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


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


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

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


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


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


          后記


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


          *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



          關(guān)鍵詞:

          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉