在嵌入式設計中實現安全功能似乎是一項艱巨的任務,因此專門提供安全功能的微控制器(MCU)應運而生,它們能夠在嵌入式設計之初實現安全功能。因為毫無疑問的開發人員需要一種新型的嵌入式解決方案來保護物聯網(IoT)應用的安全。
根據ABI Research研究,估計2019年售出的物聯網設備中僅有不到4%具有嵌入式安全功能。同時提出直至2020年有接近25%的網路攻擊將針對物聯網設備,進而使安全微控制器(MCU)成為熱門話題。
但什麼是安全微控制器?許多微控制器聲稱提供安全功能,但仔細研究卻發現只是在吹噓。因此,本文將深入探討安全微控制器的特徵,並詳細介紹具體特性與功能,以便於將安全微控制器與僅宣稱具有保護功能的微控制器區分開來。
對此,微控制器供應商尋求以額外的安全保護層,來補充其採用硬體架構的安全解決方案,進而增強對軟體漏洞和網路攻擊的防禦能力。
兩大安全微控制器實例
隨著在網路邊緣運行的端點設備的出現,人們需要安全的空中下載(OTA)韌體更新。如有半導體業者瑞薩(Renesas)的微控制器RX651透過整合可信安全IP(TSIP),以及可信快閃記憶體區域保護,來滿足此更新要求,支援透過安全網路通訊,在現場進行快閃記憶體韌體更新。
TSIP提供了可靠的金鑰管理、加密通訊和篡改檢測,以確保針對竊密、篡改和病毒等外部威脅提供強而有力的保護(圖1)。同樣地,整合雙儲存區的快閃記憶體,可使設備製造商更容易安全可靠地執行現場韌體更新。
雙組快閃記憶體可使嵌入式系統設計人員能夠透過TSIP(用於保護加密金鑰),以及加密硬體加速器(例如AES、3DES、RSA、SHA和TRNG)的組合,來實現高信任根級別,並且有程式碼快閃記憶體區域保護,來確保引導程式碼不會遭到未經授權的重新程式修改。
在Renesas與嵌入式系統安全專家Secure Thingz合作下,對其RX系列32位元微控制器進行安全配置。為此,創建Secure Thingz的Secure Deploy架構,簡化跨設計和製造價值鏈的安全實現。
與嵌入式安全解決方案提供商合作的微控制器供應商中,另一家意法半導體(ST)與Arilou Information Security Technologies合作,創建一種多層安全配置,其中的硬體和軟體可以相互支援,以監視資料流程並檢測通訊異常。
意法的SPC58 Chorus系列32位元汽車微控制器嵌入了硬體安全模組(HSM),提供保護敏感的安全資訊功能,如加密金鑰。進而確保防止車身和閘道應用中的通訊匯流排受到入侵。硬體安全模組(Hardware Security Module, HSM)提供採用硬體架構的信任根,以支援安全通訊、OTA更新和安全引導。 在SPC58 Chorus系列汽車微控制器中增加Arilou的入侵偵測和防禦系統(IDPS)軟體,以檢測交通異常狀況,並形成針對網路攻擊的額外保護層(圖2)。IDPS是一種軟體解決方案,旨在監視控制器區域網路(CAN)匯流排,並檢測汽車設計中電子控制單元(ECU)的通訊模式異常。
打造專用安全微控制器
以上部分簡要介紹了整合安全功能以應對實體和遠端攻擊的微控制器。本部分將說明專用安全微控制器,通常稱為安全元件,這些元件透過I2C或單線介面連結,充當主微控制器的搭配晶片。
安全元件支援不具備安全功能的微控制器,它們採用專門建構的硬體,以提供針對各種威脅的安全框架。這些元件簡單、便宜,並且可以減輕主微控制器或CPU的安全相關任務(如金鑰儲存、加密加速等)負載,這就是它們也稱為安全輔助處理器的原因。
在安全元件中,所有安全構件都在一個共同邊界內工作,該邊界將身分驗證金鑰與軟體隔離,進而防止駭客進行攻擊,如電源迴圈、時鐘干擾和邊通道攻擊。在工廠中將安全金鑰和證書上傳到安全元件中,還可以防止IP盜用、設計複製和產品仿冒。
以半導體製造商Microchip安全元件ATECC608A為例,具有一個用於產生唯一金鑰的亂數產生器(RNG),同時符合美國國家標準暨技術研究院(NIST)的最新要求(圖3)。該元件還具有用於相互身分驗證的加密加速器,例如AES-128、SHA-256和ECC P-256。
最後,用於金鑰儲存的安全ROM創建一個駭客和欺騙攻擊很難更改的不可改變環境,進而防止篡改和邊通道攻擊,所提供的服務範圍從安全引導到OTA驗證,再到用於物聯網和雲端服務身分驗證的安全金鑰儲存和傳輸。
另一個專門用於安全功能實現的低成本微控制器是Microchip的SAM L11(圖4),可以保護功率消耗受限的物聯網節點,免受到故障注入和邊通道攻擊等威脅的影響。該元件透過模組化圖形使用者介面(Graphical User Interface, GUI)抽離出低層級的安全細節,使開發人員可以選擇相關的安全功能,進而簡化嵌入式安全功能實現。
該元件抽離出的安全功能包括協力廠商配置服務,還整合安謀(Arm)的TrustZone技術,該技術隔離微控制器內的安全程式碼和非安全程式碼。此外,簡化與AWS(Amazon Web Services)等雲端服務連接時,對物聯網節點的安全需求。
安全微控制器針對物聯網邊緣應用,例如恩智浦(NXP)微控制器LPC5500利用設備唯一的金鑰來創建不可改變的硬體信任根,金鑰可以由採用SRAM的實體不可複製功能(PUF)在本地產生,允許最終用戶與OEM之間進行閉環交易處理,這種操作消除了協力廠商金鑰處理的需求。
專用安全工具不可少
儘管以安全為中心的微控制器,包含了安全構件以促進受信任的生態系統,但它們並不能解決軟體隔離問題。現在,在微控制器上運行的軟體數量正在持續提高,開發人員需要保護大型程式碼函式庫,以避免受到惡意攻擊。
例如,物聯網設備都具有用於Wi-Fi、藍牙(Bluetooth)、TLS等功能的通訊協定堆疊,因此即使沒有駭客竊取安全金鑰,通訊協定堆疊的損壞也會影響到設備的運行,這就要求需要將任務關鍵程式碼與非任務關鍵程式碼分開,並將關鍵軟體置於安全的環境中。
Arm的TrustZone(圖5)將任務關鍵程式碼和通訊協定堆疊與複雜的作業系統(OS)軟體和大型程式碼函式庫分開,進而防止韌體後門進入安全金鑰儲存區。該環境創建了多個軟體安全區域,以限制對微控制器內部特定記憶體、周邊和I/O元件的存取。
上述所有三種安全微控制器ATECC608A、SAM L11和LPC5500(圖6)都採用了TrustZone技術,可以將安全程式碼和非安全程式碼進行隔離。此外,ATECC608A安全元件還可與支援TrustZone的微控制器一起使用。
在此值得一提的是,安全微控制器與TrustZone技術是相輔相成的,在某種意義上TrustZone需要硬體保護,安全微控制器在物聯網設計環境中促成了這一點,例如ATECC608A和SAM L11。另一方面,TrustZone則有助於在以微控制器為中心的嵌入式設計中,建構緊湊的軟體環境。
物聯網提出安全部署新途徑
透過對安全微控制器進行剖析,可瞭解到它們如何在設計階段簡化嵌入式安全功能實現,以及如何繞過安全技術專業知識的陡峭學習曲線。這些專用微控制器還可降低成本花費和功率消耗,對於受到嚴格限制的物聯網設計,這是兩個主要考慮因素。
當物聯網設備的推出速度超過安全部署這些互連設計的速度時,安全微控制器可提供一條應對多方面網路威脅的可行途徑。它們提供了一個簡化的解決方案,配備安全設計生態系統,促進了點選式開發環境的形成。
(本文作者任職於Digi-Key)