馮劍川 周國祥 丁志文
(1.海軍蚌埠士官學(xué)校信息技術(shù)系 蚌埠 233012)(2.91681部隊 寧波 315700)
?
改進(jìn)的IMS跨域間認(rèn)證密鑰協(xié)商協(xié)議*
馮劍川1周國祥1丁志文2
(1.海軍蚌埠士官學(xué)校信息技術(shù)系蚌埠233012)(2.91681部隊寧波315700)
摘要針對已有跨域間密鑰協(xié)商協(xié)議與IP多媒體子系統(tǒng)(IMS)會話建立過程不相匹配及安全性較差等問題,分析了IMS會話建立過程,研究了端到端信息傳輸?shù)陌踩枨?,提出一種改進(jìn)的IMS跨域間認(rèn)證密鑰協(xié)商協(xié)議IKAAP,并進(jìn)行了安全性分析。結(jié)果表明,改進(jìn)后的協(xié)議能夠保證終端用戶在三網(wǎng)融合環(huán)境下實現(xiàn)端到端信息的安全傳輸。
關(guān)鍵詞IP多媒體子系統(tǒng); 跨域; 認(rèn)證密鑰協(xié)商協(xié)議
Class NumberTP393.03
1引言
鑒于IP多媒體子系統(tǒng)(IP Multimedia System,IMS)體系架構(gòu)基于域的特性,為實現(xiàn)IMS中端到端信息的安全傳輸,就需要采用跨域間認(rèn)證密鑰協(xié)商協(xié)議以生成會話密鑰。目前已有很多學(xué)者提出跨域間認(rèn)證密鑰協(xié)商協(xié)議[1~10],但這些協(xié)議均不同程度存在以下問題:一是雖然可以滿足安全生成會話密鑰的要求,但其通信過程卻與IMS會話建立的過程不相匹配,即需要重新修改IMS會話建立過程,不利于認(rèn)證密鑰協(xié)商協(xié)議與現(xiàn)有IMS系統(tǒng)的無縫嵌套;二是服務(wù)器保存有會話密鑰,存在信息被中間節(jié)點竊聽的風(fēng)險;三是安全性不高,存在密鑰泄露攻擊和中間人攻擊等諸多安全問題;四是效率偏低且對客戶端計算能力要求偏高,不利于部署在嵌入式系統(tǒng)和復(fù)雜電磁環(huán)境中。
2改進(jìn)的IMS跨域間認(rèn)證密鑰協(xié)商協(xié)議
2.1改進(jìn)原則
針對已有的IMS跨域密鑰認(rèn)證協(xié)商協(xié)議存在的諸多不足,結(jié)合IMS會話通信特點,本文提出一種改進(jìn)的IMS跨域間認(rèn)證密鑰協(xié)商協(xié)議IKAAP(Enhanced Key Agreement Authentication Protocol),協(xié)議在設(shè)計時基于以下原則:
1) 認(rèn)證交換過程與IMS會話建立過程相匹配。已有認(rèn)證協(xié)商協(xié)議雖然都可以滿足安全生成會話密鑰的要求,但其通信過程卻與IMS會話建立的過程不相匹配,這就需要重新修改IMS會話建立過程,不便于認(rèn)證協(xié)商協(xié)議與現(xiàn)有系統(tǒng)的無縫嵌套。
2) 避免客戶端使用公鑰基礎(chǔ)設(shè)施(PKI)。在客戶端使用服務(wù)器的公鑰對傳輸?shù)男畔⑦M(jìn)行加密,就需要事先在客戶端配置公鑰基礎(chǔ)設(shè)施以分配服務(wù)器的公鑰,而用戶在會話建立之初就需要耗費更多的時間去獲取服務(wù)器和對端用戶的公鑰,同時對客戶端的計算能力也提出了較高要求。
3) 基于預(yù)共享的高熵長期密鑰??诹罹哂卸绦〉挽?、容易記憶的優(yōu)點,但使用口令認(rèn)證易于遭受字典攻擊和口令泄露攻擊。在IMS系統(tǒng)中客戶端和歸屬用戶服務(wù)器(Home Subscriber Server,HSS)之間預(yù)共享了高熵長期密鑰,基于該密鑰完成用戶的認(rèn)證和授權(quán)。結(jié)合該特點,IKAAP基于預(yù)共享的高熵長期密鑰進(jìn)行認(rèn)證,并介入會話密鑰協(xié)商過程,避免用戶的身份冒用。
4) 相互認(rèn)證。通過相互認(rèn)證,在會話密鑰生成前可有效確保用戶身份的合法性以減少偽裝攻擊的發(fā)生。
2.2協(xié)議描述
協(xié)議的詳細(xì)過程如圖1所示,圖中符號說明如下。
圖1 改進(jìn)的跨域間認(rèn)證密鑰協(xié)商協(xié)議IKAAP
IDA,IDB:用戶UE A和UE B的身份標(biāo)識;
IDSA,IDSB:呼叫會話控制實體服務(wù)器S-CSCF A和S-CSCF B的身份標(biāo)識;
Ma,Mb:用戶A、B和對應(yīng)的S-CSCF間預(yù)共享的長期密鑰(S-CSCF本身不存儲該密鑰,該密鑰實際存儲于HSS中,S-CSCF通過查詢HSS獲得);
CKA,CKB:用戶A、B向?qū)?yīng)的S-CSCF注冊時產(chǎn)生的加密密鑰;
PSA,PSB:服務(wù)器S-CSCF A和S-CSCF B的公鑰;
SSA,SSB:服務(wù)器S-CSCF A和S-CSCF B的私鑰;
[info]K:用密鑰K對信息info進(jìn)行對稱加密;
{info}K:用密鑰K對信息info進(jìn)行非對稱加密;
p,q:兩個大素數(shù),其中q| (p-1);
G:有限域Zp的乘法群;
g:以q為階的群G的生成元;
H:理想的Hash函數(shù);
L:票據(jù)生存期;
sk:會話密鑰;
x,y,ra,ra′,rb,rb′:[1,q-1]內(nèi)的大隨機數(shù)。
為了建立會話密鑰sk,UE A和UE B將執(zhí)行如下步驟:
1) UE A選擇隨機數(shù)x和ra,計算gxmodp,利用預(yù)共享的長期密鑰Ma和隨機數(shù)ra計算na=H(Ma,ra)。用注冊時產(chǎn)生的加密密鑰CKA對ra進(jìn)行對稱加密,用na對A、B的身份標(biāo)識IDA、IDB和gxmodp進(jìn)行對稱加密,將密文[IDA,IDB,gx]na,[ra]CKA發(fā)送給S-CSCF A(為描述方便,以下省略modp)。
2) 收到[IDA,IDB,gx]na,[ra]CKA后,S-CSCF A用存儲的加密密鑰CKA對[ra]CKA進(jìn)行解密,得到ra,利用預(yù)共享長期密鑰Ma和隨機數(shù)ra計算na=H(Ma,ra),再解密[IDA,IDB,gx]na,驗證UE A身份的合法性。驗證通過后,用S-CSCF A的私鑰SSA對gx、IDA、IDB、ra和L(票據(jù)生存期)進(jìn)行數(shù)字簽名,然后用S-CSCF B公鑰PSB進(jìn)行非對稱加密得到票據(jù)Ticket={〈gx,IDA,IDB,ra,L〉SSA}PSB。之后S-CSCF A將Ticket,L發(fā)送給S-CSCF B。
3) S-CSCF B收到密文Ticket,L后,用自身的私鑰SSB對Ticket進(jìn)行解密,利用S-CSCF A的公鑰PSA驗證數(shù)字簽名,并檢查票據(jù)生存期L的有效性,從而得到gx和ra。之后,選擇隨機數(shù)rb,利用與UE B預(yù)共享的長期密鑰Mb計算nb=H(Mb,rb),用nb對gx、ra和S-CSCF B的身份標(biāo)識IDSB進(jìn)行對稱加密,用UE B注冊階段存儲的加密密鑰CKB對IDA、IDB、rb進(jìn)行對稱加密,然后將加密結(jié)果[gx,ra,IDSB]nb,[IDA,IDB,rb]CKB發(fā)送給UE B。
4) UE B收到[gx,ra,IDSB]nb,[IDA,IDB,rb]CKB后,用存儲的加密密鑰CKB對[IDA,IDB,rb]CKB進(jìn)行解密得到rb,用預(yù)共享的長期密鑰Mb和解密得到的rb計算nb=H(Mb,rb),用nb再解密[gx,ra,IDSB]nb,驗證S-CSCF B身份的合法性并得到gx和ra。之后,UE B選擇隨機數(shù)y和rb′,計算會話密鑰sk=H(gxy,IDA,IDB)。用ra對gy進(jìn)行對稱加密,用會話密鑰sk對IDA、IDB、rb′進(jìn)行對稱加密,最終將加密結(jié)果[gy]ra,[IDA,IDB,rb′]sk發(fā)送給UE A。
5) UE A收到[gy]ra,[IDA,IDB,rb′]sk后,利用第1步選擇的隨機數(shù)ra解密[gy]ra得到gy。之后,利用第1步選擇的隨機數(shù)x計算會話密鑰sk=H(gyx,IDA,IDB)。解密[IDA,IDB,rb′]sk,得到rb′并驗證UE B身份的合法性,再計算[rb′]sk并發(fā)送給UE B。UE B收到[rb′]sk后,利用sk解密驗證rb′以最終確定雙方已成功進(jìn)行密鑰認(rèn)證協(xié)商。
3協(xié)議安全性分析
假設(shè)存在攻擊者T,對上節(jié)所給出的IKAAP進(jìn)行如下安全性分析。
1) 字典攻擊
對于在線字典攻擊,假設(shè)T根據(jù)弱口令的構(gòu)造特點猜測了用戶UE A的一個口令并計算出相應(yīng)的驗證值,但由于口令僅是UE A在注冊過程中與服務(wù)器認(rèn)證所需,并不參與后續(xù)的會話密鑰協(xié)商,故在線字典攻擊不適用。對于離線字典攻擊,由于在協(xié)議運行過程中無信息涉及到口令,因此離線字典攻擊亦不適用。
2) 口令泄漏攻擊
假設(shè)T竊取了UE A的口令試圖偽裝成UE A,攻擊者利用竊取的口令成功在服務(wù)器上進(jìn)行了注冊,并試圖偽造密文1,但由于T不知道預(yù)共享的長期密鑰Ma,因此無法計算出na,從而S-CSCF A在解密密文1后就可以發(fā)現(xiàn)T,T偽裝攻擊失敗。同理,適用于用戶UE B。假設(shè)T竊取了用戶口令,并能獲取通信過程中的所有信息,由于口令僅在用戶注冊過程中與服務(wù)器認(rèn)證時使用,并不參與后續(xù)的會話密鑰協(xié)商,因此攻擊者無法利用口令發(fā)起有效攻擊。
3) 密鑰泄漏攻擊
假設(shè)T竊取了UE A在注冊過程中生成的加密密鑰CKA,且能獲得通信過程中的所有信息,因此可通過密文1獲知選擇的隨機數(shù)ra。雖然T可利用ra成功解密密文4中的[gy]ra得到gy,但由于T不知預(yù)共享的長期密鑰Ma,故無法計算出用于解密密文[IDA,IDB,gx]na所需的密鑰na,從而無法得到gx,基于Diffie-Hellman難題,由gx計算x是不可行的,因此無法生成會話密鑰。同理適用于UE B。
假設(shè)T竊取了服務(wù)器S-CSCF A的私鑰SSA,成功解密密文2中的{〈gx,IDA,IDB,ra,L〉SSA}PSB得到gx和ra,進(jìn)而成功解密密文4中的[gy]ra得到gy,但基于Diffie-Hellman難題,由gx和gy求出sk=H(gyx,IDA,IDB)在計算上是不可行的。
4) 中間人攻擊
假設(shè)T竊取了UE A在注冊過程中生成的加密密鑰CKA,意圖通過劫持密文1發(fā)動中間人攻擊。但由于T無法獲知UE A與S-CSCF A預(yù)共享的長期密鑰Ma,故無法計算解密密文1中[IDA,IDB,gx]na所需的密鑰na,從而無法實現(xiàn)中間人攻擊。同理,適用于UE B加密密鑰被竊取的情形。
5) 相互認(rèn)證
協(xié)議第2步基于預(yù)共享的高熵密鑰S-CSCF A可對UE A進(jìn)行認(rèn)證,第3步S-CSCF B通過驗證基于非對稱加密體制的數(shù)字簽名可對S-CSCF A進(jìn)行認(rèn)證,第4步UE B基于預(yù)共享的高熵密鑰可對S-CSCF B進(jìn)行認(rèn)證,從而實現(xiàn)UE B對UE A的認(rèn)證。UE A通過解密UE B發(fā)回的消息驗證第1步發(fā)送的隨機數(shù)ra和自身的身份標(biāo)識IDA從而實現(xiàn)對UE B的認(rèn)證。因此該協(xié)議可實現(xiàn)用戶之間的相互認(rèn)證。
6) 前向安全性
假設(shè)T成功獲取了用戶口令,加密密鑰CKA和CKB,服務(wù)器的私鑰SSA和SSB,并成功解密協(xié)議運行過程中的密文信息得到gx、gy,但基于Diffie-Hellman難題,要想獲得會話密鑰sk=H(gyx,IDA,IDB)在計算上是不可行的,從而無法計算出之前的會話密鑰。因此,該協(xié)議具有良好的前向安全性。
4嵌入IMS會話
協(xié)議成功執(zhí)行后,UE A和UE B得到了會話密鑰,可用于后續(xù)的信息傳輸加密,IKAAP協(xié)議與IMS會話建立過程無縫嵌套,密鑰協(xié)商信息可置于會話描述協(xié)議(Session Description Protocol,SDP)消息的擴展字段中實現(xiàn)。
5結(jié)語
針對三網(wǎng)融合環(huán)境中密鑰協(xié)商特點,本文給出了一種改進(jìn)的IMS跨域間認(rèn)證密鑰協(xié)商協(xié)議IKAAP,并對該協(xié)議進(jìn)行了安全性分析。IKAAP協(xié)議可無縫嵌入IMS會話建立過程,在安全性方面有一定提升,能夠保證終端用戶在三網(wǎng)融合環(huán)境下實現(xiàn)端到端信息的安全傳輸。
參 考 文 獻(xiàn)
[1] Byun J W,Jeong I R,Lee D H.Password-authenticated key exchange between clients with different passwords[C]//Lecture Notes in Computer Science.Berlin:Springer Press,2002:134-146.
[2] CHEN Chi-yuan,WU Tin-yu.An efficient end-to-end security mechanism for IP multimedia subsystem[J]. Computer Communications,2008,25(5):1-10.
[3] FENG Deng-guo,XU Jing.A New Client-to-Client Password Authenticated Key Agreement Protocol[C]//Coding and Cryptology Lecture Notes in Computer Science.Berlin:Springer Press,2009:63-76.
[4] 柳秀梅.基于口令認(rèn)證的密鑰交換協(xié)議若干關(guān)鍵技術(shù)研究[D].沈陽:東北大學(xué),2009:34-40.
[5] 張紅旗,張文波,張斌.網(wǎng)格環(huán)境下基于身份的跨域認(rèn)證研究[J].計算機工程,2009,35(17):160-162.
[6] 鮑慧,徐芳琴,李艷冠.IMS網(wǎng)絡(luò)端到端安全機制研究[J].中國多媒體通信,2009,69(3):34-37.
[7] 范慶娜,姚琳,吳國偉.普適計算中的跨域認(rèn)證與密鑰建立協(xié)議[J].計算機工程,2010,36(11):137-139.
[8] 陳安林,潘進(jìn).移動自組網(wǎng)中跨域兩方認(rèn)證密鑰協(xié)商協(xié)議研究[J].計算機應(yīng)用研究,2011,28(7):2734-2737.
[9] CHEN Ming,WU Kai-gui,XU Jie.A Certificateless and Across Administrative Domains Authenticated Key Exchange Scheme for E-payment[J].Journal of Software,2011,6(10):1985-1991.
[10] 姚瑤,王興偉.基于跨域認(rèn)證與密鑰協(xié)商的協(xié)議模型[J].計算機工程,2012,38(9):12-14.
An Improved IMS Cross-domain Key Authenticated Agreement Protocol
FENG Jianchuan1ZHOU Guoxiang1DING Zhiwen2
(1. Naval Bengbu Sergeant School, Bengbu233012)(2. No. 91681 Troops of PLA, Ningbo315700)
AbstractAiming at session process between cross-domain key agreement protocol and IP multimedia subsystem (IMS) does not match and security poor, process of IMS session establishment is analyzed, security requirements of end-to-end information transmission is studied, an improved IMS cross-domain key authenticated agreement protocol(IKAAP) is put forward, and improved protocol’s security is analyzed. Result shows that the improved protocol can guarantee the end user in the triple play environment to realize the end-to-end security information transmission.
Key WordsIP multimedia subsystem, cross-domain, key authenticated agreement protocol
* 收稿日期:2015年11月9日,修回日期:2015年12月29日
作者簡介:馮劍川,男,碩士,講師,研究方向:信號通信。周國祥,男,碩士,講師,研究方向:無線通信。丁志文,男,研究方向:信號通信。
中圖分類號TP393.03
DOI:10.3969/j.issn.1672-9730.2016.05.027