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