摘要:在面向報文信息的網(wǎng)絡(luò)安全模型基礎(chǔ)上,IPSec提供了數(shù)據(jù)源驗證服務(wù)以彌補(bǔ)IP協(xié)議不足,但仍存在通信實體安全性的問題。因此在面向基礎(chǔ)設(shè)施的網(wǎng)絡(luò)模型指導(dǎo)下,結(jié)合IPSec在網(wǎng)絡(luò)層實施安全服務(wù)的優(yōu)點(diǎn),深入分析并提出一種網(wǎng)絡(luò)層身份驗證機(jī)制以預(yù)防假冒攻擊,最后對兩種網(wǎng)絡(luò)安全模型下的身份驗證作了分析比較。
關(guān)鍵詞:安全模型;身份驗證;IP;IPSec
0 引言
傳統(tǒng)網(wǎng)絡(luò)安全體系結(jié)構(gòu)的注重點(diǎn)是數(shù)據(jù)安全,而不是網(wǎng)絡(luò)基礎(chǔ)設(shè)施本身的安全。在網(wǎng)絡(luò)攻擊不斷泛濫的形勢下,有必要將安全保護(hù)的對象由通信的數(shù)據(jù)轉(zhuǎn)向通信的物理設(shè)備,沒有安全的網(wǎng)絡(luò)基礎(chǔ)設(shè)施支撐,安全的網(wǎng)絡(luò)通信如同空中樓閣。
1 面向報文信息的網(wǎng)絡(luò)安全模型
目前,討論的大多數(shù)通信模型是一方通過互聯(lián)網(wǎng)傳送報文給另一方,雙方協(xié)調(diào)共同完成信息交換。如需要保護(hù)信息傳輸防止攻擊者竊取和破壞信息時,就該在原有的通信模型基礎(chǔ)上提供安全服務(wù)。目前有兩類安全服務(wù)模型,即網(wǎng)絡(luò)傳輸安全模型和網(wǎng)絡(luò)訪問安全模型。
網(wǎng)絡(luò)傳輸安全模型是在數(shù)據(jù)發(fā)送或接收前對其進(jìn)行安全轉(zhuǎn)換,保證通信雙方數(shù)據(jù)的保密性,避免攻擊者竊取報文后直接讀取,有時需要可信任第三方負(fù)責(zé)分發(fā)保密信息。網(wǎng)絡(luò)訪問安全模型是利用驗證或訪問控制等方式控制非授權(quán)網(wǎng)絡(luò)實體非法訪問資源。除上述兩種安全模型之外,還有一種網(wǎng)絡(luò)安全模型,旨在提供集成的網(wǎng)絡(luò)安全,但僅僅是個一般概念上的描述模型,并非成熟實用。
網(wǎng)絡(luò)傳輸安全模型,IPSec在TCP/IP網(wǎng)絡(luò)層協(xié)議基礎(chǔ)上提供了具體的安全服務(wù)框架,主要為數(shù)據(jù)通信增加安全保護(hù),是網(wǎng)絡(luò)傳輸較安全的一個實施方案。
2 安全框架lPSec
國際標(biāo)準(zhǔn)組織(Iso)制訂的Is07498—2提出一個典型的傳統(tǒng)網(wǎng)絡(luò)安全體系結(jié)構(gòu)(NSA),該結(jié)構(gòu)描述了一系列的安全服務(wù)以及實現(xiàn)這些安全服務(wù)的機(jī)制。大多數(shù)安全服務(wù)可存在于ISO協(xié)議模型的任何一層,但其中IP層具有簡單透明的優(yōu)勢,而其他協(xié)議層實現(xiàn)起來既增大系統(tǒng)開銷,又會降低系統(tǒng)效率。于是,1ETF工作組于1998年11月制定了全新的IPSec安全體系結(jié)構(gòu),發(fā)布一系列相關(guān)規(guī)范文檔,推出多種IP層安全服務(wù)框架。
IPSec安全體系結(jié)構(gòu)規(guī)范州詳細(xì)描述提供的多種安全服務(wù)以及實現(xiàn)安全服務(wù)的多種安全機(jī)制。安全服務(wù)主要包括數(shù)據(jù)保密、數(shù)據(jù)完整性驗證、數(shù)據(jù)源驗證、訪問控制、抗重發(fā)攻擊等。這些服務(wù)通過安全協(xié)議ESP(Encapsulating Security Payload)和AH(Authentication Header)實現(xiàn),它們建立在密碼技術(shù)之上,可提供多種加密算法和驗證算法供用戶選擇。
無論是加密算法還是驗證算法都要使用密鑰,因此IPSec提供了密鑰交換協(xié)議IKE(Internet Key Exchange)。IKE是基于ISAKMP密鑰交換框架定義的密鑰交換協(xié)議,它定義了兩個協(xié)商階段。階段一是建立一個IKESA,可通過兩種交換模式實現(xiàn):一種是主模式交換,一種是自信模式交換。階段二是建立一個IPSecSA,只能通過快速模式交換實現(xiàn)。其中安全關(guān)聯(lián)SA(security Association)數(shù)據(jù)庫是一個三元組集合,每個三元組稱為SAID即<服務(wù)類型,目的地址,安全參數(shù)索引SPI>。服務(wù)類型可以是驗證服務(wù)(AH)或者封裝安全凈荷服務(wù)(ESP),SPI是端系統(tǒng)用來標(biāo)識通信流的一個整數(shù)值。IKE協(xié)議是一個復(fù)雜的協(xié)}義,它用于動態(tài)地管理密鑰,其安全性對IPSec提供的安全性影響至關(guān)重要。
2.1 IPSec工作原理
無論IPSec以什么方式實現(xiàn),其工作原理都類似。IPSec工作原理(見圖2):當(dāng)IP數(shù)據(jù)包進(jìn)入或離開IPSec結(jié)構(gòu)時,它會根據(jù)安全策略數(shù)據(jù)庫(SPD)對該IP包進(jìn)行相應(yīng)的處理。當(dāng)接口接收到一個IP分組(里面包含了IPSec頭)后,從該IP包中提取安全參數(shù)索引SPI、目的地址、協(xié)議號——它們組成一個三元組SAID,并根據(jù)該SAID檢索安全關(guān)聯(lián)數(shù)據(jù)庫SADB,以找到處理該分組的安全關(guān)聯(lián)SA;對接收分組進(jìn)行序列號檢查、完整性驗證和解密處理,最終恢復(fù)明文分組;從明文分組中提取源、目的地址,上層協(xié)議,端口號,構(gòu)造出選擇符,將SA指向的SPD條目所對應(yīng)的選擇符與接收報文構(gòu)造出的選擇符進(jìn)行比較,如果一致,再比較該SPD條目的安全要求與接收分組的實際安全策略是否相符,若出現(xiàn)不一致的情況,則將分組丟棄,否則繼續(xù)處理分組。
當(dāng)一個IP分組被發(fā)送時,其源/目的地址、協(xié)議號、端口號等元素構(gòu)成選擇符,并作為關(guān)鍵字檢索安全策略數(shù)據(jù)庫SPD,由SPD檢索輸出相應(yīng)的安全策略有三種:一是丟棄發(fā)送報文;二是不進(jìn)行安全服務(wù)處理;三是應(yīng)用網(wǎng)絡(luò)層安全服務(wù),返回策略條目相對應(yīng)的SA條目指針。如果指針非空,則根據(jù)指向的SA對該IP包進(jìn)行相應(yīng)的安全處理;如果指針為空,即SPD中沒有建立對應(yīng)的安全關(guān)聯(lián)SA,IPSec會通過策略引擎調(diào)用密鑰協(xié)商模塊IKE,按照策略要求協(xié)商SA,并將產(chǎn)生的SA填入SADB中,并應(yīng)用于待處理的分組。
2.2 IPSec性能分析
我們利用工具CASTSJ(communication Analysis and Sim-ulation T001)對裝有集成IPSec功能的NETBSD操作系統(tǒng)的兩臺工作站進(jìn)行了測試,從端到端TCP包通信的數(shù)據(jù)吞吐量和單向數(shù)據(jù)傳輸時間延遲兩個方面來考察IPSec性能。測試分三類:運(yùn)行未使用IPSec的服務(wù)(classl),運(yùn)行具有IPSec驗證功能的服務(wù)(class2),運(yùn)行具有IPSec加密功能的服務(wù)(class3)。從試驗結(jié)果可以明顯得出以下兩個結(jié)論。第一,相同時間內(nèi)兩端的平均數(shù)據(jù)吞吐量:classl>class2>class3,三類比值大約為15:11:5;第二,單向數(shù)據(jù)傳輸平均時間延遲:class3>class2>classl,三類比值大約為7:2:1。
雖然IPSec提供端到端的安全通信,但是,整個網(wǎng)絡(luò)層安全解決方案是在操作系統(tǒng)內(nèi)核中集成IPSec,這樣必然會影響網(wǎng)絡(luò)性能。并且,如果使用了IPSec服務(wù),實時通信也會比較難實現(xiàn)。為了減少計算量提高網(wǎng)絡(luò)性能,一個可行的解決方法是針對不同的數(shù)據(jù)實施不同的安全保護(hù)措施,對于不重要的數(shù)據(jù)可以不進(jìn)行安全保護(hù)。
從空間復(fù)雜度角度分別對AH協(xié)議和ESP協(xié)議的兩種模式(傳輸模式和隧道模式)進(jìn)行了比較分析。在傳輸模式下,IPSec AH協(xié)議報頭固定字段長度為12Byms,驗證數(shù)據(jù)域(可選)長度12Byms,總共24Bytes。而IPSec ESP協(xié)議報頭固定字段長度為10Byms,驗證數(shù)據(jù)域(可選)長度12Byms,總共22Byms。在隧道模式下,IPSec AH協(xié)議報頭固定字段長度為12Byms,還有新IP報頭20Bytes,驗證數(shù)據(jù)域(可選)長度12Byms,總共44Byms。而IPSec ESP協(xié)議報頭固定字段長度為12Byms,還有新IP報頭20Bytes,驗證數(shù)據(jù)域(可選)長度12Bytes,總共42Bytes。
另外,從時間復(fù)雜度和吞吐量兩個角度分別對IPSec中使用的加密算法3DES和驗證算法MD5,SHA-1、HMAC-MD5、HMAC-SHAl進(jìn)行了試驗比較。試驗結(jié)果為,對于同—種指令處理能力,數(shù)據(jù)吞吐量由大到小的算法依次為:MD5,HMAC-MD5,SHAl,HMAC-SHAl,3DES,而HMAC-MD5的執(zhí)行時間比MD5要長,HMAC-SHAl的執(zhí)行時間比SHAl要長。
2.3 IPSec數(shù)據(jù)源驗證服務(wù)及存在問題
IPSec在網(wǎng)絡(luò)層提供了多種安全服務(wù),為現(xiàn)有網(wǎng)絡(luò)以及下一代網(wǎng)絡(luò)提供了一定的安全保障。其中,源驗證服務(wù)使得IP報文接收者能確信整個報文未被修改,報文確實是從其所聲稱的源IP地址主機(jī)發(fā)送出來的?;诠蚕砻荑€實現(xiàn)的驗證服務(wù),是由AH協(xié)議提供的服務(wù),其作用范圍為整個報文,它利用密碼技術(shù)和驗證技術(shù)來實現(xiàn),通過有密鑰控制的Hash算法產(chǎn)生的報文摘要提供了基于密鑰的報文驗證機(jī)制,實現(xiàn)了報文完整性驗證和數(shù)據(jù)源驗證兩方面服務(wù)。
上述服務(wù)存在一個前提,即主機(jī)IP地址已經(jīng)存在。因為無論報文發(fā)送還是接收,需要根據(jù)報文選擇符檢索安全策略數(shù)據(jù)庫SPD,數(shù)據(jù)庫的每個條目是根據(jù)真實的源地址和目的地址建立的。但是IPSec數(shù)據(jù)源驗證服務(wù)不能保證報文源IP地址的真實可靠性,無法檢測子網(wǎng)內(nèi)IP地址假冒報文,不能抵制IP地址假冒攻擊。另外密鑰協(xié)商過程比較復(fù)雜,而且需要用戶參與,其透明度不高。
綜上所述,IPSec數(shù)據(jù)源驗證存在如下不足。
(1)IPSec需要通過用戶密鑰協(xié)商之后再提供數(shù)據(jù)源驗證服務(wù),而不能提供基于網(wǎng)絡(luò)實體特征信息的密鑰協(xié)商過程,對用戶而言透明性不好。
(2)利用IKE進(jìn)行密鑰協(xié)商前,通信實體之間需要經(jīng)過身份驗證。主要有三種驗證方式:預(yù)置共享密鑰認(rèn)證、數(shù)字簽名和公鑰系統(tǒng)。第一種方式并不實用,而后兩種方式需要可信任第三方參與。整個密鑰協(xié)商過程比較繁瑣,性能不高。
任何一個網(wǎng)絡(luò)安全解決方案不可能解決所有的安全問題,從上述兩個問題可以看出:首先,IPSec著重從用戶和信息安全角度保障通信數(shù)據(jù)的安全,而忽視網(wǎng)絡(luò)通信實體的安全,不能提供安全的IP地址供接入網(wǎng)絡(luò)的實體使用。而且目前針對網(wǎng)絡(luò)設(shè)備的攻擊屢見不鮮,存在多種基于網(wǎng)絡(luò)實體的攻擊方法,包括基于DNS攻擊、基于路由器攻擊、基于普通主機(jī)攻擊和基于各種服務(wù)器攻擊。其次,由于數(shù)據(jù)源驗證服務(wù)基于密鑰和IP地址實現(xiàn),盡管在IKE密鑰協(xié)商之前通信實體進(jìn)行互相驗證,但所提供的幾種身份驗證機(jī)制并不簡單實用。再次,IPSec主要應(yīng)用于建設(shè)VPN網(wǎng)絡(luò),通過公網(wǎng)搭建企業(yè)內(nèi)部網(wǎng)可大大降低成本,但是,由于其復(fù)雜性以及用戶透明度低,目前IPsec應(yīng)用于端系統(tǒng)尚不普及。
因此,在上述安全模型基礎(chǔ)上應(yīng)該考慮網(wǎng)絡(luò)基礎(chǔ)設(shè)施的安全性,在保證網(wǎng)絡(luò)通信實體可信的前提下,再進(jìn)一步提供可靠的安全服務(wù)。
3 面向基礎(chǔ)設(shè)施的網(wǎng)絡(luò)安全模型
為了從根本上解決安全隱患,在源頭遏制多種攻擊的發(fā)生,應(yīng)該從主機(jī)接入開始進(jìn)行安全的管理和監(jiān)控,因此一種新型的網(wǎng)絡(luò)安全模型面向網(wǎng)絡(luò)基礎(chǔ)設(shè)施的安全模型被提了出來。所示為在轉(zhuǎn)發(fā)設(shè)備可信、網(wǎng)絡(luò)終端設(shè)備不可信的假設(shè)前提下,面向基礎(chǔ)設(shè)施(主機(jī))的安全模型。
主機(jī)A接入子網(wǎng)1時受到主機(jī)接入控制,主要是監(jiān)測和控制主機(jī)A的身份標(biāo)識和IP地址配置情況。其次,主機(jī)A收發(fā)報文時受到報文收發(fā)控制,主要是監(jiān)測和控制主機(jī)A發(fā)送或接收報文過程中出現(xiàn)的異常情況,比如地址假冒或頻率超高等。主機(jī)A的報文在網(wǎng)絡(luò)傳輸過程中受到報文傳遞控制,主要是監(jiān)測和控制報文在路由結(jié)點(diǎn)之間轉(zhuǎn)發(fā)傳遞的報文完整性和真實性。最后,主機(jī)A的報文發(fā)送和接收全程受到信息安全控制,主要是端到端通信過程中數(shù)據(jù)加密,解密以及密鑰管理等處理。
該模型假定轉(zhuǎn)發(fā)設(shè)備是可信的,也就是說轉(zhuǎn)發(fā)設(shè)備是不在主機(jī)接入控制范圍內(nèi)。如果把轉(zhuǎn)發(fā)設(shè)備看作終端設(shè)備,只是比普通主機(jī)功能更強(qiáng)大,那么可以把假設(shè)前提定為轉(zhuǎn)發(fā)設(shè)備和網(wǎng)絡(luò)終端設(shè)備均不可信。在這種情況下,這個模型也是適用的,只是任何接入網(wǎng)絡(luò)的物理設(shè)備進(jìn)入網(wǎng)絡(luò)時都要受到接入控制。
對于IP假冒,雖然IPSec在其相應(yīng)前提條件下可以為通信的數(shù)據(jù)提供良好的源驗證服務(wù),但在網(wǎng)絡(luò)設(shè)備的接入和IP地址安全可靠使用等方面沒有提供較完善的驗證服務(wù),其前提條件較多不太合理,因此并不能提供可靠的數(shù)據(jù)源驗證以監(jiān)測IP地址假冒行為。在面向基礎(chǔ)設(shè)施網(wǎng)絡(luò)模型指導(dǎo)下,實體接入網(wǎng)絡(luò)時增加安全控制機(jī)制,在此基礎(chǔ)上通過網(wǎng)絡(luò)層身份驗證機(jī)制提供可靠的數(shù)據(jù)源驗證,可以有效檢測控制假冒報文。
4 新的網(wǎng)絡(luò)層身份驗證機(jī)制
IPSec安全框架選擇在網(wǎng)絡(luò)層提供安全服務(wù),其優(yōu)點(diǎn)是不需要對其他協(xié)議層次作任何改動,可以為IP層以上協(xié)議提供透明的安全服務(wù)。網(wǎng)絡(luò)發(fā)展趨勢是Everything Over IP,在網(wǎng)絡(luò)層提供安全服務(wù)是最好的選擇,可以屏蔽各類通信子網(wǎng),而且不會影響上層的服務(wù)。但網(wǎng)絡(luò)層所提供的功能必須高效快速,不應(yīng)嚴(yán)重影響網(wǎng)絡(luò)性能,否則將得不償失,安全也就失去了意義。借鑒IPSec在網(wǎng)絡(luò)層設(shè)計安全服務(wù)的優(yōu)點(diǎn),選擇網(wǎng)絡(luò)層作為設(shè)計的基礎(chǔ)是合理的。
IP地址作為一個終端實體的身份標(biāo)識,每個報文中所攜帶的源IP地址是否合法真實,報文是否為真正的實體所發(fā)送,通??衫脭?shù)據(jù)源身份驗證機(jī)制解決。
身份驗證系統(tǒng)至少應(yīng)該有兩個實體,一個是驗證實體,一個是被驗證實體。此外,還應(yīng)該明確驗證對象是什么?針對IP假冒問題,這里驗證的對象是傳輸中的報文,如果驗證通過說明報文中所聲稱的實體就是真實的報文發(fā)送實體,如果未通過則說明報文是由假冒實體發(fā)送的。因此,最初狀態(tài)安全實體網(wǎng)絡(luò)開始形成時,應(yīng)該建立對象之間的驗證關(guān)系和驗證信息,實體和IP地址形成關(guān)聯(lián),然后利用它們監(jiān)控網(wǎng)絡(luò)內(nèi)實體的報文發(fā)送情況,及時發(fā)現(xiàn)IP假冒行為。
結(jié)合面向網(wǎng)絡(luò)基礎(chǔ)設(shè)施安全模型和上述分析,身份驗證機(jī)制分為三個階段:
(1)第一個階段,建立身份驗證子網(wǎng)絡(luò),即建立實體間的驗證關(guān)系。
(2)第二個階段,建立實體身份標(biāo)識和安全的驗證信息,即為所有加入驗證子網(wǎng)絡(luò)的實體建立身份標(biāo)識并且分配安全的驗證信息,以便檢測和控制網(wǎng)內(nèi)實體的通信報文。
(3)第三個階段,通信過程中檢測和控制網(wǎng)內(nèi)傳輸?shù)膱笪?,即利用上一個階段所建立的驗證信息檢查報文的真?zhèn)?,確定其是否為真實的實體發(fā)出的。
上述三個階段的身份驗證機(jī)制可有效解決IPSec存在的一些不足之處。首先,不需要事先存在IP地址,因為在第二個階段時可以為接入的網(wǎng)絡(luò)實體配置安全的IP地址。其次,第二個階段后,驗證實體可利用報文發(fā)送實體特有的安全驗證信息檢測接收報文的真實性,提供可靠的數(shù)據(jù)源驗證,有效檢測控制IP假冒行為,無需用戶過多參與,增加透明度。最后,驗證實體和被驗證實體間密鑰協(xié)商過程比較簡單,可提高性能。
5 結(jié)束語
面向報文信息的網(wǎng)絡(luò)安全模型體現(xiàn)了端到端的安全思想,它只關(guān)注兩端通信實體間數(shù)據(jù)的安全傳輸,而忽略了端實體自身的安全性。雖然IPSec主要提供了基于密鑰的數(shù)據(jù)源驗證服務(wù),但并不能保證端實體的合法可信性,并且不能提供基于網(wǎng)絡(luò)設(shè)備特征信息的密鑰協(xié)商過程。
面向網(wǎng)絡(luò)基礎(chǔ)設(shè)施的安全模型體現(xiàn)了點(diǎn)到點(diǎn)的安全思想,它關(guān)注通信過程中的每個傳輸階段,保證每個階段數(shù)據(jù)發(fā)送實體都是合法可信。顯然,一開始的傳輸階段的安全性最重要,可以在數(shù)據(jù)發(fā)源子網(wǎng)絡(luò)利用數(shù)據(jù)源驗證服務(wù)檢測報文產(chǎn)生實體的身份真實性,及時有效地發(fā)現(xiàn)地址假冒行為。