張鶴鳴,魯紹棟,廖蓉暉
(中國(guó)電子科技集團(tuán)公司第三十研究所,四川 成都 610041)
IMS(IP Multimedia Subsystem)是3GPP組織在Release5版本標(biāo)準(zhǔn)中提出的支持IP多媒體業(yè)務(wù)的子系統(tǒng)。它基于SIP(Session Initiation Protocol,初始會(huì)話協(xié)議)體系完成呼叫控制,實(shí)現(xiàn)各種類型的多媒體業(yè)務(wù)的創(chuàng)建、管理和終結(jié)。IMS提供了業(yè)務(wù)融合的基礎(chǔ)。目前,選擇IMS成為未來(lái)固網(wǎng)、移動(dòng)統(tǒng)一的核心網(wǎng)架構(gòu),已經(jīng)是國(guó)際主要標(biāo)準(zhǔn)組織的共識(shí)。
IMS通過(guò)先進(jìn)的IP承載網(wǎng)實(shí)現(xiàn)多業(yè)務(wù)的融合,形成了控制和承載相分離、業(yè)務(wù)和控制相分離的新一代軟交換平臺(tái)。這是以應(yīng)用為導(dǎo)向的電信網(wǎng)絡(luò)架構(gòu)不斷分離的結(jié)果。但是,由于IP網(wǎng)絡(luò)的先天脆弱性和接入方式的多樣性,使得基于IMS的下一代網(wǎng)絡(luò)在網(wǎng)絡(luò)架構(gòu)、協(xié)議實(shí)現(xiàn)以及管理等方面都存在潛在的安全問(wèn)題,導(dǎo)致了IMS安全性要求比傳統(tǒng)運(yùn)營(yíng)商在獨(dú)立網(wǎng)絡(luò)上運(yùn)營(yíng)要高得多。
在IMS系統(tǒng)中,用戶接入安全、業(yè)務(wù)控制實(shí)體安全和端到端用戶媒體安全構(gòu)成了IMS一體化安全防護(hù)框架的核心[1]。其中,認(rèn)證鑒權(quán)作為用戶接入安全的關(guān)鍵環(huán)節(jié),是控制用戶訪問(wèn)核心網(wǎng)絡(luò)、提升系統(tǒng)安全性的重要手段。目前,常見(jiàn)的認(rèn)證鑒權(quán)機(jī)制包括IMS AKA鑒權(quán)、SIP Digest鑒權(quán)、Early IMS鑒權(quán)和Pre-AKA鑒權(quán)等,其中具備雙向認(rèn)證的IMS AKA機(jī)制以其強(qiáng)度高、對(duì)接入網(wǎng)絡(luò)無(wú)需求等特點(diǎn)被廣泛認(rèn)可。
但是,在實(shí)際應(yīng)用過(guò)程中,IMS AKA機(jī)制依然存在著一些安全問(wèn)題。例如,初始注冊(cè)請(qǐng)求消息沒(méi)有受到任何安全保護(hù),攻擊者可以輕易獲取并篡改用戶的注冊(cè)信息;認(rèn)證向量應(yīng)答數(shù)據(jù)以明文形式發(fā)送到漫游網(wǎng)絡(luò)容易被攻擊者獲取等。本文的第1節(jié)將簡(jiǎn)要描述IMS AKA鑒權(quán)機(jī)制,并分析其存在的不足;第2節(jié)將基于橢圓曲線理論,詳細(xì)介紹改進(jìn)的IMS AKA鑒權(quán)機(jī)制的原理、協(xié)議流程及安全性分析;最后,對(duì)全文進(jìn)行總結(jié)。
AKA是廣泛應(yīng)用于3G無(wú)線網(wǎng)絡(luò)的認(rèn)證鑒權(quán)機(jī)制。IMS網(wǎng)絡(luò)沿用了AKA機(jī)制的工作原理和核心算法,因此稱之為IMS AKA鑒權(quán)機(jī)制。該機(jī)制基于SIP協(xié)議,采用“問(wèn)/答”方式,實(shí)現(xiàn)用戶終端和核心網(wǎng)絡(luò)之間的雙向認(rèn)證和會(huì)話密鑰的協(xié)商。
IMS AKA鑒權(quán)機(jī)制主要基于一個(gè)共享認(rèn)證密鑰和一個(gè)序列號(hào)SQN實(shí)現(xiàn),流程涉及UE、P-CSCF、I-CSCF、S-CSCF和HSS。其中,UE與HSS共享認(rèn)證密鑰,HSS作為鑒權(quán)中心生成認(rèn)證向量,S-CSCF負(fù)責(zé)以HSS的鑒權(quán)向量為基準(zhǔn)執(zhí)行鑒權(quán)決策過(guò)程。認(rèn)證鑒權(quán)結(jié)束后,在UE和P-CSCF之間建立IPSec安全關(guān)聯(lián),為后續(xù)SIP信令的交互提供安全保護(hù)。
實(shí)際應(yīng)用過(guò)程中,IMS AKA鑒權(quán)機(jī)制的一些安全問(wèn)題逐漸暴露,成為困擾IMS網(wǎng)絡(luò)部署的安全隱患。
(1)UE的初始REGISTER消息是在IPSec安全關(guān)聯(lián)未建立的情況下發(fā)出的,消息沒(méi)有受到任何安全保護(hù),攻擊者可以輕易獲取并篡改用戶的注冊(cè)信息,同時(shí)可以利用竊取到的用戶私有身份信息假冒合法用戶與服務(wù)提供方進(jìn)行認(rèn)證協(xié)商;
(2)由于IMS AKA鑒權(quán)機(jī)制要求UE與HSS長(zhǎng)期共享一個(gè)認(rèn)證密鑰,增加了該共享密鑰被泄漏的風(fēng)險(xiǎn),一旦被非法人員竊取,將對(duì)IMS用戶造成嚴(yán)重?fù)p失;
(3)HSS設(shè)備的認(rèn)證向量數(shù)據(jù),同樣是在IPSec安全關(guān)聯(lián)未建立的情況下以明文形式通過(guò)漫游網(wǎng)絡(luò)返回至UE,增加了被攻擊的可能性。
ECC(橢圓曲線算法)是基于橢圓曲線離散對(duì)數(shù)問(wèn)題構(gòu)建的公鑰密碼體系,其數(shù)學(xué)基礎(chǔ)是利用有限域上橢圓曲線離散對(duì)數(shù)的計(jì)算困難性。在密鑰長(zhǎng)度相當(dāng)?shù)那闆r下,橢圓曲線離散對(duì)數(shù)的計(jì)算復(fù)雜度是指數(shù)級(jí)的。因此,ECC被廣泛認(rèn)為是在給定密鑰長(zhǎng)度情況下,最強(qiáng)大的非對(duì)稱算法。

