广东工业大学学报  2014, Vol. 31Issue (3): 67-71, 87.  DOI: 10.3969/j.issn.1007-7162.2014.03.012.
0

引用本文 

赵广强, 凌捷. 基于双线性对和随机数的云计算环境匿名认证协议[J]. 广东工业大学学报, 2014, 31(3): 67-71, 87. DOI: 10.3969/j.issn.1007-7162.2014.03.012.
Zhao Guang-qiang, Ling Jie. Anonymous Authentication Protocol Based on Bilinear Pairing and Nonce in Cloud Computing[J]. Journal of Guangdong University of Technology, 2014, 31(3): 67-71, 87. DOI: 10.3969/j.issn.1007-7162.2014.03.012.

基金项目:

广东省自然科学基金重点资助项目(S2012020011071);广东省教育部产学研合作项目(2012B091000037、2012B091000041);广州市科技计划项目(2013J4300058)

作者简介:

赵广强(1988-), 男, 硕士研究生, 主要研究方向为信息安全。

文章历史

收稿日期:2014-04-02
基于双线性对和随机数的云计算环境匿名认证协议
赵广强, 凌捷     
广东工业大学 计算机学院,广东 广州 510006
摘要: 针对云计算服务的高安全性要求,提出一种云计算环境下的匿名身份认证协议,给出了适用于身份认证的场景模型.协议中使用双线性对构造用户动态身份,引入随机数代替时间戳,解决了传统基于时间戳机制方案的时钟同步问题.协议基于离散对数计算困难性和哈希函数的不可逆性实现双向认证,具有安全性强、效率高等特点,可应用于对用户隐私保护要求较高的分布式云计算环境.
关键词: 云计算    身份认证    随机数    双线性对    匿名性    
Anonymous Authentication Protocol Based on Bilinear Pairing and Nonce in Cloud Computing
Zhao Guang-qiang, Ling Jie     
School of Computers, Guangdong University of Technology, Guangzhou 510006, China
Abstract: Aiming at the high requirements for security of cloud computing services, it proposes an anonymous authentication protocol in cloud computing, and designs a model that suits identity authentication. The temporary identity of the user was constructed by using bilinear pairings. Besides, the nonce was used to replace time stamps to avoid the problem of clock synchronization. The protocol implements mutual authentication, based on the calculation difficulty of the Discrete Logarithm Problem and the irreversibility of hash function. The protocol is efficient and has the characteristic of high security. It can be applied in distributed cloud environments, which need to protect the users' privacy.
Key words: cloud computing    identity authentication    nonce    bilinear pairing    anonymity    

云计算是一种继网格计算、分布式计算和对等计算之后的新型计算模式,将大量网络存储资源,计算资源和软件资源统一调度以构成一个计算资源池向云用户提供按需服务[1].用户海量的数据信息被存储在云服务提供商的数据中心,且多个用户共享云端的各种资源,文献[2]探讨了网络终端安全评估方法与技术,阐述了保证网络终端安全的重要性,当然确保云端服务器的安全性也不容忽视,因此构建一种云端用户与云服务器的之间的安全有效的身份认证机制显得尤其重要[3].近年来,学者提出了不少基于云计算环境下的身份认证协议[4-10],但其中许多认证协议存在着不足之处.云计算环境是一种分布式网络环境,在其中实现全局时钟同步需要有特定的全局时钟服务器和相应的时钟同步协议,不仅实现困难,而且成本高昂.文献[11]方案中使用时间戳来抵抗重放攻击,但是带来了时钟同步问题.文献[12]方案中用户身份标识在不安全信道上明文传输,攻击者可以截获用户身份标识,并以此获得用户的隐私信息.文献[13]从不同角度论述保证网络用户信息隐私的重要性.文献[14]也详细阐述了保护用户匿名性的必要性,并建议使用动态用户身份标识.文献[15]中方案安全性存在着一些问题,不能抵抗云端用户的合谋攻击和free rider行为.云服务器可能需要在同一时间对云计算平台下的大量用户进行认证,保证认证协议的高效率是必须考虑的一个因素,文献[16-17]方案满足高安全性的要求,效率上却存在不足.

本文在分析已有方案的基础之上,针对云计算服务的特点提出了一种适应于云计算环境下的匿名身份认证协议,协议中使用双线性对构造用户动态身份,引入随机数代替时间戳,解决时钟同步问题,云用户和云端服务器之间实现双向认证,共同协商会话密钥,保证云用户和云服务器之间的合法认证.

