1、引言
IMS是3G系統(tǒng)中核心網(wǎng)的一部分,它通過由SIP協(xié)議提供的會話發(fā)起能力,建立起端到端的會話,并獲得所需要的服務質(zhì)量。IMS實現(xiàn)了控制和承載的分離,IMS終端可以通過不同的接入方式,接入到分組域核心網(wǎng)PS(WCDMA網(wǎng)絡、cdma2000網(wǎng)絡和固定網(wǎng)絡等),由PS提供SIP信令和媒體數(shù)據(jù)的承載,而由IMS的核心部分提供會話和業(yè)務的控制。IMS為未來的多媒體數(shù)據(jù)業(yè)務提供了一個通用平臺,它是向全IP網(wǎng)絡演進的重要一步。
3GPP和3GPP2都對IMS網(wǎng)絡進行了定義,其中3GPP2 IMS Rev 0對應于3GPP IMS R5;3GPP2 IMS Rev A對應于3GPP IMS R6。
2、IMS安全標準體系
安全部分是IMS網(wǎng)絡的重要組成部分,3GPP和3GPP2對IMS網(wǎng)絡的安全機制都有專門的標準。
2.1 3GPP
目前,3GPP已經(jīng)發(fā)布的IMS安全標準有:
(1)3GPP TS 33.203:IMS接入網(wǎng)絡的安全機制;
(2)3GPP TS 33.210:IMS核心網(wǎng)絡的安全機制。
3GPP IMS安全規(guī)范目前已經(jīng)發(fā)布的版本有R5和R6。R7的制定目前正在進行。R6與R5的主要區(qū)別在于:R5中沒有對SIP信令的保密性作出要求,而R6提出了SIP信令的保密性機制。
2.2 3GPP2
3GPP2已經(jīng)發(fā)布的IMS安全規(guī)范是S.S0086:IMS安全框架。S.S0086主要參考3GPP TS 33.203和3GPP TS 33.210,其中包括了IMS接入網(wǎng)和網(wǎng)絡域的安全。目前,已發(fā)布的最新版本為Rev B,Rev B和3GPP的R6相對應。
2.3 國內(nèi)
在國內(nèi),CCSA TC5 WG5已經(jīng)參考3GPP和3GPP2的相關(guān)規(guī)范制定了相應的行標。
●TD-SCDMA/WCDMA IP多媒體子系統(tǒng)安全技術(shù)要求V1.0;
●cdma2000 IP多媒體子系統(tǒng)安全技術(shù)要求V1.0。
以上兩個行標已處于報批階段,另外WG5還會根據(jù)3GPP和3GPP2的不同版本來更新行標的版本。
3、IMS安全體系
在IMS的安全體系中,從UE到網(wǎng)絡的各個實體(P-CSCF,S-CSCF,HSS)都涉及到了接入和核心網(wǎng)兩個部分的安全概念。IMS安全體系的整體思想是使用IPSec的安全特性為IMS系統(tǒng)提供安全保護。整個IMS安全體系結(jié)構(gòu)如圖1所示。
圖1 IMS安全體系結(jié)構(gòu)圖
圖1顯示了5個不同的安全層面,它們將用于IMS安全保護中不同的需求,并分別被標注為(1)、(2)、(3)、(4)和(5)。
(1)提供用戶和網(wǎng)絡之間的雙向身份認證。HSS委托S-CSCF執(zhí)行用戶認證,認證基于保存在HSS中的密鑰和函數(shù)。
(2)為UE和P-CSCF間的通信提供一個安全連接,用以保護Gm參考點的安全。其中,包括加密和完整性保護。
(3)提供網(wǎng)絡域內(nèi)CSCF和HSS之間的安全。
(4)為不同網(wǎng)絡間的CSCF提供安全。
(5)為網(wǎng)絡內(nèi)部的CSCF提供安全。
對于接入部分而言,UE和P-CSCF之間涉及到接入安全與身份認證。IMS AKA實現(xiàn)了UE與網(wǎng)絡的雙向認證功能;UE與P-CSCF之間協(xié)商SA(Security Association,安全聯(lián)盟),并通過IPSec提供了接入安全保護。
核心網(wǎng)部分引入了安全域的概念。安全域是由某個單獨機構(gòu)所管理的網(wǎng)絡,在同一安全域內(nèi)的網(wǎng)元具有相同的安全級別并享有特定的安全服務。特別指出,某個運營商自己的網(wǎng)絡就可以作為一個安全域,雖然這個網(wǎng)絡可能包含多個獨立的子網(wǎng)。網(wǎng)絡域內(nèi)部的實體和網(wǎng)絡域之間都可以使用IPSec來提供安全保護。
4、IMS安全參數(shù)
IMS網(wǎng)絡的安全完全是基于用戶的私有身份以及存在于卡上的密鑰,IMS定義了自己的ISIM卡,類似于UMTS的USIM卡,里面存儲著IMS相關(guān)的安全數(shù)據(jù)和算法。ISIM存在于UICC芯片上,和USIM不共享安全函數(shù)。目前標準中定義的ISIM主要包含以下參數(shù):
(1)IMPI:IM個人身份信息。
(2)IMPU:一個或多個IM公開身份。
(3)用戶所屬網(wǎng)絡的域名。
(4)IMS域內(nèi)的SQN序列號。
(5)認證密鑰。
在IMS網(wǎng)絡中,只有ISIM和HSS共享這些秘密參數(shù)和算法,其他的任何網(wǎng)絡實體都不知道密鑰和私有身份IMPI。以下介紹的認證、加密和完整性保護等都是基于這些參數(shù)。
5、IMS接入網(wǎng)安全機制
5.1 客戶和網(wǎng)絡的雙向身份認證
在歸屬網(wǎng)絡中,HSS上存儲了每個IM客戶相對應的客戶描述(Profile)。這個客戶描述包含了客戶的信息,并且這些信息不能夠瀉露給外部。在注冊過程中,I-CSCF將給用戶分配一個S-CSCF,客戶描述將從HSS下載到S-CSCF上。當一個客戶請求接入IMS網(wǎng)絡時,S-CSCF將對客戶描述和客戶接入請求進行匹配性檢查以確定是否允許客戶繼續(xù)請求接入,亦即歸屬控制(IM業(yè)務的認證)。
對于IM業(yè)務,在允許接入IM業(yè)務前,移動設備和IMS間需要建立一個新的SA(安全聯(lián)盟),主要是為雙方協(xié)商使用什么樣的安全協(xié)議來進行通信保護,即采用什么安全算法來進行加密及完整化保護等。
IMS中的雙向認證機制采用UMTS AKA。它是一個Challenge-Response協(xié)議,由歸屬網(wǎng)的認證中心(AuC)發(fā)起Challenge。歸屬網(wǎng)將一個包含Challenge的五元組傳送到服務網(wǎng)。這個五元組包含期望的Response XRES和一個消息認證碼MAC。服務網(wǎng)比較UE的Response和XRES,如果匹配則UE通過了網(wǎng)絡的認證。UE計算一個XMAC,并且與收到的MAC比較,如果匹配,則服務網(wǎng)通過了UE的認證。這樣,UE與網(wǎng)絡之間就完成了雙向的身份認證。
UE和網(wǎng)絡之間雙向的身份認證流程如下:
(1)UE向S-CSCF發(fā)送SIP REGISTER消息(SM1)來發(fā)起認證。
(2)S-CSCF將使用一個認證向量AV來認證用戶以及與用戶協(xié)商一個密鑰。如果S-CSCF沒有有效的AV,S-CSCF將會向HSS發(fā)送一個AV請求,這個請求與AV的數(shù)量n(至少是1)都包含在CM1中。CM1的結(jié)構(gòu)為:Cx-AV-Req(IMPI,n)。
(3)HSS收到S-CSCF的請求后,利用CM2向S-CSCF發(fā)送一個有n個認證向量的有序陣列。每一個認證向量包含幾個部分,即一個隨機數(shù)RAND、一個期望的響應XRES、一個加密密鑰CK、一個完整性密鑰IK和一個認證標識AUTH。每一個認證向量對應一次S-CSCF與IMS用戶的認證和密鑰協(xié)商。CM2的結(jié)構(gòu):Cx-AV-Req-Resp(IMPI,RAND1‖AUTN1‖XRES1‖CK1‖IK1,… RANDn‖AUTNn‖XRESn‖CKn‖IKn)。
(4)S-CSCF在收到的n個AV中通過先進先出的方法選擇第一個AV,在SM4中通過I-CSCF,P-CSCF發(fā)送給UE。SM4的結(jié)構(gòu)為:4xx Auth_Challenge(IMPI,RAND,AUTN,IK,CK)。
(5)P-CSCF收到SM5后,保留密鑰IK,CK和XRES,把剩余的消息內(nèi)容發(fā)送給UE。發(fā)送給UE的SM6的結(jié)構(gòu)為:4xx Auth_Challenge(IMPI,RAND,AUTN)。
(6)UE收到SM6后,取出包含MAC和SQN的AUTH。UE計算XMAC并檢查XMAC是否與MAC相同,而且SQN是否在正確的范圍內(nèi)。如果這些檢查都通過了,則網(wǎng)絡通過了UE的認證。然后,UE計算出鑒權(quán)響應值RES,并將它放在認證頭中,在SM7中送回給注冊方。同時,UE在這個階段也計算會話密鑰CK和IK。SM7的結(jié)構(gòu)為:REGISTER(IMPI,Authentication Response)。
(7)S-CSCF收到SM9后,提取該用戶的響應,得到XRES,并且使用它檢查UE發(fā)送的響應。如果檢查成功,則用戶通過認證,且IMPU被注冊到S-CSCF中。
至此,UE和IMS網(wǎng)絡之間的雙向身份認證成功完成。
歸屬網(wǎng)可以通過注冊或重注冊過程在任何時候?qū)蛻暨M行認證。
5.2 機密性保護
在3GPP TS33.203 R5的規(guī)范中,不要求UE和P-CSCF間的SIP信令消息的機密性保護。建議在鏈路層對SIP信令進行加密,即在UE與RNC間對SIP信令進行加密。
而在3GPP R6規(guī)范中,要求應該提供可能的機密性保護機制來保護UE和P-CSCF間的SIP信令。
5.3 完整性保護
UE和P-CSCF之間的SIP信令應當進行完整性保護。保護機制如下:
(1)UE和P-CSCF首先基于IMS AKA協(xié)商本會話中使用的完整性保護算法。
(2)UE和P-CSCF就SA達成一致,該SA包含完整性保護算法所使用的完整性密鑰。該機制基于IMS AKA。
(3)UE和P-CSCF通過各自擁有的完整性保護密鑰IK來計算檢驗由某個結(jié)點所發(fā)來的數(shù)據(jù)的散列值,從而確定這些結(jié)點是否擁有協(xié)商過的完整性密鑰。也可以檢查從這些結(jié)點發(fā)送的數(shù)據(jù)是否被篡改過。
(4)完整性保護機制可以采取措施來減弱重放攻擊和反射攻擊。
5.6 網(wǎng)絡拓撲隱藏
運營商網(wǎng)絡的運營細節(jié)是敏感的商業(yè)信息。運營商一般不愿與競爭對手共享這些信息。然而。某些情況下(合作伙伴或其他商業(yè)關(guān)系)可能會存在這類信息的共享需求。因此,運營商應當能夠決定是否對網(wǎng)絡內(nèi)部信息進行隱藏。IMS安全機制中支持隱藏運營商網(wǎng)絡拓撲的能力,包括隱藏S-CSCF的數(shù)量、S-CSCF的能力以及網(wǎng)絡能力。
I-CSCF可以對SIP包頭中的S-CSCF地址進行加密,然后當接收到一個消息時,對應的I-CSCF可以解密這些地址。P-CSCF可能收到一些被加密的路由信息,但P-CSCF沒有密鑰來進行解密。也就是說,不同的I-CSCF可以加密和解密S-CSCF的地址。
6、IMS網(wǎng)絡域安全機制
IMS網(wǎng)絡域的安全使用hop-by-hop(逐跳)方式的安全模式,對每一個在網(wǎng)絡實體之間的每個通信進行單獨的保護。保護措施用的是IPSec ESP。協(xié)商密鑰的方法是IKE(Internet,Key Exchange)。IKE協(xié)議用于建立、協(xié)商和維護網(wǎng)絡實體間的安全參數(shù)SA集合。圖2描述了網(wǎng)絡域內(nèi)的安全。
圖2 網(wǎng)絡域安全結(jié)構(gòu)圖
Za:不同的網(wǎng)絡安全域的接口。使用IKE協(xié)議來協(xié)商、建立和維護在他們之間的用來保護ESP隧道的安全參數(shù)。然后,依據(jù)此參數(shù)使用IPSec ESP隧道模式來進行保護。
Zb:當在UE和P-CSCF之間建立了SA之后,用這個已經(jīng)建立好的SA來進行保護。
安全域直接的安全保護是通過安全網(wǎng)關(guān)(SEG)來實現(xiàn)的。安全網(wǎng)關(guān)是IP安全域邊界上的實體,用來保護本地基于IP的協(xié)議。安全網(wǎng)關(guān)處理通過Za接口的通信,Za接口位于不同的IP安全域的安全網(wǎng)關(guān)之間。
基于IP的安全域的所有業(yè)務量在進入或離開安全域之前都通過安全網(wǎng)關(guān)。每個安全域可有一個或多個安全網(wǎng)關(guān)。每個安全網(wǎng)關(guān)處理進/出可達的IP安全域業(yè)務。由于安全網(wǎng)關(guān)負責敏感的數(shù)據(jù)操作,如存儲IKE認證的密鑰。所以對安全網(wǎng)關(guān)應該實施物理上的保護。
7、IMS系統(tǒng)安全性分析
IMS網(wǎng)絡是基于IP的網(wǎng)絡,由于IP網(wǎng)絡的先天脆弱性,基于IMS的下一代網(wǎng)絡在網(wǎng)絡架構(gòu)、協(xié)議實現(xiàn)以及管理等方面也都存在潛在的安全問題。
(1)針對CSCF實體的攻擊。在IMS體系中,CSCF功能體系集中完成管理和呼叫控制,因此CSCF實體必須直接面對各種不同的用戶,這在一定程度上是下一代網(wǎng)絡的一個安全隱患,也是黑客攻擊下一代網(wǎng)絡的一個主要目標。
(2)協(xié)議實現(xiàn)較脆弱。協(xié)議實現(xiàn)脆弱性指網(wǎng)絡中互相通信的協(xié)議本身存在的安全方面的不健全和協(xié)議實現(xiàn)中存在的漏洞問題。如TCP/IP協(xié)議SYN flood攻擊的漏洞。在下一代網(wǎng)絡中,包含多種多樣的協(xié)議,如SIP,MGCP,H.248和RAS尤其重要,因為它們支持UDP承載,數(shù)據(jù)包不需要建立連接,所以發(fā)起UDPflood攻擊非常容易。
(3)由于沒有強制實施完整性保護,無法防止攻擊者對空口數(shù)據(jù)的篡改攻擊。攻擊者可以通過修改用戶數(shù)據(jù)使得網(wǎng)絡對用戶的認證失敗,從而導致用戶無法正常接入IMS業(yè)務。
(4)沒有實施基于公鑰體制的算法與協(xié)議,難以實現(xiàn)數(shù)字簽名。在移動電子商務的應用中,無法實現(xiàn)不可否認性的實現(xiàn)。
針對以上安全問題,需要對網(wǎng)絡的關(guān)鍵實體如CSCF進行物理和安全管理方面的安全保護,在網(wǎng)絡部署防火墻等防攻擊設備,同時使用公鑰機制以及WPKI機制等提高IMS網(wǎng)絡的安全性。