構建基於 MCU 安全物聯網系統

構建基於 MCU 安全物聯網系統

  • 《中國電子報》(2019 MCU 專題)2019年11月8日
  • 中國軟件行業協會嵌入式系統分會 何小慶

面對增長迅速、應用碎片化的物聯網系統,安全問題層出不窮。安全是物聯網發展的一個熱點,已成爲物聯網產品必備特性。基於 MCU 的物聯網設備多數在節點和邊緣,支撐了系統的數據採集和控制,重要性不言而喻。因爲系統資源防護能力薄弱,成爲黑客的主要攻擊對象。可喜的是,基於 MCU 的 IoT 芯片的安全機制越來越完善,功能也大幅度增強,技術上正在從外置芯片向 MCU 內置安全功能的方向發展。

物聯網安全旨在保護代碼、數據和系統功能

物聯網設備與應用雖然多種多樣,但其架構本質上與嵌入式系統架構是相似的。今天,使用微控制器(MCU)構建的物聯網系統無處不在。安全性首先要保護嵌入式固件不被非法複製或者篡改,設備數據不被盜取以及系統功能安全,即系統功能應穩健可靠。

在物聯網世界中,攻擊是現實存在的,攻擊的本質是黑客利用系統漏洞來訪問資產。防止黑客攻擊是物聯網安全的重要任務。對於環境檢測報警設備或監控攝像機等物聯網設備而言,拒絕服務攻擊(DoS 攻擊)是一個主要威脅。攻擊者希望通過成功的嘗試獲得經濟收益,特別是如果攻擊可以像物聯網環境那樣大規模地傳播。聯網設備對黑客非常有吸引力,因爲它們可以遠程訪問。聯網設備因爲協議漏洞提供攻擊機會,如果攻擊成功,單個被黑客攻擊的設備可能會危及整個網絡的完整性。

物聯網安全旨在保護代碼、數據和系統功能。代碼保護是保證固件知識產權及其完整性,數據保護(包括加密密鑰)是保證用戶數據的機密性並避免身份盜用。隨着物聯網設備訪問雲資源的數量倍增,設備的訪問控制管理變得越發重要,物聯網設備資產變得更加敏感。這裏資產可以包括傳感器數據(健康數據和位置信息)、用戶數據(賬號和密碼)、交易記錄和祕鑰,以及設備和用戶身份等。最後,系統功能安全應受到保護,以避免設備故障或服務故障。

四項技術構建安全的物聯網架構

構建安全物聯網架構是爲了應對多種形式的攻擊,這樣的系統架構必須在單個系統中實現多種類型的安全機制,應在設備硬件和軟件應用兩個方面考慮整體安全性。

一方面,如果設備沒有外部入侵保護(例如開放了調試端口),則無法爲機密應用程序運行提供可信計算環境。另一方面,如果設備沒有抵禦黑客通過應用攻擊設備的能力,或者它允許進行完全設備訪問,強大的設備自身保護也是無用的。完整的系統安全實現設計設備保護機制以及一系列穩健性的安全應用,保護機制必須有必要的硬件支撐,還需要在固件開發方面付出巨大努力。它需要良好的軟件技能和密碼學知識,同時必須權衡開發成本和設備安全,以下是構建物聯網安全架構幾個關鍵技術。

TrustZone 技術

ARM 的 TrustZone 技術在智能手機芯片中被大量採用,爲手機安全提供基礎保障。今天許多 MCU 芯片已經在使用基於 TrustZone 的 IP 核,比如 ARM Cortex M23/M33,它們內置了 TrustZone 技術,量產的 MCU 有 Microchip SAM L11、NuMicro M2351、NXP LPC5500 和 STM32L5 系列。

ARM 的 TrustZone 技術將系統分爲安全和非安全兩種狀態,有特定的命令使 CPU 在兩種狀態之間切換。爲了區分和隔離安全代碼,基於 TrustZone 技術的 MCU 存儲器被分在了不同的區域,每一個區域都由硬件來保護不受軟件攻擊,任何從非安全區域向安全區域的訪問,或者運行的代碼和當前的系統安全狀態不符,都會導致硬件錯誤發生。

圍繞 TrustZone 核心技術,ARM 聯合 5 家獨立安全測試實驗室及諮詢機構,推出面向 IoT 安全的 “平臺安全架構(PSA)”以及相關認證。PSA 安全認證有三個級別,不同的認證過程和要求對應被認證產品不同的應用場景。國產芯片公司也在快速跟進 TrustZone 技術,紫光展銳最近推出基於 PSA 架構的雙核 ARM Cortex M33 安全 MCU。

使用 TrustZone 的優勢是方便建立一個物聯網安全生態環境。考慮到自主可控,以及物聯網系統中信任硬件(SE)重要性,國內芯片企業在 RISC-V 開放指令集架構上開發類似安全技術,比如平頭哥半導體最近推出的無劍安全平臺。

安全通信技術

