摘要:在面向報文信息的網絡安全模型基礎上,IPSec提供了數據源驗證服務以彌補IP協議不足,但仍存在通信實體安全性的問題。因此在面向基礎設施的網絡模型指導下,結合IPSec在網絡層實施安全服務的優點,深入分析并提出一種網絡層身份驗證機制以預防假冒攻擊,最后對兩種網絡安全模型下的身份驗證作了分析比較。
關鍵詞:安全模型;身份驗證;IP;IPSec
0 引言
傳統網絡安全體系結構的注重點是數據安全,而不是網絡基礎設施本身的安全。在網絡攻擊不斷泛濫的形勢下,有必要將安全保護的對象由通信的數據轉向通信的物理設備,沒有安全的網絡基礎設施支撐,安全的網絡通信如同空中樓閣。
1 面向報文信息的網絡安全模型
目前,討論的大多數通信模型是一方通過互聯網傳送報文給另一方,雙方協調共同完成信息交換。如需要保護信息傳輸防止攻擊者竊取和破壞信息時,就該在原有的通信模型基礎上提供安全服務。目前有兩類安全服務模型,即網絡傳輸安全模型和網絡訪問安全模型。
網絡傳輸安全模型是在數據發送或接收前對其進行安全轉換,保證通信雙方數據的保密性,避免攻擊者竊取報文后直接讀取,有時需要可信任第三方負責分發保密信息。網絡訪問安全模型是利用驗證或訪問控制等方式控制非授權網絡實體非法訪問資源。除上述兩種安全模型之外,還有一種網絡安全模型,旨在提供集成的網絡安全,但僅僅是個一般概念上的描述模型,并非成熟實用。
網絡傳輸安全模型,IPSec在TCP/IP網絡層協議基礎上提供了具體的安全服務框架,主要為數據通信增加安全保護,是網絡傳輸較安全的一個實施方案。
2 安全框架lPSec
國際標準組織(Iso)制訂的Is07498—2提出一個典型的傳統網絡安全體系結構(NSA),該結構描述了一系列的安全服務以及實現這些安全服務的機制。大多數安全服務可存在于ISO協議模型的任何一層,但其中IP層具有簡單透明的優勢,而其他協議層實現起來既增大系統開銷,又會降低系統效率。于是,1ETF工作組于1998年11月制定了全新的IPSec安全體系結構,發布一系列相關規范文檔,推出多種IP層安全服務框架。
IPSec安全體系結構規范州詳細描述提供的多種安全服務以及實現安全服務的多種安全機制。安全服務主要包括數據保密、數據完整性驗證、數據源驗證、訪問控制、抗重發攻擊等。這些服務通過安全協議ESP(Encapsulating Security Payload)和AH(Authentication Header)實現,它們建立在密碼技術之上,可提供多種加密算法和驗證算法供用戶選擇。
無論是加密算法還是驗證算法都要使用密鑰,因此IPSec提供了密鑰交換協議IKE(Internet Key Exchange)。IKE是基于ISAKMP密鑰交換框架定義的密鑰交換協議,它定義了兩個協商階段。階段一是建立一個IKESA,可通過兩種交換模式實現:一種是主模式交換,一種是自信模式交換。階段二是建立一個IPSecSA,只能通過快速模式交換實現。其中安全關聯SA(security Association)數據庫是一個三元組集合,每個三元組稱為SAID即<服務類型,目的地址,安全參數索引SPI>。服務類型可以是驗證服務(AH)或者封裝安全凈荷服務(ESP),SPI是端系統用來標識通信流的一個整數值。IKE協議是一個復雜的協}義,它用于動態地管理密鑰,其安全性對IPSec提供的安全性影響至關重要。
2.1 IPSec工作原理
無論IPSec以什么方式實現,其工作原理都類似。IPSec工作原理(見圖2):當IP數據包進入或離開IPSec結構時,它會根據安全策略數據庫(SPD)對該IP包進行相應的處理。當接口接收到一個IP分組(里面包含了IPSec頭)后,從該IP包中提取安全參數索引SPI、目的地址、協議號——它們組成一個三元組SAID,并根據該SAID檢索安全關聯數據庫SADB,以找到處理該分組的安全關聯SA;對接收分組進行序列號檢查、完整性驗證和解密處理,最終恢復明文分組;從明文分組中提取源、目的地址,上層協議,端口號,構造出選擇符,將SA指向的SPD條目所對應的選擇符與接收報文構造出的選擇符進行比較,如果一致,再比較該SPD條目的安全要求與接收分組的實際安全策略是否相符,若出現不一致的情況,則將分組丟棄,否則繼續處理分組。
當一個IP分組被發送時,其源/目的地址、協議號、端口號等元素構成選擇符,并作為關鍵字檢索安全策略數據庫SPD,由SPD檢索輸出相應的安全策略有三種:一是丟棄發送報文;二是不進行安全服務處理;三是應用網絡層安全服務,返回策略條目相對應的SA條目指針。如果指針非空,則根據指向的SA對該IP包進行相應的安全處理;如果指針為空,即SPD中沒有建立對應的安全關聯SA,IPSec會通過策略引擎調用密鑰協商模塊IKE,按照策略要求協商SA,并將產生的SA填入SADB中,并應用于待處理的分組。
2.2 IPSec性能分析
我們利用工具CASTSJ(communication Analysis and Sim-ulation T001)對裝有集成IPSec功能的NETBSD操作系統的兩臺工作站進行了測試,從端到端TCP包通信的數據吞吐量和單向數據傳輸時間延遲兩個方面來考察IPSec性能。測試分三類:運行未使用IPSec的服務(classl),運行具有IPSec驗證功能的服務(class2),運行具有IPSec加密功能的服務(class3)。從試驗結果可以明顯得出以下兩個結論。第一,相同時間內兩端的平均數據吞吐量:classl>class2>class3,三類比值大約為15:11:5;第二,單向數據傳輸平均時間延遲:class3>class2>classl,三類比值大約為7:2:1。

