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

評論