楊曉燕 侯孟波 魏曉超
(山東大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 濟(jì)南 250101) (xyyang@sdu.edu.cn)
?
基于驗(yàn)證元的三方口令認(rèn)證密鑰交換協(xié)議
楊曉燕 侯孟波 魏曉超
(山東大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 濟(jì)南 250101) (xyyang@sdu.edu.cn)
三方口令認(rèn)證密鑰交換協(xié)議使2個(gè)分別與可信服務(wù)器共享不同口令的用戶建立起秘密的會(huì)話密鑰.這類協(xié)議的優(yōu)點(diǎn)是用戶只需要記憶一個(gè)口令就可以與其他注冊(cè)用戶進(jìn)行通信,因而三方口令認(rèn)證密鑰交換協(xié)議更適用于大規(guī)模的端到端通信.現(xiàn)有的大多數(shù)三方口令認(rèn)證密鑰交換協(xié)議均基于隨機(jī)諭言模型來實(shí)現(xiàn),只有少數(shù)協(xié)議不依賴服務(wù)器擁有公鑰,而且在標(biāo)準(zhǔn)模型下是可證明安全的.另外多數(shù)協(xié)議中的口令以明文的形式存儲(chǔ)在服務(wù)器上,服務(wù)器信息泄露將對(duì)用戶和服務(wù)器的數(shù)據(jù)安全帶來極大的危害.在標(biāo)準(zhǔn)模型下,使用平滑投影Hash函數(shù)設(shè)計(jì)了一個(gè)基于驗(yàn)證元的三方口令認(rèn)證密鑰交換協(xié)議,并證明了協(xié)議的安全性.此協(xié)議滿足抵抗服務(wù)器泄露、不可檢測(cè)的在線字典攻擊和密鑰私密性等安全屬性.
認(rèn)證密鑰交換;驗(yàn)證元;平滑投影Hash函數(shù);三方口令認(rèn)證密鑰交換;標(biāo)準(zhǔn)模型
認(rèn)證密鑰交換(authenticated key exchange, AKE)是一類重要的密碼學(xué)原語,它使在不安全的開放網(wǎng)絡(luò)上通信的2個(gè)參與方建立秘密的會(huì)話密鑰,為雙方后續(xù)的通信建立安全信道.在認(rèn)證密鑰交換協(xié)議中,為防止敵手冒充通信的一方與另一方進(jìn)行交互,參與方之間需要預(yù)先共享秘密信息.AKE根據(jù)認(rèn)證手段的不同分為基于證書的AKE、基于身份的AKE[1]、基于口令A(yù)KE和基于多因子的AKE等.使用口令作為認(rèn)證手段既不需要部署公鑰基礎(chǔ)設(shè)施,也不需要智能卡等硬件設(shè)備存儲(chǔ)高強(qiáng)度的對(duì)稱密鑰,而且口令具有容易記憶、使用便捷的特點(diǎn),因此口令是目前網(wǎng)絡(luò)應(yīng)用中最常用的認(rèn)證方式.基于口令的認(rèn)證密鑰交換(password-based authenticated key exchange, PAKE)[2]最早由Bellovin和Merritt于1992年提出,PAKE協(xié)議使共享低熵口令的2個(gè)通信方生成一個(gè)密碼學(xué)強(qiáng)度的會(huì)話密鑰.兩方PAKE協(xié)議的研究目前得到了廣泛的研究[3-8].
兩方PAKE協(xié)議適用于“用戶-服務(wù)器”的場(chǎng)景.如果在大規(guī)模端到端的應(yīng)用中使用兩方PAKE協(xié)議,則每一個(gè)用戶都需要與另一個(gè)通信方共享一個(gè)單獨(dú)的口令,用戶需要記憶的口令將與通信方的數(shù)量成線性關(guān)系.大量的口令將超出用戶的記憶能力,密鑰管理將變得非常困難.為實(shí)現(xiàn)大規(guī)模端到端通信,Steiner等人提出了三方PAKE協(xié)議[9],即2個(gè)用戶分別與可信的服務(wù)器共享口令,雙方在服務(wù)器的幫助下建立共同的會(huì)話密鑰.
現(xiàn)有的大多數(shù)三方PAKE協(xié)議[10-13]均基于隨機(jī)諭言模型來實(shí)現(xiàn),只有少數(shù)協(xié)議[14]僅以口令作為認(rèn)證方式,而且在標(biāo)準(zhǔn)模型下是可證明安全的.另外在大多數(shù)三方PAKE協(xié)議中,口令以明文的形式存儲(chǔ)在服務(wù)器上,一旦服務(wù)器信息泄露,敵手獲得用戶口令后偽裝成合法用戶與服務(wù)器通信,對(duì)用戶和服務(wù)器的數(shù)據(jù)安全帶來極大的危害.
為減少服務(wù)器泄露帶來的危害,Bellovin和Merritt[15]提出了基于驗(yàn)證元的口令認(rèn)證密鑰交換(verifier-based password authenticated key exchange, VPAKE)協(xié)議.在這類協(xié)議中,服務(wù)器不存儲(chǔ)明文口令,而只存儲(chǔ)與口令相關(guān)的驗(yàn)證元,用來驗(yàn)證擁有正確口令的用戶身份.如果服務(wù)器信息泄露,敵手獲得了驗(yàn)證元,需要通過離線字典攻擊才能恢復(fù)用戶的口令.
三方PAKE協(xié)議不可避免地要受到敵手對(duì)口令的字典攻擊.字典攻擊分為在線字典攻擊、離線字典攻擊和三方PAKE協(xié)議特有的不可檢測(cè)的在線字典攻擊[11].不可檢測(cè)的在線字典攻擊是指敵手試圖在線驗(yàn)證猜測(cè)的口令,而失敗的嘗試不會(huì)被服務(wù)器檢測(cè)到. 只有提供顯式的服務(wù)器對(duì)用戶的認(rèn)證,協(xié)議才能抵抗不可抗拒的在線字典攻擊.安全的三方PAKE協(xié)議必須抵抗離線字典攻擊和不可檢測(cè)的在線字典攻擊,而在線字典攻擊是敵手能發(fā)起的最好的攻擊方式.
三方PAKE協(xié)議還應(yīng)滿足針對(duì)服務(wù)器的密鑰私密性[10],即2個(gè)用戶實(shí)例共享的會(huì)話密鑰只能由這2個(gè)實(shí)例獲得,任何第三方包括可信的服務(wù)器都不能得知這個(gè)密鑰.這意味著即使2個(gè)用戶的會(huì)話密鑰的建立需要服務(wù)器的幫助,但是會(huì)話密鑰對(duì)服務(wù)器仍然保持私密性.
1.1 相關(guān)工作
基于口令的認(rèn)證密鑰交換[2]最早由Bellovin和Merritt于1992年提出,第1個(gè)PAKE的安全模型由Bellare等人[3]提出.Abdalla等人[10]在此基礎(chǔ)上提出了三方PAKE協(xié)議的安全模型,并基于兩方PAKE協(xié)議構(gòu)造了通用的三方PAKE協(xié)議.
Wang等人[11]指出Abdalla等人[10]提出的三方PAKE協(xié)議不能抵抗不可檢測(cè)的在線字典攻擊,并對(duì)此協(xié)議進(jìn)行了改進(jìn).吳樹華等人[12]基于Gap Diffie-Hellman困難問題假設(shè)提出了前向安全的三方PAKE協(xié)議,該協(xié)議在隨機(jī)諭言模型下是可證安全的.Lee等人[13]提出在隨機(jī)諭言模型下可證安全高效的2個(gè)三方PAKE協(xié)議,分別提供了隱式服務(wù)器認(rèn)證和顯示服務(wù)器認(rèn)證.
Kwon等人[16]提出了第1個(gè)在標(biāo)準(zhǔn)模型下可證安全的三方PAKE協(xié)議,并且基于Hash Diffie-Hellman 假設(shè)證明了協(xié)議的安全性.Yang等人[17]基于ElGamal加密方案和偽隨機(jī)函數(shù)構(gòu)造了在標(biāo)準(zhǔn)模型下可證安全的三方PAKE協(xié)議.文獻(xiàn)[16-17]的協(xié)議都假設(shè)服務(wù)器擁有公鑰,公鑰證書的分發(fā)、存儲(chǔ)和驗(yàn)證查詢等操作增加了服務(wù)器的維護(hù)開銷,同時(shí)用戶需要存儲(chǔ)服務(wù)器的公鑰證書,失去了僅使用口令作為認(rèn)證方式的便捷性.Nam等人[14]提出了僅以口令作為認(rèn)證方式的在標(biāo)準(zhǔn)模型下可證安全的三方PAKE協(xié)議.
Bellovin和Merritt提出基于增強(qiáng)的加密密鑰交換協(xié)議[15],服務(wù)器只存儲(chǔ)單向加密的口令文件.Benhamouda等人[18]定義了口令Hash(password hashing)的概念并提出了2種具有代數(shù)結(jié)構(gòu)的口令Hash方案,并構(gòu)造了單輪和2輪的基于驗(yàn)證元的口令認(rèn)證密鑰交換協(xié)議.Kiefer等人[19]首次提出了零知識(shí)口令政策檢查協(xié)議,即用戶自己選擇口令并在服務(wù)器上遠(yuǎn)程注冊(cè)驗(yàn)證信息,不需要實(shí)際發(fā)送口令,并通過零知識(shí)證明來確保用戶選取的口令符合服務(wù)器的口令政策.文獻(xiàn)[19]提出了一種新的用于ASCII口令的口令Hash方案.
1.2 本文貢獻(xiàn)
針對(duì)已有三方口令認(rèn)證密鑰交換協(xié)議存在的不足,本文利用Cramer和Shoup[20]提出的平滑投影Hash函數(shù)(smooth projective Hash functions, SPHFs)構(gòu)造了基于驗(yàn)證元的三方口令認(rèn)證密鑰交換協(xié)議(verifier-based three-party password authenticated key exchange protocol, 3VPAKE).該協(xié)議在標(biāo)準(zhǔn)模型下是可證安全的,而且協(xié)議僅以口令作為認(rèn)證方式,不依賴服務(wù)器擁有公鑰.在3VPAKE協(xié)議中,服務(wù)器只存儲(chǔ)用戶口令的驗(yàn)證元,可以有效地抵抗服務(wù)器泄露.驗(yàn)證元由文獻(xiàn)[19]提出的口令Hash方案生成.本文是第1個(gè)在標(biāo)準(zhǔn)模型下可證安全的基于驗(yàn)證元的三方口令認(rèn)證密鑰交換協(xié)議.
3VPAKE協(xié)議的設(shè)計(jì)基于目前最高效的單輪兩方PAKE協(xié)議[8],即用戶A和用戶B分別發(fā)送投影密鑰和密文給對(duì)方,并使用平滑投影Hash函數(shù)生成相同的會(huì)話密鑰.在3VPAKE協(xié)議中,用戶A和用戶B不共享口令,所以服務(wù)器需要對(duì)用戶A的口令生成的密文和用戶B的口令生成的密文進(jìn)行重新加密.用戶A加密自己的口令并將生成的密文發(fā)送給服務(wù)器,服務(wù)器將密文中用戶A的口令替換為用戶B的口令,隨后將新生成的密文發(fā)回A.用戶B進(jìn)行類似操作.
為抵抗不可檢測(cè)的在線字典攻擊,協(xié)議使用消息認(rèn)證碼(message authentication code, MAC)函數(shù)來使服務(wù)器對(duì)用戶的身份進(jìn)行認(rèn)證,即服務(wù)器可以區(qū)分惡意的用戶和誠(chéng)實(shí)的用戶.
2.1 加密方案
帶標(biāo)簽的Cramer-Shoup加密方案由文獻(xiàn)[21]提出,該方案是IND-CCA2安全的,由3個(gè)算法構(gòu)成:
2) Enc(pk,m;r)加密消息為m,取隨機(jī)數(shù)r∈p,密文C=(u1,u2,e,v),其中(,u1,u2,e);
3) Dec(sk,c)首先計(jì)算ξ=Hk(,u1,u2,e),檢查是否成立.如果等式成立,計(jì)算M=e并輸出M,否則輸出⊥.
2.2 平滑投影Hash函數(shù)
平滑投影Hash函數(shù)由Cramer和Shoup[20]最先提出.本文使用文獻(xiàn)[8]中的定義,X代表函數(shù)的域,L代表一種語言且L?X,存在證據(jù)w證明詞C在L中.
1) HashKG(L).產(chǎn)生語言L的Hash密鑰hk.
2) ProjKG(hk,L,C).計(jì)算投影密鑰hp,hp的計(jì)算可能依賴詞C.
3) Hash(hk,L,C).對(duì)任一C∈X,由Hash密鑰hk輸出其Hash值.
4) ProjHash(hp,L,C,w).對(duì)任一C∈X,由投影密鑰hp和證據(jù)w輸出其Hash值.
如果對(duì)所有的擁有證據(jù)w的C∈L,有Hash(hk,L,C)=ProjHash(hp,L,C,w),則SPHF是正確的.如果對(duì)所有的C?L,Hash值h與G中的隨機(jī)元素不可區(qū)分,則SPHF具有平滑性.
本文使用文獻(xiàn)[8]提出的具有自適應(yīng)平滑性的KVSPHF,投影密鑰hp的產(chǎn)生不依賴于C,即在已知hp后選擇C,平滑性依然成立.
2.3 口令Hash方案
口令Hash方案是用來計(jì)算口令驗(yàn)證值的一個(gè)單向過程,輸入為用戶的口令和鹽值,輸出為存儲(chǔ)在服務(wù)器上的用來驗(yàn)證用戶身份的驗(yàn)證值.本文使用文獻(xiàn)[19]提出的口令Hash方案PH=(PSetup,PPHSalt,PPreHash,PHSalt,PHash),基于ASCII的口令pw映射為整數(shù)π.PH由5個(gè)算法構(gòu)成:
1) PSetup(λ).生成口令Hash參數(shù)param=(p,g,h,λ),g,h是循環(huán)群G的2個(gè)獨(dú)立的生成元,G的階為長(zhǎng)度為λ的素?cái)?shù)p.
2) PPHSalt(param).生成預(yù)Hash鹽值sP∈R.
3) PPreHash(param,π,sP).輸出預(yù)Hash值P=gsPπ.
4) PHSalt(param).生成Hash鹽值sH∈R.
5) PHash(param,P,sP,sH).輸出Hash值H=(H1,H2)=(gsP,PhsH).
口令Hash方案的安全性由底層的循環(huán)群G和Pedersen承諾的安全性來保證.這些安全屬性保證敵手只有進(jìn)行暴力破解才能從用戶口令的Hash值恢復(fù)用戶的口令或口令的預(yù)Hash值.
本文在文獻(xiàn)[10]提出的三方PAKE協(xié)議的安全模型的基礎(chǔ)上增加了對(duì)前向安全和抵抗服務(wù)器泄露攻擊定義.
1) 參與方.三方PAKE協(xié)議中的參與方包含2個(gè)非空的集合:用戶集合U和服務(wù)器集合S.用戶集合U由2個(gè)不相交的集合組成:誠(chéng)實(shí)用戶集合C和惡意用戶集合E.
2) 長(zhǎng)期秘密.每一個(gè)用戶U∈U持有口令pwU,口令pwU映射為整數(shù)πU.服務(wù)器S持有所有用戶的由口令Hash方案生成的Hash值和鹽值.假設(shè)口令由用戶選取,并且口令的最小熵為β.
3) 協(xié)議執(zhí)行.假設(shè)概率多項(xiàng)式時(shí)間敵手A完全控制通信信道.A可能插入一個(gè)消息并修改它,創(chuàng)建一個(gè)信息或是重發(fā)、轉(zhuǎn)發(fā)一個(gè)已有的消息.A可創(chuàng)建用戶C和服務(wù)器S的多個(gè)實(shí)例參與協(xié)議的并發(fā)執(zhí)行.用戶U的第i個(gè)實(shí)例用Ui表示,服務(wù)器S的第j個(gè)實(shí)例用Sj表示.敵手通過查詢諭言機(jī)與協(xié)議的參與方進(jìn)行交互:
②SendClient(Ui,m).對(duì)敵手向用戶發(fā)起的主動(dòng)攻擊進(jìn)行建模.敵手將消息m發(fā)送給用戶實(shí)例Ui,輸出是Ui處理消息m產(chǎn)生的回應(yīng).
③SendServer(Sj,m).對(duì)敵手向服務(wù)器發(fā)起的主動(dòng)攻擊進(jìn)行建模,敵手將消息m發(fā)送給用戶實(shí)例Sj,輸出是Sj處理消息m產(chǎn)生的回應(yīng).
⑤Corrupt(S).對(duì)敵手腐化服務(wù)器進(jìn)行建模,查詢的輸出是所有用戶的驗(yàn)證值H和sH.
⑥Corrupt(U).對(duì)敵手腐化用戶進(jìn)行建模,查詢的輸出是用戶U的口令pwU和U的所有實(shí)例的狀態(tài).
5) 新鮮性.如果一個(gè)實(shí)例的會(huì)話密鑰沒有輕易地被敵手獲得,則稱這個(gè)實(shí)例是新鮮的.具體來說,實(shí)例Ui是新鮮的,如果滿足3個(gè)條件:①Ui已經(jīng)接受并且產(chǎn)生了一個(gè)有效的會(huì)話密鑰;②Ui和Ui的伙伴沒有被詢問過Reveal查詢;③敵手在執(zhí)行Test查詢之前沒有執(zhí)行過Corrupt(U)查詢而且敵手沒有執(zhí)行過SendClient(Ui,m)查詢.
6) 語義安全.考慮在敵手A存在情況下的三方PAKE協(xié)議∏的執(zhí)行,敵手可以執(zhí)行多次Execute,SendClient,SendServer,Reveal,Corrupt查詢,但是對(duì)誠(chéng)實(shí)用戶的新鮮實(shí)例只能執(zhí)行一次Test查詢,并輸出位b′.如果b′=b(b為在Test查詢中選擇的位值),則稱敵手A獲勝.敵手A正確猜到b的事件用Succ表示.A攻擊協(xié)議∏的優(yōu)勢(shì)表示為AdvA,∏(k)=2Pr[Succ]-1.
如果敵手獲勝的優(yōu)勢(shì)AdvA,∏(k)≤O(qs2β)+negl(k),則稱3VPAKE協(xié)議∏是語義安全的.qs為Send查詢的次數(shù),β為口令分布的最小熵.
如果敵手獲勝的優(yōu)勢(shì)AdvA,∏(k)≤negl(k),則稱3VPAKE協(xié)議∏對(duì)服務(wù)器具有密鑰私密性.
Fig. 1 Verifier-based three-party password authenticated key exchange protocol.圖1 基于驗(yàn)證元的三方口令認(rèn)證密鑰交換協(xié)議
4.1 協(xié)議描述
本文提出了一個(gè)基于驗(yàn)證元的三方口令認(rèn)證密鑰交換協(xié)議,并在標(biāo)準(zhǔn)模型下證明了協(xié)議的安全性.
假設(shè)A和B是想要建立會(huì)話密鑰的2個(gè)用戶,S是可信的服務(wù)器.A和B擁有口令pwA和pwB,S擁有A和B口令的驗(yàn)證值(H1A,H2A,sHA)和(H1B,H2B,sHB).
3VPAKE協(xié)議使用帶標(biāo)簽的CCA安全加密方 案,口令Hash方案PH=(PSetup,PPHSalt,PPreHash,PHSalt,Phash)和安全的消息認(rèn)證碼函數(shù)MAC.全局參數(shù)包括KG(1k)產(chǎn)生的加密方案的公鑰pk=(p,g1,g2,h,c,d,Hk)和口令Hash方案的參數(shù)param=(p,g1,h,λ).
本文使用定義在語言L上的具有自適應(yīng)平滑性的平滑投影Hash函數(shù).L的定義如下:
L={(,c)|?π,?r:c=Enc
3VPAKE協(xié)議的描述如圖1所示.假設(shè)用戶A是發(fā)起方,A發(fā)送啟動(dòng)協(xié)議的請(qǐng)求給服務(wù)器并等待服務(wù)器的響應(yīng).協(xié)議包含4輪消息:
1) 服務(wù)器S收到A的請(qǐng)求后,選擇2個(gè)隨機(jī)值
sA,sB∈Rp,計(jì)算,分別發(fā)送和給A和B.
2)A收到服務(wù)器的消息后,選擇隨機(jī)值rA∈Rp,運(yùn)行HashKG(L)生成hk=(η1,η2,θ,μ,ν)∈R,計(jì)算,用wAS作為MAC函數(shù)密鑰計(jì)算σAS=MACwAS(A‖B‖S‖,最后計(jì)算發(fā)送給服務(wù)器S.類似地,B收到服務(wù)器的消息后,選擇隨機(jī)值rB∈Rp,運(yùn)行HashKG(L)生成,計(jì)算,然后計(jì)算為MAC函數(shù)密鑰計(jì)算σBS=MACwBS(A‖B‖S‖,最后計(jì)算發(fā)送給服務(wù)器S.
最后為密鑰計(jì)算.A收到B發(fā)來的消息后,計(jì)算′=(A,B,hp′),ξ′=Hk(收到A發(fā)來的消息后,計(jì)算=(A,B,hp),ξ=Hk(,.
根據(jù)平滑投影Hash函數(shù)的平滑性得到skA=skB,協(xié)議正確性滿足.
4.2 安全性證明
定理1. 如果(KG,Enc,Dec)是CCA安全的帶標(biāo)簽的加密方案,(HashKG,ProjKG,Hash,ProjHash)是平滑投影Hash函數(shù),MAC是安全的消息認(rèn)證碼函數(shù),則圖1的協(xié)議是安全的3VPAKE協(xié)議.
證明. ∏代表圖1所示的協(xié)議,A代表攻擊協(xié)議∏的概率多項(xiàng)式時(shí)間敵手.假設(shè)模擬器控制敵手訪問的所有諭言機(jī),而且模擬器知道所有的解密密鑰.構(gòu)造一個(gè)游戲序列,真實(shí)的攻擊游戲?qū)?yīng)G0.AdvGi(k)代表A在游戲Gi中的優(yōu)勢(shì).
5) 游戲G5.繼續(xù)修改Execute查詢的回答:替換σAS,σBS,λAS,λBS為G中隨機(jī)均勻選取的元素.由于MAC是安全的消息認(rèn)證碼,得到|AdvG5(k)-AdvG4(k)|≤negl(k).
6) 游戲G6.繼續(xù)修改Execute查詢的回答:替換CAS,CBS為假口令0的加密密文.A和B的共同的會(huì)話密碼為sk=skA=skB=Hash(hk,L,CBS)×Hash(hk′,L,CAS),由于加密方案是CCA安全的,G6與G5是不可區(qū)分的,得到|AdvG6(k)-AdvG5(k)|≤negl(k).
7) 游戲G7.繼續(xù)修改Execute查詢的回答:替換共同的會(huì)話密碼為G中的隨機(jī)值,由于CAS,CBS不在語言L中,由SPHF的平滑性得到|AdvG7(k)-AdvG6(k)|≤negl(k).
8) 游戲G8.繼續(xù)修改Execute查詢的回答:替換共同的會(huì)話密碼為G中的隨機(jī)值,由于CAS,CBS不在語言L中,由SPHF的平滑性得到|AdvG8(k)-AdvG7(k)|≤negl(k).
游戲G1~G8表明敵手不能從被動(dòng)攻擊中獲得任何信息.下面考慮Send查詢,如果消息是之前的Send查詢輸出的,則稱它是一個(gè)之前使用過的消息,否則稱它為敵手偽造的消息.
考慮以上3種情況,情況①中Ⅰ的變化只增加了A的優(yōu)勢(shì);情況①中Ⅱ的變化是不可區(qū)分的;情況②中的變化沒有改變A的優(yōu)勢(shì).
考慮以上3種情況,情況①中Ⅰ的變化只增加了A的優(yōu)勢(shì);情況①中Ⅱ的變化是不可區(qū)分的;情況②的變化沒有改變A的優(yōu)勢(shì).
考慮以上3種情況,情況①中Ⅰ的變化只增加了A的優(yōu)勢(shì);情況①中Ⅱ的變化是不可區(qū)分的;情況②中的變化沒有改變A的優(yōu)勢(shì).
14) 游戲G14.修改SendClient(A,eAS‖λAS)查詢的回答,如果用戶A被腐化,誠(chéng)實(shí)地回答查詢,否則將出現(xiàn)3種情況:
① 如果eAS是敵手偽造的,解密eAS得到H2Bh-sHB.
② 如果eAS是之前模擬器發(fā)出的,則不能通過用戶A的驗(yàn)證.
考慮以上3種情況,情況①中Ⅰ的變化只增加了A的優(yōu)勢(shì);情況①中Ⅱ和情況②中的變化是不可區(qū)分的.
對(duì)修改SendClient(B,eAS‖λBS)查詢的回答查詢的回答與上述類似.
16) 游戲G16.修改SendClient(A,hp′‖CBS)查詢的回答.如果用戶A被腐化,誠(chéng)實(shí)地回答查詢,否則將出現(xiàn)3種情況:
① 如果CBS是敵手偽造的,解密CBS得到H2Ah-sHA.
② 如果CBS是之前模擬器發(fā)出的,模擬器知道CBS對(duì)應(yīng)的hk′,使用hk′計(jì)算會(huì)話密鑰sk,而不使用CBS產(chǎn)生使用的隨機(jī)數(shù).
考慮以上3種情況,情況①中Ⅰ的變化只增加了A的優(yōu)勢(shì);由平滑投影Hash函數(shù)的平滑性得到情況①中Ⅱ的變化是不可區(qū)分的;情況②中的變化沒有改變A的優(yōu)勢(shì).
對(duì)SendClient(B,hp‖CAS)查詢的回答與上述類似.
17) 游戲G17.繼續(xù)修改SendClient(A,hp′‖CBS)查詢的回答.如果CBS是敵手偽造的:
② 否則,在G中隨機(jī)均勻的選擇sk作為會(huì)話密鑰.
由文獻(xiàn)[7]中的技術(shù)引理和CBS是CCA安全的密文,得到變化是不可區(qū)分的
對(duì)SendClient(B,hp‖CAS)查詢的回答與上述類似.
在游戲G17中,敵手A的視圖獨(dú)立于用戶的口令,AdvG17(k)≤qs2β成立.由游戲G1~G17可得到敵手獲勝的優(yōu)勢(shì)AdvG0(k)≤qs2β+negl(k).
證畢.
定理2. 如果(KG, Enc, Dec)是CCA安全的帶標(biāo)簽的加密方案,(HashKG,ProjKG,Hash,ProjHash)是平滑投影Hash函數(shù),MAC是安全的消息認(rèn)證碼,則圖1的3VPAKE協(xié)議提供針對(duì)服務(wù)器的密鑰私密性.
證畢.
定理3. 如果(KG,Enc,Dec)是CCA安全的帶標(biāo)簽的加密方案,(HashKG,ProjKG,Hash,ProjHash)是平滑投影Hash函數(shù),MAC是安全的消息認(rèn)證碼,則圖1的協(xié)議提供服務(wù)器對(duì)用戶的認(rèn)證.
由定理1中的部分證明,得到定理3.
本文的協(xié)議方案與文獻(xiàn)[10,12,14,17]在計(jì)算代價(jià)和安全性方面進(jìn)行了比較,如表1所示. 在計(jì)算代價(jià)方面,主要考慮計(jì)算代價(jià)較高的模冪運(yùn)算,忽略其余的運(yùn)算.
Table1 Performance Comparison with Ref[10,12,14,17]
文獻(xiàn)[10,12]方案的安全性基于隨機(jī)諭言模型,方案的計(jì)算代價(jià)較小,但這2個(gè)方案都不能抵抗不可檢測(cè)的在線字典攻擊;文獻(xiàn)[14,17]滿足抵抗不可檢測(cè)的在線字典攻擊,前向安全和針對(duì)服務(wù)器的密鑰私密性等安全屬性,但都不能抵抗服務(wù)器泄露攻擊.文獻(xiàn)[14]的通訊輪數(shù)為6輪,通信代價(jià)較高.文獻(xiàn)[17]要求服務(wù)器擁有公鑰證書,增加服務(wù)器維護(hù)開銷.本文的協(xié)議的通信輪數(shù)為4輪,滿足抵抗不可檢測(cè)的在線字典攻擊,前向安全,針對(duì)服務(wù)器的密鑰私密性和抵抗服務(wù)器泄露攻擊的安全屬性,但協(xié)議的計(jì)算效率較低.
本文利用平滑投影Hash函數(shù)[20]構(gòu)造了基于驗(yàn)證元的三方口令認(rèn)證密鑰交換協(xié)議.該協(xié)議在標(biāo)準(zhǔn)模型下是可證安全的,而且協(xié)議不依賴于服務(wù)器擁有公鑰. 3VAPKE協(xié)議達(dá)到了抵抗服務(wù)器泄露攻擊,抵抗不可檢測(cè)的在線字典攻擊和針對(duì)服務(wù)器的密鑰私密性等安全屬性.目前協(xié)議的計(jì)算效率較低,下一步的工作是進(jìn)一步提高協(xié)議的計(jì)算效率.
[1]Gao Haiying. Provable secure ID-based authenticated key agreement protocol[J]. Journal of Computer Research and Development, 2012, 49(8): 1685-1689 (in Chinese)(高海英. 可證明安全的基于身份的認(rèn)證密鑰協(xié)商協(xié)議[J]. 計(jì)算機(jī)研究與發(fā)展, 2012, 49(8): 1685-1689)
[2]Bellovin S M, Merritt M. Encrypted key exchange: Password-based protocols secure against dictionary attacks[C]//Proc of the Research in Security and Privacy. Piscataway, NJ: IEEE, 1992: 72-84
[3]Bellare M, Pointcheval D, Rogaway P. Authenticated key exchange secure against dictionary attacks[G]//LNCS 1807: Advances in Cryptology (EUROCRYPT 2000). Berlin: Springer, 2000: 139-155
[4]Boyko V, MacKenzie P, Patel S. Provably secure password-authenticated key exchange using Diffie-Hellman[G] //LNCS 1807: Advances in Cryptology (EUROCRYPT 2000). Berlin: Springer, 2000: 156-171
[5]Katz J, Ostrovsky R, Yung M. Efficient password-authenticated key exchange using human-memorable passwords[G]//LNCS 2045: Advances in Cryptology (EUROCRYPT 2001). Berlin: Springer, 2001: 475-494
[6]Gennaro R, Lindell Y. A framework for password-based authenticated key exchange[G] //LNCS 2656: Advances in Cryptology (EUROCRYPT 2003). Berlin: Springer, 2003: 524-543
[7]Katz J, Vaikuntanathan V. Round-optimal password-based authenticated key exchange[J]. Journal of Cryptology, 2013, 26(4): 714-743
[8]Benhamouda F, Blazy O, Chevalier C, et al. New techniques for SPHFs and efficient one-round PAKE protocols[G]//LNCS 8042: Advances in Cryptology (CRYPTO 2013) . Berlin: Springer, 2013: 449-475
[9]Steiner M, Tsudik G, Waidner M. Refinement and extension of encrypted key exchange[J]. ACM SIGOPS Operating Systems Review, 1995, 29(3): 22-30
[10]Abdalla M, Fouque P A, Pointcheval D. Password-based authenticated key exchange in the three-party setting[G]//LNCS 3386: Public Key Cryptography (PKC 2005). Berlin: Springer, 2005: 65-84
[11]Wang Weijia, Hu Lei. Efficient and provably secure generic construction of three-party password-based authenticated key exchange protocols[G] //LNCS 4329: Progress in Cryptology (INDOCRYPT 2006). Berlin: Springer, 2006: 118-132
[12]Wu Shuhua, Zhu Yuefei. Three-party password-based authenticated key exchange with forward-security[J]. Chinese Journal of Computers, 2007, 30(10): 1833-1841 (in Chinese)(吳樹華, 祝躍飛. 一個(gè)前向安全的基于口令認(rèn)證的三方密鑰交換協(xié)議[J]. 計(jì)算機(jī)學(xué)報(bào), 2007, 30(10): 1833-1841)
[13]Lee T F, Hwang T. Simple password-based three-party authenticated key exchange without server public keys[J]. Information Sciences, 2010, 180(9): 1702-1714
[14]Nam J, Choo K-K R, Kim J, et al. Password-only authenticated three-party key exchange with provable security in the standard model[J/OL]. The Scientific World Journal, 2014 [2016-06-01]. https://www.hindawi.com/journals/tswj/2014/825072/
[15]Bellovin S M, Merritt M. Augmented encrypted key exchange: A password-based protocol secure against dictionary attacks and password file compromise[C]//Proc of the 1st ACM Conf on Computer and Communications Security. New York: ACM, 1993: 244-250
[16]Kwon J O, Jeong I R, Lee D H. Light-weight key exchange with different passwords in the standard model[J]. Journal of Universal Computer Science, 2009, 15(5): 1042-1064
[17]Yang Junhan, Cao Tianjie. Provably secure three-party password authenticated key exchange protocol in the standard model[J]. Journal of Systems and Software, 2012, 85(2): 340-350
[18]Benhamouda F, Pointcheval D. Verifier-based password-authenticated key exchange: New models and constructions: IACR Cryptology ePrint Archive[OL]. (2014-04-14) [2016-09-13]. http://eprint.iacr.org/2013/833
[19]Kiefer F, Manulis M. Zero-knowledge password policy checks and verifier-based PAKE[G]//LNCS 8713: Computer Security (ESORICS 2014). Berlin: Springer, 2014: 295-312
[20]Cramer R, Shoup V. Universal Hash proofs and a paradigm for adaptive chosen ciphertext secure public-key encryption[G]//LNCS 2332: Advances in Cryptology (EUROCRYPT 2002). Berlin: Springer, 2002: 45-64[21]Cramer R, Shoup V. A practical public key cryptosystem provably secure against adaptive chosen ciphertext attack[G]//LNCS 1462: Advances in Cryptology (CRYPTO’98). Berlin: Springer, 1998: 13-25
Yang Xiaoyan, born in 1980. PhD candidate. Her main research interests include key exchange protocols and authentication protocols.
Hou Mengbo, born in 1974. PhD and associate professor. His main research interests include information security and key exchange protocols.
Wei Xiaochao, born in 1990. PhD candidate. His main research interests include secure multi-party computing and searchable encryption.
Verifier-Based Three-Party Password Authenticated Key Exchange Protocol
Yang Xiaoyan, Hou Mengbo, and Wei Xiaochao
(SchoolofComputerScienceandTechnology,ShandongUniversity,Jinan250101)
Three-party password authenticated key exchange (3PAKE) protocols enable two parties to establish a common session key where each party only shares one password with a trusted server. In the situation of large-scale peer-to-peer communication, a user in two-party PAKE protocols has to remembernpasswords if the user hasncommunication parties. The main advantage of 3PAKE protocols is that each user needs only to store a single password when he wants to communicate any party in the peer-to-peer circumstance. However, the security of the existing 3PAKE protocols is generally provided in the random oracle model, and in these protocols, passwords are stored in cleartext on the server. Only a few of protocols are proven secure in the standard model and do not require a server’s public key. We generally assumed that servers are secure. But once the password file in the server is compromised, the damage will be huge. In this paper, we propose a verifier-based three-party password authenticated key exchange protocol constructed by smooth projective Hash functions(SPHFs). The protocol is proven secure in the standard model. Our protocol satisfies the secure properties such as resilient to server corruption, undetectable on-line dictionary attack and key privacy.
authenticated key exchange (AKE); verifier; smooth projective Hash functions (SPHFs); three-party password authenticated key exchange (3PAKE); standard model
2016-06-16;
2016-08-16
國(guó)家自然科學(xué)基金項(xiàng)目(61572294)
TP309
This work was supported by the National Natural Science Foundation of China (61572294).