基于身份认证的三方密钥协商协议设计

2015-04-02 06:18高丽丽王琼
软件导刊 2015年2期
关键词:身份认证

高丽丽 王琼

摘要:基于离散对数的困难性假设,对Hlbl协议进行改进,由原来的双方密钥协商协议扩展到三方密钥协商协议,提出一种基于身份认证的三方密钥协商协议。

关键词关键词:三方密钥;协商协议;身份认证;中间人攻击;离散对数问题

DOIDOI:10.11907/rjdk.143893

中图分类号:TP309.7

文献标识码:A文章编号文章编号:16727800(2015)002015902

基金项目基金项目:

作者简介作者简介:高丽丽(1988-),女,河北衡水人,硕士,广东科技学院计算机系教师,研究方向为密码学与信息安全;王琼(1987-),女,江苏盐城人,硕士,广东科技学院计算机系教师,研究方向为影视动漫设计。

0引言

计算机技术的发展加快了社会信息化步伐,人们对计算机和网络的依赖也越来越强。网络与人们的生活息息相关,而如何在开放的网络中保护用户的隐私、实现安全通信是信息安全领域重点研究课题。

为保证信息安全传输,一个重要的方法就是采用密码技术,用密钥来进行加密、解密。通信双方如何在公开的信道上协商出共同的密钥是密钥协商协议所要解决的关键问题。密钥协商协议允许通信双方或多方在公开的信道上通过交换信息共同建立一个会话密钥,为安全通信创设先行条件。密钥协商协议是密码学中的研究热点,各种协议陆续推出\[14\]。其中,很多协议存在不足。因此,对现有协议进行改进,设计出更为安全、适合多方的密钥协商协议具有重要意义。

1976 年,Diffie和Hellman\[5\]首次提出了公钥密码学的概念,同时提出了第一个密钥协商协议,即DiffieHellman协议。在DiffieHellman协议中,没有身份认证,容易受到中间人攻击。1984 年,Shamir\[6\]最早提出了基于身份的密码学概念,在该体制下,终端用户可以任意选取一个身份字符串作为自己的公钥,存在一个可信的密钥生成中心(KGC),秘密持有一个主私钥,将主私钥和用户身份结合生成用户私钥。通过对用户身份进行认证,可以有效抵抗中间人攻击。2009年,Hlbl等\[7\]提出了一个基于身份认证的密钥协商协议,该协议能够抵抗Tseng\[8\]协议中提出的攻击,其通信参与者是双方。本文在此基础上进行扩展,将参与者由双方扩展到三方,提出一种基于身份认证的三方密钥协商协议。

1基于身份认证的密钥协商协议

Hlbl等提出了一种基于身份认证的密钥协商协议,协议包括3个阶段:系统建立、私钥生成和密钥协商阶段。

(1)系统建立。在此阶段,密钥生成中心KGC选择一个大素数p,一个生成元g∈Z*p,一个单向Hash函数h,一个随机整数xs∈Z*p,计算ys=gxs。KGC将系统公共参数设置为{g,h,p,ys},主私钥设置为xs。

(2)私钥生成。对于每一个用户,KGC首先计算Ii=h(IDi),其中,IDi是用户i的身份。然后,KGC选择一个随机数ki∈Z*p,计算用户的公钥ui=gki(modp)和用户的私钥vi=Iiki+xsui(modp-1)。为方便起见,在以下的运算中省略“modp”。

(3)密钥协商。①A选择一个随机数rA∈Z*p,计算tA=grA,将{uA,tA,IDA}发送给B。类似地,B选择一个随机数rB∈Z*p,计算tB=grB,将{uB,tB,IDB}发送给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),经过该协议,A和B共享密钥K=KAB=KBA=g(rA+vA)(rB+vB)。

2基于身份认证的三方密钥协商协议

对Hlbl协议,在密钥交换阶段,增加信息交换次数,参与者由原来的双方扩展到三方。系统建立阶段和私钥生成阶段保持不变。密钥协商阶段描述:

(1)A选择一个随机数rA∈Z*p,计算tA=grA,将{uA,tA,IDA}发送给B。类似地,B选择一个随机数rB∈Z*p,计算tB=grB,将{uB,tB,IDB}发送给C;C选择一个随机数rC∈Z*p,计算tC=grC,将{uC,tC,IDC}发送给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发送给B;B将KBA发送给C;C将KCB发送给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 )。

经过该协议,A、B和C共享密钥KCBA=KACB=KBAC=g(rA+vA)(rB+vB)(rC+vC)。

3结语

本文通过对Hlbl等基于身份认证的密钥协商协议进行扩展,通过增加信息交换次数,将原来的双方共同协商密钥扩展到三方协商密钥,提出一个基于身份认证的三方密钥协商协议,实践表明该协议安全可行。

参考文献参考文献:

\[1\]BRIAN LAMACCHIA, KRISTIN LAUTER, ANTON MITYAGIN. Stronger security of authenticated key exchange\[J\]. Lecture Notes in Computer Science, 2007, 4784: 116.

\[2\]石亚宾,黄开枝,杨鹏. 基于身份可证安全的双方密钥协商协议\[J\]. 计算机应用研究, 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\]孙钰,韩庆同,刘建伟. 基于短群签名的密钥协商协议设计\[J\]. 计算机研究与发展, 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.

责任编辑(责任编辑:陈福时)

猜你喜欢
身份认证
云电子身份管理与认证系统中的关键技术优化改进