雖然IPSec提供端到端的安全通信,但是,整個網絡層安全解決方案是在操作系統內核中集成IPSec,這樣必然會影響網絡性能。并且,如果使用了IPSec服務,實時通信也會比較難實現。為了減少計算量提高網絡性能,一個可行的解決方法是針對不同的數據實施不同的安全保護措施,對于不重要的數據可以不進行安全保護。
從空間復雜度角度分別對AH協議和ESP協議的兩種模式(傳輸模式和隧道模式)進行了比較分析。在傳輸模式下,IPSec AH協議報頭固定字段長度為12Byms,驗證數據域(可選)長度12Byms,總共24Bytes。而IPSec ESP協議報頭固定字段長度為10Byms,驗證數據域(可選)長度12Byms,總共22Byms。在隧道模式下,IPSec AH協議報頭固定字段長度為12Byms,還有新IP報頭20Bytes,驗證數據域(可選)長度12Byms,總共44Byms。而IPSec ESP協議報頭固定字段長度為12Byms,還有新IP報頭20Bytes,驗證數據域(可選)長度12Bytes,總共42Bytes。
另外,從時間復雜度和吞吐量兩個角度分別對IPSec中使用的加密算法3DES和驗證算法MD5,SHA-1、HMAC-MD5、HMAC-SHAl進行了試驗比較。試驗結果為,對于同—種指令處理能力,數據吞吐量由大到小的算法依次為:MD5,HMAC-MD5,SHAl,HMAC-SHAl,3DES,而HMAC-MD5的執行時間比MD5要長,HMAC-SHAl的執行時間比SHAl要長。
2.3 IPSec數據源驗證服務及存在問題
IPSec在網絡層提供了多種安全服務,為現有網絡以及下一代網絡提供了一定的安全保障。其中,源驗證服務使得IP報文接收者能確信整個報文未被修改,報文確實是從其所聲稱的源IP地址主機發送出來的。基于共享密鑰實現的驗證服務,是由AH協議提供的服務,其作用范圍為整個報文,它利用密碼技術和驗證技術來實現,通過有密鑰控制的Hash算法產生的報文摘要提供了基于密鑰的報文驗證機制,實現了報文完整性驗證和數據源驗證兩方面服務。
上述服務存在一個前提,即主機IP地址已經存在。因為無論報文發送還是接收,需要根據報文選擇符檢索安全策略數據庫SPD,數據庫的每個條目是根據真實的源地址和目的地址建立的。但是IPSec數據源驗證服務不能保證報文源IP地址的真實可靠性,無法檢測子網內IP地址假冒報文,不能抵制IP地址假冒攻擊。另外密鑰協商過程比較復雜,而且需要用戶參與,其透明度不高。
綜上所述,IPSec數據源驗證存在如下不足。
(1)IPSec需要通過用戶密鑰協商之后再提供數據源驗證服務,而不能提供基于網絡實體特征信息的密鑰協商過程,對用戶而言透明性不好。
(2)利用IKE進行密鑰協商前,通信實體之間需要經過身份驗證。主要有三種驗證方式:預置共享密鑰認證、數字簽名和公鑰系統。第一種方式并不實用,而后兩種方式需要可信任第三方參與。整個密鑰協商過程比較繁瑣,性能不高。
任何一個網絡安全解決方案不可能解決所有的安全問題,從上述兩個問題可以看出:首先,IPSec著重從用戶和信息安全角度保障通信數據的安全,而忽視網絡通信實體的安全,不能提供安全的IP地址供接入網絡的實體使用。而且目前針對網絡設備的攻擊屢見不鮮,存在多種基于網絡實體的攻擊方法,包括基于DNS攻擊、基于路由器攻擊、基于普通主機攻擊和基于各種服務器攻擊。其次,由于數據源驗證服務基于密鑰和IP地址實現,盡管在IKE密鑰協商之前通信實體進行互相驗證,但所提供的幾種身份驗證機制并不簡單實用。再次,IPSec主要應用于建設VPN網絡,通過公網搭建企業內部網可大大降低成本,但是,由于其復雜性以及用戶透明度低,目前IPsec應用于端系統尚不普及。
因此,在上述安全模型基礎上應該考慮網絡基礎設施的安全性,在保證網絡通信實體可信的前提下,再進一步提供可靠的安全服務。
3 面向基礎設施的網絡安全模型
為了從根本上解決安全隱患,在源頭遏制多種攻擊的發生,應該從主機接入開始進行安全的管理和監控,因此一種新型的網絡安全模型面向網絡基礎設施的安全模型被提了出來。所示為在轉發設備可信、網絡終端設備不可信的假設前提下,面向基礎設施(主機)的安全模型。
主機A接入子網1時受到主機接入控制,主要是監測和控制主機A的身份標識和IP地址配置情況。其次,主機A收發報文時受到報文收發控制,主要是監測和控制主機A發送或接收報文過程中出現的異常情況,比如地址假冒或頻率超高等。主機A的報文在網絡傳輸過程中受到報文傳遞控制,主要是監測和控制報文在路由結點之間轉發傳遞的報文完整性和真實性。最后,主機A的報文發送和接收全程受到信息安全控制,主要是端到端通信過程中數據加密,解密以及密鑰管理等處理。
該模型假定轉發設備是可信的,也就是說轉發設備是不在主機接入控制范圍內。如果把轉發設備看作終端設備,只是比普通主機功能更強大,那么可以把假設前提定為轉發設備和網絡終端設備均不可信。在這種情況下,這個模型也是適用的,只是任何接入網絡的物理設備進入網絡時都要受到接入控制。
對于IP假冒,雖然IPSec在其相應前提條件下可以為通信的數據提供良好的源驗證服務,但在網絡設備的接入和IP地址安全可靠使用等方面沒有提供較完善的驗證服務,其前提條件較多不太合理,因此并不能提供可靠的數據源驗證以監測IP地址假冒行為。在面向基礎設施網絡模型指導下,實體接入網絡時增加安全控制機制,在此基礎上通過網絡層身份驗證機制提供可靠的數據源驗證,可以有效檢測控制假冒報文。
4 新的網絡層身份驗證機制
IPSec安全框架選擇在網絡層提供安全服務,其優點是不需要對其他協議層次作任何改動,可以為IP層以上協議提供透明的安全服務。網絡發展趨勢是Everything Over IP,在網絡層提供安全服務是最好的選擇,可以屏蔽各類通信子網,而且不會影響上層的服務。但網絡層所提供的功能必須高效快速,不應嚴重影響網絡性能,否則將得不償失,安全也就失去了意義。借鑒IPSec在網絡層設計安全服務的優點,選擇網絡層作為設計的基礎是合理的。
IP地址作為一個終端實體的身份標識,每個報文中所攜帶的源IP地址是否合法真實,報文是否為真正的實體所發送,通常可利用數據源身份驗證機制解決。
身份驗證系統至少應該有兩個實體,一個是驗證實體,一個是被驗證實體。此外,還應該明確驗證對象是什么?針對IP假冒問題,這里驗證的對象是傳輸中的報文,如果驗證通過說明報文中所聲稱的實體就是真實的報文發送實體,如果未通過則說明報文是由假冒實體發送的。因此,最初狀態安全實體網絡開始形成時,應該建立對象之間的驗證關系和驗證信息,實體和IP地址形成關聯,然后利用它們監控網絡內實體的報文發送情況,及時發現IP假冒行為。
結合面向網絡基礎設施安全模型和上述分析,身份驗證機制分為三個階段:
(1)第一個階段,建立身份驗證子網絡,即建立實體間的驗證關系。
(2)第二個階段,建立實體身份標識和安全的驗證信息,即為所有加入驗證子網絡的實體建立身份標識并且分配安全的驗證信息,以便檢測和控制網內實體的通信報文。
(3)第三個階段,通信過程中檢測和控制網內傳輸的報文,即利用上一個階段所建立的驗證信息檢查報文的真偽,確定其是否為真實的實體發出的。
上述三個階段的身份驗證機制可有效解決IPSec存在的一些不足之處。首先,不需要事先存在IP地址,因為在第二個階段時可以為接入的網絡實體配置安全的IP地址。其次,第二個階段后,驗證實體可利用報文發送實體特有的安全驗證信息檢測接收報文的真實性,提供可靠的數據源驗證,有效檢測控制IP假冒行為,無需用戶過多參與,增加透明度。最后,驗證實體和被驗證實體間密鑰協商過程比較簡單,可提高性能。
5 結束語
面向報文信息的網絡安全模型體現了端到端的安全思想,它只關注兩端通信實體間數據的安全傳輸,而忽略了端實體自身的安全性。雖然IPSec主要提供了基于密鑰的數據源驗證服務,但并不能保證端實體的合法可信性,并且不能提供基于網絡設備特征信息的密鑰協商過程。
面向網絡基礎設施的安全模型體現了點到點的安全思想,它關注通信過程中的每個傳輸階段,保證每個階段數據發送實體都是合法可信。顯然,一開始的傳輸階段的安全性最重要,可以在數據發源子網絡利用數據源驗證服務檢測報文產生實體的身份真實性,及時有效地發現地址假冒行為。