曹 陽
(陜西理工大學 數學與計算機科學學院,陜西 漢中 723000)
在網絡時代,遠程用戶從不同的服務器獲得網絡服務已不再是難事,用戶可使用傳統的單服務器架構[1-2]來滿足自己的需求。但隨著因特網的迅速發展,網絡服務的需求也相應增長,單服務器架構也就很難滿足這些需求,需要多個服務器在不同的位置提供服務。近年來研究人員針對多服務器認證問題,引入了口令、身份標識、基因等,目的是為了提高用戶認證時信息的安全性。例如,文獻[3]提出了一種多服務環境下的身份認證協議,但該協議不能抵抗偽造攻擊和會話密鑰泄露攻擊;文獻[4]基于智能卡提出一種多服務器多環境下的動態身份認證協議,但該協議通信復雜度太高[5];文獻[6]提出了基于口令的高效安全的多服務器認證方案,但該方案存在離線口令猜測攻擊;文獻[7]基于單向hash函數提出了無驗證表的高效多服務器認證方案,但該方案不能抵抗內部攻擊,無服務周期管理等;文獻[8]基于自認證公鑰提出了一種多服務器遠程用戶身份認證方案,但該方案不能抵抗偽造攻擊、無前向安全性;文獻[9]提出的基于智能卡的多服務器遠程認證方案,不能抗重放攻擊,無雙向認證。類似的方案[10-15]還有很多,在此不再加以一一論述。
針對多服務器環境下用戶認證的安全性問題,基于ECC密碼體制,結合動態身份,文中提出了一種多服務器環境下的動態身份認證密鑰協商方案。
設U={U1,U2,…,Un}為遠程用戶,S={S1,S2,…,Sn}為服務器組,RC為可信注冊中心。RC選取有限域Fp上的安全橢圓曲線E(Fp),G為E(Fp)的基點,其階為q(q為大素數),且該曲線滿足橢圓曲線離散對數問題的難解性,公開E(Fp),G,q。方案中信息都是在安全信道上發送,由注冊階段、登錄階段、認證密鑰協商階段、口令更改階段四個部分組成,方案中用到的主要參數描述見表1。

表1 參數描述
(1)Sj選取隨機數SIDj作為自己的身份標識,并將其發送給RC。RC收到Sj發送的身份標識SIDj后計算Rj=H(H(SIDj)⊕yj),發送Rj給Sj,Sj收到Rj后將其存儲,結束注冊。
(2)用戶選取隨機數UIDi和UPWi,其中UIDi作為用戶的身份標識,UPWi作為用戶的口令。將(H(UIDi),H(H(UIDi)⊕UPWiG))發送給RC。
(3)RC收到(H(UIDi),H(H(UIDi)⊕UPWiG))后計算:Ai=H(x⊕H(UIDi)),Bi=Ai⊕H(H(UIDi)⊕UPWiG),Ci=H(Ai),Aij=H(Bi‖SIDj),Dij=Eyj⊕Tij(Aij),并將(Bi,Ci,Aij,Tij,H())發送給UIDi,Dij發送給Sj結束注冊。

(2)用戶選取隨機數α,α∈Fp,計算:N1=H(Ai‖αG)CUIDi=EAij(rk‖H(H(UIDi)⊕Aij)‖H(UIDi)),其中rk表示用戶的登錄次數,發送登錄請求信息(CUIDi,αG,N1,H())給Sj。
(1)Sj收到用戶登錄請求信息(CUIDi,αG,N1,H())后,選取隨機數β,β∈Fp,計算N2=H(Rj‖βG),同時將(CUIDi,αG,N1,Dij,N2,βG,H())發送給RC。




