1 引言
嵌入式網絡技術是近幾年隨著計算機網絡技術的普及和發展而發展起來的一項新興概念和技術,它通過為現有嵌入式系統增加因特網接入能力來擴展其功能,一般指設備通過嵌入式模塊而非PC系統直接接入Internet,以Internet為介質實現信息交互的過程,通常又稱為非PC接入。嵌入式Internet解決了終端設備的網絡化問題,然而Internet提供的網絡環境并不保障接入系統的安全性。可以這樣說,嵌入式Internet的安全問題直接關系到嵌入式Internet的發展及其應用前景;因此,在開發和使用嵌入式Internet系統的同時,必須把嵌入式Internet通信的安全問題放到重要的地位考慮。
對于保證安全領域的研究可分為兩大類:一類是如何保證嵌入式系統自身的安全,使其免病毒、黑客的攻擊和人為的破壞,另一類則是如何保證傳輸信息內容的安全性、保密性,特別是對安全性要求比較高的服務其重要性不言而喻。其中,后者是我們研究的主要對象,目前對其采用的技術主要有IPSec技術、SSL/TLS技術、VPN技術等。本文主要研究IPSec網絡安全協議在嵌入式系統中的應用與實現,使嵌入式系統能夠對大型高可靠性服務提供全面支持,在保證服務質量的同時,在客戶和服務器之間建立安全的網絡通道,保證敏感數據的安全。
2 嵌入式網絡安全特點及關鍵技術分析
2.1 嵌入式網絡安全特點分析
由于嵌入式自身的設備體積小,資源有限以及功能相對單一的特點,它的網絡安全有自身的特點:存儲器較小,處理器處理數據能力較差,更容易收到攻擊,安全性更脆弱;功能單一,所受到的攻擊也是比較單一;存儲能力相對較弱,是的一些常駐存儲器的病毒較難存在,同時也使得內存消耗的攻擊也容易得手;由于各種嵌入式設備功能、設計區別都很大,對某一種設備的攻擊對另一種設備就可能變得無效;還有很多的嵌入式設備和上網設備是分離的,大多數網絡攻擊都能被上網功能過濾掉,這樣就使得對嵌入式設備的攻擊變得更難。
根據OSI安全體系結構以及對嵌入式Internet特點分析,一個有效的嵌入式安全通信機制必須提供以下安全服務:數據保密性、數據完整性、認證服務、訪問控制服務和抗抵賴服務。實現這些安全服務需求,可以采用的安全機制為:加密機制、數字簽名機制、訪問控制機制、數據完整性機制、鑒別交換機制、業務流填充機制、路由控制機制和公證機制。根據嵌入式Internet系統的安全特點,這里提出的安全機制的制定主要從下面兩個方面來考慮:
(1)實現安全機制的網絡層次TCP/IP參考模型是一個四層網絡協議系統,各種安全機制并不都可應用在任意一層。針對嵌入式Internet的安全服務,也可以參考四層協議系統進行規劃,應該在合適的層次來實現;(2)基于密碼學理論的安全機制基于密碼學理論,嵌入式網絡技術可以使用以下幾種算法實現數據保密性和完整性服務:使用對稱密鑰體制或非對稱密鑰體制,實現數據保密性服務;使用單向散列函數等方法實現數據完整性服務。
在嵌入式網絡中,可以選用以上合適的密碼協議和算法,實現預期的安全服務要求。
2.2 關鍵技術分析
IPSec有兩種工作方式:隧道模式和傳輸模式。在隧道方式中,整個用戶的IP數據包被用來計算ESP包頭,整個IP包被加密并和ESP包頭一起被封裝在一個新的IP包內。這樣當數據在Internet上傳送時,真正的源地址和目的地址被隱藏起來。在傳輸模式中,只有高層協議(TCP、UDP、ICMP 等)及數據進行加密。在這種模式下,源地址、目的地址以及所有IP包頭的內容都不加密。VPN具體實現是采用隧道技術,而隧道是通過隧道協議實現的,隧道協議規定了隧道的建立,維護和刪除規則以及怎樣將企業網的數據封裝在隧道中進行傳輸。隧道協議可分為第二層隧道協議PPTP、L2F、L2TP和第三層隧道協議IPsec等。對于IPSec安全隧道IPSec協議把多種安全技術集合到一起,可以建立一個安全、可靠的隧道。 這些技術包括DiffieHellman 密鑰交換技術,DES、RC4、IDEA 數據加密技術,哈希散列算法HMAC、MD5、SHA,數字簽名技術等。
在計算機網絡里進行認證的目的就是為了在進行網絡連線時,確保對方的身份。在此,以下列舉了一些網絡上的可能發生的情況以說明為什么在網絡上有需要作認證的需求:假冒(Masquerade)、重送(Replay)、修改內容(Content modification)、修改次序(Sequence modification)、否認(Repudiation)。其中,在我們的系統中我們主要使用了Kerberos協議,它是一個三方認證協議,根據稱為密匙分配中心(KDC)的第三方服務中心來驗證網絡中計算機相互的身份,并建立密匙以保證計算機間安全連接KDC有兩個部分組成:認證服務器AS和票據授權服務器TGS。Kerberos是一種網絡認證協議,允許一臺計算機通過交換加密消息在整個非安全網絡上與另一臺計算機互相證明身份。一旦身份得到驗證,Kerberos協議將會給這兩臺計算機提供密匙,以進行安全通訊對話。
3 新型系統體系設計實現
3.1 實現層次
首先確定安全協議的實現層次,對各種機制實現方法作深入分析,比較它們的不同實現方法和不同安全特點,設計一個適合嵌入式Internet設備進行網絡通信的安全模型。鏈路層主要采用劃分VLAN、鏈路加密通信等手段保證通過網絡鏈路傳送數據的機密性、數據完整性等。基于鏈路層加密與應用程序無關,實現簡單,可用硬件設備進行加密,提供較高的處理速度。缺點是兩個加密參與的實體必須在物理形式上連接在一起,即不能實現對不同進程進行不同的加密處理。網絡層安全性的主要優點是安全服務的提供與應用層的無關性,而且由于多種傳輸協議和應用程序可以共享由網絡層提供的密鑰管理框架,使得密鑰協商的數量也大大削減。網絡層安全業務最有用的特性是能夠構建VPN。網絡層加密的主要缺點是:對屬于不同進程和相應條例的數據包一般不作區別。對所有發往同一地址的包,它將按照同樣的加密密鑰和訪問控制策略來處理。同網絡層安全機制相比,傳輸層安全機制的主要優點是它提供對進程的安全服務。傳輸層安全機制的主要缺點是要對傳輸層進程間通信接口和應用程序兩端都進行修改;另外,由于SSL和TLS都是建立在TCP協議上的,因此對于UDP的安全通信就無法保證。在應用層實施加密是最具強制性的選擇。它也是最具靈活性,因為保護的范圍和力度可以裁剪到滿足某一應用的特定需要。這一點正符合嵌入式Internet設備靈活多變的應用的需求。應用層的安全可以彌補下層協議漏洞和不足,可以采用多種多樣的安全措施來保證系統的安全性。除了采用一些針對應用層協議的安全方案外,其他例如身份認證、數據加密、數字簽名等都可以在應用層進行。應用層提供安全服務的優點在于不用考慮網絡采用的具體協議和鏈路情況,同時由于應用程序以用戶為背景執行,容易獲得用戶訪問憑據,而且對用戶想保護的數據具有完整的訪問權并有著充分的理解,這些特性使得在應用層引入安全業務具有特定的優勢。在應用程序中實施安全機制,程序要和一個特殊的系統集成到一起,應用程序通過改進調用該特殊系統實現安全機制。
基于以上比較,為了在嵌入式Internet接入設備和訪問者之間建立起有效的,具有更強大的適應性和安全性的安全通信機制,選擇應用層作為實現層次,以保證設備訪問者與嵌入式設備間通信的信息安全。
3.2 設計實現
在計算機OSI/RM擴展部分,安全體系結構(Security Architecture)是指對網絡系統安全功能的抽象描述,一般從整體上定義網絡系統所提供的安全服務和安全機制。一個完整的網絡安全框架結構對于網絡安全概念的理解、網絡系統的安全設計與實現都有重要意義,從另一個意義來說,計算機網絡安全框架結構也不完全適合嵌入式系統,筆者從嵌入式系統的實際應用的角度考慮,分析了網絡安全功能需求,給出了描述計算機網絡安全體系結構結構。
IPSec在網絡層提供加密和認證服務,IPSec能夠保護所有的IP流量。IPSec的安全策略允許用戶更加靈活的安全策略的控制。所以,這里以IPSec為基礎,融防火墻技術于一體的,建立在IP層的新的嵌人式系統的安全機制。該機制主要特點如下:①它根據分組報的源、宿地址,端口號及協議類型、標志確定是否允許分組報通過;②根據安全策略的安全規則,對輸人、輸出的數據施行加/解密、認證、數字簽名、完整性校驗等安全措施,保證數據傳輸中的安全; ③支持虛擬專用網,支持企業內部網絡技術體系VPN。具體實現如圖1所示。
中,實現安全機制的網關要為多個嵌入式設備提供轉發IP分組,對于每個分組都要在SPD庫查找相應的安全策略,在SADB庫中查找相應的SA,因此可能會成為整個因素的瓶頸。為了解決這個問題,首先必須考慮到數據庫的存儲結構。注意到對于SA來說,協議、SPI、目的地址三要素唯一確定一個SA,我們用(目的地址十SPI+協議)作為查詢條件。對于這樣的條件,用HSAH查詢:(目的地址+SPI+協議)Mod HASH表寬度作為哈希關鍵字可能會提高性能,所以決定使用HASH表結構。對于SPD,考慮到這樣情況:分組傳送是連續的,所以在內存內使用緩存技術來保存最近使用的安全策略,從而避免頻繁的SPD庫查詢過程可能會提高系統性能。
4.2 結果分析
(1) 系統的可擴展性能:
測試的參數是吞吐量和平均延遲時間。實驗目的是測試在機器臺數增加時系統的可擴展性能。實驗的數據結果如圖5-1和5-2所示。
實驗結果證明該方案具有良好的可擴展性。性能提升的主要原因歸于系統采用了基于IPSec的架構,并且對安全策略庫進行了優化,因為SPD和SADB庫的查詢效率是影響本系統性能的一個重要因素。特別是像家庭網關這樣的設備中,實現安全機制的網關要為多個嵌人式設備提供轉發IP分組,對于每個分組都要在SPD庫查找相應的SA,因此可能成為整個因素的瓶頸。為了解決這個問題,首先必須考慮到數據庫的存儲結構。采用安全策略庫和Cache表來解決。
(2) 系統的安全性能:
加密的網絡信息保證了信息內容的機密性。大多數加密方一法也需要授權和數據完整的服務。加密技術可以分成二個大類:消息摘要、對稱密鑰密碼系統和不對稱公開密鑰密碼系統。特別我們的密碼經過MD5算法加密以后,保證了它的安全性。
MD5的設計是面向32比特字的,MD5計算出的信息摘錄長度為128比特,用4個字表示,分別記為d0,d1,d2,d3,在計算開始時被分別初始化為常數:
d0 =01234567H,d1 =89abcdefH,d2 =fedcba98H,d3=76543210H
輸入的信息被分成512比特的等長塊,逐塊處理。每塊包含16個字,分別記為m0,m1,?,m15。每塊的處理分四遍掃描,對每一遍掃描中的每一個字都使用不同的常數,共64個,用T1,T2,?,T64來表示,其中:Ti=[232 | sin ( i ) | ]。輸入的信息應是512比特的倍數,其填充方式,填充位的第一個比特為1,隨后的填充位都為0;即使原來的信息已是512比特的倍數,也要進行填充。所以填充位的最小長度為1比特,最大長度為512比特。
實驗證明運行基于IPSec和SSL協議的嵌入式系統具有良好的可擴展性和安全性能。
4 結束語
基于網絡的嵌入式系統安全性是當今一大研究熱點,對該領域的研究既具有很強的理論意義又具備很高的現實意義。嵌入式系統只有在對安全性協議提供很好支持的情況下,才能真正發揮其巨大價值,才能對大型高可靠性服務提供全面支持。
評論
查看更多