摘要
對于嵌入式系統安全來講,研發和廠家主要看重的是數據完整性、代碼完整性和產品完整性。隨著嵌入式的發展,針對系統安全這一塊的成本和復雜度也在不斷升高。針對不同安全目標,有不同的組件與方案來保護嵌入式系統的安全。這些您是否都了解呢?
對于嵌入式系統安全來講,研發和廠家主要看重的是數據完整性、代碼完整性和產品完整性。隨著嵌入式的發展,針對系統安全這一塊的成本和復雜度也在不斷升高。
針對不同安全目標,有不同的組件與方案來保護嵌入式系統的安全。
數據防竊
加密算法是實現嵌入式系統數據防竊的重要支撐。
對稱加密
對稱加密算法的數據收發雙方使用同一個密鑰進行加密和解密。對稱加密算法的優點是比非對稱加密算法更快,缺點是共享密鑰的分布和保存是個問題。目前對稱加密算法主要有:DES,3DES, Blowfish,AES 。其中AES以其最強的加密性能最受歡迎–至今尚未收到成功破解的報告。
LPC43S37帶硬件AES引擎。實測AES128的執行效率比軟件快30倍。
非對稱加密
非對稱加密是數據收發雙方使用不同密鑰進行加密和解密。密鑰以成對的方式出現,分為私鑰和公鑰,使用時僅需要對私鑰進行保密。優點是易于管理,擴展性強;缺點是比對稱算法更慢。目前主要有RSA和ECC這兩種算法。
檢測篡改
檢測篡改主要是通過不可逆的數據算法實現對數據是否改變進行檢測。
Hash
Hash函數是用來創建原數據的一個短小描述以鑒別是否被篡改。發送方在原始數據上附著hash值,接收方根據收到的數據以相同算法計算hash值,并與發方給出的值比對,若兩個hash值一致即可認為數據沒被更改。
常用的hash算法簡單的有:CRC算法。帶密鑰的Hash算法有:MD2/3/4/5/6, SHA-0/1/2/3。其中MD5已被破解,不推薦使用。SHA-2已獲美國政府認證。
MAC
MAC是指消息認證碼算法,用于確保消息的完整與真實。“完整性”突出消息未經改變,“真實性”強調消息來源是可信的。MAC是一種帶密鑰的驗證機制,Hash算法也可以適用于MAC。
對于LPC18Sxx/43Sxx系列微控制器,其本身支持多種適合安全類應用的外設,如:AES引擎、真隨機數發生器、OTP存儲區等,可以有效的保障嵌入式系統的安全。尤其針對無Flash版本的芯片可以通過對稱加密的安全啟動來保障代碼的安全。
更多可以實現的系統安全保障如下表所示。
|