摘要:嵌入式系統已廣泛用于電子信息工程領域,系統安全與數據安全十分重要。安全性通常為密碼學、計算科學以及網絡等領域所關注,往往被視為嵌入式系統設計的附加功能。而事實上,安全性問題同成本、性能和功率等問題一樣,均應被納入嵌入式系統設計的考慮范圍。該文基于嵌入式系統開發與設計在安全方面所面臨的挑戰,從終端用戶的角度分析嵌入式系統的典型功能安全需求,進而解析嵌入式系統架構以及硬件和軟件設計面臨的潛在安全問題。此外,研究還考查了解決上述問題的解決方案,借鑒當前的理論與實踐研究成果,提出需要在嵌入式系統架構和設計方法上進行創新與改進。
關鍵詞:嵌入式系統;安全;協議;密碼
1 概述
如今,各類嵌入式系統對安全性的需求越來越高,從低端系統例如掌上電腦、手機、網絡傳感器和智能卡等,到高端系統如路由器、網關、防火墻、存儲服務器和Web服務器等,安全防護愈發重要。技術推動電子系統的更新發展,但同時也可能被應用于對系統的攻擊,從而讓安全問題變得復雜。隨著互聯網的發展,信息和通信安全受到了廣泛的關注。例如,各種安全協議和標準(如IPsec、SSL、WEP和WTLS)用于安全通信。雖然安全協議和密碼算法從功能的角度考慮了安全問題,但不少嵌入式系統都受到其所處的環境和所擁有的資源的限制。對于此類系統,有不少因素正促使對安全問題的考慮從以功能為中心的角度轉移到系統架構(硬件/軟件)設計問題上。[1]
首先,用于破壞安全性的攻擊技術,如軟件、物理和側信道攻擊越來越多,這就要求面對邏輯上或物理上被惡意訪問或攻擊,嵌入式系統也能保證其安全性。只有在系統架構及其實現中內置攻擊防御,才能確保對這些攻擊的抵抗能力。其次,許多嵌入式系統的處理能力很容易被安全處理的計算需求所淹沒,難以實現在安全與成本、性能之間的平衡。再次,電池驅動系統和小尺寸器件,如掌上電腦、手機和網絡傳感器通常在嚴格的資源限制(有限的電池容量、存儲和計算能力)下運行。而要讓這些設備達到一定安全要求,便要突破以上限制條件。再其次,嵌入式系統架構需要足夠靈活,以支持安全機制和標準的快速升級更新。最后,新的安全目標,如拒絕服務和數字內容保護需要安全領域和嵌入式系統架構方面之間的深度緊密合作。[2]
本文將基于嵌入式系統安全的重要性,回顧不斷發展的安全趨勢和標準,說明安全需求如何轉化為系統設計挑戰,進而提出通過結合先進的嵌入式系統體系結構和設計方法來應對這些挑戰的新型解決方案。
2 嵌入式系統安全要求
嵌入式系統提供的關鍵功能經常可能被惡意破壞。在討論嵌入式系統的常見安全需求之前,必須要注意,典型的嵌入式系統制造涉及許多方面,例如供應和使用鏈等。安全性的要求往往取決于考慮的角度。以智能手機為例,最終用戶的主要關注點可能是通過手機存儲個人數據信息和進行數據通信的安全性,而內容提供商的主要關注點可能是傳輸到手機的多媒體內容的拷貝保護。此外,手機制造商可能還關心手機內部專有固件的保密性。同樣,潛在的惡意實體類型也可能有所不同。從內容提供商的角度來看,手機的最終用戶可能是不受信任的實體。嵌入式系統有著典型的、廣泛的安全需求,但其安全模型將制約其適用的安全需求組合。當用戶在公共網絡或通信通道發送或接收敏感信息,潛在攻擊者也可訪問網絡時,就需要安全功能來實現數據機密性、數據完整性保護以及對等身份驗證。數據機密性保護敏感信息不遭竊取;數據完整性確保信息不受非法更改;對等身份驗證驗證信息是否由適當的方(而不是偽裝者)發送和接收。這些安全功能皆為當今廣泛應用的嵌入式系統所必需。[3]
另一個重要的安全功能是嵌入式系統的可用性。惡意程序經常阻止嵌入式系統執行功能,導致性能下降或完全拒絕服務(DoS)給合法用戶。嵌入式系統安全通常需要在其使用周期內保護關鍵或敏感信息(代碼或數據),包括確保這些信息在使用周期結束后被正確擦除。安全存儲涉及保護嵌入式系統存儲設備中的信息,無論是系統外部還是內部。內容安全或數字版權管理(DRM)保護系統中使用數字內容的權利,內容提供商較為關注。最后,防篡改指即使設備被惡意入侵或者控制,也能確保安全性,并且可以在物理上或邏輯上進行探測追溯。
3 安全機制
上面描述的基本安全功能通常使用三種不同的加密算法:對稱密碼、非對稱密碼和安全哈希算法來實現。
對稱密碼要求發送者使用密鑰來加密數據(被加密的數據通常稱為明文)并將加密的數據(通常稱為密文)傳輸給接收者。在接收到密文后,接收者使用相同的密鑰解密并重新生成明文。密文應該具有這樣的特性,即第三方在沒有訪問密鑰的情況下很難推斷出明文。因此,在傳輸過程中保證了數據的機密性。對稱密碼的例子包括DES、3DES、AES和RC4。
MD5和SHA等安全哈希算法將任意消息轉換為唯一的固定長度值,從而為消息提供唯一的“指紋”。哈希函數通常用于構造消息認證碼(MACS),例如HMAC-SHA,它還包含一個密鑰,以防止篡改數據的對手通過重新計算哈希來避免檢測。
非對稱算法(也稱為公鑰算法)使用一對密鑰:其中一個密鑰鎖定數據,而另一個密鑰解鎖數據。為給定收件人加密郵件只需要已知的公鑰,但解密只能使用收件人的私鑰,收件人應對此保密。因此,使用私鑰f假設它是保密的)提供程序用戶或主機身份驗證。因此。數字簽名通常使用公鑰密碼和安全散列來構造。用戶可以通過使用私鑰加密消息的哈希值來“數字簽名”:任何人都可以通過使用公鑰解密來驗證此簽名。[4]
非對稱密碼(如RSA、Diffie-Hellman等)依賴于使用計算量更大的數學函數,如大整數的模冪運算,因此比對稱密碼慢得多。對稱密碼通常用于加密大容量數據,而非對稱密碼則用于通過公共網絡建立(傳輸)對稱密碼的密鑰。安全解決方案通常依賴于在安全協議中使用密碼算法組合的安全機制。各種安全技術和機制圍繞這些密碼算法而設計,以提供特定的安全服務。
推薦閱讀:計算機方面的期刊哪里能推薦
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >