《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于網(wǎng)絡的嵌入式系統(tǒng)安全性研究
基于網(wǎng)絡的嵌入式系統(tǒng)安全性研究
摘要: 對于保證安全領域的研究可分為兩大類:一類是如何保證嵌入式系統(tǒng)自身的安全,使其免病毒、黑客的攻擊和人為的破壞,另一類則是如何保證傳輸信息內(nèi)容的安全性、保密性,特別是對安全性要求比較高的服務其重要性不言而喻。其中,后者是我們研究的主要對象,目前對其采用的技術主要有IPSec技術、SSL/TLS技術、VPN技術等。本文主要研究IPSec網(wǎng)絡安全協(xié)議在嵌入式系統(tǒng)中的應用與實現(xiàn),使嵌入式系統(tǒng)能夠?qū)Υ笮透呖煽啃苑仗峁┤嬷С?,在保證服務質(zhì)量的同時,在客戶和服務器之間建立安全的網(wǎng)絡通道,保證敏感數(shù)據(jù)的安全。
Abstract:
Key words :

1 引言

  嵌入式網(wǎng)絡技術是近幾年隨著計算機網(wǎng)絡技術的普及和發(fā)展而發(fā)展起來的一項新興概念和技術,它通過為現(xiàn)有嵌入式系統(tǒng)增加因特網(wǎng)接入能力來擴展其功能,一般指設備通過嵌入式模塊而非PC系統(tǒng)直接接入Internet,以Internet為介質(zhì)實現(xiàn)信息交互的過程,通常又稱為非PC接入。嵌入式Internet解決了終端設備的網(wǎng)絡化問題,然而Internet提供的網(wǎng)絡環(huán)境并不保障接入系統(tǒng)的安全性。可以這樣說,嵌入式Internet的安全問題直接關系到嵌入式Internet的發(fā)展及其應用前景;因此,在開發(fā)和使用嵌入式Internet系統(tǒng)的同時,必須把嵌入式Internet通信的安全問題放到重要的地位考慮。

  對于保證安全領域的研究可分為兩大類:一類是如何保證嵌入式系統(tǒng)自身的安全,使其免病毒、黑客的攻擊和人為的破壞,另一類則是如何保證傳輸信息內(nèi)容的安全性、保密性,特別是對安全性要求比較高的服務其重要性不言而喻。其中,后者是我們研究的主要對象,目前對其采用的技術主要有IPSec技術、SSL/TLS技術、VPN技術等。本文主要研究IPSec網(wǎng)絡安全協(xié)議在嵌入式系統(tǒng)中的應用與實現(xiàn),使嵌入式系統(tǒng)能夠?qū)Υ笮透呖煽啃苑仗峁┤嬷С?,在保證服務質(zhì)量的同時,在客戶和服務器之間建立安全的網(wǎng)絡通道,保證敏感數(shù)據(jù)的安全。

  2 嵌入式網(wǎng)絡安全特點及關鍵技術分析

  2.1 嵌入式網(wǎng)絡安全特點分析

  由于嵌入式自身的設備體積小,資源有限以及功能相對單一的特點,它的網(wǎng)絡安全有自身的特點:存儲器較小,處理器處理數(shù)據(jù)能力較差,更容易收到攻擊,安全性更脆弱;功能單一,所受到的攻擊也是比較單一;存儲能力相對較弱,是的一些常駐存儲器的病毒較難存在,同時也使得內(nèi)存消耗的攻擊也容易得手;由于各種嵌入式設備功能、設計區(qū)別都很大,對某一種設備的攻擊對另一種設備就可能變得無效;還有很多的嵌入式設備和上網(wǎng)設備是分離的,大多數(shù)網(wǎng)絡攻擊都能被上網(wǎng)功能過濾掉,這樣就使得對嵌入式設備的攻擊變得更難。

  根據(jù)OSI安全體系結(jié)構以及對嵌入式Internet特點分析,一個有效的嵌入式安全通信機制必須提供以下安全服務:數(shù)據(jù)保密性、數(shù)據(jù)完整性、認證服務、訪問控制服務和抗抵賴服務。實現(xiàn)這些安全服務需求,可以采用的安全機制為:加密機制、數(shù)字簽名機制、訪問控制機制、數(shù)據(jù)完整性機制、鑒別交換機制、業(yè)務流填充機制、路由控制機制和公證機制。根據(jù)嵌入式Internet系統(tǒng)的安全特點,這里提出的安全機制的制定主要從下面兩個方面來考慮:

  (1)實現(xiàn)安全機制的網(wǎng)絡層次TCP/IP參考模型是一個四層網(wǎng)絡協(xié)議系統(tǒng),各種安全機制并不都可應用在任意一層。針對嵌入式Internet的安全服務,也可以參考四層協(xié)議系統(tǒng)進行規(guī)劃,應該在合適的層次來實現(xiàn);(2)基于密碼學理論的安全機制基于密碼學理論,嵌入式網(wǎng)絡技術可以使用以下幾種算法實現(xiàn)數(shù)據(jù)保密性和完整性服務:使用對稱密鑰體制或非對稱密鑰體制,實現(xiàn)數(shù)據(jù)保密性服務;使用單向散列函數(shù)等方法實現(xiàn)數(shù)據(jù)完整性服務。

  在嵌入式網(wǎng)絡中,可以選用以上合適的密碼協(xié)議和算法,實現(xiàn)預期的安全服務要求。

  2.2 關鍵技術分析

  IPSec有兩種工作方式:隧道模式和傳輸模式。在隧道方式中,整個用戶的IP數(shù)據(jù)包被用來計算ESP包頭,整個IP包被加密并和ESP包頭一起被封裝在一個新的IP包內(nèi)。這樣當數(shù)據(jù)在Internet上傳送時,真正的源地址和目的地址被隱藏起來。在傳輸模式中,只有高層協(xié)議(TCP、UDP、ICMP 等)及數(shù)據(jù)進行加密。在這種模式下,源地址、目的地址以及所有IP包頭的內(nèi)容都不加密。VPN具體實現(xiàn)是采用隧道技術,而隧道是通過隧道協(xié)議實現(xiàn)的,隧道協(xié)議規(guī)定了隧道的建立,維護和刪除規(guī)則以及怎樣將企業(yè)網(wǎng)的數(shù)據(jù)封裝在隧道中進行傳輸。隧道協(xié)議可分為第二層隧道協(xié)議PPTP、L2F、L2TP和第三層隧道協(xié)議IPsec等。對于IPSec安全隧道IPSec協(xié)議把多種安全技術集合到一起,可以建立一個安全、可靠的隧道。 這些技術包括DiffieHellman 密鑰交換技術,DES、RC4、IDEA 數(shù)據(jù)加密技術,哈希散列算法HMAC、MD5、SHA,數(shù)字簽名技術等。

  在計算機網(wǎng)絡里進行認證的目的就是為了在進行網(wǎng)絡連線時,確保對方的身份。在此,以下列舉了一些網(wǎng)絡上的可能發(fā)生的情況以說明為什么在網(wǎng)絡上有需要作認證的需求:假冒(Masquerade)、重送(Replay)、修改內(nèi)容(Content modification)、修改次序(Sequence modification)、否認(Repudiation)。其中,在我們的系統(tǒng)中我們主要使用了Kerberos協(xié)議,它是一個三方認證協(xié)議,根據(jù)稱為密匙分配中心(KDC)的第三方服務中心來驗證網(wǎng)絡中計算機相互的身份,并建立密匙以保證計算機間安全連接KDC有兩個部分組成:認證服務器AS和票據(jù)授權服務器TGS。Kerberos是一種網(wǎng)絡認證協(xié)議,允許一臺計算機通過交換加密消息在整個非安全網(wǎng)絡上與另一臺計算機互相證明身份。一旦身份得到驗證,Kerberos協(xié)議將會給這兩臺計算機提供密匙,以進行安全通訊對話。