通信安全是物聯網系統的重要部分,許多高端的嵌入式系統中已經有了 SSL/TLS/SSH 和 IPSec 協議軟件,某些雲計算服務需要安全的協議支持,比如 AWS IoT 需要物聯網設備端支持 TLS,否則無法正常接入。有些資源受限的基於 MCU 物聯網設備無法支持基於 TCP 的 TLS 安全協議,採用 UDP 的 DLS 可以提供安全通信鏈路,雲端需要提供響應的接口。比如爲 Huawei LiteOS 和華爲 Ocean-Connect IoT 提供支持。

安全協議爲構建物聯網安全提供一個非常好的基礎,安全協議的設計目標是爲了防止數據報文被竊聽(嗅探)、中間人攻擊、回放攻擊和未經授權與物聯網節點通信的請求。

安全引導和升級技術

安全引導可以防止在引導過程中將沒有授權的軟件加載到設備上。安全引導一般分爲兩個階段。第一個階段是放在只讀的存儲器中,該階段引導的主要任務是驗證第二階段引導的程序的真實性。第二個階段引導程序是放在 Flash 存儲器中,它要驗證加載的操作系統和應用程序確實來自可信的來源。

安全引導過程一般要靠數字簽名來保護代碼的真實性。代碼的映像由 OEM 在設備製造時使用自己的私鑰進行簽名,然後設備節點使用 OEM 的公鑰來驗證代碼映像簽名。

安全固件升級過程與引導類似,在升級過程中要驗證新代碼的映像已經是由 OEM 簽名了的。如果驗證無效,系統就會丟棄文件並停止升級。只有有效的映像文件才能被接受,而且隨後被保存在設備存儲器中。

以智能門鎖爲例,我們看一下升級中的兩種安全隱患。第一是智能門鎖自身的可靠性,第二是來自對智能門鎖的外部攻擊。門鎖自身的可靠性,比如在升級過程中設備電源掉電了,使得更新後的程序代碼無法運行。外部攻擊,比如黑客發送早期有缺陷的 OTA 升級包,此外還有黑客對於門鎖電子部件的物理攻擊,比如盜取存儲器中的密鑰。

物聯網操作系統,比如 Amazon FreeRTOS 與基於雲的 AWS IoT 平臺,提供設備管理和遠程監測,設備管理服務包括對 OTA 更新的支持。它利用 AWS 內置的服務,比如亞馬遜用於代碼簽名的 Certificate Management 和身份訪問管理(IAM)。Amazon FreeRTOS 嵌入式軟件提供在 MCU 上執行的 OTA 代理,協調 OTA 操作,從雲端下載新升級包,驗證升級包的傳輸藉助加密的 MQTT 通信鏈路,OTA 代理機構爲滿足 MQTT 報文格式要求,要對升級包再次封裝,好處是不需要另外借助 HTTP 連接上的 TLS 鏈路。

安全工具、軟件和服務

基於 MCU 的物聯網安全開發需要軟件和工具的支持和服務,MCU 公司提供基礎基礎安全軟件,比如 NXP Secure Boot Tool 和 TEE 配置工具。許多物聯網操作系統集成了安全協議,多數支持安全的 OTA 機制。新出的 TencentOS tiny 安全框架提供了 DTLS 和 TLS 安全協議,加固了 COAP 及 MQTT 傳輸層,可確保物聯網終端在對接騰訊雲時實現安全認證和數據加密;安全框架還提供與騰訊雲 IoT Hub 配套的密鑰認證方案,確保資源受限設備也能在一定程度上實現設備安全認證。

安全操作系統方面,NXP 推薦源自 FreeRTOS 的 SafeRTOS,ST 與 ARM 和安全操作系統供應商 Prove & Run 合作,於 2019 年 10 月在 ARM TechCon 上進行了 STM32L5 的演示。NXP 的 LPC55S69-EVK 評估板支持 MCUXpresso 集成開發環境和開發軟件,包括外設驅動程序、安全和連接中間件,還包括基於 Amazon FreeRTOS 的演示和基於 ARM TrustZone 的安全示例。嵌入式 MCU 軟件工具公司 IAR 推出安全 IoT 設備生命週期管理工具 Embedded Trust, Segger 公司提供安全編程設備,這些爲基於 MCU 物聯網系統安全開發和維護提供了堅實的基礎。

中國企業在物聯網安全服務上頗具特色,近期 360 北極星團隊、梆梆安全和紐創信安介紹了他們的安全服務和解決方案。從事移動安全的企業也在轉向物聯網領域,比如國民技術 32 位高性能安全 MCU 芯片已經在和阿里 IoT 雲以及中移物聯網合作。

物聯網安全與行業應用密切相關,某些應用是物聯網安全高危區,比如智能傢俱、網聯汽車、智慧城市、智能製造和智慧醫療,物聯網上的潛在威脅既可謀財害命,也可對國民經濟和生活造成重大危機,這些均需引起企業和主管單位的高度重視。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章