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