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