陳 明
(宜春學(xué)院數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院 江西宜春 336000) (可信計算與信息保障國家重點實驗室(中國科學(xué)院軟件研究所) 北京 100190)
強(qiáng)安全的匿名隱式漫游認(rèn)證與密鑰協(xié)商方案
陳 明
(宜春學(xué)院數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院 江西宜春 336000) (可信計算與信息保障國家重點實驗室(中國科學(xué)院軟件研究所) 北京 100190)
(chenming9824@aliyun.com)
現(xiàn)有兩方漫游認(rèn)證與密鑰協(xié)商方案沒有考慮抵抗臨時秘密泄露的安全性,僅在CK模型下可證明安全.基于橢圓曲線密碼體制和基于身份密碼系統(tǒng),采用Schnorr簽名算法設(shè)計了類似HMQV方案的“挑戰(zhàn)-應(yīng)答”簽名,進(jìn)而構(gòu)造了一種基于隱式認(rèn)證技術(shù)的、具有強(qiáng)安全性和匿名性的兩方漫游認(rèn)證密鑰協(xié)商方案.隨后,擴(kuò)展了ID-BJM模型,使之能模擬兩方漫游認(rèn)證與密鑰協(xié)商方案.在擴(kuò)展的安全模型下,新方案的安全性被規(guī)約為多項式時間敵手求解橢圓曲線上的計算Diffie-Hellman問題,實現(xiàn)了eCK安全.對比分析表明:新方案具有更強(qiáng)的安全性,能抵抗臨時秘密泄露攻擊,需要實現(xiàn)的密碼算法更少,計算、通信和存儲開銷都相對較低.新方案可應(yīng)用于移動通信網(wǎng)絡(luò)、物聯(lián)網(wǎng)或泛在網(wǎng)絡(luò)中,為資源約束型移動終端提供安全的漫游接入服務(wù).
認(rèn)證密鑰協(xié)商;移動漫游服務(wù);基于身份密碼系統(tǒng);隱式認(rèn)證;計算Diffie-Hellman問題;eCK模型
隨著移動通信網(wǎng)與互聯(lián)網(wǎng)的融合,在生活領(lǐng)域,各種手持設(shè)備和穿戴傳感設(shè)備已經(jīng)大量為人們所使用;在生產(chǎn)領(lǐng)域,以RFID技術(shù)和傳感器技術(shù)為代表的低能耗設(shè)備也已廣泛應(yīng)用,新型的網(wǎng)絡(luò)形態(tài)(物聯(lián)網(wǎng)或泛在網(wǎng)絡(luò))正在逐步形成.新型網(wǎng)絡(luò)的一個典型特征是終端設(shè)備多樣化和移動頻繁.為適應(yīng)不同設(shè)備的安全需求,多樣化的網(wǎng)絡(luò)安全技術(shù)研究是目前網(wǎng)絡(luò)通信和信息安全領(lǐng)域的一個主流趨勢,針對資源受限移動設(shè)備的漫游接入認(rèn)證與密鑰協(xié)商方案是近年來的一個研究熱點[1].
由于早期的移動終端計算能力低下,漫游協(xié)議主要采用三方在線認(rèn)證的方式[2-6],不使用公鑰算法.在認(rèn)證過程中,首先由移動節(jié)點(mobile node, MN)將認(rèn)證消息發(fā)送給遠(yuǎn)程域認(rèn)證服務(wù)器(foreign server, FS),然后FS將認(rèn)證消息轉(zhuǎn)發(fā)給MN的家鄉(xiāng)服務(wù)器(home server, HS),由HS在線驗證MN的身份,并將認(rèn)證結(jié)果返回給FS.三方漫游協(xié)議具有較大的通信時延,且易于遭受DOS攻擊.
隨著移動設(shè)備計算和存儲能力的提升,如今大量的移動終端能夠很好地支持公鑰加密算法,一些研究者基于公鑰算法,提出兩方的漫游認(rèn)證協(xié)議[7-14],其具體優(yōu)點是不需要HS在線參與認(rèn)證.在最近提出的6種兩方漫游認(rèn)證方案中,Jo等人[9]方案采用加密Hash鏈表存儲MN的撤銷信息,降低了節(jié)點撤銷過程中的通信開銷,采用基于身份的簽密方案[15]實現(xiàn)了匿名認(rèn)證,并且在CK模型[16]下證明了協(xié)議的安全性;Tsai等人[10]改進(jìn)了Jo等人方案,采用了新的基于身份簽密方案,降低了計算、通信和存儲開銷,并且在服務(wù)器端使用了基于身份的批量簽名驗證技術(shù),支持用戶身份的批量驗證,進(jìn)一步降低認(rèn)證服務(wù)器的計算開銷;周彥偉等人[11-13]提出3種相近的漫游認(rèn)證方案,采用公鑰加密和數(shù)字簽名技術(shù)實現(xiàn)漫游匿名認(rèn)證,采用Diffie- Hellman密鑰交換機(jī)制實現(xiàn)密鑰協(xié)商;此外,胡志華等人[14]采用代理簽名實現(xiàn)了兩方的漫游認(rèn)證,但是沒有實現(xiàn)密鑰協(xié)商.
上述兩方漫游認(rèn)證與密鑰協(xié)商方案存在3點不足:
1) 文獻(xiàn)[9-13]提出的方案安全性較弱,在CK模型下可證明安全(Tsai方案采用了類似的模型),沒有考慮會話臨時秘密泄露攻擊.由于移動設(shè)備更容易被攻擊者劫持,進(jìn)而讀取其內(nèi)存信息,導(dǎo)致認(rèn)證會話狀態(tài)信息泄露,形成會話臨時秘密泄露攻擊.
2) 現(xiàn)有方案的計算和存儲開銷較大,移動節(jié)點需要支持的公鑰算法類型較多.例如文獻(xiàn)[9-11,13]的方案采用了雙線性映射群,引入了計算代價較高的雙線性對運算,周彥偉等人[11-13]方案在漫游認(rèn)證階段使用了多次公鑰加密和數(shù)字簽名算法,這些都增加了方案的計算開銷和算法實現(xiàn)方面的成本.目前雖然移動終端能夠有效支持公鑰算法,但是其總體的計算能力仍然較低且能量有限,特別是一些微型的傳感器設(shè)備,僅能支持簡單的公鑰算法[17].
3) 文獻(xiàn)[9-13]提出的方案均要求移動節(jié)點預(yù)先存儲遠(yuǎn)程認(rèn)證服務(wù)器的身份ID(或公鑰),增加了移動節(jié)點的存儲開銷,并且影響了節(jié)點漫游的自由度(移動節(jié)點要么預(yù)先存儲所有遠(yuǎn)程域認(rèn)證服務(wù)器的公鑰,要么只能在局部區(qū)域漫游).
通過上述分析可見,更加高效和安全的兩方漫游認(rèn)證與密鑰協(xié)商方案仍然需要進(jìn)一步研究,這是本文研究工作的動機(jī).
本文基于橢圓曲線密碼體制(elliptic curve cryp-tography, ECC)和基于身份密碼系統(tǒng)[18-19](identity-based cryptosystem, IBC),設(shè)計了一種高效且強(qiáng)安全的兩方漫游認(rèn)證與密鑰協(xié)商方案.新方案在擴(kuò)展的ID-BJM模型[20-21]下被證明實現(xiàn)了eCK[22]安全性,其安全性被規(guī)約為多項式時間敵手求解橢圓曲線上的計算Diffie-Hellman(CDH)問題.
本文研究工作主要有2點創(chuàng)新點:1)采用類似HMQV[23]方案的隱式認(rèn)證技術(shù)實現(xiàn)了移動節(jié)點與遠(yuǎn)程域認(rèn)證服務(wù)器之間的相互認(rèn)證和密鑰協(xié)商;2)在文獻(xiàn)[20-21]的基礎(chǔ)上,進(jìn)一步擴(kuò)展了ID-BJM模型用于分析移動漫游認(rèn)證協(xié)議,并且實現(xiàn)了模擬該類協(xié)議的eCK安全性.HMQV隱式認(rèn)證技術(shù)的優(yōu)點在于,所有公開發(fā)送的認(rèn)證會話消息都不包含任何形式的用戶長期私鑰信息,并且所有公開的認(rèn)證會話消息都不需要進(jìn)行加密或簽名,相互認(rèn)證的實現(xiàn)取決于認(rèn)證雙方能夠計算完全一致的會話密鑰.相較現(xiàn)有方案,本文方案有3個主要的優(yōu)點:
1) 安全性更強(qiáng),能抵抗臨時秘密泄露攻擊,能有效防止臨時秘密泄露造成的移動節(jié)點認(rèn)證私鑰泄露;
2) 需要實現(xiàn)的算法庫更少,計算、通信和存儲開銷都相對較低(這里算法庫是指編程實現(xiàn)相關(guān)密碼算法的函數(shù)庫,例如實現(xiàn)雙線性對運算的PBC Library[24]);
3) 移動節(jié)點不需要預(yù)先存儲遠(yuǎn)程域認(rèn)證服務(wù)器的ID和公鑰,降低了存儲開銷,移動節(jié)點的漫游路線更加自由.
設(shè)G為橢圓曲線上的q階循環(huán)群,P,Q∈G是曲線上的點,Q是P的倍數(shù)點,存在a∈q,滿足:Q=aP.下面定義G上的CDH問題和CDH假設(shè).
1) CDH問題.對于任意未知的a,b∈q,假設(shè)P∈G是G的生成元,給定(aP,bP),計算abP.
2) CDH假設(shè).不存在概率多項式時間算法能成功求解CDH問題.
說明:為了描述簡潔,本文忽略了modq運算.

