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