3 新型系統(tǒng)體系設計實現(xiàn)

  3.1 實現(xiàn)層次

  首先確定安全協(xié)議的實現(xiàn)層次,對各種機制實現(xiàn)方法作深入分析,比較它們的不同實現(xiàn)方法和不同安全特點,設計一個適合嵌入式Internet設備進行網(wǎng)絡通信的安全模型。鏈路層主要采用劃分VLAN、鏈路加密通信等手段保證通過網(wǎng)絡鏈路傳送數(shù)據(jù)的機密性、數(shù)據(jù)完整性等?;阪溌穼蛹用芘c應用程序無關,實現(xiàn)簡單,可用硬件設備進行加密,提供較高的處理速度。缺點是兩個加密參與的實體必須在物理形式上連接在一起,即不能實現(xiàn)對不同進程進行不同的加密處理。網(wǎng)絡層安全性的主要優(yōu)點是安全服務的提供與應用層的無關性,而且由于多種傳輸協(xié)議和應用程序可以共享由網(wǎng)絡層提供的密鑰管理框架,使得密鑰協(xié)商的數(shù)量也大大削減。網(wǎng)絡層安全業(yè)務最有用的特性是能夠構建VPN。網(wǎng)絡層加密的主要缺點是:對屬于不同進程和相應條例的數(shù)據(jù)包一般不作區(qū)別。對所有發(fā)往同一地址的包,它將按照同樣的加密密鑰和訪問控制策略來處理。同網(wǎng)絡層安全機制相比,傳輸層安全機制的主要優(yōu)點是它提供對進程的安全服務。傳輸層安全機制的主要缺點是要對傳輸層進程間通信接口和應用程序兩端都進行修改;另外,由于SSL和TLS都是建立在TCP協(xié)議上的,因此對于UDP的安全通信就無法保證。在應用層實施加密是最具強制性的選擇。它也是最具靈活性,因為保護的范圍和力度可以裁剪到滿足某一應用的特定需要。這一點正符合嵌入式Internet設備靈活多變的應用的需求。應用層的安全可以彌補下層協(xié)議漏洞和不足,可以采用多種多樣的安全措施來保證系統(tǒng)的安全性。除了采用一些針對應用層協(xié)議的安全方案外,其他例如身份認證、數(shù)據(jù)加密、數(shù)字簽名等都可以在應用層進行。應用層提供安全服務的優(yōu)點在于不用考慮網(wǎng)絡采用的具體協(xié)議和鏈路情況,同時由于應用程序以用戶為背景執(zhí)行,容易獲得用戶訪問憑據(jù),而且對用戶想保護的數(shù)據(jù)具有完整的訪問權并有著充分的理解,這些特性使得在應用層引入安全業(yè)務具有特定的優(yōu)勢。在應用程序中實施安全機制,程序要和一個特殊的系統(tǒng)集成到一起,應用程序通過改進調(diào)用該特殊系統(tǒng)實現(xiàn)安全機制。

  基于以上比較,為了在嵌入式Internet接入設備和訪問者之間建立起有效的,具有更強大的適應性和安全性的安全通信機制,選擇應用層作為實現(xiàn)層次,以保證設備訪問者與嵌入式設備間通信的信息安全。

  3.2 設計實現(xiàn)

  在計算機OSI/RM擴展部分,安全體系結(jié)構(Security Architecture)是指對網(wǎng)絡系統(tǒng)安全功能的抽象描述,一般從整體上定義網(wǎng)絡系統(tǒng)所提供的安全服務和安全機制。一個完整的網(wǎng)絡安全框架結(jié)構對于網(wǎng)絡安全概念的理解、網(wǎng)絡系統(tǒng)的安全設計與實現(xiàn)都有重要意義,從另一個意義來說,計算機網(wǎng)絡安全框架結(jié)構也不完全適合嵌入式系統(tǒng),筆者從嵌入式系統(tǒng)的實際應用的角度考慮,分析了網(wǎng)絡安全功能需求,給出了描述計算機網(wǎng)絡安全體系結(jié)構結(jié)構。

  IPSec在網(wǎng)絡層提供加密和認證服務,IPSec能夠保護所有的IP流量。IPSec的安全策略允許用戶更加靈活的安全策略的控制。所以,這里以IPSec為基礎,融防火墻技術于一體的,建立在IP層的新的嵌人式系統(tǒng)的安全機制。該機制主要特點如下:①它根據(jù)分組報的源、宿地址,端口號及協(xié)議類型、標志確定是否允許分組報通過;②根據(jù)安全策略的安全規(guī)則,對輸人、輸出的數(shù)據(jù)施行加/解密、認證、數(shù)字簽名、完整性校驗等安全措施,保證數(shù)據(jù)傳輸中的安全; ③支持虛擬專用網(wǎng),支持企業(yè)內(nèi)部網(wǎng)絡技術體系VPN。具體實現(xiàn)如圖1所示。

  

 SPD庫和SADB庫的查詢效率時影響本系統(tǒng)性能的一個重要因素。特別是在象家庭網(wǎng)關這樣的設備中,實現(xiàn)安全機制的網(wǎng)關要為多個嵌入式設備提供轉(zhuǎn)發(fā)IP分組,對于每個分組都要在SPD庫查找相應的安全策略,在SADB庫中查找相應的SA,因此可能會成為整個因素的瓶頸。為了解決這個問題,首先必須考慮到數(shù)據(jù)庫的存儲結(jié)構。注意到對于SA來說,協(xié)議、SPI、目的地址三要素唯一確定一個SA,我們用(目的地址十SPI+協(xié)議)作為查詢條件。對于這樣的條件,用HSAH查詢:(目的地址+SPI+協(xié)議)Mod HASH表寬度作為哈希關鍵字可能會提高性能,所以決定使用HASH表結(jié)構。對于SPD,考慮到這樣情況:分組傳送是連續(xù)的,所以在內(nèi)存內(nèi)使用緩存技術來保存最近使用的安全策略,從而避免頻繁的SPD庫查詢過程可能會提高系統(tǒng)性能。

 


 

