要使設備安全有效的運行,需要開發人員選擇一種包含特定硬件和軟件特性的微控制器。這些特性包括真正的隨機數生成器,也可以是安全的庫。下面讓我們來分享一下嵌入式開發人員如何利用好微控制器中包含的硬件和軟件。
使用真隨機數生成器(TRNG)
許多加密和通信過程要求開發人員將隨機數作為加密的初始向量。在過去,開發人員依靠偽隨機數和其他技術來生成這些值。使用TRNG可以幫助開發人員消除生成隨機數的復雜方法,并利用快速、高效且能夠提供真正隨機數的硬件。
使用加密硬件加速器(AES、SHA)
在資源有限的設備上運行加密軟件庫可能需要大量的處理工作。尋找一個包含硬件加密加速器的微控制器有幾個優點,如加快加密和解密,同時減少代碼空間。如果要為實時微控制器增加安全性,必須使用加密硬件加速器。
使用Arm TrustZone硬件架構
Arm TrustZone是一個新的硬件特性(實時處理器的新特性),包括在Cortex-M23和Cortex-M33處理器中。TrustZone本質上是為安全處理創建和內部防火墻,它可以幫助開發人員將他們的軟件分為安全和不安全兩塊區域。在開發過程中,TrustZone可用于創建信任根、安全更新、安全引導等許多其他用例。
使用安全的內部存儲
一個安全的微控制器需要包括安全的內部存儲。內部存儲用于存儲公鑰和私鑰,并確保不應該使用它們的應用程序組件不能訪問任務關鍵數據。
使用內存保護單元(MPU)
內存保護單元可用于隔離線程并使它們在自己的內存空間中運行。如果一個線程試圖訪問它自己的空間之外的內存位置,或者另一個線程試圖訪問它的空間,則會拋出異常。使用MCU來保護內存可以確保惡意代碼無法訪問系統。
檢查MCU是否準備好了安全元件
安全元件對于有興趣創建安全設備的開發人員非常有用。確保將安全元件集成到處理器中,或者可以輕松地將安全元件添加到系統中。
檢查可用的安全庫
對于所選的安全處理器,要確保有安全啟動庫、安全固件更新庫和其他可用的加密庫。值得注意的是,使用這些不同的硬件組件并不一定保證系統絕對安全。然而,確實有很多工具可用來以有效地保護微控制器。
以上就是英銳恩單片機開發工程師分享的有關嵌入式開發如何選擇安全性高的微控制器。英銳恩專注單片機應用方案設計與開發,提供8位單片機、16位單片機、32位單片機、運算放大器和模擬開關。