處理有限的系統資源曾經是嵌入式工程師面臨的主要挑戰之一。通過使用內存更少的更小微控制器,開發人員可以降低制造成本。然而,這意味著他們需要努力最大限度地減少內存和處理器的使用,這需要艱難的軟件決策,通常以應用程序的成本、效率和功能為中心。
游戲變了。具有大容量 RAM 和閃存陣列的強大處理器現在以商品價格提供。網絡無處不在,雖然應用程序的功能很重要,但物聯網 (IoT) 世界中更高的風險和價值正在迅速從應用程序本身轉移到“事物”存儲和通信的數據。雖然關于云計算和大數據的討論很多,但對于嵌入式工程師來說,制定一種安全可靠地管理這些小但非常有價值的數據的策略已經變得至關重要。
當然,物聯網數據被暴露或被黑客攻擊的安全風險是不可否認的,嵌入式行業仍有工作要做,以滿足適當的軟件開發和測試標準來幫助解決這個問題。但是,如果閃存數據不能保證可靠存儲怎么辦?如果文件系統損壞或閃存在計劃壽命結束之前磨損怎么辦?該系統可能太不可靠且維護成本太高,在系統發生故障之前可能不知道這一點,因為無法通過測試檢測到安全性和可靠性風險。僅通過仔細的開發或軟件測試并不能解決此類數據丟失和暴露的風險。
工程必須需要系統級的協作,這延伸到硬件。例如,在選擇閃存時,眾所周知的風險包括有限的存儲壽命和電池最終會磨損的事實。然而,還有其他鮮為人知的風險——一些是由不準確的索賠造成的。例如,一個文件系統可能被標記為“安全”,但除非它明確定義應用程序、驅動程序和媒體所需的行為,否則這是一個毫無意義的聲明。
許多供應商將閃存(SD 卡)指定為工業級或類似級別。但這通常僅指工作溫度,并不能保證任何額外的數據完整性,這意味著這些設備不應用于存儲關鍵數據。開發人員還應該針對具有更復雜問題的設備制定策略,例如磨損均衡、壞塊管理、糾錯和類似的閃存復雜性。
對于嵌入式工程師來說,物聯網設備在概念上看起來與其他嵌入式應用程序相似。它具有運行 I/O 功能以收集信息和控制應用程序的嵌入式處理器、用于存儲用戶和使用數據的閃存以及通信接口。
嵌入式數據安全帶來的核心工程挑戰與功能安全帶來的挑戰基本相同。這些問題可以通過適當的知識、風險評估以及使用易于理解的系統級設計和過程實踐來克服。設備及其組件的風險評估必須確保其數據(具有實際價值)以故障安全方式存儲并防止未經授權的訪問。
這可以在開發或行業層面解決,但未來幾年聯網物聯網設備的激增將產生大量以數據為中心的漏洞。開發人員在評估數據風險時必須提出的基本問題包括:
? 誰可以潛在地讀取或修改存儲的數據?
? 數據泄露、丟失或損壞的后果是什么?
? 任何人都可以控制應用程序嗎?
? 誰可以與設備通信?
? 即使在斷電或重置的情況下,數據是否仍能可靠存儲?
? 數據存儲是否持久以及持續多長時間?
? 可以修改代碼或應用程序嗎?
此類評估的目的是將應用程序質量的目標從“它會正確運行嗎?”擴展而來。到“數據的通信和存儲是否得到妥善管理?” 在這個新時代,小數據的可靠存儲和安全通信是嵌入式開發人員面臨的最關鍵問題之一。太重要了,不能留給最低的實施水平。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19170瀏覽量
229179 -
嵌入式
+關注
關注
5069文章
19023瀏覽量
303424 -
物聯網
+關注
關注
2903文章
44295瀏覽量
371375
發布評論請先 登錄
相關推薦
評論