IoT 應用的安全微控制器剖析
資料提供者:DigiKey 北美編輯群
2020-01-13
在嵌入式設計中實作安全性,似乎難以執行;專門提供安全性的微控制器 (MCU) 在此時應運而生,讓嵌入式設計從一開始就安全無虞。這是件好事,因為要為物聯網 (IoT) 應用提供保護,勢必需要藉助新型的嵌入式解決方案。
根據 ABI Research 研究預估,去年所有賣出的 IoT 裝置中,具有嵌入式安全性的裝置不到 4%。該市調公司也預測,到 2020 年,近 25% 的網路攻擊事件將會鎖定 IoT 裝置,這使得安全 MCU 成為棘手的問題。
但什麼是安全 MCU?許多 MCU 雖然宣稱提供安全性特點,但深究發現,多數只是吹噓。本文將深入探討安全 MCU 所需具備的特質,並詳細研究具體的屬性和特點,以便於區別哪些 MCU 是安全 MCU,哪些只是吹噓的產品。
首先,MCU 供應商尋求補強硬體型安全解決方案,並增添額外的安全防護層,藉此加強防禦軟體漏洞和網路型攻擊。
淺談兩個 MCU 協作
隨著網路邊緣運作型端點裝置的問世,人們需要使用安全的空中 (OTA) 韌體更新。Renesas 的 RX651 微控制器解決了這個重新編程需求,其整合受信任安全 IP (TSIP) 和受信任式快閃區域保護,進而能透過安全網路通訊在現場進行快閃韌體更新。
TSIP 提供穩健的金鑰管理、加密通訊與竄改偵測能力,確保針對竊聽、竄改和病毒等外部威脅提供強大的安全防護 (圖 1)。同樣地,內建的雙庫快閃記憶體,方便裝置製造商安全可靠地執行現場韌體更新。
圖 1:圖示為 RX651 微控制器中的安全性建置組塊 (中間右邊)。(圖片來源:Renesas Electronics)
雙庫快閃記憶體能夠讓嵌入式系統設計人員實現較高的信任根層級,這需要結合利用 TSIP (用於保護加密金鑰),以及加密硬體加速器,例如 AES、3DES、RSA、SHA 與 TRNG。程式碼快閃記憶體區域保護,則能夠防止未授權的開機碼進行重新編程。
接著,Renesas 與嵌入式系統安全專家 Secure Thingz 合作,安全地佈建 RX 系列的 32 位元微控制器。為此,Renesas 將會支援 Secure Thingz 建立的 Secure Deploy 架構,簡化整個設計和製造價值鏈的安全性實作。
STMicroelectronics 是另一家與嵌入式安全性解決方案提供商合作的 MCU 供應商。這家晶片製造商正在與 Arilou Information Security Technologies 合作,建立一種多層安全性配置,其中硬體和軟體能夠互補,以監測資料流和偵測通訊異常情形。
STMicro 的 SPC58 Chorus 系列 32 位元汽車微控制器,嵌入了硬體安全性模組 (HSM),能保護敏感的安全性資訊 (例如加密金鑰),藉此確保汽車本體和閘道應用的安全性,防止透過通訊匯流排擅自入侵。HSM 提供硬體型信任根,方便實現安全通訊、OTA 更新以及安全啟動。
現在,ST 在 SPC58 Chorus 系列汽車 MCU 中加入 Arilou 的入侵偵測與防禦系統 (IDPS) 軟體,能偵測交通異常情形,並形成額外的防護層以防禦網路攻擊 (圖 2)。IDPS 是一種軟體解決方案,用於監測控制器區域網路 (CAN) 匯流排,並偵測汽車設計電子控制單元 (ECU) 的通訊模式是否異常。
圖 2:此圖為 IDPS 軟體如何偵測交通及其他路側異常狀況。(圖片來源:Arilou)
專用安全 MCU
上節概述的安全 MCU,整合了安全性功能來對抗實體和遠端的攻擊。本節則將說明專用安全 MCU (常稱為安全元件),可用作主 MCU 的輔助晶片,並透過 I2C 或單線路介面來連結。
這些安全元件支援無安全性特點的 MCU,以專門打造的硬體為基礎,提供能防禦多種威脅的安全性架構。它們簡單便宜,並能分擔主 MCU 或 CPU 的安全性相關任務,例如金鑰儲存、加密加速等;因此也稱為安全性輔助處理器。
在安全元件中,所有安全性建置組塊都在共同的界線範圍下運作,此界線將驗證金鑰與軟體相互隔離,讓駭客無法執行攻擊,例如重新啟動電源、時脈突波,以及旁路攻擊。在原廠將安全金鑰和憑證上傳到安全元件,也能防止 IP 竊取、設計複製,以及產品偽造事件。
以 Microchip 的 ATECC608A 安全元件為例 (圖 3),此產品具有能產生唯一金鑰的亂數產生器 (RNG),並符合美國國家標準暨技術局 (NIST) 的最新要求。此外,還具備加密加速器,例如 AES-128、SHA-256 以及 ECC P-256,以進行相互身份驗證。
圖 3:ATECC608A 安全元件的方塊圖。(圖片:Microchip Technology)
最後,金鑰儲存用的安全 ROM 能促成不可改變的環境,讓駭客和詐騙攻擊難以進行變更,藉此防止竄改和旁路攻擊。總的來說,ATECC608A 可提供多項服務,包括安全啟動、OTA 驗證,到安全金鑰的儲存和傳輸 (以進行 IoT 和雲端服務身份驗證)。
另一個專用於安全性實作的低成本 MCU,是 Microchip 的 SAM L11 (圖 4),能保護功率受限的 IoT 節點,防禦故障注入和旁路攻擊等威脅。此產品利用模組化 GUI 將低層級安全性細節抽象化,從而能讓開發人員挑選相關的安全性特點,並藉此簡化嵌入式安全性實作。
圖 4:SAM L11 安全微控制器的四個安全性使用案例。(圖片:Microchip Technology)
SAM L11 會將一些安全性特點抽象化,包括第三方佈建服務。此外,還結合了 Arm 的 TrustZone 技術,能將微控制器內的安全和非安全碼進行隔離。而且,當 IoT 節點與 Amazon Web Services (AWS) 等雲端服務進行連接時,SAM L11 也簡化了這些節點的安全性需求。
NXP 的 LPC5500 微控制器主要鎖定 IoT 邊緣應用,是安全型 MCU 的另一個範例。此產品利用裝置獨有的金鑰來產生不可改變的硬體信任根。這些金鑰能利用 SRAM 型物理反複製技術 (PUF) 產生於本機,讓最終使用者和 OEM 之間能進行封閉迴路交易。這樣一來將不需要由第三方處理金鑰。
專用安全性工具
雖然 ATECC608A 等以安全性為中心的 MCU 內含安全性建置組塊,能促進受信任的生態系統,但它們不處理軟體隔離事宜。現在,隨著 MCU 上執行的軟體數持續增加,開發人員需要保護大型程式碼基底,使其免受惡意攻擊。
舉例來說,IoT 裝置具有 Wi-Fi、Bluetooth、TLS 等技術的協定堆疊,當這些堆疊損毀時,即使沒有駭客竊取安全金鑰,也可能會影響裝置的運作。要解決此問題,必須將任務關鍵型程式碼和非任務關鍵型程式碼分離,並將關鍵的軟體放在安全的環境中。
Arm 的 TrustZone 環境 (圖 5) 將任務關鍵型程式碼及協定堆疊,和複雜的作業系統 (OS) 軟體及大型程式碼基底分離,藉此防止韌體後門程式進入安全金鑰儲存區域。此環境構建出許多軟體安全域,以限制對微控制器內特定記憶體、周邊裝置,以及 I/O 元件的存取操作。
圖 5:TrustZone 技術的基本架構,用於將軟體隔離到安全與非安全區域中。(圖片來源:Arm)
上述所有三種安全 MCU (ATECC608A、SAM L11、LPC5500) 都結合 TrustZone 技術,以將安全和非安全程式碼進行分離 (圖 6)。而且,ATECC608A 安全元件能和任何支援 TrustZone 的微控制器搭配運作。
圖 6:LPC5500 微控制器中的 TrustZone 技術,隨附 Arm Cortex M-33 處理器 (圖片左上角)。(圖片來源:NXP)
在此值得一提的是,就 TrustZone 需要硬體保護來說,安全 MCU 和 TrustZone 技術彼此互補,而安全 MCU (例如 ATECC608A 和 SAM L11) 能在 IoT 設計環境中為此助力。另一方面,TrustZone 能協助在以 MCU 為中心的嵌入式設計中,建立小型的軟體環境。
結論
我們從安全 MCU 的剖析中,看出其如何在設計階段簡化嵌入式安全性實作,以及如何在安全性技術專業方面避開困難的學習過程。此外,這些專用 MCU 還能降低間接成本費用和功耗,這些則是高度受限之 IoT 設計的兩大考量事項。
當 IoT 裝置生產的速度超過這些連接式設計安全部署的速度時,安全 MCU 可在許多方面提供一條可行的網路威脅防禦管道。這種裝置提供了更簡化的解決方案,配有安全性設計生態系統以促進點擊式開發環境。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。