Fig. 1 Roaming authentication model圖1 漫游認(rèn)證模型
本文漫游認(rèn)證方案的基本模型如圖1所示,包含4個角色:證書權(quán)威(CA)、家鄉(xiāng)域認(rèn)證服務(wù)器HS、遠(yuǎn)程域認(rèn)證服務(wù)器FS和移動節(jié)點MN.CA負(fù)責(zé)HS和FS的密鑰分發(fā)與身份管理,HS負(fù)責(zé)MN的密鑰分發(fā)與身份管理,F(xiàn)S為MN提供漫游接入服務(wù).
漫游認(rèn)證與密鑰協(xié)商方案包含:系統(tǒng)建立、域服務(wù)器注冊、節(jié)點注冊、漫游接入認(rèn)證4個算法.
1) 系統(tǒng)建立.輸入安全參數(shù)κ,由CA產(chǎn)生并發(fā)布系統(tǒng)公開參數(shù).
2) 域服務(wù)器注冊.域服務(wù)器向CA中心進(jìn)行注冊,提交其身份標(biāo)識,CA產(chǎn)生服務(wù)器私鑰,并通過安全信道返回給相應(yīng)的域服務(wù)器.
3) 節(jié)點注冊.MN提交其身份標(biāo)識,HS為MN產(chǎn)生臨時身份和漫游時的認(rèn)證私鑰,通過安全信道返回給MN.
4) 漫游接入認(rèn)證.當(dāng)MN漫游進(jìn)入其他認(rèn)證域,該認(rèn)證域的FS與MN進(jìn)行交互,認(rèn)證彼此身份,并協(xié)商一致的會話密鑰.
eCK[22]模型是本領(lǐng)域被廣泛引用的強(qiáng)安全模型之一,能模擬認(rèn)證協(xié)議的主要安全性包括:已知會話密鑰安全(known key security, KKS)、無密鑰控制(no key control, NKC)、抗未知密鑰共享(unknown key-share resilience, UKS)、弱的完美前向安全(weak perfect forward secrecy, wPFS)、抗密鑰泄露偽裝(key-compromise impersonation resilience, KCI)、抗臨時秘密泄露安全(ephemeral secrets reveal resistance, ESR).此外,漫游認(rèn)證還要求實現(xiàn)匿名性(anonymity).
本文采用基于身份的密碼方案[18]構(gòu)造漫游認(rèn)證協(xié)議,因此,本文安全模型以ID-BJM模型[20]為基礎(chǔ),擴(kuò)展定義了能實現(xiàn)eCK安全的ID-eCK模型,并用于分析漫游協(xié)議.下面簡要描述相關(guān)概念及定義,詳細(xì)內(nèi)容見本文3.2節(jié),或參考文獻(xiàn)[20-21].
安全模型被定義為挑戰(zhàn)者C與敵手A之間的一系列游戲Game.A被模擬為一個概率多項式時間圖靈機(jī),被允許執(zhí)行多項式時間的詢問(詢問的具體內(nèi)容見3.2節(jié)),C模擬協(xié)議的相應(yīng)算法做出應(yīng)答.預(yù)言機(jī)Πu定義為A發(fā)起的第u次會話實例,會話的標(biāo)識由用戶標(biāo)識和會話參數(shù)連接而成.Πu與Πv互為匹配預(yù)言機(jī)定義為:Πu與Πv具有相同的會話標(biāo)識.在詢問過程中,A提交對新鮮預(yù)言機(jī)Πt的Test詢問,C輸出一個會話密鑰作為應(yīng)答.最后,A輸出對該密鑰的猜測b′∈{0,1},b′=0表示該密鑰是Πt的真實密鑰,否則不是.如果猜測正確,A贏得游戲Game.A贏得Game的優(yōu)勢定義為

定義1. 新鮮性(freshness).如果Πt是誠實用戶IDa和IDb之間的會話,IDa是Πt的擁有者,且Πt已成功完成(用Acc表示),令Πv(如果存在)是Πt的匹配預(yù)言機(jī),那么,分別定義3種類型的新鮮預(yù)言機(jī)Πt:
1)A從未提交Corrupt(IDb),Reveal(Πt),Reveal(Πv),EpheKeyReveal(Πt)詢問;
2)A從未提交Reveal(Πt),Reveal(Πv),EpheKeyReveal(Πv),EpheKeyReveal(Πt)詢問;
3)A從未提交Corrupt(IDa),Corrupt(IDb),Reveal(Πt),Reveal(Πv)詢問.
上述3種情形涵蓋了認(rèn)證密鑰協(xié)商協(xié)議的主要安全問題,類型1模擬KCI安全;類型2模擬wPFS安全性;類型3模擬ESR安全性.其他安全性更易于實現(xiàn),如KKS和NKC,由會話雙方各自選擇的新鮮隨機(jī)數(shù)確保;UKS安全性(類似Diffie-Hellman密鑰交換的中間人攻擊)則由隱式認(rèn)證技術(shù)保障,因為對認(rèn)證會話消息的任何篡改都會導(dǎo)致認(rèn)證雙方不能計算一致的會話密鑰,從而認(rèn)證失敗.
定義2. 如果協(xié)議滿足2點要求,被認(rèn)為滿足eCK安全:
1) 在匹配預(yù)言機(jī)Πu與Πv之間僅存在被動攻擊者的情況下,總能協(xié)商相同的會話密鑰SK,且SK在密鑰空間上隨機(jī)均勻分布;
基于ECC的IBC系統(tǒng)設(shè)計了一種采用隱式認(rèn)證技術(shù)的漫游認(rèn)證與密鑰協(xié)商協(xié)議.本文協(xié)議只涉及漫游認(rèn)證,但是稍加變化也可用作家鄉(xiāng)域的本地認(rèn)證.
在CK模型下,F(xiàn)iore等人[25]提出一種高效的基于身份密鑰協(xié)商方案(記為Fiore-IBKA方案),但是該方案沒有考慮臨時密鑰泄露的攻擊.文獻(xiàn)[26]指出Fiore-IBKA方案易遭受臨時密鑰泄露偽裝攻擊.本文方案受到Fiore-IBKA方案的啟發(fā),結(jié)合Schnorr[27]簽名機(jī)制設(shè)計了類似HMQV方案的“挑戰(zhàn)-應(yīng)答”簽名,進(jìn)而構(gòu)造了高效且強(qiáng)安全的匿名漫游認(rèn)證與密鑰協(xié)商方案.本文方案描述如下.
1) 系統(tǒng)建立.輸入安全參數(shù)κ,CA產(chǎn)生并發(fā)布系統(tǒng)參數(shù)params=〈κ,G,q,P,P0,H1,H2,H3〉.其中q為大素數(shù),P∈G為G的生成元,P0=sP為系統(tǒng)公鑰,s∈q為主密鑰,H1:{0,1}*→q和H2:{0,1}*→q為抗碰撞Hash函數(shù),H3:{0,1}*→{0,1}κ為密鑰導(dǎo)出函數(shù).
2) 域服務(wù)器注冊.域服務(wù)器提交其身份標(biāo)識IDS,CA隨機(jī)選擇rS∈q,計算RS=rSP,qS=H1(IDS‖RS)和dS=rS+sqS,通過安全信道將〈dS,RS〉發(fā)回給域服務(wù)器.域服務(wù)器通過計算dSP=RS+qSP0是否相等來驗證私鑰的正確性.私鑰產(chǎn)生算法采用了Schnorr簽名機(jī)制,IDS為被簽名消息.
3) 節(jié)點注冊.MN提交其身份標(biāo)識IDM,HS隨