表1 協(xié)議涉及的符號(hào)說(shuō)明
在基于ECC實(shí)現(xiàn)的非對(duì)稱公鑰密碼體制中,密鑰分為私鑰和公鑰。在有限域Fp上,已知公共基點(diǎn) G(x,y)和橢圓曲線 E(a,b)∶y2=(x3+ax+b)mod p,其中a,b,x,y∈Fp,n為G的階,取任意小于n的整數(shù)作為私鑰r,對(duì)應(yīng)公鑰R=r*G。
ECC具有復(fù)合特性,即任意多對(duì)私鑰之和與對(duì)應(yīng)的公鑰之和構(gòu)成新的公、私鑰對(duì)。假設(shè)私鑰之和為(r1+r2+…+rm)mod n=r,對(duì)應(yīng)公鑰之和為R1+R2+…+Rm=R,則r和R將形成新的公、私鑰對(duì)[2]。
在基于ECC的IMS AKA鑒權(quán)過(guò)程中,將終端設(shè)備UE產(chǎn)生的臨時(shí)公/私鑰對(duì)記為TPKU/TSKU,HSS產(chǎn)生的臨時(shí)公私鑰對(duì)記為TPKH/TSKH,根據(jù)ECC的點(diǎn)乘特性,則有TPKU*TPKH=TSKU*TSKH。本方案就是以臨時(shí)公私鑰對(duì)的點(diǎn)乘結(jié)果做為共享因子而實(shí)現(xiàn)的。