(1)強匿名性。
方案是基于動態身份設計的,用戶Ui的真實身份從未在公共網絡上傳輸。注冊時用戶Ui向控制中心RC傳送的是匿名身份H(UIDi),若攻擊者要知道Ui的真實身份,他必須解決哈希函數H()的單向性問題。登錄時,Ui使用的是動態身份CUIDi,由CUIDi=EAij(rk‖H(H(UIDi)⊕Aij)‖H(UIDi))知,攻擊者要知道用戶的真實身份,他就必須知道Aij,由Aij=H(Bi‖SIDj),Bi=Ai⊕H(H(UIDi)⊕UPWiG),Ai=H(x⊕H(UIDi)),H(UIDi)可知是不行的。一方面,x是RC的私鑰;另一方面仍然是哈希函數H()的單向性問題,所以攻擊者無法確定用戶的身份。因此方案具有強匿名性。
(2)抗離線口令猜測攻擊。
由H(H(UIDi)⊕UPWiG)知,用戶的口令是由哈希函數H()保護的,即使攻擊者通過一些方法得到了用戶的身份,他也無法知道用戶的口令UPWi,由UPWiG知,UPWi的安全性基于離散對數問題的難解性。
(3)抗重放攻擊。
如果攻擊者竊聽到用戶Ui和服務器Sj之間的通信,并偽裝成Ui將登錄請求信息發送給Sj,由(CUIDi,αG,N1,H())知,α是用戶在每一次登錄請求時選取的隨機數,顯然,α使得每一次會話中的信息都是不同的,即使攻擊者知道了某一次會話消息,也無法在下次會話中使用。同樣攻擊者也無法偽裝成Sj與Ui通信,因為β也是隨機數。所以方案抗重放攻擊。
(4)抗內部攻擊。
方案中的內部攻擊是指系統管理者有目的地泄露用戶的秘密信息。方案中用戶提交的注冊信息(H(UIDi),H(H(UIDi)⊕UPWiG))是受哈希函數H()保護的,且口令UPWi通過用戶身份隱藏,加之離散對數的難解性,攻擊者不可能得到用戶的口令,即方案可以抵抗內部攻擊。
(5)抗惡意合法用戶攻擊。
一個惡意合法用戶U'可能收集到的信息有:一是U'自己的身份UID'和口令PW';二是從信道上竊聽或截獲目標用戶登錄時的請求信息。由方案可知,用戶登錄時使用的是動態身份,由CUIDi=EAij(rk‖H(H(UIDi)⊕Aij)‖H(UIDi))知,U'必須知道Aij。若由Ai=H(x⊕H(UIDi)),Bi=Ai⊕H(H(UIDi)⊕UPWiG),Aij=H(Bi‖SIDj)計算出正確Aij,U'必須知道RC的私鑰x及其身份SIDj;若從Dij進行解密得到Aij,由Dij=Eyj⊕Tij(Aij)知,yj是RC和Sj之間的私鑰。因此U'無法偽造用戶登錄請求信息。
(6)三方雙向認證。
在認證密鑰協商階段2中,RC收到Sj發送的認證信息(CUIDi,αG,N1,Dij,N2,βG,H())后,計算Aij,解密CUIDi,比較了相關信息,并通過N1,N2認證Sj。同樣在階段3中,Sj通過N3,N4認證了RC的合法性,在階段4中,Ui通過N5認證了Sj的合法性,在階段5中,Sj通過N6認證了Ui的合法性。因此方案能提供三方認證。
(7)前向安全性。
方案中,如果攻擊者知道了傳輸中所有認證信息和注冊中心的主密鑰x,他仍然不能推導出Ui和Sj之間的會話密鑰SK=αβG,因為α,β是Ui和Sj各自選取的隨機數,且每次會話時α,β都不同,即方案滿足前向安全性。
方案從抗重放攻擊、強匿名性、抗離線口令猜測攻擊、抗內部攻擊、抗惡意合法用戶攻擊、三方認證、前向安全性、服務周期管理八個方面與文獻[6-9]進行比較,如表2所示。其中“√”表示具有該方面的安全性;“×”表示不具有該方面的安全性;“T1”表示抗重放攻擊;“T2”代表強匿名性;“T3”代表抗離線口令猜測攻擊;“T4”代表抗內部攻擊;“T5”代表抗惡意合法用戶攻擊;“T6”代表三方認證,“T7”代表前向安全性,“T8”代表服務周期管理。

表2 安全性比較
文中提出了一種多服務器環境下動態身份認證密鑰協商方案,其安全性主要依賴于hash函數的單向性、ECC密碼體制的安全性及離散對數問題的難解性。分析表明,方案能抵抗重放攻擊、內部攻擊、惡意用戶攻擊,具有三方認證、前向安全性。因此,方案具有一定的實際應用價值。
參考文獻:
[1] LI Chunta,LEE Cheng-Chi.A robust remote user authentication scheme using smart card[J].Information Technology and Control,2011,40(3):236-245.
[2] JIANG Qi, MA Jianfeng, LU Xiang,et al.Robust chaotic map-based authentication and key agreement scheme with strong anonymity for telecare medicine information systems[J].Journal of Medical Systems,2014,38(2):1-8.
[3] LI Xiong,XIONG Yongping,MA Jian,et al.An efficient and security dynamic identity based authentication protocol for multi-server architecture using smart cards[J].Journal of Network and Computer Applications,2012,35(2):763-769.
[4] SOOD S K,SARJE A K.A secure dynamic identity based authentication protocol for multi-server architecture[J].Journal of Network and Computer Applications,2011,34(2):609-618.
[5] KALRA S,SOOD S.Advanced remote user authentication protocol for multi-server architecture based on ECC[J].Journal of Information Security an Applications,2013,18(2-3):98-107.
[6] TSAUR W J,LI Jiahong,LEE Wei-Bin.An efficient and secure multi-server authentication scheme with key agreement[J].Journal of Systems and Software,2012,85(4):876-882.
[7] TSAI J L.Efficient mufti-server authentication scheme based on one-way hash function without verification table[J].Computers & Security,2008,27(3-4):115-121.
[8] LIAO Yipin,HSIAO C M.A novel multi-server remote user authentication scheme using self- certified public keys for mobile clients[J].Future Generation Computer Systems,2013,29(3):886-900.
[9] 國佃利.基于智能卡的多服務器遠程認證方案的研究[D].濟南:濟南大學,2014.
[10] 舒 劍.高效的基于口令多服務器認證方案[J].計算機應用研究,2015,32(8):2444-2446.
[11] 牛 雨.基于多服務器互相驗證的用戶身份認證協議[J].計算機仿真,2016,33(2):350-354.
[12] 舒 劍.多服務器環境下基于擴展混沌映射的認證密鑰協商協議[J].計算機應用研究,2016,33(1):232-235.
[13] 王崇霞,高美真,劉 倩,等.多服務器環境移動通信網身份認證方案設計[J].微電子學與計算機,2016,33(6):152-156.
[14] 李艷平,劉小雪,屈 娟,等.基于智能卡的多服務器遠程匿名認證密鑰協商協議[J].四川大學學報:工程科學版,2016,48(1):91-98.
[15] 夏鵬真,陳建華.基于橢圓曲線密碼的多服務器環境下三因子認證協議[J].計算機應用研究,2017,34(10):3061-3067.