MCU單晶片的安全機制如何保護物聯網設備

物聯網時代的到來,帶來了雲端和邊緣的海量數據,隨著雲端資訊的增長,Statista 預計 2021 年將有超過 700 萬個數據中心,而 Global Market Insights 預計到 2026 年市場收入將達到 450 億美元,另一方面,隨著終端設備的增長,IDC預計2023年可穿戴設備出貨量將達到4.891億台。

與此同時,網路攻擊已成為嚴重犯罪。來自 McAfee Labs,10 年前每天在網路空間發生 25 次威脅,現在每個層架構每天都會發生超過 500,000 次威脅,以上凸顯出了雲端保護和邊緣運算的迫切程度,為了解決這些問題,TEE(可信執行環境)和 TPM(可信平台模塊)是眾所周知的技術方法,在本文中,將展示提供 TEE 的 ARM TrustZone 特別適合物聯網的應用。

用於加密目的的技術方法:TEE 和 TPM

TEE 是一個隔離的處理環境,它為在其中運行的數據和軟件提供了一個安全執行的場所,並且無法從外部訪問,TPM 是一種加密數據、儲存數字密鑰並提供物理信任根的芯片,TEE 和 TPM 都是使用不同方法來保護機密運行數據不被駭客入侵或帶走的方法。

技術 處理能力 複雜 成本
TEE 一般 無(內置)
TPM 有限 平均 低(芯片)

對於邊緣保護,與 TPM 相比,TEE 是更好的選擇,因為 IoT 設備都是區域敏感的,並且 TEE 支持內置安全性,無需任何額外的芯片,Intel SGX(Software Guard eXtension)、AMD SEV(安全加密虛擬化)和ARM TrustZone是最流行的實現可信執行環境的技術。

TEE 實現:Intel SGX、AMD SEV 和 ARM TrustZone

對於Intel SGX,正在運行的應用程序將創建一個安全飛地,以保護執行代碼及其相關數據的機密性,屬於該 enclave 的數據在內存中加密,並且將執行遠程證明協議以確認 enclave 在支持 SGX 的處理器上運行,從圖 1 可以看出,在創建 enclave 並執行可信函數後,正在運行的程序將通過 SGX 調用門並在啟用了可信函數的 enclave 內執行,然後將加密的結果發送回正常環境。

AMD SEV 的實現理念完全不同,即具有受保護數據的應用程序直接在虛擬機上運行,將生成一些臨時密鑰來加密內存頁面(在虛擬機中),這些密鑰對在 CPU 上運行的任何軟件都是機密的,虛擬機為代碼和數據創造了一個可信任的環境,因此程序的運行過程與普通程序是一樣的。

圖 1:Intel SGX 和 AMD SEV 運行概念

ARM TrustZone 的基本概念是將安全世界和非安全世界分開,在安全的世界中,可信軟件(可信操作系統)將通過代碼實現的可信啟動來開發,對於任何 Cortex-A 處理器,都有一個非安全 (NS) 位來確定處理器在哪個世界中運行,並有一個安全監視器來管理這兩個世界之間的通信,在非安全世界中運行的應用程序將無法訪問受信任操作系統控制的安全世界中的任何內容。

圖 2:Cortex-A 微控制器的 TrustZone 技術

對於任何 Cortex-M 單晶片,TrustZone 技術的設計與 Cortex-A 處理器的設計不同,並且為了滿足物聯網應用,它具有更快的開關和更低的功耗,Cortex-M 單晶片的 TrustZone 沒有安全監視器及其相關軟件,以節省更多的轉換時間,內存空間分為安全和非安全狀態,處理器狀態將遵循內存狀態,如果代碼運行在安全內存狀態,則處理器狀態是安全的,反之亦然,內存分區還可以將外圍設備定義為安全或非安全。

圖 3:Cortex-M 的 TrustZone 技術

與 Cortex-A 單晶片中的 TrustZone 不同,安全監視器管理上下文切換,Cortex-M 單晶片的 TrustZone 只允許處理器處於安全或非安全狀態,並且單晶片中只有一個 TrustZone,但是,對於Intel SGX,處理器中的各種目標可能有多個飛地,因此,具有小尺寸和功率效率的 Cortex-M 單晶片適用於具有特定功能的物聯網應用,例如可穿戴設備。

Nuvoton M23 系列單晶片

Nuvoton 的 NuMicro® Cortex-M23 單晶片基於啟用 TrustZone 的 ARM Cortex-M23,如前所述,內存空間和外圍設備可以分為安全和非安全狀態以實現數據完整性,固件更新和操作安全。此外,TrustZone 將實現兩種狀態和電源效率之間的快速轉換。

除此之外,使用 NuMicro® Cortex-M23 單晶片的開發人員可以實現安全服務,例如 Trusted Boot (Root of Trust)、安全 OTA(空中下載)固件更新(包括安全軟件下載)、帶有 NuSMP 的非安全世界的電源管理 API、新唐安全單晶片平台。NuSMP 是一種硬件和軟件技術的混合體,供用戶完成安全要求,同時它也支持 ARM PSA(平台安全架構)。

圖 4:Nuvoton NuMicro® Cortex-M23 微控制器

NuMicro® Cortex-M23單晶片包括M261/M262/M263系列、M251/M252系列、M2351系列,都是低功耗平台。

NuMicro® M261/M262/M263 系列運行速度高達 64 MHz,具有 512 KB 雙組模式嵌入式閃存和 96 KB 嵌入式 SRAM,支援 1.8~3.6V 的低電源電壓。 M251/M252 系列運行速度高達 48 MHz,具有 32~256 KB 嵌入式閃存和 8~32 KB 嵌入式 SRAM,支援 1.75~5.5V 的寬電源電壓。 M2351 系列以高達 64 MHz 的頻率運行,在雙組模式下具有高達 512 KB 的嵌入式閃存和高達 96 KB 的嵌入式 SRAM。

總結

在物聯網時代,安全問題變得極為重要,與 TPM 相比,TEE 是邊緣保護的絕佳選擇,因為 IoT 設備都是區域敏感的,並且 TEE 支持內置安全性,無需任何額外的芯片,本文介紹了 Intel SGX、AMD SEV 和 ARM TrustZone。與 AMD SEV 不同,Intel SGX 和 ARM TrustZone 使用安全和非安全狀態分離的思想。

對於任何 ARM Cortex-M 單晶片,只有一個 TrustZone,它適合具有特定物聯網應用的產品。啟用 TrustZone 後,新唐的 NuMicro® Cortex-M23 單晶片,包括 M261/M262/M263 系列、M251/M252 系列、M2351 系列,是可用於許多與安全相關的物聯網應用的單晶片。

你或許對以下文章有興趣