韓慶綿
西安電子科技大學(xué)通信工程學(xué)院 陜西 710071
IMS被認(rèn)為是下一代網(wǎng)絡(luò)的核心技術(shù),也是解決移動(dòng)與固網(wǎng)融合,引入語(yǔ)音、數(shù)據(jù)、視頻三重播放等差異化業(yè)務(wù)的重要方式,IMS網(wǎng)絡(luò)的承載層是IP網(wǎng)絡(luò),IMS網(wǎng)絡(luò)結(jié)構(gòu)本身的特點(diǎn)將服務(wù)運(yùn)營(yíng)網(wǎng)絡(luò)易于受攻擊的弱點(diǎn)暴露出來(lái),這是以前在電信市場(chǎng)上所沒(méi)有看到的。作為相對(duì)獨(dú)立的安全體系,IMS要求所有的用戶在使用IMS服務(wù)之前都必須進(jìn)行鑒權(quán),協(xié)商建立安全的接入通道。IMS終端需要包括IMS網(wǎng)絡(luò)鑒權(quán)中包含的參數(shù)(如身份識(shí)別、用戶授權(quán)和終端設(shè)置數(shù)據(jù)等),并存儲(chǔ)共享密鑰和相應(yīng)的AKA算法。本文通過(guò)對(duì)IMS網(wǎng)絡(luò)側(cè)認(rèn)證機(jī)制的研究與實(shí)現(xiàn),為客戶端更好地接入IMS網(wǎng)絡(luò)提供了基礎(chǔ)。
3GPP定義了IMS 接入網(wǎng)絡(luò)的安全機(jī)制,在IMS 的安全體系中,從終端到網(wǎng)絡(luò)的各個(gè)實(shí)體都涉及到了接入網(wǎng)和核心網(wǎng)部分的安全概念。其安全結(jié)構(gòu)如圖1所示。
圖1 IMS安全體系架構(gòu)
圖1中的安全聯(lián)盟①和安全聯(lián)盟②屬于IMS網(wǎng)絡(luò)接入安全機(jī)制,該安全機(jī)制承擔(dān)著兩大任務(wù):
(1)對(duì)接入用戶進(jìn)行認(rèn)證和授權(quán);該認(rèn)證采用的是AKA機(jī)制。
(2)對(duì)用戶進(jìn)行認(rèn)證和授權(quán)之后,在UE和P-CSCF之間建立IPSec安全聯(lián)盟,即IPSec SA,從而為后續(xù)通信提供安全保護(hù)。
IMS的鑒權(quán)機(jī)制采用3GPP AKA機(jī)制的原理和核心算法,因此被稱為IMS AKA,該機(jī)制是基于SIP協(xié)議來(lái)實(shí)現(xiàn)的。通過(guò)IMS AKA方式的注冊(cè)過(guò)程,可以實(shí)現(xiàn)用戶和網(wǎng)絡(luò)間的雙向認(rèn)證。AKA參數(shù)核心算法由3GPP TS35.206提供。
在用戶的歸屬網(wǎng)絡(luò)中,HSS上存儲(chǔ)了每個(gè)用戶的客戶描述信息,該信息包含了描述該客戶的所有相關(guān)簽約信息,并且這些信息對(duì)外保密。在注冊(cè)過(guò)程中,I-CSCF將給用戶分配一個(gè)S-CSCF,此時(shí)客戶簽約信息將從HSS下載到S-CSCF上。當(dāng)一個(gè)客戶請(qǐng)求接入IMS網(wǎng)絡(luò)時(shí),S-CSCF將對(duì)客戶簽約信息和客戶接入請(qǐng)求進(jìn)行匹配性檢查,以確定是否允許客戶繼續(xù)請(qǐng)求接入。
IMS AKA在用戶終端與歸屬網(wǎng)絡(luò)之間進(jìn)行認(rèn)證,認(rèn)證時(shí)使用用戶的私有身份IMPI。HSS和用戶終端的ISIM共享一個(gè)與IMPI相關(guān)的長(zhǎng)期密鑰。歸屬網(wǎng)絡(luò)通過(guò)使用IMS AKA系統(tǒng)來(lái)認(rèn)證一個(gè)IMS用戶,一個(gè)IMS用戶通過(guò)UMTS (Universal Mobile Telecommunication System)接入,其中安全參數(shù)由SIP協(xié)議傳輸。
在IMS認(rèn)證過(guò)程中,AuC生成RAND和AUTN,UE對(duì)AUTN進(jìn)行驗(yàn)證,從而對(duì)網(wǎng)絡(luò)進(jìn)行驗(yàn)證。UE也為每一輪認(rèn)證過(guò)程維護(hù)一個(gè)序列號(hào)。如果UE檢測(cè)到超出了序列號(hào)碼范圍之外的認(rèn)證請(qǐng)求,那么它就放棄認(rèn)證并向網(wǎng)絡(luò)返回一個(gè)同步失敗消息,其中包含了正確的序列號(hào)碼。為了響應(yīng)網(wǎng)絡(luò)的認(rèn)證請(qǐng)求,UE將產(chǎn)生一個(gè)RES。網(wǎng)絡(luò)對(duì)RES進(jìn)行驗(yàn)證以認(rèn)證用戶。這樣,UE和網(wǎng)絡(luò)可以完成相互認(rèn)證。
用戶終端的認(rèn)證過(guò)程如圖2所示。
圖2 IMS AKA用戶的注冊(cè)流程
在 IMS網(wǎng)絡(luò)側(cè)實(shí)現(xiàn)認(rèn)證主要是驗(yàn)證和鑒別 Register請(qǐng)求,并產(chǎn)生合適的響應(yīng)碼。獲取并綁定AOR,提供配置控制,并向應(yīng)用提供定制化的服務(wù)。由于 3GPP AKA被映射到HTTP摘要機(jī)制,因此認(rèn)證方案的值被設(shè)置為“Digest”,而“response”和“nonce”域的值在初始注冊(cè)請(qǐng)求消息中都設(shè)置為空。下面以S-CSCF和HSS為例說(shuō)明IMS網(wǎng)絡(luò)AKA認(rèn)證流程的實(shí)現(xiàn)過(guò)程。當(dāng)S-CSCF服務(wù)器通過(guò)SIP協(xié)議棧收到帶有要求認(rèn)證信息的消息頭,把帶有認(rèn)證信息的SIP消息傳送到應(yīng)用層,應(yīng)用層首先提取SIP消息頭中Authorization頭字段的認(rèn)證信息。初始的Register消息的主要頭域和參數(shù)如圖3所示。
圖3 REGISTER消息
然后S-CSCF與HSS聯(lián)系,有兩個(gè)目的:一方面,S-CSCF需要下載認(rèn)證數(shù)據(jù)來(lái)完成對(duì)特定用戶的認(rèn)證;另一方面,S-CSCF需要在HSS中保存S-CSCF URI,所以同一用戶對(duì)HSS的任何進(jìn)一步查詢將返回指向該S-CSCF的路由信息。為達(dá)到該目的,S-CSCF建立一個(gè)Diameter多媒體注冊(cè)請(qǐng)求消息,HSS在用戶數(shù)據(jù)中存儲(chǔ)S-CSCF URI并用一個(gè)Diameter多媒體應(yīng)答消息來(lái)回答。S-CSCF用HSS提供的數(shù)據(jù)來(lái)認(rèn)證用戶。這些認(rèn)證數(shù)據(jù)就是所熟知的認(rèn)證向量。HSS在Diameter MAA消息中包括一個(gè)或更多的認(rèn)證向量,以便S-CSCF能夠正確地認(rèn)證用戶。S-CSCF通過(guò) 401(未授權(quán))響應(yīng)返回WWW-Authenticate消息頭,頭字段中包括一個(gè)要求IMS終端回復(fù)的質(zhì)詢。401應(yīng)答的主要頭域和字段如圖4所示。
圖4 401 響應(yīng)消息
nonce中包含了BAND(一個(gè)隨機(jī)挑戰(zhàn))和AUTN(網(wǎng)絡(luò)認(rèn)證令牌),nonce的值是將128位的RAND,128位的AUTN和可選的服務(wù)器數(shù)據(jù)串連,進(jìn)行Base64編碼后得到的值。在收到401響應(yīng)后,P-CSCF必須從WWW-Authenticate消息頭中去除完整性密鑰(CK)和加密性密鑰(IK),然后再將響應(yīng)發(fā)往UE。 CK和IK用于其后的保密通信,因?yàn)镃K和IK并沒(méi)有在空中接口中傳輸,確保了密鑰的安全性。
當(dāng)IMS終端收到SIP 401(未經(jīng)授權(quán))響應(yīng)時(shí),它就知道其中包括一個(gè)質(zhì)詢并對(duì)該質(zhì)詢做出一個(gè)適當(dāng)?shù)捻憫?yīng)。UE在第二個(gè)REGISTER請(qǐng)求中加上Authorization消息頭。該消息頭包括用戶名字段,該字段中包括用戶的私有標(biāo)識(shí)和一個(gè)與WWW-Authenticate消息頭中同名字段的nonce值,根據(jù)這個(gè)值解析出RAND和AUTN,根據(jù)AKA的方式驗(yàn)證網(wǎng)絡(luò)是否安全可靠,并計(jì)算RES,在這次發(fā)送的注冊(cè)消息中,對(duì)RES做適當(dāng)運(yùn)算后作為 Authorization頭字段中的 response value值進(jìn)行認(rèn)證。
圖5 重新發(fā)送的REGISTER消息
S-CSCF依靠在Diameter MAA消息中提供的認(rèn)證向量驗(yàn)證這些資格證明,如果認(rèn)證成功,接下來(lái)通知HSS用戶現(xiàn)在已注冊(cè)并下載用戶檔案,S-CSCF向HSS發(fā)送一個(gè)Diameter SAR消息。用戶檔案是信息中包含的重要部分,還包括初始過(guò)濾準(zhǔn)則,由觸發(fā)器收集來(lái)決定何時(shí)向?qū)⒁峁I(yè)務(wù)的應(yīng)用服務(wù)器傳遞SIP請(qǐng)求。S-CSCF向終端發(fā)送200 OK消息,并把注冊(cè)結(jié)果保存起來(lái)。
Aricent B2BUA服務(wù)器架構(gòu)是Aricent公司開(kāi)發(fā)的基于標(biāo)準(zhǔn)的SIP協(xié)議棧,符合OSA(開(kāi)放業(yè)務(wù)架構(gòu))標(biāo)準(zhǔn)的并向應(yīng)用提供標(biāo)準(zhǔn)OSA接口的軟件。Aricent公司定義了擴(kuò)展的SIP消息訪問(wèn)API接口,使用這些API,應(yīng)用能夠訪問(wèn)和操作輸入和輸出的SIP消息。B2BUA的UA特性使其能夠像一個(gè)SIP UA,并能夠提供UA的所有能力,如媒體建立,發(fā)送請(qǐng)求和響應(yīng)并處理媒體的改變。也能夠在 UA模式和 B2BUA模式間轉(zhuǎn)換。B2BUA提供對(duì)非會(huì)話類消息的處理,使應(yīng)用層能夠處理這些消息并能通過(guò)Aricent公司特有的API發(fā)送非會(huì)話類消息和其響應(yīng)消息。
圖6 基于B2BUA軟件開(kāi)發(fā)的S-CSCF認(rèn)證流程
在筆者參與開(kāi)發(fā)的IMS業(yè)務(wù)控制系統(tǒng)中,對(duì)AKA認(rèn)證的實(shí)現(xiàn)首先將B2BUA模塊、Cx接口軟件、Diameter協(xié)議棧集成,并通過(guò)B2BUA模塊向上層應(yīng)用提供的回調(diào)函數(shù)來(lái)處理從用戶來(lái)的注冊(cè)消息,通過(guò)解析對(duì) SIP消息頭中攜帶Authorization 參數(shù)的頭域,實(shí)現(xiàn)其認(rèn)證信息的獲取。并通過(guò)調(diào)用與Cx的接口來(lái)實(shí)現(xiàn)與HSS的通信,實(shí)現(xiàn)認(rèn)證向量與用戶檔案的獲取。在B2BUA基礎(chǔ)上開(kāi)發(fā)的S-CSCF認(rèn)證的過(guò)程如圖6所示。
開(kāi)發(fā)完IMS相關(guān)的網(wǎng)絡(luò)設(shè)備后,按照?qǐng)D7所示進(jìn)行了試驗(yàn)驗(yàn)證,將X-Lite軟終端、CSCF服務(wù)器、業(yè)務(wù)網(wǎng)關(guān)、HSS、SIP服務(wù)器和CORBA模擬器連接到交換機(jī)。當(dāng)IMS終端用戶注冊(cè)到開(kāi)發(fā)的IMS網(wǎng)絡(luò)時(shí),用網(wǎng)絡(luò)抓包軟件EtherPeek抓取數(shù)據(jù),表明一次成功的用戶注冊(cè)與前面設(shè)計(jì)的流程相一致。
圖7 聯(lián)試試驗(yàn)簡(jiǎn)圖
基于IMS的網(wǎng)絡(luò)融合方案是未來(lái)電信網(wǎng)絡(luò)的發(fā)展方向,基于IMS網(wǎng)絡(luò)融合固網(wǎng)、移動(dòng)網(wǎng)和互聯(lián)網(wǎng)后,不僅原有各網(wǎng)絡(luò)的安全問(wèn)題會(huì)繼續(xù)存在,而且還會(huì)帶來(lái)許多新的安全問(wèn)題,如何保證固網(wǎng)、移動(dòng)網(wǎng)和互聯(lián)網(wǎng)用戶接入IMS網(wǎng)絡(luò)的安全性是未來(lái)IMS網(wǎng)絡(luò)安全研究的重點(diǎn)工作。本文實(shí)現(xiàn)的IMS網(wǎng)絡(luò)側(cè)的安全認(rèn)證過(guò)程,可以使得用戶接入網(wǎng)絡(luò)的安全性越來(lái)越高。通過(guò)系統(tǒng)的聯(lián)試試驗(yàn),具有很高的實(shí)用性。
[1]3GPP TS22.228.Service requirements for the Internet Protocol(IP)multimedia core network subsystem(IMS)[S].2008.
[2]糜正琨.基于 IMS的固定和移動(dòng)網(wǎng)絡(luò)融合[J].中興通信技術(shù).2008.
[3]3GPP TS33.203.3G security;access security for IP-based services[S].2009.
[4]RFC3310.Hypertext transfer protocol(HTTP)digest authentication using authentication and key agreement(AKA)[S].2002.