圖1 基于ECC的IMS AKA鑒權(quán)流程
基于ECC實(shí)現(xiàn)的改進(jìn)型IMS AKA鑒權(quán)機(jī)制,執(zhí)行兩次注冊(cè)過(guò)程。其中,初始的REGISTER消息僅進(jìn)行完整性保護(hù),二次注冊(cè)的REGISTER消息同時(shí)進(jìn)行了完整性和機(jī)密性保護(hù)。為了區(qū)分注冊(cè)消息,將在REGISTER消息的頭部擴(kuò)展Flag域。當(dāng)Flag值為False時(shí),表示該注冊(cè)消息僅執(zhí)行了完整性保護(hù);當(dāng)Flag為True時(shí),表示該注冊(cè)消息同時(shí)完成了機(jī)密性和完整性保護(hù)。
協(xié)議具體的流程如下。
(1)UE向IMS網(wǎng)絡(luò)進(jìn)行注冊(cè)
UE首先產(chǎn)生一組臨時(shí)公私鑰對(duì)TPKU/TSKU,然后將TPKU放入初始注冊(cè)消息REGISTER中。UE將Flag域置為False后,計(jì)算REGISTER消息的摘要值CHK,之后將REGISTER消息發(fā)送至P-CSCF。
(2)初始注冊(cè)消息的轉(zhuǎn)發(fā)
初始注冊(cè)消息REGISTER到達(dá)P-CSCF后,首先根據(jù)Flag標(biāo)識(shí)進(jìn)行相應(yīng)校驗(yàn)。如果校驗(yàn)通過(guò),則轉(zhuǎn)發(fā)至I-CSCF,I-CSCF通過(guò)向HSS請(qǐng)求分配S-CSCF,將REGISTER消息發(fā)送至S-CSCF。當(dāng)S-CSCF收到REGISTER消息后,首先檢查用戶是否已經(jīng)被認(rèn)證,如果沒(méi)有,則S-CSCF向HSS發(fā)送多媒體接入認(rèn)證請(qǐng)求。在請(qǐng)求認(rèn)證消息中,將TPKU送至HSS。
(3)HSS計(jì)算認(rèn)證向量
HSS在收到多媒體接入認(rèn)證請(qǐng)求后,首先獲取并驗(yàn)證UE的臨時(shí)公鑰TPKU。如果校驗(yàn)通過(guò),則HSS自身也產(chǎn)生一組臨時(shí)公私鑰對(duì)TPKH/TSKH,同時(shí)產(chǎn)生最新的序列號(hào)SQN和一組隨機(jī)數(shù)RAND。然后,運(yùn)行ECC算法機(jī)制,結(jié)合AMF(認(rèn)證與密鑰管理域)計(jì)算認(rèn)證向量AV。
AV的計(jì)算過(guò)程如下[3]:

最后,HSS將AV通過(guò)多媒體認(rèn)證應(yīng)答發(fā)送至S-CSCF。
(4)S-CSCF對(duì)多媒體認(rèn)證應(yīng)答的處理
S-CSCF從AV中得到用戶認(rèn)證所需的安全參數(shù)XRES,S-CSCF將剔除XRES的AV包含在401應(yīng)答消息中,通過(guò)I-CSCF轉(zhuǎn)發(fā)至P-CSCF。
(5)P-CSCF對(duì)401消息的處理
P-CSCF接收到401應(yīng)答消息后,將完整性密鑰IK和機(jī)密性密鑰CK保存下來(lái),同時(shí)分別用CK、IK對(duì)AUTN進(jìn)行機(jī)密性和完整性保護(hù),記為CK/IK(AUTN), 然 后 P-CSCF將 TPKH、RAND 和CK/IK(AUTN)通過(guò)401消息轉(zhuǎn)發(fā)至UE。
(6)UE對(duì)認(rèn)證數(shù)據(jù)的處理
接收到P-CSCF返回的401應(yīng)答消息后,UE通過(guò)以下方式獲得共同的臨時(shí)認(rèn)證密鑰:

