一种云环境下基于身份的统一身份认证方案研究
2016-01-20刘团奇,张浩军,赵志鹏
一种云环境下基于身份的统一身份认证方案研究
刘团奇, 张浩军, 赵志鹏
(河南工业大学, 郑州 450001)
摘要:提出了一种云环境下的基于身份密码体制的统一身份认证方案,在私钥分发的过程中使用了双线性对运算,显著降低了PKI体系中CA的负担,简化了CA对用户证书的管理,实现了云环境下不同类型用户的统一认证。方案在保证足够高的安全强度的同时,降低了计算开销。
关键词:身份认证;基于身份密码体制;统一身份认证
收稿日期:2015-04-30
基金项目:国家自然科学基金项目(U1304606);国家863高技术研究发展计划项目(2012AA101608)
作者简介:刘团奇(1989-),男,河南新乡人,硕士,主要研究方向为信息安全。
文章编号:1671-6906(2015)04-0055-04
中图分类号:TP39
文献标志码:A
DOI:10.3969/j.issn.1671-6906.2015.04.014
Abstract:This paper proposes a unified identity authentication scheme based on ID-based cryptography, which uses the bilinear pairings computation in the process of the distribution of private key, it can significantly reduce the burden of CA in PKI system, simplifies the management of user’s certifications, realizes the unification of different types of user's authentication in cloud environment. The scheme reduces the computational overhead on the premise of ensuring high enough security strength.
在云计算技术快速发展的同时,越来越多的用户数据被存储在云端服务器中。用户与云服务器之间的双向认证是云环境下用户访问云服务器中数据或使用所需服务的重要前提[1]。而虚拟化技术和用户对不同云服务器的频繁访问对身份认证技术提出了更高的要求。在公有云和私有云的复杂架构下,不同的云内部可能有不同的身份认证系统,用户在访问不同的云服务时可能需要在相应系统中进行身份认证;而更加多样化的云服务使用户需要在不同的云服务器上进行身份认证。为了提供更好的用户体验,云服务通常会使用单点登录方式[2-6]。Yan L提出了基于HIBC的身份认证模型[7],但该模型对根密钥的依赖性较强;Zhang Q K提出了云环境下的联盟认证模型[8],但该模型密钥数量较多。本文提出了一种云环境下的基于身份密码体制(IBC)的统一身份认证方案,该方案能够显著降低PKI体系中CA的负担,简化CA对用户证书的管理。
1相关难题假设
基于身份密码体制一般是由离散对数难题和双线性对来进行构造的[7-8],相关难解问题如下:
定义1离散对数问题,设群G是一个q阶群,给定(P,Q)∈G,求一个整数n∈q*,使Q=nP。
定义2双线性映射,群G1、G2分别是q阶的循环加法群和循环乘法群,p是G1的一个生成元,则e:G1×G2→G2是双线性映射,e有以下性质[9]:
(1)双线性。对任意R、S∈G1,a、b∈q*,有e(Ra,Sb)=e(R,S)ab;
(2)非退化性。存在M、N∈G1,使e(M,N)≠1,1是G2的单位元;
(3)可计算性。存在有效的多项式算法,该算法对任意R、S∈G1,可以计算e(R,S)。
2统一身份认证方案
本文借鉴了文献[9]中密钥协商过程中双线性映射的应用方法,将其应用于公有云环境下的私钥分发,在保证足够高的安全强度的前提下,降低了私钥分发的计算开销。
2.1认证模型
作为一种安全的基础架构,PKI体系在实际应用中得到了快速发展。但PKI的证书验证过程比较繁琐,会造成一定的性能负担和网络延迟,在云计算环境下,PKI体系的这些劣势会更加显著地表现出来。本文设计了一种云环境下的基于身份密码体制(IBC)的统一身份认证方案,认证模型如图1所示。在公有云或私有云的内部使用IBC体系,云和云之间的认证由PKI体系负责。公有云或私有云中的用户通过认证代理访问其他云所提供的服务,用户可以分为3类:公有云中的普通用户、私有云中的用户和使用PKI体系认证的用户。3类用户在统一的身份认证方案下可以安全地使用身份认证服务。
图1 身份认证模型
2.2符号构成
PKS:S的公钥。
SKS:S的私钥。
H():安全的散列函数。
Eab(m):使用对称密码算法加密m。
Dab(m):使用对称密钥ab解密m。
2.3系统初始化
(1)云内IBC系统的建立:首先产生一个随机数SKS∈Zq*,计算PKS=SKSg∈G1,SKS作为云S的主密钥,PKS作为公钥,云的认证代理服务器公布系统的参数param= {q,G1,G2,g,p,PKS,H1,H2}。除了IBC系统之外,认证代理服务器同时运行PKI系统,拥有证书和对应的私钥。其他云的参数选取过程同理。
(2)用户注册:用户U注册申请成为云S的用户时,U提交用户ID和口令P的散列值,ID∈{0,1}*,将用户的ID和p=H1(P)保存在用户信息数据库中[10]。
2.4认证过程
用户按认证过程分为3类:公有云中的普通用户、私有云中的用户和使用PKI体系认证的用户。
2.4.1公有云用户认证过程
(1)通过验证云的PKI证书,交换系统参数实现云和云信任关系的建立[11],任意的云A和云B之间的参数交换过程如下:
①APA→APB:rA,Param_Req
云A的认证代理向云B的认证代理发送请求,rA是云A产生的随机数。
②APB→APA:certAPB,ParamB||rB||rA||IDA||sigcertB(ParamB||rB||rA||IDA)
APB收到请求后,向APA发送系统参数ParamB,并加入生成的随机数rB,以证书的方式用私钥进行签名。
③APA→APB:certAPA,ParamA||rA||rB||IDB||sigcertA(ParamA||rA||rB||IDB)
APA收到消息后,先要对APB的证书进行有效性检查,提取公钥验证签名,然后验证rA是否与刚刚发送的请求消息中的rA相同,如果通过验证,说明ParamB是由APB发送的,并且完整未被篡改。然后,APA将消息③发送给APB,APB收到后进行同样的操作,最终实现系统参数的互换。
(2)公有云内私钥的分发,用户U注册申请成为云S的用户时,用户的ID和H1(P)保存在用户信息数据库中,私钥生成器(pkg)负责将用户的私钥安全地分发给用户U:
①U→pkg:IDU||Epg(rU)||IDpkg||T1||T2
用户U向pkg发送私钥申请参数,T1=gt1,T2=(g-p)t1,rU和t1是U产生的随机数,并计算用户口令P的散列值p=H1(P)。
②pkg→U:IDpkg||IDU||Epg(rU)||T3||T4 ||x||Ek(SKU,rpkg)
pkg收到U的密钥申请后,根据用户的口令数据p来验证T2=(T1)-p是否通过,然后产生两个随机数t2和rpkg,计算T3=gt2和T4=(g-p)t2,再计算出一个x=H2(IDpkg)p,然后根据T1、T2、T3、T4、x等值进行以下运算[9-12]:
k'=e(pt2x,T1)e(H2(IDpkg),T2)
=e(pt2H2(IDpkg)p,gt1)e(H2(IDpkg),(g-p))t1
=e(p,g)t1t2
k=H1(IDu||k')
使用K对系统所产生的用户私钥PKU和随机数rpkg进行对称加密,构造出②发送到用户U。
③U→pkg:Ek(rpkg)
用户收到消息后,根据T1、T2、T3、T4、x等值进行以下运算:
k'=e(pt1x,T3)e(H2(IDpkg),T4)
=e(pt1H2(IDpkg)p,gt2)e(H2(IDpkg),(g-p))t2
=e(p,g)t1t2
k=H1(IDu||k')
此时所计算出的k和pkg计算出的k相同,使用k对②中的Ek(SKU,rpkg)进行解密,得到SKU和pkg的随机数rpkg,并验证在①中发送的随机数rU,然后使用双方共享的对称密钥k对pkg的随机数rpkg进行确认,并发送③。
(3)属性令牌的获取:
①U→AP:Attr_req,IDu||ru||Signcrypt(Attr_req,IDu||ru)
U选取随机数ru和自己的身份ID,使用签名加密算法签名并加密后发送给AP。
②AP→U:Token,IDu||ru||IDAP||rAP||Signcrypt(Token,IDu||ru||IDAP||rAP)
AP收到①后,用自己的私钥和U的公钥进行解密,验证签名,选取随机数rAP构造消息②发送给U。
用户收到②后,用自己的私钥和AP的公钥进行解密验签,如果消息中含有ru,则对AP进行认证。
(4)跨云认证:
①U→S:Token,IDu||ru||IDs||Signcrypt(Token,IDu||ru||IDs)
用户U产生随机数ru,和令牌一起使用自己的私钥和S的公钥进行签名加密,发送给S。
②S→U:IDs||rs||IDu||ru||Signcrypt(IDs||rs||IDu||ru)
S收到①后,用自己的私钥和U的公钥进行解密验签,并选取随机数rs,通过签名加密,发送给U。
2.4.2私有云用户认证过程
私有云用户的认证过程和公有云用户的认证过程相似。首先是云和云之间信任关系的建立,然后是云内私钥的分发,再获取属性令牌,最后访问云内部或其他云中的服务。
在私有云用户的私钥分发过程中,在经过一次私钥分发后,U和pkg共享了一个密钥k,在后续的私钥分发过程中,可以使用k作为密钥通过对称加密方法进行私钥分发,设置密钥k的生命周期,在k到期或必要的情况下重新使用双线性映射来分发私钥,可以降低计算量。
2.4.3PKI证书用户认证过程
(1)U→AP:SigncryptU,AP(certU,rU||Param_Req||Token_req)
(2)AP→pkg:Ek(IDAP||rAP||IDpkg||rpkg||IDU)
(3)pkg→AP:Ek(IDAP||rAP||IDpkg||rpkg||SKU)
(4)AP→U:SigncryptAP,U(certAP,IDAP||rAP||IDU||rU||Param||Token||SKU)
(5)U获取到Param、Token和pkg为其分配的IDU和SKU。
3安全分析
本方案在认证过程中使用了安全散列运算、随机数和IBC算法等,能够有效地防止重放攻击、假冒攻击、篡改攻击、中间人攻击等。
(1)重放攻击和中间人攻击。在消息传递过程中采用了加密传输、加入随机数和签名等机制,接收方能够验证消息的来源和正确性,故可以防止重放攻击和中间人攻击。
(2)假冒攻击和篡改攻击。公有云用户进行身份认证是3种情况中安全性最差的,U和pkg之间传输的消息都包含了离散对数运算过程,U和pkg之间共享的H1(P)和最后生成的SKU都以加密的形式被安全地传递,并且加入了随机数验证过程,攻击者在不知道H1(P)的情况下假冒用户U或者篡改消息是困难的。
4性能分析
身份认证协议的性能主要由计算复杂度和交互的轮数决定,其中交互轮数对身份认证的影响较大。身份认证过程中所进行的运算主要包括加解密运算、哈希运算、对运算、签密运算。本文提出的方案在云间信任关系建立和用户私钥获取过程中,进行了2次哈希运算、4次加解密运算和4次对运算,交互轮数有6次;在属性令牌获取和跨云身份认证过程中,进行了4次基于身份的签密运算,交互轮数有4次。文献[9]中提出的混合云密钥协商协议在计算复杂度上有一定的优势,但存在多个云间相互认证时需要交换N(N-1)/2密钥的情况。本文提出的方案和文献[8]、文献[9]进行了比较,结果见表1。由表1可知,本文提出的方案综合性能更好,适合较大范围的云环境身份认证。
表1 性能对比
5结语
在公有云和私有云的复杂架构下,将基于身份密码技术和PKI体系结合,提出了一种云计算环境下统一的身份认证方案,方案中使用了安全散列运算、随机数和IBC算法等,能够有效防止重放攻击、假冒攻击、篡改攻击和中间人攻击。方案在保证足够高的安全强度前提下,有更好的综合性能。
参考文献:
[1]朱智强.混合云服务安全若干理论与关键技术研究[D].武汉:武汉大学,2011.
[2]江伟玉,高能,刘泽艺,等.一种云计算中的多重身份认证与授权方案[J].信息网络安全,2012(8):7-10.
[3]余幸杰,高能,江伟玉.云计算中的身份认证技术研究[J].信息网络安全,2012(8):71-74.
[4]张立斌,高仲春,张晶.云计算环境下统一身份认证平台的设计与实现[J].工业控制计算机,2013(7):91-92.
[5]吕群.基于云服务的身份认证服务的研究与设计[D].北京:北京邮电大学,2013.
[6]Li H,Dai Y,Tian L,et al. Identity-based Authentication for Cloud Computing[J].Lecture Notes in Computer Science,2009(5):166-177.
[7]Yan L,Rong C M, Zhao G S.Strengthen Cloud Computing Security with Federal Identity Management Using Hierarchical Identity-based Cryptography[J]. Lecture Notes in Computer Science, 2009,LNCS 5931:167-177.
[8]Zhang Q K,Li Y Z,Song D J,et al.Alliance-authentication Protocol in Clouds Computing Environment[J].China Communications,2012,9(7):43-53.
[9]王崇霞,高美真,刘倩,等.混合云联合身份认证与密钥协商协议设计[J].电信科学,2014(4):95-99.
[10]徐雯丽.云计算环境下的身份认证研究[D].南京:南京邮电大学,2013.
[11]周晓斌,许勇,张凌.一种开放式PKI身份认证模型的研究[J].国防科技大学学报,2013(1):169-174.
[12]樊超.云计算环境下基于标识的用户身份认证技术研究[D].广州:广东工业大学,2014.
(责任编辑:姜海芹)
A Unified Identity Authentication in Cloud with ID-based Cryptography
LIU Tuan-qi, ZHANG Hao-jun, ZHAO Zhi-peng
(Henan University of Technology,Zhengzhou 450001,China)
Key words:identity authentication; ID-based cryptography; unified identity authentication