㈠ IMS的問題分析
IP多媒體子系統(IMS)是3GPP在R5規范中提出的,旨在建立一個與接入無關、基於開放的SIP/IP協議及支持多種多媒體業務類型的平台來提供豐富的業務。它將蜂窩移動通信網路技術、傳統固定網路技術和互聯網技術有機結合起來,為未來的基於全IP網路多媒體應用提供了一個通用的業務智能平台,也為未來網路發展過程中的網路融合提供了技術基礎。IMS的諸多特點使得其一經提出就成為業界的研究熱點,是業界普遍認同的解決未來網路融合的理想方案和發展方向,但對於IMS將來如何提供統一的業務平台實現全業務運營,IMS的標准化及安全等問題仍需要進一步的研究和探討。
1、IMS存在的安全問題分析
傳統的電信網路採用獨立的信令網來完成呼叫的建立、路由和控制等過程,信令網的安全能夠保證網路的安全。而且傳輸採用時分復用(TDM)的專線,用戶之間採用面向連接的通道進行通信,避免了來自其他終端用戶的各種竊聽和攻擊。
而IMS網路與互聯網相連接,基於IP協議和開放的網路架構可以將語音、數據、多媒體等多種不同業務,通過採用多種不同的接入方式來共享業務平台,增加了網路的靈活性和終端之間的互通性,不同的運營商可以有效快速地開展和提供各種業務。由於IMS是建立在IP基礎上,使得IMS的安全性要求比傳統運營商在獨立網路上運營要高的多,不管是由移動接入還是固定接入,IMS的安全問題都不容忽視。
IMS的安全威脅主要來自於幾個方面:未經授權地訪問敏感數據以破壞機密性;未經授權地篡改敏感數據以破壞完整性;干擾或濫用網路業務導致拒絕服務或降低系統可用性;用戶或網路否認已完成的操作;未經授權地接入業務等。主要涉及到IMS的接入安全(3GPP TS33.203),包括用戶和網路認證及保護IMS終端和網路間的業務;以及IMS的網路安全(3GPP TS33.210),處理屬於同一運營商或不同運營商網路節點之間的業務保護。除此之外,還對用戶終端設備和通用集成電路卡/IP多媒體業務身份識別模塊(UICC/ISIM)安全構成威脅。
2、IMS安全體系
IMS系統安全的主要應對措施是IP安全協議(IPSec),通過IPSec提供了接入安全保護,使用IPSec來完成網路域內部的實體和網路域之間的安全保護。3GPP IMS實質上是疊加在原有核心網分組域上的網路,對PS域沒有太大的依賴性,在PS域中,業務的提供需要移動設備和移動網路之間建立一個安全聯盟(SA)後才能完成。對於IMS系統,多媒體用戶也需要與IMS網路之間先建立一個獨立的SA之後才能接入多媒體業務。
3GPP終端的核心是通用集成電路卡(UICC),它包含多個邏輯應用,主要有用戶識別模塊(SIM)、UMTS用戶業務識別模塊(USIM)和ISIM。ISIM中包含了IMS系統用戶終端在系統中進行操作的一系列參數(如身份識別、用戶授權和終端設置數據等),而且存儲了共享密鑰和相應的AKA(Authentication and Key Agreement)演算法。其中,保存在UICC上的用戶側的IMS認證密鑰和認證功能可以獨立於PS域的認證密鑰和認證功能,也可和PS使用相同的認證密鑰和認證功能。IMS的安全體系如圖1所示。
圖1中顯示了5個不同的安全聯盟用以滿足IMS系統中不同的需求,分別用①、②、③、④、⑤來加以標識。①提供終端用戶和IMS網路之間的相互認證。
②在UE和P-CSCF之間提供一個安全鏈接(Link)和一個安全聯盟(SA),用以保護Gm介面,同時提供數據源認證。
③在網路域內為Cx介面提供安全。
④為不同網路之間的SIP節點提供安全,並且這個安全聯盟只適用於代理呼叫會話控制功能(P-CSCF)位於拜訪網路(VN)時。
⑤為同一網路內部的SIP節點提供安全,並且這個安全聯盟同樣適用於P-CSCF位於歸屬網路(HN)時。
除上述介面之外,IMS中還存在其他的介面,在上圖中未完整標識出來,這些介面位於安全域內或是位於不同的安全域之間。這些介面(除了Gm介面之外)的保護都受IMS網路安全保護。
SIP信令的保密性和完整性是以逐跳的方式提供的,它包括一個復雜的安全體系,要求每個代理對消息進行解密。SIP使用兩種安全協議:傳輸層安全協議(TLS)和IPSec,TLS可以實現認證、完整性和機密性,用TLS來保證安全的請求必須使用可靠的傳輸層協議,如傳輸控制協議(TCP)或流控制傳輸協議(SCTP);IPSec通過在IP層對SIP消息提供安全來實現認證、完整性和機密性,它同時支持TCP和用戶數據報協議(UDP)。在IMS核心網中,可通過NDS/IP來完成對網路中SIP信令的保護;而第一跳,即UE和P-CSCF間的信令保護則需要附加的測量,在3GPP TS 33.203中有具體描述。
3、IMS的接入安全
IMS用戶終端(UE)接入到IMS核心網需經一系列認證和密鑰協商過程,具體而言,UE用戶簽約信息存儲在歸屬網路的HSS中,且對外部實體保密。當用戶發起注冊請求時,查詢呼叫會話控制功能(I-CSCF)將為請求用戶分配一個服務呼叫會話控制功能(S-CSCF),用戶的簽約信息將通過Cx介面從HSS下載到S-CSCF中。當用戶發起接入IMS請求時,該S-CSCF將通過對請求內容與用戶簽約信息進行比較,以決定用戶是否被允許繼續請求。
在IMS接入安全中,IPSec封裝安全凈荷(ESP)將在IP層為UE和P-CSCF間所有SIP信令提供機密性保護,對於呼叫會話控制功能(CSCF)之間和CSCF和HSS之間的加密可以通過安全網關(SEG)來實現。同時,IMS還採用IPSec ESP為UE和P-CSCF間所有SIP信令提供完整性保護,保護IP層的所有SIP信令,以傳輸模式提供完整性保護機制。
在完成注冊鑒權之後,UE和P-CSCF之間同時建立兩對單向的SA,這些SA由TCP和UDP共享。其中一對用於UE埠為客戶端、P-CSCF埠作為伺服器端的業務流,另一對用於UE埠為伺服器、P-CSCF埠作為客戶端的業務流。用兩對SA可以允許終端和P-CSCF使用UDP在另一個埠上接收某個請求的響應,而不是使用發送請求的那個埠。同時,終端和P-CSCF之間使用TCP連接,在收到請求的同一個TCP連接上發送響應;而且通過建立SA實現在IMS AKA提供的共享密鑰以及指明在保護方法的一系列參數上達成一致。SA的管理涉及到兩個資料庫,即內部和外部資料庫(SPD和SAD)。SPD包含所有入站和出站業務流在主機或安全網關上進行分類的策略。SAD是所有激活SA與相關參數的容器。SPD使用一系列選擇器將業務流映射到特定的SA,這些選擇器包括IP層和上層(如TCP和UDP)協議的欄位值。
與此同時,為了保護SIP代理的身份和網路運營商的網路運作內部細節,可通過選擇網路隱藏機制來隱藏其網路內部拓撲,歸屬網路中的所有I-CSCF將共享一個加密和解密密鑰。
在通用移動通信系統(UMTS)中相互認證機制稱為UMTS AKA,在AKA過程中採用雙向鑒權以防止未經授權的「非法」用戶接入網路,以及未經授權的「非法」網路為用戶提供服務。AKA協議是一種挑戰響應協議,包含用戶鑒權五元參數組的挑戰由AUC在歸屬層發起而發送到服務網路。
UMTS系統中AKA協議,其相同的概念和原理被IMS系統重用,我們稱之為IMS AKA。AKA實現了ISIM和AUC之間的相互認證,並建設了一對加密和完整性密鑰。用來認證用戶的身份是私有的身份(IMPI),HSS和ISIM共享一個與IMPI相關聯的長期密鑰。當網路發起一個包含RAND和AUTN的認證請求時,ISIM對AUTN進行驗證,從而對網路本身的真實性進行驗證。每個終端也為每一輪認證過程維護一個序列號,如果ISIM檢測到超出了序列號碼范圍之外的認證請求,那麼它就放棄該認證並向網路返回一個同步失敗消息,其中包含了正確的序列號碼。
為了響應網路的認證請求,ISIM將密鑰應用於隨機挑戰(RAND),從而產生一個認證響應(RES)。網路對RES進行驗證以認證ISIM。此時,UE和網路已經成功地完成了相互認證,並且生成了一對會話密鑰:加密密鑰(CK)和完整性密鑰(IK)用以兩個實體之間通信的安全保護。
4、IMS的網路安全
在第二代移動通信系統中,由於在核心網中缺乏標準的安全解決方案,使得安全問題尤為突出。雖然在無線接入過程中,移動用戶終端和基站之間通常可由加密來保護,但是在核心網時,系統的節點之間卻是以明文來傳送業務流,這就讓攻擊者有機可乘,接入到這些媒體的攻擊者可以輕而易舉對整個通信過程進行竊聽。
針對2G系統中的安全缺陷,第三代移動通信系統中採用NDS對核心網中的所有IP數據業務流進行保護。可以為通信服務提供保密性、數據完整性、認證和防止重放攻擊,同時通過應用在IPSec中的密碼安全機制和協議安全機制來解決安全問題。
在NDS中有幾個重要的概念,它們分別是安全域(Security Domains)、安全網關(SEG)。
4.1安全域
NDS中最核心的概念是安全域,安全域是一個由單獨的管理機構管理運營的網路。在同一安全域內採用統一的安全策略來管理,因此同一安全域內部的安全等級和安全服務通常是相同的。大多情況下,一個安全域直接對應著一個運營商的核心網,不過,一個運營商也可以運營多個安全域,每個安全域都是該運營商整個核心網路中的一個子集。在NDS/IP中,不同的安全域之間的介面定義為Za介面,同一個安全域內部的不同實體之間的安全介面則定義為Zb介面。其中Za介面為必選介面,Zb介面為可選介面。兩種介面主要完成的功能是提供數據的認證和完整性、機密性保護。
4.2安全網關
SEG位於IP安全域的邊界處,是保護安全域之間的邊界。業務流通過一個SEG進入和離開安全域,SEG被用來處理通過Za介面的通信,將業務流通過隧道傳送到已定義好的一組其他安全域。這稱為輪軸-輻條(hub-and-spoke)模型,它為不同安全域之間提供逐跳的安全保護。SEG負責在不同安全域之間傳送業務流時實施安全策略,也可以包括分組過濾或者防火牆等的功能。IMS核心網中的所有業務流都是通過SEG進行傳送,每個安全域可以有一個或多個SEG,網路運營商可以設置多個SEG以避免某獨立點出現故障或失敗。當所保護的IMS業務流跨越不同安全域時,NDS/IP必須提供相應的機密性、數據完整性和認證。
4.3基於IP的網路域安全體系[2]
NDS/IP體系結構最基本的思想就是提供上從一跳到下一跳的安全,逐跳的安全也簡化了內部和面向其他外部安全域分離的安全策略的操作。
在NDS/IP中只有SEG負責與其他安全域中的實體間進行直接通信。兩個SEG之間的業務被採用隧道模式下的IPSec ESP安全聯盟進行保護,安全網關之間的網路連接通過使用IKE來建立和維護[3]。網路實體(NE)能夠面向某個安全網關或相同安全域的其他安全實體,建立維護所需的ESP安全聯盟。所有來自不同安全域的網路實體的NDS/IP業務通過安全網關被路由,它將面向最終目標被提供逐跳的安全保護[5]。其網路域安全體系結構如圖2所示。
4.4密鑰管理和分配機制[5]每個SEG負責建立和維護與其對等SEG之間的IPSec SA。這些SA使用網際網路密鑰交換(IKE)協議進行協商,其中的認證使用保存在SEG中的長期有效的密鑰來完成。每個對等連接的兩個SA都是由SEG維護的:一個SA用於入向的業務流,另一個用於出向的業務流。另外,SEG還維護了一個單獨的網際網路安全聯盟和密鑰管理協議(ISAKMP)SA,這個SA與密鑰管理有關,用於構建實際的對等主機之間的IPSec SA。對於ISAKMP SA而言,一個關鍵的前提就是這兩個對等實體必須都已經通過認證。在NDS/IP中,認證是基於預先共享的密鑰。
NDS/IP中用於加密、數據完整性保護和認證的安全協議是隧道模式的IPSec ESP。在隧道模式的ESP中,包括IP頭的完整的IP數據包被封裝到ESP分組中。對於三重DES加密(3DES)演算法是強制使用的,而對於數據完整性和認證,MD5和SHA-1都可以使用。
4.5IPSec安全體系中的幾個重要組成和概念[5]
1)IPSec:IPSec在IP層(包括IPv4和IPv6)提供了多種安全服務,從而為上層協議提供保護。IPSec一般用來保護主機和安全網關之間的通信安全,提供相應的安全服務。
2)ISAKMP:ISAKMP用來對SA和相關參數進行協商、建立、修改和刪除。它定義了SA對等認證的創建和管理過程以及包格式,還有用於密鑰產生的技術,它還包括緩解某些威脅的機制。
3)IKE:IKE是一種密鑰交換協議,和ISAKMP一起,為SA協商認證密鑰材料。IKE可以使用兩種模式來建立第一階段ISAKMP SA,即主模式和侵略性模式。兩種模式均使用短暫的Diffie-Hellman密鑰交換演算法來生成ISAKMP SA的密鑰材料。
4)ESP:ESP用來在IPv4和IPv6中提供安全服務。它可以單獨使用或與AH一起使用,可提供機密性(如加密)或完整性(如認證)或同時提供兩種功能。ESP可以工作在傳送模式或隧道模式。在傳送模式中,ESP頭插入到IP數據報中IP頭後面、所有上層協議頭前面的位置;而在隧道模式中,它位於所封裝的IP數據報之前。
標准化組織對IMS的安全體系和機製做了相應規定,其中UE和P-CSCF之間的安全由接入網路安全機制提供,IMS網路之上的安全由IP網路的安全機制保證,UE與IMS的承載層分組網路安全仍由原來的承載層安全機制支持。所有IP網路端到端安全基於IPSec,密鑰管理基於IKE協議。對於移動終端接入IMS之前已經進行了相應的鑒權,所以安全性更高一些。但是對於固定終端來說,由於固定接入不存在類似移動網路空中介面的鑒權,P-CSCF將直接暴露給所有固定終端,這使P-CSCF更易受到攻擊。為此,在IMS的接入安全方面有待於進一步的研究,需要不斷完善IMS的安全機制。