4) 漫游接入認(rèn)證.漫游接入認(rèn)證過程如圖2所示:

MNFSx∈ZZq,X=xPX‖CertM→True←Verify(CertM)y∈ZZq,Y=yPqF=H1(IDF‖RF)TM=xYY‖IDF‖RF←qH=H1(IDH‖RH)TF=yXh=H2(IDF‖CertM‖RF‖RM‖X‖Y)KF=(y+hdF)(X+h(RM+tIDM(RH+qHP0)))KM=(x+hdM)(Y+h(RF+qFP0))SKFM=H3(IDF‖tIDM‖X‖Y‖h‖TF‖KF)SKMF=H3(IDF‖tIDM‖X‖Y‖h‖TM‖KM)

Fig. 2 Authentication and key agreement for roaming service圖2 漫游認(rèn)證與密鑰協(xié)商
認(rèn)證步驟描述為:
① MN隨機(jī)選擇x∈q,計算X=xP,發(fā)送(X‖CertM)給FS.


上述過程是基本的認(rèn)證密鑰協(xié)商方案(沒有考慮密鑰確認(rèn)),采用了類似HMQV的隱式認(rèn)證技術(shù).考慮到實際應(yīng)用中需要進(jìn)行密鑰確認(rèn),我們對上述基本方案在4個方面進(jìn)行增強(qiáng),具體描述如下:
1) 系統(tǒng)建立階段引入抗碰撞密碼Hash函數(shù)H:K×{0,1}*→q;
2) FS將h同時發(fā)送給MN,即FS發(fā)送消息(Y‖IDF‖RF‖h);
3) MN檢查h=H2(IDF‖CertM‖RF‖RM‖X‖Y)是否成立,計算g=H(SKMF‖IDF‖CertM‖RF‖RM‖X‖Y‖h),并發(fā)送給FS;
4) FS檢查g=H(SKFM‖IDF‖CertM‖RF‖RM‖X‖Y‖h)是否成立以完成密鑰確認(rèn).
協(xié)議的正確性證明:


