嵌入式電子產(chǎn)品在各行各業(yè)幾乎都無處不在。例如微控制器,不論是用于監(jiān)控汽車的CAN總線,還是用于讀取某物聯(lián)網(wǎng)設(shè)備的傳感器數(shù)據(jù),亦或是用于控制廚房電器,像這樣在日常應(yīng)用中集成低成本微控制器的能力使得電子產(chǎn)品行業(yè)以及涉及電子產(chǎn)品的行業(yè)發(fā)生了翻天覆地的變化。
但是這些變革給嵌入式設(shè)計(jì)帶來優(yōu)勢的同時(shí),也會(huì)將其置于風(fēng)險(xiǎn)之中。嵌入式設(shè)計(jì)不論是作為更復(fù)雜系統(tǒng)的一部分還是作為一個(gè)獨(dú)立系統(tǒng),其內(nèi)在本質(zhì)、靈活性以及可定制性都會(huì)使這些系統(tǒng)易于遭受嚴(yán)重的安全風(fēng)險(xiǎn)。
嵌入式系統(tǒng)的設(shè)計(jì)人員必須時(shí)刻關(guān)注新出現(xiàn)的網(wǎng)絡(luò)威脅,開發(fā)強(qiáng)勁持久的多層安全解決方案,同時(shí)采用軟件加密和硬件加密措施。歡迎繼續(xù)閱讀,深入了解嵌入式系統(tǒng)設(shè)計(jì)人員實(shí)施安全加密解決方案所面臨的挑戰(zhàn)。
嵌入式設(shè)計(jì)為何面臨挑戰(zhàn)?
首先,嵌入式系統(tǒng)是為了降低成本。盡管這降低了批量生產(chǎn)的成本,但也嚴(yán)重制約了處理能力和存儲(chǔ)能力。嚴(yán)格來說,嵌入式設(shè)計(jì)的系統(tǒng)資源可能只夠運(yùn)行某個(gè)特定任務(wù),但不足以運(yùn)行額外的惡意軟件檢測或硬件監(jiān)控器。
其他嵌入式設(shè)計(jì)安全挑戰(zhàn)包括無法定期更新軟件或修復(fù)軟件漏洞,或?qū)εc設(shè)計(jì)有關(guān)的安全風(fēng)險(xiǎn)作出了不正確的假設(shè)。嵌入式設(shè)備往往是批量生產(chǎn)的,因此一旦漏洞被發(fā)現(xiàn),很容易受到批量攻擊。某些嵌入式設(shè)計(jì)系統(tǒng)的壽命也是設(shè)計(jì)人員必須要考慮的一個(gè)風(fēng)險(xiǎn)因素。
讓嵌入式系統(tǒng)易于受到攻擊的另一個(gè)因素是暴露的輸入/輸出和編程端口。某些情況下,輸入/輸出遭遇不正常的電壓尖峰和脈沖會(huì)讓微控制器出現(xiàn)混亂,黑客有可能趁著這種混亂狀態(tài)攻入要害系統(tǒng),如程序內(nèi)存、私人數(shù)據(jù),甚至有可能執(zhí)行任意代碼。暴露的編程端口也會(huì)讓黑客有機(jī)會(huì)使用自己的編程設(shè)備回讀內(nèi)存的內(nèi)容或?qū)υO(shè)備進(jìn)行重新編程以及插入惡意軟件。
什么是加密?
就最基本的形式而言,加密就是讓數(shù)據(jù)不被非指定數(shù)據(jù)接受者所識(shí)別的行為。例如,向某網(wǎng)址發(fā)送密碼后,密碼被加密,只有用戶和接收網(wǎng)站能夠解密數(shù)據(jù)。
盡管有很多不同類型的加密算法(AES、TLS、XTEA),但幾乎所有形式的加密都需要用于加密和解密信息的密鑰。沒有密鑰,加密的信息無法被解密,因此,僅限發(fā)送者和接受者擁有密鑰,這樣才能保護(hù)密鑰。
加密算法的密鑰有兩種:非對(duì)稱和對(duì)稱。
非對(duì)稱密鑰為每個(gè)密鑰的值都不相同。這種密鑰用于雙方需要?jiǎng)?chuàng)建一對(duì)對(duì)稱密鑰,而任何一方無需將密鑰發(fā)送給另一方的應(yīng)用(參見公鑰交換)。
對(duì)稱密鑰的值相同,用于以更快的速度解密信息。
密鑰的長短決定了所加密信息的安全程度。如密鑰只有四個(gè)字符長,使用暴力破解法嘗試四個(gè)字符的每一種組合,在不到一秒鐘的時(shí)間即可破解該密鑰。但是,一個(gè)256位密鑰則相當(dāng)?shù)拈L。
目前還沒有哪一臺(tái)人類開發(fā)的電腦能夠在任何切實(shí)可行的時(shí)間范圍內(nèi)通過暴力破解256位密鑰加密的信息。據(jù)說,256位密鑰需要電腦計(jì)算2.29x1032年才能暴力破解。這說明了完全隨機(jī)的長密鑰的必要性,因?yàn)殚L密碼無法被猜出,需要很長時(shí)間才能破解。
加密如何幫助設(shè)計(jì)保持安全?
數(shù)據(jù)可在以下三種狀態(tài)中的任何一種狀態(tài)下存在(儲(chǔ)存、傳輸、處理),任何一種狀態(tài)下的數(shù)據(jù)都容易遭到攻擊。儲(chǔ)存的數(shù)據(jù)(例如在閃存驅(qū)動(dòng)器上)可能會(huì)被黑客復(fù)制。傳輸中(例如RAM和CPU之間)的數(shù)據(jù)可能被黑客讀取。處理中(如CPU中)的數(shù)據(jù),如果經(jīng)過處理的數(shù)據(jù)停留在內(nèi)存中,也可能會(huì)被黑客獲取。
隨著在嵌入式設(shè)計(jì)中添加強(qiáng)勁安全措施的需求日益增長,現(xiàn)在上述每一種狀態(tài)都有使用加密的安全解決方案。例如,數(shù)據(jù)存儲(chǔ)在內(nèi)存中時(shí)可輕松對(duì)其加密,在不同芯片之間傳輸數(shù)據(jù)時(shí)也可在移動(dòng)中加密數(shù)據(jù),新的加密算法甚至能夠在無需解密的情況下處理加密數(shù)據(jù)。
加密面臨著怎樣的挑戰(zhàn)?
加密系統(tǒng)面臨的最大挑戰(zhàn)之一就是安全儲(chǔ)存密鑰的需求。如果黑客攻入加密密鑰,那么就能毫不費(fèi)力地獲取使用該密鑰加密的任何數(shù)據(jù)。此外,密鑰找回后,密鑰不再可信,因此需生成新的密鑰。
軟件內(nèi)加密也是一種資源密集型任務(wù)。盡管有XTEA之類的算法,但沒有哪種算法的安全性能與行業(yè)標(biāo)準(zhǔn)加密法(如AES-256和TLS)接近。但此類行業(yè)標(biāo)準(zhǔn)加密法需要大量的內(nèi)存,還依賴處理器來執(zhí)行復(fù)雜的數(shù)學(xué)運(yùn)算。
這種耗費(fèi)大量資源的需求會(huì)降低系統(tǒng)的運(yùn)行速度,使得在移動(dòng)應(yīng)用中加密數(shù)據(jù)不切實(shí)際。以性能為代價(jià)的強(qiáng)勁加密算法還增加了能耗,因此用于移動(dòng)應(yīng)用不切實(shí)際。
如何善用硬件?
由于嵌入式設(shè)計(jì)需要強(qiáng)勁的安全特性,因此硬件安全模塊發(fā)揮著越來越重要的作用。簡單地說,硬件安全模塊將安全功能集成到物理電路中,因此釋放了系統(tǒng)資源,能將資源集中用于主要應(yīng)用。使用硬件安全后,工程師們無需再設(shè)計(jì)很容易包含漏洞的安全算法和線程。
現(xiàn)代微控制器最重要的特性之一就是安全模式啟動(dòng)(Secure Boot)。系統(tǒng)會(huì)檢查配置位、固件以及系統(tǒng)ROM的狀態(tài),還會(huì)將使用的簽名與一些預(yù)定義的簽名進(jìn)行比較。如果發(fā)現(xiàn)簽名有任何變化,系統(tǒng)則告知有些內(nèi)容已被篡改。
硬件加密外設(shè)在微控制器中司空見慣,無需CPU資源即可在移動(dòng)中加密和解密數(shù)據(jù)。這些外設(shè)還用于在設(shè)備之間加密和解密總線,以使黑客無法通過物理攻擊提取數(shù)據(jù)。
設(shè)計(jì)人員使用片上加密密鑰能夠立即在設(shè)備擦除所有數(shù)據(jù),無需擦除任何內(nèi)存。檢測篡改或干涉的設(shè)計(jì)很可能會(huì)刮損片上密鑰,還可能立即讓任何加密數(shù)據(jù)無法恢復(fù)。
在嵌入式設(shè)計(jì)中使用硬件加密插件的一個(gè)典型范例就是Maxim Integrated DeepCover加密控制器(圖2)。該安全協(xié)處理器讓可能缺乏密碼功能的中央處理器不必再承擔(dān)復(fù)雜的密碼功能,包括加密。此款協(xié)處理器中集成的加密方法包括帶128位和256位密鑰的AES、SHA-2計(jì)算引擎、真隨機(jī)數(shù)發(fā)生器、安全通信支持(包括TLS)、證書存儲(chǔ)以及抵御硬件攻擊的篡改檢測引腳。
圖2:Maxim DeepCover加密控制器內(nèi)部框圖
結(jié)語
加密是用于保護(hù)知識(shí)產(chǎn)權(quán)、個(gè)人數(shù)據(jù)以及系統(tǒng)數(shù)據(jù)的異常強(qiáng)大的工具,但系統(tǒng)的堅(jiān)固程度取決于其最薄弱的環(huán)節(jié)。不安全的密鑰或糟糕的算法實(shí)施可能會(huì)讓系統(tǒng)完全暴露于風(fēng)險(xiǎn)之中。必須保護(hù)好密鑰,必須使用硬件安全措施,最重要的是,絕不從零開始定制或創(chuàng)建加密算法。
-
CAN總線
+關(guān)注
關(guān)注
145文章
1951瀏覽量
130777 -
嵌入式設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
391瀏覽量
21287 -
加密
+關(guān)注
關(guān)注
0文章
304瀏覽量
23925
原文標(biāo)題:加密:嵌入式安全的關(guān)鍵所在
文章出處:【微信號(hào):貿(mào)澤電子,微信公眾號(hào):貿(mào)澤電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論