1 预备知识 1.1 双线性对

G1是椭圆曲线群中阶为素数q的加法循环群,G2是与G1同阶乘法循环群,PG1的生成元,称eG1×G1G2是一个双线性映射,如果它满足以下性质[18]

(1) 对称性:给定元素PQRG1a, bZq*e(aP, bQ) = e(P, Q)ab;

(2) 非退化性:存在元素QRG1,使得e(Q, R)≠1G1,其中,1G1是群G2的单位元;

(3) 可计算性:对任意的元素QRG1,存在一个有效的算法可计算e(Q, R).

1.2 ECDL问题

椭圆曲线离散对数(ECDL)问题:设E是定义在Fp上的椭圆曲线,PE(Fp), αZq.已知aP, P, 求a是困难的[19].

1.3 符号标识

本文所用到的符号标识如下:

p, q:大素数,如q|p-1;

Ui:云用户i

IDi:云用户身份标识;

PWi:云用户i的口令;

CS:云服务器;

SC:智能卡;

idi:用户i临时身份标识;

IUi:用户i真实身份标识索引;

SK:会话密钥;

h():安全的哈希函数;

||:字符串连接运算符;

⊕:字符串异或运算符.

2 匿名认证协议

本文认证协议的场景模型如图 1所示,云用户通过安全信道向云服务器注册,通过普通信道与服务器实现交互认证.协议包括以下阶段:初始化阶段,注册阶段,登录阶段,认证阶段,更改口令阶段.

图 1 协议应用场景 Figure 1 Environment of the protocol
2.1 初始化阶段

CS选择G1, G2, e, p, 使其满足双线性对的要求.选择G1的生成元P,秘密值xZp*和单向哈希函数h():{0, 1}*->G1.计算Pub = x×Px作为CS私钥秘密保存.公开系统参数{G1, G2, e, p, P, Pub, h()}.

2.2 注册阶段

注册阶段是整个方案的必不可少的阶段,只有注册成功的云用户才能通过云服务器的认证.首先,云用户通过安全通道向云服务器提供注册信息.注册成功后,云服务器会发放相应的智能卡给云用户,其中,智能卡存储与用户相关的信息.具体步骤如下:

(1) 云用户Ui选择身份标识IDi,口令PWi和随机数b,计算PWib,通过安全通道发送{IDi,PWib}给云服务器CS.

(2) CS收到{IDi,PWi⊕b},在表 1中查询IDi的唯一性,如果表 1中存在IDi,表明IDi已经被注册,拒绝Ui注册请求,否则,选择一随机数ni,计算Ai = h(IDix mod p)⊕PWibBi =h(IDi⊕PWib), Ki=(PWib) -1 × x × ni × IDi,IUi = e(ni × IDi , Pub).

表 1 用户身份索引 Table 1 The index of the identity of the user

(3) CS将参数{Ki, Ai, Bi, p, h(), Pub, P, e}存入智能卡SC中,并通过安全信道把SC发放给云用户Ui.

(4) 用户收到智能卡后,把b存到智能卡中,智能卡的参数为{Ki, Ai, Bi, p, h(), Pub, P, eb}.

2.3 登录阶段

云用户把SC插入终端读卡器,输入IDi和PWi,智能卡计算并比较h(IDi⊕PWib)与Bi是否相等, 若不相等,则终止连接,否则,执行以下操作:

