高麗麗 王瓊
摘要:基于離散對數(shù)的困難性假設(shè),對Hlbl協(xié)議進行改進,由原來的雙方密鑰協(xié)商協(xié)議擴展到三方密鑰協(xié)商協(xié)議,提出一種基于身份認證的三方密鑰協(xié)商協(xié)議。
關(guān)鍵詞關(guān)鍵詞:三方密鑰;協(xié)商協(xié)議;身份認證;中間人攻擊;離散對數(shù)問題
DOIDOI:10.11907/rjdk.143893
中圖分類號:TP309.7
文獻標(biāo)識碼:A文章編號文章編號:16727800(2015)002015902
基金項目基金項目:
作者簡介作者簡介:高麗麗(1988-),女,河北衡水人,碩士,廣東科技學(xué)院計算機系教師,研究方向為密碼學(xué)與信息安全;王瓊(1987-),女,江蘇鹽城人,碩士,廣東科技學(xué)院計算機系教師,研究方向為影視動漫設(shè)計。
0引言
計算機技術(shù)的發(fā)展加快了社會信息化步伐,人們對計算機和網(wǎng)絡(luò)的依賴也越來越強。網(wǎng)絡(luò)與人們的生活息息相關(guān),而如何在開放的網(wǎng)絡(luò)中保護用戶的隱私、實現(xiàn)安全通信是信息安全領(lǐng)域重點研究課題。
為保證信息安全傳輸,一個重要的方法就是采用密碼技術(shù),用密鑰來進行加密、解密。通信雙方如何在公開的信道上協(xié)商出共同的密鑰是密鑰協(xié)商協(xié)議所要解決的關(guān)鍵問題。密鑰協(xié)商協(xié)議允許通信雙方或多方在公開的信道上通過交換信息共同建立一個會話密鑰,為安全通信創(chuàng)設(shè)先行條件。密鑰協(xié)商協(xié)議是密碼學(xué)中的研究熱點,各種協(xié)議陸續(xù)推出\[14\]。其中,很多協(xié)議存在不足。因此,對現(xiàn)有協(xié)議進行改進,設(shè)計出更為安全、適合多方的密鑰協(xié)商協(xié)議具有重要意義。
1976 年,Diffie和Hellman\[5\]首次提出了公鑰密碼學(xué)的概念,同時提出了第一個密鑰協(xié)商協(xié)議,即DiffieHellman協(xié)議。在DiffieHellman協(xié)議中,沒有身份認證,容易受到中間人攻擊。1984 年,Shamir\[6\]最早提出了基于身份的密碼學(xué)概念,在該體制下,終端用戶可以任意選取一個身份字符串作為自己的公鑰,存在一個可信的密鑰生成中心(KGC),秘密持有一個主私鑰,將主私鑰和用戶身份結(jié)合生成用戶私鑰。通過對用戶身份進行認證,可以有效抵抗中間人攻擊。2009年,Hlbl等\[7\]提出了一個基于身份認證的密鑰協(xié)商協(xié)議,該協(xié)議能夠抵抗Tseng\[8\]協(xié)議中提出的攻擊,其通信參與者是雙方。本文在此基礎(chǔ)上進行擴展,將參與者由雙方擴展到三方,提出一種基于身份認證的三方密鑰協(xié)商協(xié)議。
1基于身份認證的密鑰協(xié)商協(xié)議
Hlbl等提出了一種基于身份認證的密鑰協(xié)商協(xié)議,協(xié)議包括3個階段:系統(tǒng)建立、私鑰生成和密鑰協(xié)商階段。
(1)系統(tǒng)建立。在此階段,密鑰生成中心KGC選擇一個大素數(shù)p,一個生成元g∈Z*p,一個單向Hash函數(shù)h,一個隨機整數(shù)xs∈Z*p,計算ys=gxs。KGC將系統(tǒng)公共參數(shù)設(shè)置為{g,h,p,ys},主私鑰設(shè)置為xs。
(2)私鑰生成。對于每一個用戶,KGC首先計算Ii=h(IDi),其中,IDi是用戶i的身份。然后,KGC選擇一個隨機數(shù)ki∈Z*p,計算用戶的公鑰ui=gki(modp)和用戶的私鑰vi=Iiki+xsui(modp-1)。為方便起見,在以下的運算中省略“modp”。
(3)密鑰協(xié)商。①A選擇一個隨機數(shù)rA∈Z*p,計算tA=grA,將{uA,tA,IDA}發(fā)送給B。類似地,B選擇一個隨機數(shù)rB∈Z*p,計算tB=grB,將{uB,tB,IDB}發(fā)送給A;②A計算IB=h(IDB),xA=uIBB·yuBs=gkBIB·gxsuB=gvB和密鑰KAB=(xA·tB)vA+rA=g(rA+vA)(rB+vB),類似地,B計算IA=h(IDA),xB=uIAA·yuAs=gkAIA·gxsuA=gvA和密鑰KBA=(xB·tA)vB+rB=g(rA+vA)(rB+vB),經(jīng)過該協(xié)議,A和B共享密鑰K=KAB=KBA=g(rA+vA)(rB+vB)。
2基于身份認證的三方密鑰協(xié)商協(xié)議
對Hlbl協(xié)議,在密鑰交換階段,增加信息交換次數(shù),參與者由原來的雙方擴展到三方。系統(tǒng)建立階段和私鑰生成階段保持不變。密鑰協(xié)商階段描述:
(1)A選擇一個隨機數(shù)rA∈Z*p,計算tA=grA,將{uA,tA,IDA}發(fā)送給B。類似地,B選擇一個隨機數(shù)rB∈Z*p,計算tB=grB,將{uB,tB,IDB}發(fā)送給C;C選擇一個隨機數(shù)rC∈Z*p,計算tC=grC,將{uC,tC,IDC}發(fā)送給A。
(2)A計算IC=h(IDC),xA=uICC·yuCs=gkCIC·gxsuC=gvC和密鑰KAC=(xA·tC)vA+rA=g(rA+vA)(rC+vC)。類似地,B計算IA=h(IDA),xB=uIAA·yuAs=gkAIA·gxsuA=gvA和密鑰KBA=(xB·tA)vB+rB=g(rA+vA)(rB+vB);C計算IB=h(IDB),xC=uIBB·yuBs=gkBIB·gxsuB=gvB和密鑰KCB=(xC·tB)vC+rC=g(rC+vC)(rB+vB)。
(3)A將KAC發(fā)送給B;B將KBA發(fā)送給C;C將KCB發(fā)送給A。
(4)A計算KCBA = KCB (rA + vA ) = g(rA + vA )(rB + vB )(rC + vC )。類似地,B計算KACB = KAC (rB + vB ) = g(rA + vA )(rB + vB )(rC + vC );C計算KBAC = KBA (rC + vC ) = g(rA + vA )(rB + vB )(rC + vC )。
經(jīng)過該協(xié)議,A、B和C共享密鑰KCBA=KACB=KBAC=g(rA+vA)(rB+vB)(rC+vC)。
3結(jié)語
本文通過對Hlbl等基于身份認證的密鑰協(xié)商協(xié)議進行擴展,通過增加信息交換次數(shù),將原來的雙方共同協(xié)商密鑰擴展到三方協(xié)商密鑰,提出一個基于身份認證的三方密鑰協(xié)商協(xié)議,實踐表明該協(xié)議安全可行。
參考文獻參考文獻:
\[1\]BRIAN LAMACCHIA, KRISTIN LAUTER, ANTON MITYAGIN. Stronger security of authenticated key exchange\[J\]. Lecture Notes in Computer Science, 2007, 4784: 116.
\[2\]石亞賓,黃開枝,楊鵬. 基于身份可證安全的雙方密鑰協(xié)商協(xié)議\[J\]. 計算機應(yīng)用研究, 2009, 9(26): 35193522.
\[3\]SHIWU ZHANG, QINGFENG CHENG, XUEKUI WANG. Impersonation attack on two identitybased authenticated key exchange protocols\[C\].2010 WASE International Conference on Imformation Engineering, 2010: 113116.
\[4\]孫鈺,韓慶同,劉建偉. 基于短群簽名的密鑰協(xié)商協(xié)議設(shè)計\[J\]. 計算機研究與發(fā)展, 2012, 49(12): 26912622.
\[5\]W DIFFIE, ME HELLMAN. New directions in cryptography\[J\]. IEEE Transactions on Information Theory, 1976: 2940.
\[6\]SHAMIR A. Identitybased cryptosystem and signature schemes\[C\].Advances in CryptologyCrypto' 84. Heidelberg:Springer,1984: 4756.
\[7\]MARKO HOLBL, TATJANA WELZER. Two improved twoparty identitybased authenticated key agreement protocols\[J\]. Computer Standards & Interfaces, 2009(31): 10561060.
\[8\]YM TSENG, JK JAN, CH WANG. Cryptanalysis and improvement of an identitybased key exchange protocol\[J\]. Journal of Computers, 2002, 3(14): 1722.
責(zé)任編輯(責(zé)任編輯:陳福時)