随着云计算产业的发展[1], 云计算的部署模式也在不断更新, 出现了私有云、社区云、公有云以及混合云[2-3]等多种部署模式。公有云部署在开放的互联网环境中, 系统将直面各种恶意攻击者的攻击, 用户资源没有真正意义上的安全边界, 任何云端用户都可以对公有云内的数据和服务进行访问。私有云部署在企业或者组织的内部, 外部云用户无法访问到私有云内部的数据和服务。私有云的企业或组织可以建立起符合自身要求的网络防护体系, 有效防止恶意攻击者的攻击, 但是私有云的基础设施和应用服务的提供能力相对有限。混合云综合了私有云和公有云的优势, 其用户可以将相对重要的数据存放在私有云下, 并且可以使用公有云上丰富的计算资源和服务。
在混合云下存在多个不同的安全域, 不同安全域内采用不同的安全管理机制和密码体系, 每一个安全域只负责域内的身份认证和管理。用户访问不同密码体系的外域时存在跨异构域的身份认证问题。目前, 主流的密码体系为:1)基于身份的IBC密码体系, IBC系统面临密钥托管的问题, 针对该问题, 文献[4]提出无证书密码体制(Certificateless Cryptography, CLC), 有效地解决了密钥托管问题; 2)基于X.509数字证书的公钥基础设施(Public Key Infrastructure, PKI)[5]。实现2种主流密码体系的跨域认证是保证用户跨域通信的前提, 如:文献[6]基于第三方认证中心(Certificate Authority, CA)实现了PKI的域间认证; 文献[7]提出基于网格的PKI多信任域认证模型, 但该模型无法抵抗伪造攻击; 文献[8]提出一种异构系统下的双向签密方案, 实现了PKI和CLC的双向签密; 文献[9]提出PKI和IBC 2种异构域之间的密钥协商方案, 实现等级信任域之间的跨域认证, 但用户端的计算量太大。
目前已有的大部分云端身份认证方案不支持不同密码体系之间的跨域认证, 因此本文提出一种适用于混合云环境的基于PKI和CLC的跨域身份认证方案, 实现CLC和PKI这2种公钥密码系统的用户相互之间的身份认证和安全访问。引入基于PKI的多中心认证管理机制, 以云间认证中心为认证过程的交互中心, 实现用户和云服务提供商之间的双向跨域身份认证, 并完成全流程用户身份信息的管控和追踪。利用临时身份实现用户身份的匿名性[10], 并对用户的临时身份和匿名恶意行为保持可追踪性和可控性。
1 预备知识 1.1 分层ID树结构ID树结构[11]:根节点是所属安全域的身份认证中心的身份标识, 叶节点是安全域中用户和云服务提供商的身份标识。若安全域内可信第三方密钥产生中心(Key Generation Center, KGC)的身份标识为IDKGC, 其安全域内的用户身份标识为IDUser, 定义安全域内用户的身份形式为IDKGC‖IDUser。
1.2 相关困难问题及假设CDH问题:G是阶为q的一个加法循环群, P是它的一个生成元, 对于任意未知的
CDH假设:对于任意算法A, 不存在概率多项式时间内能成功解决CDH问题。
DLP问题:G是阶为q的一个加法循环群, P是它的一个生成元, 对于任意未知的
DLP假设:对于任意算法A, 不存在概率多项式时间内能成功解决DLP问题。
1.3 PKI体系的基本构成和结构在PKI体系[12]中, 认证中心主要负责审核本区域用户身份信息的真实性, 管理用户的数字证书及受理证书的吊销、更新等服务。用户通过轻量级目录访问协议(Lightweight Directory Access Protocol, LDAP)来访问证书库查询或下载证书。PKI体系的基本结构如图 1所示。
|
Download:
|
| 图 1 PKI体系的基本结构 | |
图 2为基于异构系统的跨域身份认证模型, 主要包括4个参与实体:1)认证中心, 认证中心CA(1)负责所管安全域内证书的申请、颁发、撤销、查询等操作, 而云间认证中心CA负责各个不同密码体系安全域的证书申请、颁发、撤销、查询等操作, 以及异域用户身份的双向认证和不同密码体系的临时用户[13]身份转换; 2)用户Up, 通过自身所属安全域内的管理中心进行身份认证, 利用云间认证中心CA完成用户身份合法性确认, 并将确认结果返回至云服务提供商, 实现由可信第三方完成对访问用户的验证; 3)云服务提供商, 为用户提供各种云服务资源, 由自身所属安全域内的管理中心进行认证, 通过云间认证中心CA来确认所属安全域内云服务提供商的合法性, 并将验证结果返回至访问用户, 实现由可信第三方完成对云服务提供商的验证; 4)云内密钥分发中心, 主要进行本安全域中用户认证和部分密钥的生成与分发, 并负责追溯恶意用户的真实身份。
|
Download:
|
| 图 2 基于异构系统的跨域身份认证模型 | |
为便于描述, 设任意2个云分为云1和云2, 云1基于PKI体系, 云2基于CLC体系[14]。在初始阶段云间认证中心CA为其管理的各域(云1和云2)进行认证并签发证书。各安全域的用户对需要访问的异域云服务提供商发起访问请求, 云服务提供商收到请求后, 将用户的身份信息发送至云间认证中心CA, 由云间认证中心CA完成用户的身份认证。若认证通过, 则为用户建立适用于云服务提供商所属密码体系的身份形式[13]并返回给云服务提供商; 若认证不通过, 则直接返回结果。同时用户访问云服务提供商的身份信息至云间认证中心CA, 由CA完成云服务提供商的身份认证, 若认证结果均通过, 则建立信任连接。
虽然在各个安全域的云服务提供商和用户间建立信任关系时, 需要通过云间认证中心CA来建立信任关系, 但是只要建立信任关系, 用户和云服务提供商之间便不再需要云间认证中心CA对此信任关系再提供认证。面对云环境中安全域数量的不断增加, 采用云间多认证中心解决单一认证中心的安全瓶颈和性能瓶颈问题。
2.2 认证方案具体实现过程 2.2.1 系统初始化云间身份管理中心CA负责管理各个系统认证服务器的安全性和其他相关事宜, 同时CA为PKI密码体系和CLC密码系统提供公共参数。为便于描述, CA(1)属于PKI体系, KGC(2)属于CLC体系; 输入安全参数λ, 系统选择q阶的加法循环群G1和乘法循环群G2, 定义双线性映射e:G1×G1→G2, 选择群G1的生成元为P∈G1, 选取3个安全的哈希函数H1, H2, H3; CA随机选择一个系统主秘钥
用户注册具体包括:
1) CA(1)-PKI用户注册
用户uP(1)随机选择参数
发送通过Ppub-1加密的证书申请Encrypt(IDP(1), IDCA(1), TIDP(1), TP(1), Ppub-1, rP(1)P)Ppub-1给CA(1); CA(1)收到消息通过自身私钥解密申请消息, 验证IDP(1)身份是否合法, 并在已注册用户列表中检查IDP(1)是否已经存在, 验证临时身份是否正确
为用户的临时身份TIDP(1)颁发证书CertP(1)={mP(1), Tbegin(1), Tend(1), δP(1), PKp(1), ID(1), ZP(1)}, 其中, mP(1)为用户的证书信息, Tbegin(1)和Tend(1)是证书的有效起始日期和有效结束日期, δP(1)是CA(1)对用户身份的签名信息, δP(1)=s(1)H1(mP(1)‖ID(1))+zP(1)。当认证中心CA(1)首次验证用户身份合法后, 为用户保存注册列表{IDP(1), TIDP(1), TP1(1), rp(1)P, PKP(1)}, TP1(1)是用户证书颁发时间的时间戳, 将证书放置到证书库中进行存储, 同时将为用户颁发的证书{CertP(1), IDP(1), TIDP(1), TP1(1)}PKP(1)发送至用户uP(1), 用户uP(1)下载证书并验证证书的合法性。读取时间戳TP(1), 验证时间戳的合法性判断
2) PKG(2)-CLC用户注册
基于ID树结构[8], KGC(2)体制内的云服务提供商CSC(2)的身份为IDCS=ID(2)‖IDCS(2), 其中, ID(2)是KGC(2)的身份信息, IDCS(2)是CSC(2)的真实身份信息, 用户随机选择秘密值
本文方案在跨域认证部分采用云间用户身份管理中心CA对验证通过的用户身份进行访问身份建立, 并在验证用户身份的同时完成会话密钥的协商和通过安全域发送的密码体制标识来判断访问身份建立方式。其中, CL是CLC密码体系的标识符, PI是PKI密码体系的标识符。若PKI域的用户或云服务提供商的身份信息通过验证, 则由云间认证中心CA完成, 为用户签发基于CLC体系的临时访问身份。同理, 若CLC体系的用户或云服务提供商的身份信息通过验证, 则由云间认证中心CA完成, 为用户签发基于PKI体系的临时访问身份。临时访问身份一旦建立, 用户和云服务商便可不再需要云间认证中心的信任依赖, 并建立不同密码体系之间跨域访问的信任链接。跨域身份认证方案具体实现流程如图 3所示。
|
Download:
|
| 图 3 基于异构系统的跨域身份认证方案实现流程 | |
用户uP(1)随机选择
在CSC(2)收到消息后, 获取mesP判断是否是访问请求, 若不是访问请求, 则拒绝接收; 否则根据TIDP(1)在访问用户列表中读取用户信息, 并验证信息的有效性; 若用户信息不存在, 则将{certP, IDCS, L}Ppub上传至CA。CA从certP获取用户IDP(1)并验证IDP(1)的合法性和
KGC(2)判断结果result, 若通过, 则验证签名正确性
当用户uP(1)收到消息后, 验证(dCS(2)+xCS(2))P
将{IDP, result, δC, βP}Ppub-2发送至CA(2); 若验证结果不通过, 则返回“⊥”; CSC(2)接收到结果后, 若result成立, 则计算用户会话密钥CK=(hPPKCS(2)+FC)skP(1), 并建立服务。
2.3 CLC→PKI跨域认证无证书公钥密码体系CLC下的用户uC(2)欲访问PKI体系下的云资源CSP(1), 部分步骤与PKI⇆CLC跨域认证一致, 故不做赘述。仅阐述不同之处的核心内容。
在云间认证中心CA认证部分, 由于此时是用户无证书公钥密码体系CLC下的用户uC(2)访问云资源CSP(1), 因此此时云间认证中心CA会验证uC(2)的身份信息, 并为uC(2)签发由CA签名的临时证书, 从而建立异构系统用户uC(2)对云服务提供商之间的联系。其余认证模式均与PKI⇆CLC跨域认证一致。
2.4 重复跨域认证由于初次会话时已建立用户身份列表, 因此不需要再对云间身份管理中心进行交互, 减轻了云间身份管理中心的负载。重复跨域认证过程具体如下:
1) 用户uP(1)随机选择
2) 计算w=H3(TIDP(1)‖pw)和hP=H2(mesP‖TIDp(1)‖w‖TPi(1)‖PKPi(1)‖NPi′(1)‖CuPi), 其中, CuPi是会话消息随机参数, 保持了消息的新鲜性, TPi是本地时间戳。
3) 向CSC(2)发送加密后的认证信息Enc{certP, mesPi, TIDPi(1), w, NPi(1), TPi(1), PKP(1), CuPi}PKCS(2)。CSC(2)收到认证信息后, 获取mesPi判断是否是访问请求, 根据用户临时身份TIDP(1)在访问用户列表中获取相应的用户信息, 验证w是否与列表中保存的列表w相同; 验证TPi(1)是否超过规定时间的有效期, 若验证不成立, 则终止验证; 否则计算
4) 用户uP(1)收到重复认证的返回消息后, 检查TCi的新鲜性, 对比与消息新鲜性参数CuPi是否一致, 若以上判断只要出现一次验证不通过, 则终止服务, 停止会话的建立; 否则计算会话密钥CK=(hPPKCS(2)+FC)skP(1)并建立服务。
3 安全性与性能分析 3.1 安全性分析 3.1.1 双向实体认证在每一个安全域中, 域内用户通过原有的认证方式实现用户与安全域内资源的相互认证。在异构系统的跨域认证模型中, 跨域用户通过请求云间身份管理中心CA完成用户和异域云服务提供商之间的双向认证。首先由云服务提供商发起对用户身份的认证, 通过云间身份管理中心CA认证用户所在域的安全性和合法性。然后由用户发起对云服务提供商身份认证, 通过云间身份管理中心CA认证用户所在域的安全性和合法性。由唯一可信的云间身份管理中心CA发送各域成员的认证结果, 完成用户和云服务提供商之间的双向认证, 并在双向认证过程中建立会话协商密钥, 一旦双向认证完毕, 云间认证中心便不再提供信任支撑, 减轻了云间认证中心的负担。
3.1.2 抗重放攻击本文方案在跨域认证部分针对认证信息交互的消息传递过程, 加入时间戳和保持会话新鲜性的随机参数, 只有当读取消息的时间戳参数及新鲜性参数有效以及交互时保持会话新鲜性的随机参数正确时, 才被认证过程参与方认为消息是有效的。恶意攻击者若想将截获的消息重放到新的认证交互过程用来欺骗认证系统, 但由于重放攻击者从截取的认证交互消息中获取的保持会话新鲜性的随机参数和新的认证交互消息中保持会话新鲜性的随机参数是不同的, 重放攻击者无法通过截取的认证交互消息来完成认证过程, 因此本文方案能够有效抵抗重放攻击。
3.1.3 抗替换攻击在本文方案中w和hP均与用户uP(1)的临时身份进行绑定, 其中临时身份TIDP(1)=H1(IDi‖rp(1)P)基于用户真身身份IDi建立。在初次会话时, δP(1)是CA(1)对用户身份的签名信息, δP(1)=s(1)H1(mP(1)‖ID(1))+zP(1)绑定了CA(1)的身份, dCS(2)+xCS(2)=s(2)H1(TIDCS(2))+xCS(2)中绑定了CSC(2)的身份信息; 在重复跨域认证中, w=H3(TIDP(1)‖pw)、hP=H2(mesP‖TIDp(1)‖w‖T(1)Pi‖PK(1)Pi‖NPi′(1)‖CuPi)都进行了uP(1)身份信息的绑定, 若攻击者替换相互认证消息中的用户身份, 则无法通过参与方的接收验证。因此, 本文方案可以抵抗替换攻击。
3.1.4 抗中间人攻击和密钥安全性分析由于交互认证时所有参数都是通过目的方公钥加密后进行发送, 因此不仅避免了安全信道的使用, 还防止了中间人对参数的获取, 避免中间人攻击, 并且认证中涉及的计算都是基于离散对数等难题来保证参数信息的安全, 使得密钥协商参数可以得到有效保护。
3.1.5 双向匿名的可追踪性在认证部分uP(1)和CSC(2)都使用临时身份TIDP(1)和TIDC(2)来代替原本的身份形式, 实现用户和云服务提供商的双向匿名。若uP(1)发送了非法消息, 则CSC(2)会将TIDP(1)提交至云1中的CA(1); CA(1)会查询为用户签发证书时保存用户真实信息的注册列表, 并通过TIDP(1)
基于PKI和CLC的异构密码体系的成员在云环境下实现双向认证, 并具有匿名追踪的特性。在认证过程中可以有效抵抗重放攻击、中间人攻击和替换攻击。表 1列出了本文方案与文献[7, 14-15]方案的安全性比较结果, 表明本文方案具有更高的安全性。其中, √表示满足条件, ×表示不满足条件。
|
下载CSV 表 1 各跨域身份认证方案的安全性比较结果 |
在性能分析方面, 将本文方案与文献[9, 16-18]方案进行比较。由于点乘运算的时间相对计算开销较小, 因此只考虑计算开销较大的双线性运算和指数计算的计算开销。在表 2中, Te表示双线性运算时间, TE表示计算指数计算时间, √表示满足条件, ×表示不满足条件。在计算效率方面, 文献[16]基于无证书密码体系的认证方案, 其在用户注册部分执行3次指数计算, 在首次跨域认证部分执行4次指数运算和3次双线性运算, 在重复跨域阶段执行3次双线性运算。文献[17]方案在用户注册阶段执行3次指数计算, 在首次跨域认证部分执行5次指数运算和3次双线性运算, 在重复跨域阶段执行3次双线性运算。文献[16-18]方案均未实现对异构系统的跨域认证。文献[9]方案实现了异构系统的跨域认证, 但是在首次建立跨域认证时需执行3次双线性运算。本文方案实现了异构系统下的跨域认证, 并且使用较低计算时间的点乘运算和hash运算, 相对于文献[16-18]方案在计算效率较优的同时, 完成了异构系统的跨域认证, 而相对于文献[9]方案计算效率更优。
|
下载CSV 表 2 各跨域身份认证方案的计算效率比较结果 |
本文提出一种混合云环境下基于异构系统的跨域身份认证方案, 结合当前云环境部署模式上的分布复杂性, 根据PKI和CLC组成的异构密码系统, 通过云间身份认证中心完成对各安全域的管理和用户跨域临时身份的验证和转换。与已有跨域身份认证方案相比, 本文方案在保证安全性的同时, 实现了对2种密码系统安全域的跨域认证, 并且跨域认证效率较高。下一步将研究云环境下无可信中心的异构系统跨域认证方案。
| [1] |
张玉清, 王晓菲, 刘雪峰, 等. 云计算环境安全综述[J]. 软件学报, 2016, 27(6): 1328-1348. ( 0)
|
| [2] |
LINTHICUM D S. Emerging hybrid cloud patterns[J]. IEEE Cloud Computing, 2016, 3(1): 88-91. DOI:10.1109/MCC.2016.22 ( 0)
|
| [3] |
BELTRAN V. Characterization of Web single sign-on protocols[J]. IEEE Communications Magazine, 2016, 54(7): 24-30. DOI:10.1109/MCOM.2016.7514160 ( 0)
|
| [4] |
AL-RIYAMI S S, PATERSON K G.Certificateless public key cryptography[C]//Proceedings of International Conference on the Theory and Application of Cryptology and Information Security.Berlin, Germany: Springer, 2003: 452-473. https://link.springer.com/chapter/10.1007%2F978-3-540-40061-5_29
( 0)
|
| [5] |
YAKUBOV A, SHBAIR W M, WALLBOM A, et al.A blockchain-based PKI management framework[C]//Proceedings of 2018 IEEE/IFIP Network Operations and Management Symposium.Washington D.C., USA: IEEE Press, 2018: 1-6.
( 0)
|
| [6] |
GABRIEL L M, MANUEL G P, GREGORIO M P, et al. PKI-based trust management in inter-domain scenarios[J]. Computers and Security, 2010, 29(2): 278-290. DOI:10.1016/j.cose.2009.08.004 ( 0)
|
| [7] |
路晓明, 冯登国. 一种基于身份的多信任域网格认证模型[J]. 电子学报, 2006, 34(4): 577-582. DOI:10.3321/j.issn:0372-2112.2006.04.001 ( 0)
|
| [8] |
刘景伟, 张俐欢, 孙蓉. 异构系统下的双向签密方案[J]. 电子与信息学报, 2016, 38(11): 2948-2953. ( 0)
|
| [9] |
YUAN Chao, ZHANG Wenfang, WANG Xiaomin. EIMAKP:heterogeneous cross-domain authenticated key agreement protocols in the EIM system[J]. Arabian Journal for Science and Engineering, 2017, 42(8): 3275-3287. DOI:10.1007/s13369-017-2447-9 ( 0)
|
| [10] |
ZHANG Manjun, ZHANG Yan.Certificateless anonymous user authentication protocol for cloud computing[C]//Proceedings of 2015 International Conference on Intelligent Transportation, Big Data and Smart City.Washington D.C., USA: IEEE Press, 2015: 200-203. https://ieeexplore.ieee.org/document/7384002
( 0)
|
| [11] |
LI Hongwei.Identity-based authentication for cloud computing[C]//Proceedings of IEEE International Conference on Cloud Computing.Berlin, Germany: Springer, 2009: 157-166. https://link.springer.com/chapter/10.1007%2F978-3-642-10665-1_14
( 0)
|
| [12] |
杨小东, 安发英, 杨平, 等. 云环境下基于代理重签名的跨域身份认证方案[J]. 计算机学报, 2017, 40(4): 1-18. ( 0)
|
| [13] |
周彦伟, 杨波, 吴振强, 等. 基于身份的跨域直接匿名认证机制[J]. 中国科学:信息科学, 2014, 44(9): 1102-1120. ( 0)
|
| [14] |
HE Debiao, ZEADALLY S, KUMAR N, et al. Anonymous authentication for wireless body area networks with provable security[J]. IEEE Systems Journal, 2017, 11(4): 2590-2601. DOI:10.1109/JSYST.2016.2544805 ( 0)
|
| [15] |
NI Liang, CHEN Gongliang, LI Jianhua, et al. Strongly secure identity-based authenticated key agreement protocols without bilinear pairings[J]. Information Sciences, 2016, 367(C): 176-193. ( 0)
|
| [16] |
杨小东, 安发英, 杨平, 等. 基于无证书签名的云端跨域身份认证方案[J]. 计算机工程, 2017, 43(11): 128-133. DOI:10.3969/j.issn.1000-3428.2017.11.021 ( 0)
|
| [17] |
王中华, 韩臻, 刘吉强, 等. 云环境下基于PTPM和无证书公钥的身份认证方案[J]. 软件学报, 2016, 27(6): 1523-1537. ( 0)
|
| [18] |
刘莎, 朱淑华. 多服务器环境下的身份认证方案[J]. 计算机工程, 2015, 41(3): 120-124. DOI:10.3969/j.issn.1000-3428.2015.03.023 ( 0)
|
2019, Vol. 45

0)