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