在嵌入式設計中實現安全功能似乎是一項艱巨的任務,專門提供安全功能的微控制器 (MCU) 因此應運而生,它們能夠在嵌入式設計之初實現安全功能。這是一件好事,因為毫無疑問,需要一種新型的嵌入式解決方案來保護物聯網 (IoT) 應用。
ABI Research 的一項研究估計,去年售出的物聯網設備中不到 4% 具有嵌入式安全功能。同時,這家市場研究公司預測,到 2020 年,近 25% 的網絡攻擊將針對物聯網設備,從而使安全 MCU 成為熱門話題。
但什么是安全 MCU?許多 MCU 聲稱提供安全功能,但仔細研究卻發現只是吹噓。本文將深入探討定義安全 MCU 的特征,并詳細介紹具體的特性和功能,以便于將安全 MCU 與僅宣稱具有保護功能的 MCU 區分開來。
首先,MCU 供應商尋求以額外的安全保護層來補充其基于硬件的安全解決方案,從而增強對軟件漏洞和網絡攻擊的防御能力。
淺談兩個MCU協作
隨著在網絡邊緣運行的端點設備的出現,人們需要安全的空中下載 (OTA) 固件更新。Renesas 的 RX651 微控制器通過集成可信安全 IP (TSIP) 和可信閃存區域保護來滿足此更新要求,支持通過安全網絡通信在現場進行閃存固件更新。
TSIP 提供了可靠的密鑰管理、加密通信和篡改檢測,以確保針對竊聽、篡改和病毒等外部威脅提供強有力的保護(圖 1)。同樣,集成的雙存儲區閃存使設備制造商更容易安全可靠地執行現場固件更新。
雙組閃存使嵌入式系統設計人員能夠通過 TSIP(用于保護加密密鑰)與加密硬件加速器(例如 AES、3DES、RSA、SHA 和 TRNG)的組合來實現高信任根級別。并且有代碼閃存區域保護來確保引導代碼免遭未經授權的重新編程。
接下來,Renesas 與嵌入式系統安全專家 Secure Thingz 合作,對其 RX 系列 32 位微控制器進行安全配置。為此,Renesas 將支持創建了 Secure Thingz 的 Secure Deploy 架構,以簡化跨設計和制造價值鏈的安全實現。
在與嵌入式安全解決方案提供商合作的 MCU 供應商中,另一家是 STMicroelectronics 。這家芯片制造商正在與 Arilou Information Security Technologies 合作創建一種多層安全配置,其中的硬件和軟件可以相互補充以監視數據流并檢測通信異常。
STMicro 的 SPC58 Chorus 系列 32 位汽車微控制器嵌入了硬件安全模塊 (HSM),可保護敏感的安全信息(如加密密鑰),從而確保防止車身和網關應用中的通信總線受到入侵。HSM 提供基于硬件的信任根,以支持安全通信、OTA 更新和安全引導。
現在,ST 在 SPC58 Chorus 系列汽車 MCU 中增加了 Arilou 的入侵檢測和防御系統 (IDPS) 軟件,以檢測交通異常并形成針對網絡攻擊的額外保護層(圖 2)。IDPS 是一種軟件解決方案,旨在監視控制器區域網絡 (CAN) 總線并檢測汽車設計中電子控制單元 (ECU) 的通信模式異常。
專用安全MCU
以上部分簡要介紹了集成安全功能以應對物理和遠程攻擊的 MCU。本部分將說明專用安全 MCU,通常稱為安全元件,這些元件通過 I2C 或單線接口鏈接,充當主 MCU 的伴芯。
安全元件支持不具備安全功能的 MCU,它們基于專門構建的硬件,以提供針對各種威脅的安全框架。這些元件簡單、便宜,并且可以減輕主 MCU 或 CPU 的安全相關任務(如密鑰存儲、加密加速等)負載。這就是它們也稱為安全協處理器的原因。
在安全元件中,所有安全構件都在一個共同邊界內工作,該邊界將身份驗證密鑰與軟件隔離,從而防止黑客進行攻擊,如電源循環、時鐘毛刺和邊信道攻擊。在工廠中將安全密鑰和證書上傳到安全元件中還可以防止 IP 盜用、設計克隆和產品仿冒。
以 Microchip 的 ATECC608A 安全元件(圖 3)為例,其具有一個用于生成唯一密鑰的隨機數發生器 (RNG),同時符合美國國家標準與技術研究院 (NIST) 的最新要求。該元件還具有用于相互身份驗證的加密加速器,例如 AES-128、SHA-256 和 ECC P-256。
最后,用于密鑰存儲的安全 ROM 營造了一個黑客和欺騙攻擊很難更改的不可改變環境,從而防止篡改和邊信道攻擊。總而言之,ATECC608A 提供的服務范圍從安全引導到 OTA 驗證,再到用于物聯網和云服務身份驗證的安全密鑰存儲和傳輸。
另一個專門用于安全功能實現的低成本 MCU 是 Microchip 的 SAM L11 (圖 4),可以保護功耗受限的物聯網節點免受故障注入和邊信道攻擊等威脅的影響。該器件通過模塊化 GUI 抽象出低級安全細節,使開發人員可以選擇相關的安全功能,從而簡化嵌入式安全功能實現。
SAM L11 抽象出的安全功能包括第三方配置服務。該器件還集成了 Arm 的 TrustZone 技術,這種技術隔離了微控制器內的安全代碼和非安全代碼。此外,SAM L11 還簡化了與 Amazon Web Services (AWS) 等云服務連接時物聯網節點的安全需求。
NXP 的 LPC5500 微控制器面向的是物聯網邊緣應用,是安全 MCU 的另一個實例。該器件利用設備唯一的密鑰來創建不可改變的硬件信任根。密鑰可以由基于 SRAM 的物理不可克隆功能 (PUF) 在本地生成,允許最終用戶與 OEM 之間進行閉環事務處理。這種操作消除了第三方密鑰處理的需求。
專用安全工具
盡管像 ATECC608A 這樣以安全為中心的 MCU 包含了安全構件以促進受信任的生態系統,但它們并不能解決軟件隔離問題。現在,在 MCU 上運行的軟件數量正在持續增長,開發人員需要保護大型代碼庫免受惡意攻擊。
例如,物聯網設備都具有用于 Wi-Fi、藍牙、TLS 等功能的協議棧,因此即使沒有黑客竊取安全密鑰,協議棧的損壞也會影響設備的運行。這就要求將任務關鍵代碼與非任務關鍵代碼分開,并將關鍵軟件置于安全的環境中。
Arm 的 TrustZone 環境(圖 5)將任務關鍵代碼和協議棧與復雜的操作系統 (OS) 軟件和大型代碼庫分開,從而防止固件后門進入安全密鑰存儲區。該環境創建了多個軟件安全域,以限制對微控制器內部特定內存、外設和 I/O 組件的訪問。
上述所有三種安全微控制器 ATECC608A、SAM L11 和 LPC5500(圖 6)都采用了 TrustZone 技術,可以將安全代碼和非安全代碼進行隔離。此外,ATECC608A 安全元件還可與任何支持 TrustZone 的微控制器一起使用。
圖 6:LPC5500 微控制器中的 TrustZone 技術與 Arm Cortex M-33 處理器捆綁在一起,如圖左上方所示。(圖片來源:NXP)
在這里,還值得一提的是,安全 MCU 與 TrustZone 技術是相輔相成的,在某種意義上說 TrustZone 需要硬件保護,而像 ATECC608A 和 SAM L11 這樣的安全 MCU 則在物聯網設計環境中促成了這一點。另一方面,TrustZone 則有助于在以 MCU 為中心的嵌入式設計中構建緊湊的軟件環境。
總結
通過對安全 MCU 進行剖析,我們可了解到它們如何在設計階段簡化嵌入式安全功能實現,以及如何繞過安全技術專業知識的陡峭學習曲線。這些專用 MCU 還可降低成本開銷和功耗,對于高度受限的物聯網設計,這是兩個主要考慮因素。
當物聯網設備的推出速度超過了安全部署這些互連設計的速度時,安全 MCU 可提供一條應對多方面網絡威脅的可行途徑。它們提供了一個簡化的解決方案,配備安全設計生態系統,促進了點擊式開發環境的形成。
評論
查看更多