(y+hdF)(x+hdM)P,
(1)
KM=(x+hdM)(Y+h(RF+qFP0))=
(x+hdM)(y+h(rF+sqF))P=
(x+hdM)(y+hdF)P.
(2)
由式(1)和式(2)可得KF=KM,從而可計算相同的會話密鑰SKFM=SKMF.
本文第2節(jié)描述的基本方案(不考慮密鑰確認(rèn))更加符合HMQV協(xié)議的思想,為了便于分析和證明,在下面的證明過程中,我們僅分析基本的認(rèn)證密鑰協(xié)商方案(非增強(qiáng)版本).
定理1. 假設(shè)僅存在被動攻擊者的情況下,相互匹配的預(yù)言機(jī)Πu與Πv總能協(xié)商一致的會話密鑰SK,且SK在密鑰空間上隨機(jī)均勻分布.
證明. 假設(shè)A是被動攻擊者,則預(yù)言機(jī)Πu/Πv總能正確接收彼此輸出的消息.根據(jù)3.1節(jié)的結(jié)論,Πu和Πv能計算相同的會話密鑰SKMF=SKFM.且由于x和y是IDM和IDF隨機(jī)選擇的臨時秘密,那么(TM,KM)和(TF,KF)可看成是隨機(jī)生成,SKMF/SKFM根據(jù)(TM,KM)/(TF,KF)由密鑰導(dǎo)出函數(shù)生成,因此,SKMF/SKFM在密鑰空間上隨機(jī)均勻分布.
證畢.
定理2. 假設(shè)H1/H2/H3模擬隨機(jī)預(yù)言機(jī),如果CDH假設(shè)成立,那么本文協(xié)議滿足eCK安全.
證明. 根據(jù)本文1.3節(jié)定義的安全模型,我們將協(xié)議的安全性規(guī)約到求解CDH問題.假如存在多項式時間敵手A以優(yōu)勢ε(κ)贏得下面構(gòu)造的挑戰(zhàn)-測試游戲,那么可以構(gòu)造算法以不低于f(ε(κ))的概率求解CDH問題.
考慮到漫游認(rèn)證協(xié)議的特殊性,該類協(xié)議是非對稱的認(rèn)證密鑰協(xié)商協(xié)議,協(xié)議的發(fā)起者(MN)和響應(yīng)者(FS)角色是固定的,不能互換.因此,我們進(jìn)一步擴(kuò)展ID-BJM模型[20-21],考慮4種情況證明漫游認(rèn)證協(xié)議滿足eCK安全.注意:本文用i專指發(fā)起者,用j專指響應(yīng)者,令sid*是挑戰(zhàn)會話,
1)sid*不存在匹配會話,且擁有者為i.①事件E1,A不能詢問j的長期私鑰和sid*的臨時私鑰;②事件E2,A不能詢問i和j的長期私鑰.
2)sid*不存在匹配會話,且擁有者為j.①事件E3,A不能詢問i的長期私鑰和sid*的臨時私鑰;②事件E4,A不能詢問i和j的長期私鑰.
3)sid*存在匹配會話sid′,且擁有者為i.①事件E5,A不能詢問sid*和sid′的臨時私鑰;②事件E6,A不能詢問i和j的長期私鑰;③事件E7,A不能詢問j的長期私鑰和sid*的臨時私鑰.
4)sid*存在匹配會話sid′,且擁有者為j.①事件E8,A不能詢問sid*和sid′的臨時私鑰;②事件E9,A不能詢問i和j的長期私鑰;③事件E10,A不能詢問i的長期私鑰和sid*的臨時私鑰.
上述事件分為sid*是否存在匹配會話兩大類,其中,E1,E3,E7,E10模擬KCI安全性,E2,E4,E6,E9模擬ESR安全性,E5,E8模擬wPFS安全性.我們通過一系列的挑戰(zhàn)-測試游戲模擬上述事件.
游戲模擬過程中,我們引入一個判定預(yù)言機(jī)O(#,#)判定O(xP,yP)=O(W,P)是否成立.采用雙線性對[19-20]運算可構(gòu)造此預(yù)言機(jī),因此我們要求在協(xié)議模擬過程中,系統(tǒng)參數(shù)滿足雙線性映射條件.這一要求與協(xié)議本身無關(guān),且不影響安全性,因為在滿足雙線性映射條件的群G上CDH假設(shè)也是成立的.
假設(shè)至多創(chuàng)建了m個移動節(jié)點、n個認(rèn)證服務(wù)器以及l(fā)次會話,sid*是挑戰(zhàn)會話.
Game1. 給定CDH問題實例(aP,bP),求解abP.
初始化:挑戰(zhàn)者C生成系統(tǒng)公開參數(shù)params=〈κ,G,q,P,P0,H1,H2,H3〉,其中P0=aP,H1/H2/H3模擬為隨機(jī)預(yù)言機(jī).C隨機(jī)選擇∈{1,2,…,l}和j**∈{j1,j2,…,jn}.
詢問:C維護(hù)初始為空的列表LID,L2,L3,LS,按以下方式對A的詢問做出應(yīng)答.
H1(ID,#).如果ID在LID中存在,則輸出tID,否則C隨機(jī)選擇并輸出tID∈q.
1) 如果ID=j**,C隨機(jī)選擇rID∈q,計算RID=rIDP,設(shè)置fID=FS,將〈fID,ID,RID,rID,tID,⊥〉插入LID;
2) 否則C隨機(jī)選擇dID∈q,計算RID=dIDP-tIDP0,設(shè)置fID=FS,將〈fID,ID,RID,⊥,tID,dID〉插入LID.
其中,fID為用戶身份標(biāo)簽,fID=FS表示域認(rèn)證服務(wù)器,fID=MN表示移動節(jié)點,⊥表示空值.
H2(j,i,Rj,Ri,X,Y).如果〈j,i,Rj,Ri,X,Y,h〉在L2中存在,則輸出h;否則,C隨機(jī)選擇h∈q,輸出h,將〈j,i,Rj,Ri,X,Y,h〉插入L2.注意,為了簡化符號標(biāo)識,這里直接使用用戶標(biāo)識i代替了其證書Certi.
H3(j,i,X,Y,h,T,K).如果〈j,i,X,Y,h,T,K,SK〉在L3中存在,C直接輸出SK;否則存在3種情況:
1) 如果存在〈j,i,X,Y,h,⊥,K,SK〉,此時j=j**且LS中不存在發(fā)起者預(yù)言機(jī)(見Send1詢問),C調(diào)用判定預(yù)言機(jī)判定O(X,Y)=O(T,P)是否成立,若成立,則更新該記錄為〈j,i,X,Y,h,T,K,SK〉,并且用T更新LS中的相應(yīng)記錄,否則,隨機(jī)選擇SK←{0,1}k,將〈j,i,X,Y,h,T,K,SK〉插入L3,輸出SK;
2) 如果存在〈j,i,X,Y,h,T,⊥,SK〉,此時j=j**∧X=ηbP(見Send1詢問),更新記錄為〈j,i,X,Y,h,T,K,SK〉,用K更新LS中的相應(yīng)記錄,輸出SK;
3)C查詢L2,如果L2中存在相應(yīng)元組〈j,i,Rj,Ri,X,Y,h〉,那么隨機(jī)選擇并輸出SK←{0,1}k,將〈j,i,X,Y,h,T,K,SK〉插入L3;否則忽略該詢問;
4) 以〈j,i,X,Y,h,T,K〉為索引在LS中查詢,若存在相應(yīng)記錄,且已輸出SK,則將該會話標(biāo)記為Revealed.
Create(ID).如果ID是認(rèn)證服務(wù)器,C執(zhí)行H1詢問;如果ID是移動節(jié)點,C執(zhí)行H1詢問,創(chuàng)建家鄉(xiāng)服務(wù)器公私鑰〈IDH,RH,tH,dH〉,隨機(jī)選擇rID,tID∈q,計算dID=rID+tIDdH,RID=rIDP,生成公鑰證書CertID,將〈MN,ID,RID,rID,tID,dID,CertID〉插入LID.
Send0(Πu,I,i,j).A發(fā)起了1次新的會話,i為發(fā)起者,j為響應(yīng)者,C創(chuàng)建發(fā)起者預(yù)言機(jī)Πu(I表示會話的發(fā)起者角色).如果u=,且j=j**(否則終止游戲),C隨機(jī)選擇η∈q,令X=ηbP,將〈Πu,I,i,j,η,X,#〉插入LS;否則,C隨機(jī)選擇x∈q,計算X=xP,將〈Πu,I,i,j,x,X,#〉插入LS.輸出(X‖Certi).
Send1(Πv,R,j,i,(X‖Certi)).C驗證Certi,如果驗證錯誤,則忽略該詢問;否則創(chuàng)建響應(yīng)者預(yù)言機(jī)Πv(R表示會話的響應(yīng)者角色).C隨機(jī)選擇y,h∈q和SK←{0,1}k,計算T=yX,
1) 如果j≠j**,計算Y=yP和K=(y+hdj)(X+hdiP)),將〈Πv,R,j,i,X,y,Y,h,T,K,SK,Acc〉插入LS,將〈j,i,X,Y,h,T,K,SK〉插入L3;
2) 如果j=j**∧X=ηbP,計算Y=yP,將〈j,i,X,Y,h,T,⊥,SK〉插入L3,將〈Πv,R,j,i,X,y,Y,h,T,⊥,SK,Acc〉插入LS;
3) 如果j=j**且已創(chuàng)建Πu(u≠)與之匹配,計算Y=yP和K=(x+hdi)(Y+h(Rj+tjP0)),將〈Πv,R,j,i,X,y,Y,h,T,K,SK,Acc〉插入LS,〈j,i,X,Y,h,T,K,SK〉插入L3;
4) 如果j=j**且不存在Πu與之匹配,計算Y=yP-h(Rj+tjP0)和K=y(X+hdiP),將〈Πv,R,j,i,X,y,Y,h,⊥,K,SK,Acc〉插入LS,將〈j,i,X,Y,h,⊥,K,SK〉插入L3;
5) 將〈j,i,Rj,Ri,X,Y,h〉插入L2,輸出(Y‖j‖Rj).
Send2(Πu,I,i,j,X,(Y‖j‖Rj)).
1) 如果u=,C執(zhí)行H2詢問取得h,更新狀態(tài)為〈Πu,I,i,j,η,X,Y,h,⊥,⊥,⊥,Acc〉;
2) 如果u≠,LS中同時存在〈Πv,R,j,i,X,y,Y,h,T,K,SK,Acc〉和Πu,更新Πu為〈Πu,I,i,j,x,X,Y,h,T,K,SK,Acc〉,如果不存在Πu,插入新的〈Πu,I,i,j,⊥,X,Y,h,T,K,SK,Acc〉;否則LS中存在Πu但不存在匹配的Πv,C計算T=xY和K=(x+hdi)(Y+h(Rj+tjP0)),執(zhí)行H2/H3詢問取得h,SK,更新記錄為〈Πu,I,i,j,x,X,Y,h,T,K,SK,Acc〉;否則,Πu以及與其匹配的Πv均未創(chuàng)建,則忽略該詢問.
Reveal(sid).如果sid≠sid*在LS中已存在,且狀態(tài)為Acc,則輸出相應(yīng)的SK,并標(biāo)記sid為Revealed;否則輸出⊥.
Corrupt(ID).輸出ID的長期私鑰dID.注意,A不能詢問ID=j**的長期私鑰.
EpheKeyReveal(sid).輸出sid的臨時私鑰x(sid的擁有者為i)或y(sid的擁有者為j).注意,A不能詢問sid*的臨時私鑰.
Test(sid*).令sid*=〈Π,I,i*,j*,X*,Y*〉,如果j*≠j**或存在已Revealed的會話sid′與sid*相匹配,那么終止游戲.否則C輸出隨機(jī)的SK*←{0,1}k.
Test詢問結(jié)束以后,A可以繼續(xù)執(zhí)行Test以外的詢問,但不能破壞挑戰(zhàn)預(yù)言機(jī)的新鮮性.最后,A返回其猜測位b′∈{0,1}.
上述模擬過程包含2類事件E1和E7.
事件E1.LS中不存在sid′與sid*相匹配,C從L3中隨機(jī)選擇(T*,K*),計算abP=(K*-T*-h*r*jX*-h*d*i(Y*+h*(R*j+t*jP0)))/ηh*t*j,作為對CDH挑戰(zhàn)的回答.其中,X*=ηbP,j*=j**,(d*i,r*j,R*j,t*j)從LID中取得,以下相同.
事件E7.LS中存在sid′與sid*相匹配,C從L3中隨機(jī)選擇K*,計算abP=(K*-(y*+h*r*j)X*-h*d*i(Y*+h*(R*j+t*jP0)))/ηh*t*j,作為對CDH挑戰(zhàn)的回答.其中,y*從會話sid′中取得.
所有的預(yù)言機(jī)模擬器有效,其輸出消息在消息空間上均勻分布,A不能發(fā)現(xiàn)模擬過程與真實攻擊之間的差異.