UE通過(guò)CK/IK對(duì)CK/IK(AUTN)完成解密并執(zhí)行校驗(yàn)。校驗(yàn)通過(guò)后,UE成功獲得網(wǎng)絡(luò)認(rèn)證令牌AUTN。如果AUTN認(rèn)證成功,網(wǎng)絡(luò)就被認(rèn)證通過(guò)。至此,UE和S-CSCF分別獲取了共享密鑰CK/IK,可以進(jìn)行后續(xù)的數(shù)據(jù)加密保護(hù)。需要說(shuō)明的是,UE將會(huì)保存CK/IK,直到完成下一次的IMS AKA鑒權(quán)。
(7)IMS網(wǎng)絡(luò)認(rèn)證用戶身份
UE將認(rèn)證挑戰(zhàn)應(yīng)答RES置入二次注冊(cè)的REGISTER消息中,利用CK/IK進(jìn)行保護(hù)后,將Flag域置為Ture,發(fā)送至P-CSCF。
P-CSCF首先根據(jù)Flag標(biāo)識(shí)執(zhí)行解密、校驗(yàn)操作,如果校驗(yàn)通過(guò),則轉(zhuǎn)發(fā)至I-CSCF。I-CSCF執(zhí)行重新發(fā)現(xiàn)過(guò)程,然后將REGISTER消息轉(zhuǎn)發(fā)給S-CSCF。當(dāng)S-CSCF接收到REGISTER消息后,從認(rèn)證頭域中取出認(rèn)證應(yīng)答參數(shù)RES,將其和保存在S-CSCF中的認(rèn)證應(yīng)答XRES進(jìn)行比較。如果一致,S-CSCF認(rèn)證用戶身份成功,允許用戶接入網(wǎng)絡(luò),向UE發(fā)送200 OK消息。
至此,基于ECC的改進(jìn)型IMS AKA鑒權(quán)機(jī)制順利完成UE與S-CSCF之間的雙向認(rèn)證。
本方案針對(duì)IMS AKA鑒權(quán)機(jī)制的不足而設(shè)計(jì),不僅繼承了原機(jī)制雙向認(rèn)證的優(yōu)點(diǎn),而且極大地提升了安全性,具體表現(xiàn)在以下兩個(gè)方面。
(1)對(duì)初始注冊(cè)消息REGISTER進(jìn)行摘要計(jì)算,可有效防止攻擊者的篡改行為;對(duì)后續(xù)所有的SIP信令,利用CK/IK進(jìn)行機(jī)密性、完整性保護(hù),有效阻止了攻擊者的竊取與篡改。
(2)利用ECC算法的復(fù)合特性,通過(guò)臨時(shí)公私鑰對(duì)點(diǎn)乘獲取臨時(shí)共享因子,使得UE和S-CSCF之間不要求共享認(rèn)證密鑰,在提升網(wǎng)絡(luò)接入安全強(qiáng)度的同時(shí),有效簡(jiǎn)化了密鑰管理。
本文通過(guò)對(duì)IMS AKA鑒權(quán)機(jī)制的安全性進(jìn)行分析,基于橢圓曲線理論研究了一套改進(jìn)型的IMS AKA鑒權(quán)機(jī)制。該機(jī)制利用ECC算法的復(fù)合特性,通過(guò)臨時(shí)公私鑰對(duì)點(diǎn)乘獲取共享因子,擺脫了AKA機(jī)制共享認(rèn)證密鑰的設(shè)計(jì)缺陷,在簡(jiǎn)化密鑰管理的同時(shí),可有效保障IMS網(wǎng)絡(luò)的用戶接入安全。