SC选择随机数c < p-1, N1, 计算:d=Ai⊕PWib, Ci=h(IDi)cmod p, Di=Ci×d mod p. Wi=h(IDi||Di||N1), E=c×PubR=c×P,idi=(PWib)/(N1R+cKi, 发送{idi, Ci, N1EWi}至CS.

2.4 认证阶段

云服务器和云用户依据该阶段的中间认证信息来判断对方的合法性.云服务器和云用户之间进行多次交互认证.若有任意一方发现对方的认证信息有误,则终止认证连接,详细执行步骤如下:

(1) CS收到{idi, Ci, N1EWi}后,计算R* = x-1×E, IUi=e(idi, (N1R*P + R*), 以IUi为索引检查表 1,若存在以IUi为索引的IDi,CS则取出IDi,并通过认证.若不存在以IUi为索引的IDi,CS终止登录请求,否则,继续执行下面步骤.

(2) CS计算d*=h(IDix mod p), Di*= Ci × d*mod pWi* = h(IDi||Di*||N1), CS验证Wi*Wi是否相等,若不等,则拒绝,否则,CS产生随机数N2,计算Ti = d*N2Vi = h(IDi||d*||Ti||N2), 发送{idi, Ti, Vi}至Ui.

(3) Ui收到{idi, Ti, Vi}后,检查idi有效性,然后计算N2* = dTiVi* = h(IDi||d||Ti||N2*),比较Vi*Vi,若不相等,终止连接,否则,发送h(IDi||N1||N2*)至CS.

(4) 云服务器验证h(IDi| |N1||N2)与h(IDi||N1||N2*)是否相等,若相等,云用户合法,否则,拒绝连接.

(5) 云用户和云服务器计算会话密钥SK=h(IDiN1N2*)=h(IDiN1N2).

2.5 更改口令阶段

当云用户Ui需要更改口令时,需要执行以下步骤:

(1) Ui把智能卡SC插入终端,输入身份标识IDi,旧口令PWi.

(2) SC计算并比较h(IDi⊕PWib)与Bi是否相等, 若不相等,则终止连接,否则,提示用户输入新口令PWinew,计算Ainew=Ai⊕PWi⊕PWinewBinew=h(IDi⊕PWinewb), Kinew=Ki×(PWib)×(PWinewb)-1.

(3) SC用AinewBinew, Kinew,分别替换AiBiKi.

3 安全性和效率分析 3.1 正确性证明

认证阶段步骤(1)的等式IUi=e(idi, (N1R*P+R*)成立,证明如下:

e(idi, (N1R*P+R*)=

e((PWib)×(N1R+c)-1×Ki, (N1R*P+x-1×c×x×P)=

e((PWib)×(N1R+c)-1×Ki, ((N1R*)+cP)=

e((PWib)×(N1⊕(c×P)+c)-1×Ki×(N1⊕(x-1×c×x×P)+c), P)=

e((PWib)×(PWib)-1×x×ni×IDi, P) =

e(x×ni×IDi, P)=e(ni×IDi, x×P)=e(ni×IDi, Pub)=IUi

3.2 安全性分析

保证用户匿名性.云用户在网络中传输的信息不包含IDi的明文,通过引入随机数和双线性对构造用户临时身份idi,用户的每次会话都使用不同的idi,改进方案中,由于e的非退化性,IUi=e(ni×IDi, Pub)唯一确定一个用户IDi,只有知道CS密钥x,才能计算出IUi, 进而找到用户真实身份IDi.否则,计算出IUi的难度相当于解ECDL问题.攻击者很难计算出用户的真实身份IDi,也就无法根据用户IDi了解更多的私密信息,因此保证了用户的匿名性.

抵抗重放攻击.攻击者可能通过重放截获的信息{idi, Ci, N1EWi}来发起新的认证.但是在认证阶段步骤(3),由于无法获得CS密钥x和IDi, 因此不能构造有效认证信息h(IDi||N1||N2*), CS在步骤(4)验证时会拒绝认证请求,改进方案使用随机数Nonce代替时间戳,解决了时钟同步的问题,同时可以有效地抵御重放攻击.

实现双向认证.CS首先通过计算IUi=e(idi, (N1R*P+R*)找到用户真实IDi实现初步认证,然后CS计算d*=h(IDix mod p),Ti = d*N2发送给{idi, Ti, Vi}用户,用户通过验证TiTi*是否相等来判断CS的合法性,只有在知道S私钥x的情况下才能计算出d*=h(IDix mod p).如果相等,可证明服务器是真正的服务器,在认证阶段的步骤3, CS判断用户发送的h(IDi||N1||N2*)的真实性,只有知道用户的IDi和PWih(IDi||N1||N2*)才能被服务器正确地验证,因为IDi和PWi只有合法用户Ui知道,所以可证明用户是合法的,由此实现了双向认证.

抵抗智能卡丢失攻击.用户在使用智能卡时,需要提交正确的用户标识IDi*和口令PWi*,智能卡验证h(IDi*⊕PWi*b)与Bi是否相等,只有验证通过才能发起认证连接.如果攻击者穷举用户IDi和PWi,由于IDi和PWi都是未知的,攻击者成功的可能性极小,同时智能卡对用户口令的登录验证具有记录功能,当口令错误累计次数到达设定的上限值后将自动锁死,从而防止了此类攻击.

抵抗假冒攻击.如果攻击者要假冒用户,则需要构造出认证信息{idi, Ci, N1EWi}来发起连接,而idi的计算需要知道用户的PWi,显然是行不通的,同时,在认证阶段的步骤3,h(IDi||N1||N2*)的计算需要知道用户的IDi,而IDi在方案中没有明文传输,攻击者无法获得PWi和IDi,假冒用户是不可行的.如果攻击者要冒充云端服务器,方案中计算用户的临时身份索引IUid*=h(IDix mod p)都需要知道CS的私钥,云端服务器的私钥秘密保存,这就防止了攻击者实施此类攻击.

抵抗内部攻击.云用户在注册阶段发送的注册信息是{IDi,PWib},其中用户口令PWi经过异或运算,利用随机数进行了保护,即使云服务器端恶意人员能够接触到{IDi,PWib},但仍不能获取云用户口令的明文.

实现前向安全性.云用户和云服务器在通过双向认证后,共同计算出会话密钥SK=h(IDiN1N2*)=h(IDiN1N2),由于N1N2分别是云用户和云服务器产生的随机数,这保证了云用户每次会话的密钥SK不相同,即使攻击者截获了SK,但仍不能根据SK计算出以前的和以后的会话密钥.从而实现了方案的前向安全性.

3.3 效率分析

文献[12]和文献[20]分别对身份认证方案的指数操作,双线性对操作,乘除法操作计算时间进行了测试.针对异或运算、Hash运算、加密解密运算计算时间.本文使用C语言,基于Microsoft Visual C+ + 6.0平台对以上运算时间进行了测试,如图 2所示.具体计算机硬件参数为处理器Intel(R) Pentium(R) 4 CPU,主频2 GHz,内存256 G,内存1 G.各类运算的平均计算时间如表 2所示.分析可知,本文协议总的处理时间为13Th+24T+19Tm+3Te+2Tb.其中初始化阶段和注册阶段2Th+6T+6Tm+1Te+1Tb.登录认证阶段10Th+11T+10Tm+2Te+1Tb.口令更改阶段1Th+7T+3Tm. 表 3将本文协议与几个典型的身份认证方案在总的处理时间上做出了对比,可以看出,文中所提出的协议与其他方案相比,能够抵抗常见的攻击,不但具有更高安全性,同时在效率方面也有一定的优势.

图 2 各类操作计算时间 Figure 2 Time for executing each operation
表 2 各操作计算平均时间 Table 2 Average time of each operation
表 3 各方案处理时间 Table 3 Time cost of each scheme
4 结语

本文所提方案使用双线性对构造用户动态身份,防止用户身份泄露带来的不安全问题,同时采用随机数代替时间戳,在能抵抗重放攻击的同时,避免了时钟同步问题,通过理论分析证明了方案的正确性和安全性,同时,从时间复杂度角度对方案的效率做了评估,与已有的方案相比,有一定的优势,可以适用于对安全性要求较高的分布式云计算环境中.

参考文献
[1]
林闯, 苏文博, 孟坤, 等. 云计算安全:架构、机制与模型评价[J]. 计算机学报, 2013, 36(9): 1765-1784.
Lin C, Su W B., Meng K, et al. Cloud computing security: architecture, mechanism and modeling[J]. Chinese Journal of Computers, 2013, 36(9): 1765-1784.
[2]
廖辉, 凌捷. 网络终端安全评估量化指标体系的设计与实现[J]. 广东工业大学学报, 2010, 27(2): 84-88.
Liao H, Ling J. Design and implementation of network terminal security assessment index system[J]. Journal of Guangdong University of Technology, 2010, 27(2): 84-88.
[3]
杨健, 汪海航, 王剑, 等. 云计算安全问题研究综述[J]. 小型微型计算机系统, 2012, 33(3): 472-479.
Yang J, Wang H H, Wang J, et al. Survey on some security issues of cloud computing[J]. Journal of Chinese Computer Systems, 2012, 33(3): 472-479.
[4]
李磊, 周璟璐, 陈静, 等. 移动云计算中的上下文相关身份认证[J]. 计算机应用与软件, 2013, 30(9): 96-99.
Li L, Zhou J L, Chen J, et al. Context awareness authentication in mobile cloud computing[J]. Computer Applications and Software, 2013, 30(9): 96-99.
[5]
Zhang Z H, Li J J, Jiang W, et al. A new anonymous authentication scheme for cloud computing[C]// The 7th International Conference on Computer Science & Education, Melbourn: 2012: 14-17.
[6]
Zhang Z H, Jiang X F, Li J J, et al. An identity-based authentication scheme in cloud computing[C]// 2012 International Conference on Industrial Control and Electronics Engineering. Xi'an: 2012: 984-986.
[7]
Banyal R K, Jain P, Jain V K. Multi-factor Authentication Framework for Cloud Computing[C]// 2013 Fifth International Conference on Computational Intelligence, Modeling and Simulation. Seoul: IEEE, 2013, 105-110
[8]
Ysssin A A, Jin H, Ibrahim A, et al. Efficient password-based two factors authentication in cloud computing[J]. International Journal of Security and its Applications, 2012, 6(2): 143-148.
[9]
Huang J J, Juang W S, Fan C, et al. Robust and privacy protection authentication in cloud computing. International[J]. Journal of Innovative Computing, Information and Control, 2013(11): 4247-4261.
[10]
刘林东, 邬依林. 基于云计算的USB Key身份认证技术研究[J]. 广东第二师范学院学报, 2011, 31(5): 79-84.
Liu L D, Wu Y L. The research of USB-Key identity authentication based on cloud computing[J]. Journal of Guangdong University of Education, 2011, 31(5): 79-84.
[11]
杨力, 马建峰. 可信的智能卡口令双向认证方案[J]. 电子科技大学学报, 2011, 40(1): 128-133.
Yang L, Ma J F. Trusted mutual authentication scheme with smart cards and passwords[J]. Journal of University of Electronic Science and Technology of China, 2011, 40(1): 128-133.
[12]
刘振鹏, 吴凤龙, 尚开雨. 基于TPM的云计算平台双向认证方案[J]. 通信学报, 2012, 33(22): 20-24.
Liu Z P, Wu F L, Shang K Y. Mutual authentication scheme based on the TPM cloud computing platform[J]. Journal on Communications, 2012, 33(22): 20-24.
[13]
朱慧, 刘洪伟, 陈丽, 等. 网络用户的信息隐私边界及其敏感度等级研究[J]. 广东工业大学学报, 2013, 30(4): 26-32.
Zhu H, Liu H W, Chen L, et al. Research on information privacy boundaries and sensitivity of net users[J]. Journal of Guangdong University of Technology, 2013, 30(4): 26-32.
[14]
Ding W, Ma C G. Cryptanalysis of a remote user authentication scheme for mobile client-server environment based on ECC[J]. Information Fusion, 2013(14): 498-503.
[15]
杨娜娜, 王杨, 陈付龙. 基于移动agent的云计算身份认证机制研究[J]. 计算机应用研究, 2012, 29(10): 3812-3814, 3837.
Yang N N, Wang Y, Chen F L. Research on cloud computing security authentication mechanism based on mobile agent[J]. Application Research of Computers, 2012, 29(10): 3812-3814, 3837. DOI: 10.3969/j.issn.1001-3695.2012.10.054.
[16]
刘婷婷, 王文彬. 云计算中基于公平的安全判定相等协议的身份认证方案[J]. 国防科技大学学报, 2013, 35(5): 120-123, 139.
Liu T T, Wang W B. An authentication scheme based on fair equality-determination protocol in cloud Computing[J]. Journal of National University of Defense Technology, 2013, 35(5): 120-123, 139.
[17]
Santhosh B S, Gokulraj K. An enhanced dynamic mutual authentication scheme for smart card based networks[J]. Computer Network and Information Security, 2012, 4(4): 30-38. DOI: 10.5815/ijcnis.
[18]
王珍, 刘培玉, 李凤银. 新的无证书的门限代理盲签名方案[J]. 计算机应用, 2012, 32(11): 3140-3142.
Wang Z, Liu P Y, Li F Y. New certificate less threshold proxy blind signature scheme[J]. Journal of Computer Applications, 2012, 32(11): 3140-3142.
[19]
曹雪菲, 曾兴雯, 寇卫东. 一种新的不安全信道上的匿名认证方案[J]. 西安电子科技大学学报:自然科学版, 2007, 34(6): 877-880, 910.
Cao X F, Zeng X W, Kou W D. A novel anonymous authentication scheme over the secure channel[J]. Journal of Xidian University:Nature Science Edition, 2007, 34(6): 877-880, 910.
[20]
Cao X F, Kou W D, Du X N. A pairing-free identity-based authenticated key agreement protocol with minimal message exchanges[J]. Information Sciences, 2010, 180(15): 2895-2903. DOI: 10.1016/j.ins.2010.04.002.