引理1的論述與文獻(xiàn)[20]中Claim 2類似.假設(shè)H1/H2/H3模擬隨機(jī)預(yù)言機(jī),如果event1發(fā)生,那么,A只可能在2種情況下贏得Game1:
1)A隨機(jī)猜測SK*是否是sid*的真實會話密鑰;
2)A知道某個已Revealed的會話sid″與sid*具有相同的會話密鑰.
也就是說,C在沒有察覺的情況下響應(yīng)了針對sid″的H3詢問.根據(jù)H3詢問過程,C對具有相同輸入的H3詢問做出相同的應(yīng)答.如果sid″與sid*具有相同會話密鑰,則:要么sid″=sid*,要么sid″與sid*相匹配.根據(jù)游戲規(guī)則,sid*及其匹配會話不允許被Revealed.因此,情形2發(fā)生的概率至多為1/2κ(H3的輸出發(fā)生碰撞的概率).那么:Pr[Awins|event1]≤1/2,

如果游戲沒有終止,A選擇了第次會話作為挑戰(zhàn),且j=j**,記為event2.那么:Pr[event2]≥1/n·l.
令event3表示C找到了正確的(T*,K*)(E1)或K*(E7),那么C成功的概率為

其中,q3表示L3中記錄的數(shù)量.
Game2. Game2模擬事件E3,E10,其模擬過程與Game1相似,下面主要描述與Game1不同之處.
初始化:按照協(xié)議生成系統(tǒng)參數(shù)params,其中,P0=sP,s∈q,C選擇∈{1,2,…,l}和i**∈{i1,i2,…,im}.
詢問:H1(ID,#).如果ID在LID中存在,則輸出tID,否則C隨機(jī)選擇并輸出tID∈q,然后按照協(xié)議計算認(rèn)證服務(wù)器的私鑰,并維護(hù)LID.
H2(j,i,Rj,Ri,X,Y).與Game1相同.
H3(j,i,X,Y,h,T,K).與Game1基本相同.不同之處在于:當(dāng)i=i**,如果存在〈j,i,X,Y,h,T,⊥,SK〉,令Q=(K-T-hxdjP-h2dj(Ri+tiP0))/h,C判定O(Y,aP)=O(Q,P)是否成立,若成立,則更新記錄為〈j,i,X,Y,h,T,K,SK〉,用K更新LS中相應(yīng)記錄,否則隨機(jī)選擇SK←{0,1}k,將〈j,i,X,Y,h,T,K,SK〉插入L3.
Create(ID).與Game1基本相同.不同之處:如果ID=i**,C隨機(jī)選擇tID∈q,執(zhí)行H1詢問取得dH,計算RID=tIDdHP-aP,然后生成公鑰證書CertID,將〈MN,ID,RID,⊥,tID,⊥,CertID〉插入LID.
Send0(Πu,I,i,j).C隨機(jī)選擇x∈q,計算X=xP,將〈Πu,I,i,j,x,X,#〉插入LS,輸出(X‖Certi).
Send1(Πv,R,j,i,(X‖Certi)).C創(chuàng)建Πv,
1) 如果v=∧i=i**,C隨機(jī)選擇η∈q,令Y=ηbP,執(zhí)行H2詢問取得h,若LS中存在Πu,計算T=xY,將〈Πv,R,j,i,X,η,Y,h,T,⊥,⊥,Acc〉插入LS,若不存在Πu,則將〈Πv,R,j,i,X,η,Y,h,⊥,⊥,⊥,Acc〉插入LS;
2) 否則,隨機(jī)選擇y∈q,計算Y=yP,T=yX,執(zhí)行H2詢問取得h,計算K=(y+hdj)(X+h(Ri+tiP0))),隨機(jī)選擇SK←{0,1}k,將〈Πv,R,j,i,X,y,Y,h,T,K,SK,Acc〉插入LS,將〈j,i,X,Y,h,T,K,SK〉插入L3;
3) 輸出(Y‖j‖Rj).
Send2(Πu,I,i,j,X,(Y‖j‖Rj)).與Game1基本相同.不同之處:①不存在u=情形;②如果i=i**,LS中存在Πu但不存在Πv與之匹配,C執(zhí)行H2詢問取得h,計算T=xY,若L3中存在〈j,i,X,Y,h,T,K,SK〉,令Q=(K-T-hxdjP-h2dj(Ri+tiP0))/h,判定O(Y,aP)=O(Q,P)成立則更新記錄為〈Πu,I,i,j,x,X,Y,h,T,K,SK,Acc〉,否則隨機(jī)選擇SK←{0,1}k,更新記錄〈Πu,I,i,j,x,X,Y,h,T,⊥,SK,Acc〉,將〈j,i,X,Y,h,T,⊥,SK〉插入L3.
Reveal(sid).與Game1相同.
Corrupt(ID).輸出ID的長期私鑰dID.注意,A不能詢問i=i**的長期私鑰.
EpheKeyReveal(sid).與Game1相同.
Test(sid*).與Game1基本相同.不同的是sid*的擁有者為響應(yīng)者預(yù)言機(jī),且i*=i**.
最后,A返回其猜測位b′∈{0,1}.
事件E3.C從L3中隨機(jī)選擇(T*,K*),計算abP=(K*-T*-h*d*jX*-h*2d*jaP)/ηh*,作為對CDH挑戰(zhàn)的回答.
事件E10.C從L3中隨機(jī)選擇K*,計算abP=(K*-(x*+h*d*j)Y*-h*2d*jaP)/ηh*,作為對CDH挑戰(zhàn)的回答.
與Game1類似,C成功的概率為
Pr[Cwins]≥(1/m×l×q3)ε(κ).
Game3. Game3模擬事件E2,E6,其模擬過程與Game1和Game2相似.
初始化:與Game2相同,C選擇∈{1,2,…,l},i**∈{i1,i2,…,im},以及j**∈{j1,j2,…,jn}.
詢問:H1(ID,#).與Game2基本相同.不同之處:如果ID=j**,則計算RID=tIDsP-bP.
H2(j,i,Rj,Ri,X,Y).與Game1相同.
H3(j,i,X,Y,h,T,K).與Game1基本相同.不同之處:如果L3中存在〈j,i,X,Y,h,T,⊥,SK〉,
1) 當(dāng)i=i**,令Q=K-T-hxbP,判定O(Y+hbP,haP)=O(Q,P)是否成立;當(dāng)j=j**,令Q=K-T-hyaP,判定O(X+haP,hbP)=O(Q,P)是否成立;
2) 如果上述判定等式成立,則更新記錄為〈j,i,X,Y,h,T,K,SK〉,用K更新LS中相應(yīng)記錄;否則隨機(jī)選擇并輸出SK←{0,1}k,在L3中插入新的〈j,i,X,Y,h,T,K,SK〉.
Create(ID).與Game2相同.
Send0(Πu,I,i,j).與Game2相同.
Send1(Πv,R,j,i,(X‖Certi)).C創(chuàng)建Πv,隨機(jī)選擇y∈q和SK←{0,1}k,計算Y=yP,T=yX,執(zhí)行H2詢問取得h,輸出(Y‖j‖Rj).
1) 如果i=i**∧j=j**,將〈Πv,R,j,i,X,y,Y,h,T,⊥,SK,Acc〉插入LS,將〈j,i,X,Y,h,T,⊥,SK〉插入L3;(這里對事件E2作特殊處理)如果挑戰(zhàn)會話Π已更新狀態(tài)為〈Π,I,i**,j**,x*,X*,Y*,h*,T*,⊥,⊥,Acc〉,其中,Y*=y*P是Send2詢問的輸入消息,由敵手產(chǎn)生,對C來說,y*未知,且如果LS中存在〈Πu,I,i**,j**,x,X,#〉,那么C隨機(jī)選擇η∈q,計算Y=ηY*,T=xηY*,將〈Πv,R,j,i,X,η,Y,h,T,⊥,SK,Acc〉插入LS,〈j,i,X,Y,h,T,⊥,SK〉插入L3;
2) 如果i≠i**∧j=j**,存在匹配的Πu,計算K=(x+hdi)(Y+hbP),將〈Πv,R,j,i,X,y,Y,h,T,K,SK,Acc〉插入LS,將〈j,i,X,Y,h,T,K,SK〉插入L3;如果不存在Πu,將〈Πv,R,j,i,X,y,Y,h,T,⊥,SK,Acc〉插入LS,將〈j,i,X,Y,h,T,⊥,SK〉插入L3;
3) 如果j≠j**,計算K=(y+hdj)(Y+hPi),其中,Pi表示i的公鑰,將〈Πv,R,j,i,X,y,Y,h,T,K,SK,Acc〉插入LS,將〈j,i,X,Y,h,T,K,SK〉插入L3.
Send2(Πu,I,i,j,X,(Y‖j‖Rj)).與Game1基本相同,不同之處在于,C計算T=xY,執(zhí)行H2詢問取得h:
1) 如果u=,且i=i**∧j=j**,更新狀態(tài)為〈Πu,I,i,j,x,X,Y,h,T,⊥,⊥,Acc〉;
2) 如果i=i**(但u≠)且LS中不存在匹配的Πv,如果L3中存在〈j,i,X,Y,h,T,K,SK〉,令Q=K-T-hxbP,若判定O(Y+hbP,haP)=O(Q,P)成立,則更新記錄為〈Πu,I,i,j,x,X,Y,h,T,K,SK,Acc〉,否則隨機(jī)選擇SK←{0,1}k,將〈Πu,I,i,j,x,X,Y,h,T,⊥,SK,Acc〉插入LS,將〈j,i,X,Y,h,T,⊥,SK〉插入L3.
Reveal(sid).與Game1相同.
Corrupt(ID).輸出ID的長期私鑰dID.注意,A不能詢問i=i**和j=j**的長期私鑰.
EpheKeyReveal(sid).輸出sid的臨時私鑰.
Test(sid*).與Game1基本相同.不同的是:i*=i**∧j*=j**;且對于事件E2,C查找〈j**,i**,X′,Y′,h′,T′,K′,SK′〉,其中Y′=ηY*(見Send1詢問),如果該記錄存在,且K′≠⊥,則繼續(xù),否則終止游戲.
最后,A返回其猜測位b′∈{0,1}.
事件E2.C從L3中隨機(jī)選擇K*,并取得K′,令:
y*aP=(K′-ηx′Y*-h′x′bP-h′2abP)/ηh′,
K*=x*Y*+h*x*bP+h*y*aP+h*2abP.
2個等式合并求解:
abP=

