作者:Jacob Beningo
接入互聯網的產品數量繼續以指數級的速度增長。許多產品團隊面臨的問題是,嵌入軟件開發人員的安全經驗不足。缺乏經驗會導致忽視安全要求、安全漏洞和實施不良。從而導致接入系統、設備和用戶數據得不到充分保護,容易被竊取知識產權。
基于微控制器的系統的設計人員可以選擇多種解決方案,以簡化安全應用的實現,并提供有助于成功實現的工具。例如,單核微控制器可以使用 Armv8-M架構(及以上)的 Arm TrustZone。也有采用多核微控制器的解決方案。
本文介紹了開發人員如何使用多核處理器來確保其嵌入解決方案的安全。具體而言,本文研究了 Cypress 的 PSoC 64安全微控制器及其提供的用于實現安全解決方案的工具。
嵌入安全基本原理
設計安全產品的核心基本原理之一是利用基于硬件的隔離。這種隔離可以有多種形式,如隔離的執行環境,或基于內存保護單元 (MPU)的隔離內存。在最高級別,微控制器需要能將其執行環境分離成安全處理環境 (SPE) 和非安全處理環境 (NSPE)。
SPE 是隔離的執行環境,其中內存、元器件和應用代碼與 NSPE 分離。SPE 可以看作一個安全處理器。SPE運行安全代碼和操作,如安全操作系統和/或信任根 (RoT)。SPE 還將執行可信服務,如加密、安全存儲、認證和安全記錄。與安全操作相關的少數可信應用會在 SPE中運行。
至于 NSPE,則可被視為功能多樣的執行環境,可以運行除安全操作以外的各種操作。實際上,大多數嵌入系統開發人員確實熟悉 NSPE 編程模型,其中有RTOS 和大多數應用的元器件。
基于硬件的隔離是 Arm? 平臺安全架構 (PSA) 為構建安全系統提供的核心租戶或最佳實踐之一。圖 1 以 PSoC 64為例展示了我們剛才探討的不同隔離層的實現。本例中,SPE 和 NSPE (1) 的運行時環境位于不同的處理器上,由此形成硬件隔離。除了運行時分離,RoT和可信服務也被進一步隔離 (2)。最后,SPE 中的每個可信應用還利用可信分區和 MPU (3) 等工具進行隔離。
PSoC 64 是雙核微控制器,其中 NSPE 在 Arm Cortex?-M4 處理器上執行,而 SPE 在 Arm Cortex-M0+處理器上執行。Arm Cortex-M0+ 運行所有的安全功能,并可通過處理器間通信 (IPC) 總線與 Cortex-M4 通信。該架構限制訪問SPE,SPE 為硬件隔離。
開始使用 PSoC 64 之前,開發人員需查看 PSoC 64 Secure Boot Pioneer Kit。
PSoC 64 Secure Boot Pioneer Kit
PSoC 64 Secure Boot Pioneer Kit(圖 2)包含開發人員為確保應用安全所需的一切。首先,它有一個 PSoC 64 模塊,其中有PSoC 64 微控制器、外部存儲器和各種支持電路(圖示紅色部分)。外部存儲器可用于存儲應用代碼,或用于新固件映像,以實現安全的固件線上更新(FOTA)。
其次,帶有 Wi-Fi 模塊,開發人員可以通過該模塊將電路板接入網絡。Wi-Fi 模塊對物聯網應用特別有用,因為其中的電路板會連接到 AWS 或Azure 等云服務。該開發板支持 Amazon FreeRTOS,我們將在接下來的部分進行討論。
最后,Pioneer Kit 支持廣泛的擴展功能,如排針、Arduino針座和各種傳感器。開發人員可以使用板載觸摸滑塊和觸摸按鈕、按鈕、電位計等。電路板的設置也使定制相當容易,幾乎可針對任何應用進行定制。
PSoC 64 Secure Software Suite
設計安全的嵌入應用可能會耗時費力。開發人員應該尋找有助于降低成本和加快上市的解決方案,同時還要確保應用的安全性。為幫助實現此目標,PSoC 64提供了大量的軟件,使開發人員能夠快速構建安全的應用。
例如,CySecureTools 為開發人員提供了創建密鑰和證書的工具集,以及簽署用戶應用和配置 Cypress 微控制器的工具。該工具允許開發人員轉移Cypress RoT,然后注入自己的安全資產。關于如何設置和使用 CySecureTools 的信息可以在 github 資源庫 README文件中找到。
對于物聯網開發人員有用的工具可支持 使用 FreeRTOS 的 AWS。Github 資源庫包含了在 PSoC 64 上使用 FreeRTOS 和 AWS的有用示例。開發人員會感興趣的第一個示例是“Hello World”應用,它將 MQTT 消息從 PSoC 64 傳輸到 AWS云。此示例可以讓開發人員瀏覽配置過程、密鑰生成和部署階段。在此示例的最后,開發人員有一個安全的嵌入設備連接到 AWS。關于如何開始的信息詳見
CY8CKIT-064S0S204343 套件入門指南。
用 Trusted Firmware-M (TF-M) 確保應用安全
PSoC 64 為開發人員提供了開箱即用的安全框架,可以根據應用輕松定制。開發人員可能會發現,從軟件的角度了解基礎知識非常有用。具體來說,PSoC 64固件利用 Trusted Firmware-M(或 TF-M)開源基準安全框架。
TF-M 是 Arm PSA
物聯網安全框架的一個基準實現。它為開發人員提供了有用的安全工具,如設備認證、固件驗證、加密服務、設備秘鑰管理和安全分區等。Cypress 利用 TF-M來構建其安全框架,以便開發人員可以在自己的應用中使用該框架。
開發人員可以通過添加自己的代碼、添加安全配置文件等方式修改其安全框架。但要切記,SPE軟件被修改得越多,漏洞增加的幾率就越大。開發人員需要認真權衡與變更、增加或減少基線固件相關的風險。
確保嵌入應用安全的技巧和訣竅
首次想要確保其嵌入應用安全的開發人員需要考慮諸多問題。下面有幾個“技巧和竅門”,可以簡化和加速開發:
在開發早期進行威脅模型和安全分析 (TMSA)。
使用開發板來測試設備 RoT、安全引導程序、設備配置過程和固件更新。
不要單獨實施安全!利用現有的開源安全固件堆棧,以盡量減少返工。
務必考慮設備的生命周期,包括如何安全停用。
了解 CySecureTools 等工具,這些工具可提供安全模板、軟件和示例。
在復制 FreeRTOS github 資源庫時,選擇最新的標記版本。復制活躍的主線,往往會導致工具不兼容和漏洞依然存在。
開始項目時,先瀏覽 Cypress CY8CKIT-064S0S2-4343W套件入門指南。指南中提供了運行基線應用的所有必要信息,然后可以針對具體產品目的進行修改。
遵循這些“技巧和竅門”,可以幫助開發人員節省更多的時間,減少更多的麻煩。
總結
安全問題并非難以處理。嵌入系統開發人員應該專注于他們產品的差異化,即他們的秘訣。多數情況下,這并不涉及安全問題。本文探討了 PSoC 64如何通過同時提供基于硬件的隔離環境和軟件工具框架,來幫助開發人員快速確保其應用的安全。這些硬件和軟件解決方案結合,加快了開發人員的安全開發周期。
-
微控制器
+關注
關注
48文章
7542瀏覽量
151316 -
PSoC
+關注
關注
12文章
170瀏覽量
91892 -
嵌入系統
+關注
關注
0文章
18瀏覽量
15275 -
SPE
+關注
關注
0文章
27瀏覽量
13733
發布評論請先 登錄
相關推薦
評論