在物聯網(IoT)、工業物聯網(IIoT)和物聯網人工智能(AIoT)的今天,一切都與其他一切相連,無論是直接相連還是通過云相連,在嵌入式開發中,“嵌入式系統”一詞在很大程度上與“物聯網設備”同義,任何事物均不能被認為是安全的,任何事物必須被保證是安全的。
實施安全的原因是眾所周知的。我們被收集、存儲和分析個人和商業數據的應用程序所包圍。我們接受這是“做生意的成本”,因為我們享受隨之而來的好處,但我們也要求我們的數據保持安全。安全漏洞的成本可能會造成嚴重損害,無論是在財務上還是在聲譽上。如果個人或企業認為無法信任設備制造商或服務供應商來確保其數據安全,他們會將業務轉移到其他地方。
每年連接到互聯網的設備數量呈指數級增長。事實上,Arm預計,到2035年,聯網設備將超過1萬億臺,而這些設備都需要安全性。因此,嵌入式和物聯網系統的開發人員陷入了進退兩難的境地。他們已經面臨著開發時間和成本方面的多重挑戰,再加上上市時間的縮短和產品生命周期的縮短。最重要的是,他們現在必須確保他們的設備是安全的,并且這些設備將保證與云中運行的應用程序的任何通信的安全性。
問題是安全性很復雜。對于許多嵌入式開發人員來說,并不完全清楚什么是安全性,或者如何正確地實現安全性。幸運的是,開發人員可以使用商業和開源工具,從終端到云端保護嵌入式和物聯網設備。
擴大物聯網設備開發
如今,大多數設計從低成本評估板開始,利用基于開源軟件的參考設計。對于快速物聯網設備開發,將這些參考設計擴展到成本優化和資源受限的大規模生產至關重要。高效、靈活、易用的軟件開發流程至關重要,因為工程師需要優化、擴展和驗證復雜的軟件堆棧,以實現整體設備功能,同時保持安全性。安全嵌入式系統或物聯網設備中基本軟件組件的簡化視圖如圖1所示。
HAL為處理器和外設提供了一個抽象層,具有特定于硬件的配置。RTOS提供線程和資源管理。安全網絡接口使用適當的接口(例如,以太網、WiFi、低功率無線電)提供加密的互聯網連接。云連接器是云解決方案提供商的協議接口。此外,位于一切之上的用戶應用程序提供了系統的定制功能。
所有這些不同的軟件組件都是由不同的供應商和不同地理位置的團隊創建和維護的。嵌入式開發工程師面臨的挑戰是將軟件參考設計從原始評估平臺遷移到定制生產硬件;優化資源使用,以最小化系統成本;在產品生命周期中管理各種軟件組件;并驗證整個系統的功能和安全性。
為了解決與安全嵌入式系統和物聯網設備的開發和產品化相關的問題,Arm一直致力于創建標準、工具和設計流程,幫助開發人員更快地創建安全產品。兩個這樣的倡議是Cortex微控制器軟件接口標準(CMSIS)和平臺安全架構(PSA)。
CMSIS是一個獨立于供應商的硬件抽象層(HAL),它極大地簡化了軟件重用,并縮短了新嵌入式開發人員的學習曲線。CMSIS最初用于基于ArmCortex-M的微控制器,后來擴展到支持Cortex-A5/7/9內核和外設。如今,恩智浦、微芯片和瑞薩等主要芯片廠商的Cortex-M和Cortex-A器件充分利用了CMSIS提供的功能。
補充CMSIS的是PSA,這是一套完整的威脅模型、安全分析、硬件和固件架構規范以及開源固件參考實現。PSA提供了一種基于行業最佳實踐的方法,允許在硬件和固件級別一致地設計安全性。這有助于嵌入式開發人員更快地將他們的設計安全地部署到現場。
此外,Arm與亞馬遜網絡服務(AWS)等云供應商合作,進一步簡化嵌入式系統和物聯網終端設備的開發。開發過程由各種軟件工具支持,從開源到專業的商業產品。這為嵌入式開發工程師提供了選擇,同時提供了實現嚴格的安全性和驗證所需的所有工具,這在當今的設計中已成為強制性要求。