作為對CDH挑戰(zhàn)的回答.
事件E6.C從L3中隨機(jī)選擇K*,計算abP=(K*-T*-h*x*bP-h*y*aP)/h*2,作為對CDH挑戰(zhàn)的回答.
與Game1類似,C成功的概率為
Pr[Cwins]≥(1/m×n×l×q3)ε(κ).
說明.上述模擬過程中,對事件E2的特殊處理是因為Y*=y*P由敵手產(chǎn)生,C無法同時求解2個CDH問題實例(y*P,aP,y*aP)和(aP,bP,abP).通過上述方式,讓敵手提供其中一個解y*aP.
Game4. Game4模擬事件E4,E9,其模擬過程與Game3基本一致,不同之處是挑戰(zhàn)會話的擁有者為j**,這里不再詳述.對于事件E4,采用與E2相同的方式處理.
Game5,Game6分別模擬事件E5,E8,其模擬過程與Game1~Game4類似,Game5,Game6的區(qū)別在于挑戰(zhàn)會話的擁有者不同.
Game5. 初始化:與Game2相同,C選擇,γ∈{1,2,…,l},且≠γ.
詢問:H1(ID,#).與Game2相同.
H2(j,i,Rj,Ri,X,Y).與Game1相同.
H3(j,i,X,Y,h,T,K).如果〈j,i,X,Y,h,T,K,SK〉在L3中存在,C直接輸出SK;否則,隨機(jī)選擇SK←{0,1}k,將〈j,i,X,Y,h,T,K,SK〉插入L3,輸出SK.
Create(ID).與Game2相同.
Send0(Πu,I,i,j).與Game1基本一致.不同之處:挑戰(zhàn)會話不要求j=j**.
Send1(Πv,R,j,i,(X‖Certi)).C創(chuàng)建Πv,
1) 如果v=γ,且X=ηbP(否則終止游戲),C隨機(jī)選擇μ∈q,令Y=μaP,執(zhí)行H2詢問取得h,將〈Πv,R,j,i,X,μ,Y,h,⊥,⊥,⊥,Acc〉插入LS,同時更新Π為〈Π,I,i,j,η,X,Y,h,⊥,⊥,⊥,Acc〉;
2) 否則,隨機(jī)選擇y∈q和SK←{0,1}k,計算Y=yP,執(zhí)行H2詢問取得h,計算K=(y+hdj)(X+hdiP),T=yX,將〈Πv,R,j,i,X,y,Y,h,T,K,SK,Acc〉插入LS,將〈j,i,X,Y,h,T,K,SK〉插入L3;
3) 輸出(Y‖j‖Rj).
Send2(Πu,I,i,j,X,(Y‖j‖Rj)).與Game1相同.
Reveal(sid).與Game1相同.
Corrupt(ID).輸出ID的長期私鑰dID.
EpheKeyReveal(sid).輸出sid的臨時私鑰.A不能詢問sid*及其匹配會話的臨時私鑰.
Test(sid*).與Game1基本相同,但不要求j*=j**.
最后,A返回其猜測位b′∈{0,1}.
事件E5.C從L3中隨機(jī)選擇(T*,K*),計算abP=(K*-T*-h*dj*ηbP-h*di*μaP)/μη回答CDH挑戰(zhàn).
與Game1類似,C成功的概率為
Pr[Cwins]≥(1/l2×q3)ε(κ).
Game6. Game6與Game5基本一致,這里不再描述.
證畢.