4.2 結(jié)果分析

  (1) 系統(tǒng)的可擴展性能:

  測試的參數(shù)是吞吐量和平均延遲時間。實驗目的是測試在機器臺數(shù)增加時系統(tǒng)的可擴展性能。實驗的數(shù)據(jù)結(jié)果如圖5-1和5-2所示。

  實驗結(jié)果證明該方案具有良好的可擴展性。性能提升的主要原因歸于系統(tǒng)采用了基于IPSec的架構,并且對安全策略庫進行了優(yōu)化,因為SPD和SADB庫的查詢效率是影響本系統(tǒng)性能的一個重要因素。特別是像家庭網(wǎng)關這樣的設備中,實現(xiàn)安全機制的網(wǎng)關要為多個嵌人式設備提供轉(zhuǎn)發(fā)IP分組,對于每個分組都要在SPD庫查找相應的SA,因此可能成為整個因素的瓶頸。為了解決這個問題,首先必須考慮到數(shù)據(jù)庫的存儲結(jié)構。采用安全策略庫和Cache表來解決。

  

  (2) 系統(tǒng)的安全性能:

  加密的網(wǎng)絡信息保證了信息內(nèi)容的機密性。大多數(shù)加密方一法也需要授權和數(shù)據(jù)完整的服務。加密技術可以分成二個大類:消息摘要、對稱密鑰密碼系統(tǒng)和不對稱公開密鑰密碼系統(tǒng)。特別我們的密碼經(jīng)過MD5算法加密以后,保證了它的安全性。

  MD5的設計是面向32比特字的,MD5計算出的信息摘錄長度為128比特,用4個字表示,分別記為d0,d1,d2,d3,在計算開始時被分別初始化為常數(shù):

  d0 =01234567H,d1 =89abcdefH,d2 =fedcba98H,d3=76543210H

  輸入的信息被分成512比特的等長塊,逐塊處理。每塊包含16個字,分別記為m0,m1,?,m15。每塊的處理分四遍掃描,對每一遍掃描中的每一個字都使用不同的常數(shù),共64個,用T1,T2,?,T64來表示,其中:Ti=[232 | sin ( i ) | ]。輸入的信息應是512比特的倍數(shù),其填充方式,填充位的第一個比特為1,隨后的填充位都為0;即使原來的信息已是512比特的倍數(shù),也要進行填充。所以填充位的最小長度為1比特,最大長度為512比特。

  實驗證明運行基于IPSec和SSL協(xié)議的嵌入式系統(tǒng)具有良好的可擴展性和安全性能。

  4 結(jié)束語

  基于網(wǎng)絡的嵌入式系統(tǒng)安全性是當今一大研究熱點,對該領域的研究既具有很強的理論意義又具備很高的現(xiàn)實意義。嵌入式系統(tǒng)只有在對安全性協(xié)議提供很好支持的情況下,才能真正發(fā)揮其巨大價值,才能對大型高可靠性服務提供全面支持。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。