早期MCU芯片是怎么加密的?
自從上世紀(jì)70年代MCU誕生以來(lái),芯片的破解技術(shù)與防止芯片被破解方案就在不斷地上演著“道高一尺,魔高一丈”,一山更比一山高的追逐。
本文將單片機(jī)在安全保護(hù)方面的發(fā)展歷程與大家分享,并在文章的最后,總結(jié)了現(xiàn)階段安全級(jí)別最高的智能卡芯片的優(yōu)點(diǎn)及其缺點(diǎn)。
01
單板機(jī)時(shí)代
上世紀(jì)70年代初期,嵌入式系統(tǒng)是由分離部件如:CPU、ROM、RAM、I/O緩存、串口和其他通信與控制接口組成的控制板。
這一時(shí)期除法律外,幾乎沒(méi)有保護(hù)措施來(lái)防止侵入者復(fù)制單板機(jī)上ROM區(qū)的數(shù)據(jù)。
02
單片機(jī)時(shí)代
隨著大規(guī)模集成電路技術(shù)的發(fā)展,中央處理單元(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)及其他I/O通信口都集成在一塊單片機(jī)芯片上了,微控制器MCU取代了單板機(jī)。如圖:
03
安全熔斷絲(Security Fuse)
隨著入侵者的增加,MCU為了自身的安全,后來(lái)增加了安全熔斷絲(Security Fuse)來(lái)禁止訪問(wèn)數(shù)據(jù)。如圖:
04
安全熔絲變成存儲(chǔ)器陣列的一部分
再后來(lái)MCU制造商將安全熔絲做成存儲(chǔ)器陣列的一部分,如圖:
05
用主存儲(chǔ)器的一部分來(lái)控制外部對(duì)數(shù)據(jù)訪問(wèn)
利用上電時(shí)鎖定特定區(qū)域地址的信息,將它作為安全熔絲。或用密碼來(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)。
06
使用頂層金屬網(wǎng)絡(luò)
使用頂層金屬網(wǎng)絡(luò)設(shè)計(jì),提升入侵難度。所有的網(wǎng)格都用來(lái)監(jiān)控短路和開(kāi)路,一旦觸發(fā),會(huì)導(dǎo)致存儲(chǔ)器復(fù)位或清零。如圖:
07
智能卡芯片安全設(shè)計(jì)
近些年,一些智能卡使用存儲(chǔ)器總線加密(Bus Encryption)技術(shù)來(lái)防止探測(cè)攻擊。如圖:
08
智能卡芯片加密方案優(yōu)缺點(diǎn)
對(duì)于開(kāi)發(fā)者來(lái)講,選擇更為安全設(shè)計(jì)的微控制器或可以得到更好的保護(hù)。與大多數(shù)微控制器相比,即使是十年前設(shè)計(jì)的智能卡也能提供更好的保護(hù)。現(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à)格昂貴,小批量的很難買到貨。開(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)大功能。
09
?后 記?
堅(jiān)持不懈的嘗試突破保護(hù)機(jī)制的破解團(tuán)體和不斷引入新的安全防范方案的制造商之間的斗爭(zhēng)是沒(méi)有盡頭的。“道高一尺,魔高一丈”,又或是“邪不壓正”,將不停的在兩派之間上演!
樹(shù)莓派Pico:僅4美元的MCU
嵌入式Linux開(kāi)發(fā)板裸機(jī)程序燒寫(xiě)方法總結(jié)
國(guó)產(chǎn)16位MCU的痛點(diǎn),可以用這款物美價(jià)廉產(chǎn)品
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!