表1和表2對最近提出的5種兩方漫游認(rèn)證協(xié)議進(jìn)行了對比分析.

Table 1 Comparison of Security
Notes: “√” means the protocol achieves the security property; “×” means the protocol doesn’t achieve the security property.

Table 2 Comparison of Protocols’ Performance
Notes:“M” represents a scalar multiplication inG. “E” represents an exponentiation inGT. “P” represents a pairing computation. “PKE” represents a public key encryption, and “PKD” represents a public key decryption. “SS” represents a digital signature, and “SV” represents verifying a signature. “para”, “z”, “g” and “id” represent a storage section occupied by system public parameters, an element inq, an element inG, and an identity, respectively. “ECC”, “PBC”, “PKC” and “DS” represent elliptic curve cryptography, pairing-based cryptography, public key cryptosystem, and digital signature scheme, respectively.

表2對比了相關(guān)協(xié)議的計算、通信和存儲開銷.以80 b安全等級為基準(zhǔn),參考文獻(xiàn)[28]的實驗數(shù)據(jù),采用基于超奇異橢圓曲線上的有限域E(F2m),q,G,GT上的元素分別為160 b,758 b,1 516 b.假定用戶ID為20 B,時間數(shù)據(jù)為6 B.
由于各協(xié)議采用不同的系統(tǒng)參數(shù),其中,Jo等人[9]協(xié)議、Zhou等人協(xié)議[11-13]和Tsai等人[10]協(xié)議采用雙線性映射群,Zhou等人[11-13]協(xié)議使用了公鑰加密和數(shù)字簽名方案(未具體說明所采用的相關(guān)算法),Jo等人協(xié)議使用了ECDSA方案,因此,很難做出完全一致的對比.總之,本文協(xié)議需要實現(xiàn)的算法庫最少,計算、通信和存儲開銷均為最低.
計算方面,在MN端本文協(xié)議和Tsai協(xié)議相近,周彥偉等人提出的方案由于使用多次公鑰加密和數(shù)字簽名方案,計算量較高;在FS端本文協(xié)議開銷最低,Tsai協(xié)議略高(根據(jù)基于MIRACL庫的算法實現(xiàn)[28],1P≈4M).
通信方面,列舉了MN的通信開銷(FS則相反),所有協(xié)議實際都是發(fā)送2次/接收1次(帶密鑰確認(rèn),周彥偉等人協(xié)議忽略了密鑰確認(rèn)的步驟,為了保持一致性,采用類似本文的密鑰確認(rèn)方法,在發(fā)送和接收部分各增加160 b的密鑰確認(rèn)消息).總的通信開銷對于智能手機(jī)差別不大,但是對于傳感器節(jié)點還是有較大差別.以文獻(xiàn)[17]的實驗數(shù)據(jù)為基礎(chǔ),MICA2節(jié)點發(fā)送和接收1 B數(shù)據(jù)消耗能量分別約為52.2 μJ和19.3 μJ.總的通信能量消耗分別約為:23.6 mJ(本文協(xié)議)、23.7 mJ(Tsai協(xié)議)、28.9 mJ(Zhou協(xié)議)、29.5 mJ(Zhou協(xié)議)、30.5 mJ(Zhou協(xié)議)、52.6 mJ(Jo協(xié)議).
存儲方面,本文協(xié)議需要的存儲空間更少.周彥偉等人協(xié)議的漫游認(rèn)證階段第1個步驟,MN使用了FS的公鑰加密消息,因此,需要預(yù)存FS的公鑰(假設(shè)為n個);Tsai協(xié)議和Jo協(xié)議每次漫游采用不同的臨時身份和認(rèn)證密鑰(為了避免追蹤),需要預(yù)存j個認(rèn)證密鑰以及臨時身份信息(j為最大的認(rèn)證次數(shù)),此外,該協(xié)議在第1步的計算中需要輸入FS的ID,因此需要存儲n個ID值;本文協(xié)議在步驟1的計算中不涉及FS的信息,F(xiàn)S的ID和公鑰參數(shù)在步驟2中接收,無需預(yù)先存儲,因此,本文協(xié)議僅需要存儲公開參數(shù)、證書及私鑰.根據(jù)3.3節(jié)的分析,為了實現(xiàn)不可追蹤性,本文協(xié)議需要的存儲空間為1para+j(1g+4z)+1z.
本文提出一種新的在移動漫游接入服務(wù)中的兩方認(rèn)證密鑰協(xié)商方案.本文方案的特點是:所采用的公鑰算法完全基于橢圓曲線上的點乘運算,對移動節(jié)點在算法支持方面的要求更低,計算、通信和存儲開銷也更低;采用了隱式認(rèn)證技術(shù),在實現(xiàn)匿名性的同時安全性更強(qiáng),能抵抗臨時秘密泄露的攻擊;通過擴(kuò)展,新方案能實現(xiàn)移動節(jié)點的不可追蹤特性.此外,本文擴(kuò)展了ID-BJM模型,使之能模擬兩方漫游認(rèn)證與密鑰協(xié)商方案,并且使用擴(kuò)展的ID-BJM模型證明了新方案達(dá)到eCK安全.
本文的漫游認(rèn)證模型是建立在單一認(rèn)證權(quán)威框架下的,具有全局統(tǒng)一的公開參數(shù).對于多認(rèn)證權(quán)威或者無全局認(rèn)證權(quán)威(服務(wù)器對等模式)結(jié)構(gòu)模型下的漫游認(rèn)證方案還需要進(jìn)一步研究.在該類網(wǎng)絡(luò)結(jié)構(gòu)中,不同的認(rèn)證域擁有不同的系統(tǒng)參數(shù),對密碼算法的要求也不同,因此,對漫游認(rèn)證方案的設(shè)計提出更高的要求.
[1]Zou Yulong, Zhu Jia, Wang Xianbin, et al. A survey on wireless security: Technical challenges, recent advances, and future trends[J]. Proceedings of the IEEE, 2016, 104(9): 1727-1765
[2] Jiang Yixin, Lin Chuang, Shen Xuemin, et al. Mutual authentication and key exchange protocols for roaming services in wireless mobile networks[J]. IEEE Trans on Wireless Communications, 2006, 5(9): 2569-2577
[3] Cao Chunjie, Yang Chao, Ma Jianfeng, et al. An authentication protocol for station roaming in WLAN mesh[J]. Journal of Computer Research and Development, 2009, 46(7): 1102-1109 (in Chinese)(曹春杰, 楊超, 馬建峰, 等. WLAN Mesh漫游接入認(rèn)證協(xié)議[J]. 計算機(jī)研究與發(fā)展, 2009, 46(7): 1102-1109)
[4] Wang Liangmin, Jiang Shunrong, Guo Yuanbo. Composable secure authentication protocol for mobile sensors roaming in the Internet of things[J]. Scientia Sinica: Informationis, 2012, 42(7): 815-830 (in Chinese)(王良民, 姜順榮, 郭淵博. 物聯(lián)網(wǎng)中移動Sensor節(jié)點漫游的組合安全認(rèn)證協(xié)議[J].中國科學(xué): 信息科學(xué), 2012, 42(7): 815-830)
[5] Mun H, Han K, Lee Y S, et al. Enhanced secure anonymous authentication scheme for roaming service in global mobility networks[J]. Mathematical and Computer Modelling, 2012, 55(1/2): 214-222
[6] Shin S, Yeh H, Kim K. An efficient secure authentication scheme with user anonymity for roaming user in ubiquitous networks[J]. Peer-to-Peer Networking and Applications, 2015, 8(4): 674-683
[7] Yang Guomin, Huang Qiong, Wong D S, et al. Universal authentication protocols for anonymous wireless communi-cations[J]. IEEE Trans on Wireless Communications, 2010, 9(1): 168-174
[8] He Daojing, Chen Chun, Chan S, et al. Secure and efficient handover authentication based on bilinear pairing functions[J]. IEEE Trans on Wireless Communications, 2012, 11(1): 48-53
[9] Jo H J, Paik J H, Lee D H. Efficient privacy-preserving authentication in wireless mobile networks[J]. IEEE Trans on Mobile Computing, 2014, 13(7): 1469-1481
[10] Tsai J L, Lo N W. Provably secure anonymous authenti-cation with batch verification for mobile roaming services[J]. Ad Hoc Networks, 2016, 44: 19-31
[11] Zhou Yanwei, Yang Bo. Provable secure authentication protocol with direct anonymity for mobile nodes roaming service in Internet of things[J]. Journal of Software, 2015, 26(9): 2436-2450 (in Chinese)(周彥偉, 楊波. 物聯(lián)網(wǎng)移動節(jié)點直接匿名漫游認(rèn)證協(xié)議[J]. 軟件學(xué)報, 2015, 26(9): 2436-2450)
[12] Zhou Yanwei, Yang Bo, Zhang Wenzheng. Secure and efficient roaming authentication protocol with controllable anonymity for heterogeneous wireless network[J]. Journal of Software, 2016, 27(2): 451-465 (in Chinese)(周彥偉, 楊波, 張文政. 安全高效的異構(gòu)無線網(wǎng)絡(luò)可控匿名漫游認(rèn)證協(xié)議[J]. 軟件學(xué)報, 2016, 27(2): 451-465)
[13] Zhou Yanwei, Yang Bo, Zhang Wenzheng. Controllable and anonymous roaming protocol for heterogeneous wireless network[J]. Acta Electronica Sinica, 2016, 44(5): 1117-1123 (in Chinese)(周彥偉, 楊波, 張文政. 異構(gòu)無線網(wǎng)絡(luò)可控匿名漫游認(rèn)證協(xié)議[J]. 電子學(xué)報, 2016, 44(5): 1117-1123)
[14] Hu Zhihua, Liu Xiaojun. A roaming authentication protocol based on non-linear pair in IoT[J]. Journal of Sichuan University: Engineering Science Edition, 2016, 48(1): 85-90 (in Chinese)(胡志華, 劉小俊. 物聯(lián)網(wǎng)中基于非線性對的漫游認(rèn)證協(xié)議研究[J]. 四川大學(xué)學(xué)報: 工程科學(xué)版, 2016, 48(1): 85-90)
[15] Barreto P S L M, Libert B, McCullagh N, et al. Efficient and provably-secure identity-based signatures and signcryp-tion from bilinear maps[G] //LNCS 3788: Proc of ASIACRYPT 2005. Berlin: Springer, 2005: 515-532
[16] Canetti R, Krawczyk H. Analysis of key-exchange protocols and their use for building secure channels[G] //LNCS 2045: Advances in Cryptology — EUROCRYPT 2001. Berlin: Springer, 2001: 453-474
[17] Cao Xuefei, Kou Weidong, Dang Lanjun, et al. IMBAS: Identity-based multi-user broadcast authentication in wireless sensor networks[J]. Computer Communications, 2008, 31(4): 659-667
[18] Nehéz M, Olejár D, Demetrian M. On emergence of dominating cliques in random graphs[EB/OL]. 2008 [2016-09-01]. https://arxiv.org/abs/0805.2105
[19] Boneh D, Franklin M. Identity-based encryption from the weil pairing[G] //LNCS 2139: Proc of CRYPTO 2001. Berlin: Springer, 2001: 213-229
[20] Chen Liqun, Cheng Zhaohui, Smart N. Identity-based key agreement protocols from pairings[J]. International Journal of Information Security, 2007, 6(4): 213-241
[21] Chen Ming. Escrowable identity-based authenticated key agreement in the standard model[J]. Acta Electronica Sinica, 2015, 43(10): 1954-1962 (in Chinese)(陳明. 標(biāo)準(zhǔn)模型下可托管的基于身份認(rèn)證密鑰協(xié)商[J]. 電子學(xué)報, 2015, 43(10): 1954-1962)
[22] LaMacchia B, Lauter K, Mityagin A. Stronger security of authenticated key exchange[G] //LNCS 4784: Proc of the Int Conf on Provable Security (ProvSec 2007). Berlin: Springer, 2007: 1-16
[23]Krawczyk H. HMQV: A high-performance secure Diffie-Hellman protocol[G] //LNCS 3621: Advances in Cryptology — CRYPTO 2005. Berlin: Springer, 2005: 546-566
[24] Lynn B, Shacham H, Steiner M, et al. PBC Library[CP/OL]. [2016-12-20]. http://crypto.stanford.edu/pbc/
[25] Fiore D, Gennaro R. Making the Diffie-Hellman protocol identity-based[G] //LNCS 5985: Proc of Cryptographers’ Track at the RSA Conf. Berlin: Springer, 2010: 165-178
[26] Cheng Qingfeng, Ma Chuangui. Ephemeral key compromise attack on the IB-KA protocol[OL]. [2016-12-20]. http://eprint.iacr.org/2009/568
[27] Schnoor C P. Efficient signature generation for smart card[J]. Journal of Cryptology, 1991, 4(3): 161-174
[28] He Daojing, Chan S, Guizani M. Handover authentication for mobile networks: Security and efficiency aspects[J]. IEEE Network, 2015, 29(3): 96-103
StronglySecureAnonymousImplicitAuthenticationandKeyAgreementforRoamingService
Chen Ming
(CollegeofMathematicsandComputerScience,YichunUniversity,Yichun,Jiangxi336000) (StateKeyLaboratoryofTrustedComputingandInformationAssurance(InstituteofSoftware,ChineseAcademyofSciences),Beijing100190)
The existing two-party authentication and key agreement protocols for roaming service are provably secure in the CK model, and do not resist the attack of ephemeral secrets reveal. Based on elliptic curve cryptography and identity-based cryptosystem, we propose an anonymous two-party authentication and key agreement scheme for roaming service. The new scheme, based on the Schnorr signature, achieves mutual implicit authentication by a well designed “challenge-response” signature which is similar to the one in the HMQV protocol. We extend the ID-BJM model, a widely used security model for analyzing identity-based authenticated key agreement protocols, to simulate two-party authentication and key agreement schemes for roaming service. Furthermore, we demonstrate that the new scheme is eCK secure under the extended ID-BJM model, and that the security of the new scheme can be reduced to solve (by a polynomial-time adversary) computational Diffie- Hellman problems on an elliptic curve over finite fields. Comparative analysis shows that the new scheme has stronger security, achieves resistant to ephemeral secrets reveal, needs fewer cryptography libraries, and has lower computing, communication and storage overheads. The new scheme can be used to provide secure roaming authentication for resource constrained mobile terminals in global mobility networks, Internet of things or ubiquitous networks.
authenticated key agreement; mobile roaming service; identity-based cryptosystem; implicit authentication; computational Diffie-Hellman problem; eCK model
2016-06-28;
2017-07-04
國家自然科學(xué)基金項目(61662083);江西省自然科學(xué)基金項目(2014ZBAB207022);江西省教育廳科學(xué)技術(shù)研究項目(GJJ151040,GJJ151037)
This work was supported by the National Natural Science Foundation of China (61662083), the Natural Science Foundation of Jiangxi Province of China (2014ZBAB207022), and the Science & Technology Research Project of Jiangxi Provincial Education Department (GJJ151040, GJJ151037).
TP309

ChenMing, born in 1978. PhD. Member of the CCF. Lecturer of Yichun University. His main research interests include information security, security protocol and formal methods.