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