«上一篇 下一篇»
  计算机工程  2019, Vol. 45 Issue (10): 13-18  DOI: 10.19678/j.issn.1000-3428.0053469
0

引用本文  

江泽涛, 时晨. 混合云环境下基于异构系统的跨域身份认证方案[J]. 计算机工程, 2019, 45(10), 13-18. DOI: 10.19678/j.issn.1000-3428.0053469.
JIANG Zetao, SHI Chen. Cross-Domain Identity Authentication Scheme Based on Heterogeneous Systems in Hybrid Cloud Environment[J]. Computer Engineering, 2019, 45(10), 13-18. DOI: 10.19678/j.issn.1000-3428.0053469.

基金项目

国家自然科学基金(61572147, 61876049);广西科技计划项目(AC16380108);广西图像图形与智能处理重点实验室项目(GIIP201701);广西研究生教育创新计划项目(2018YJCX46)

通信作者

时晨(通信作者), 硕士研究生

作者简介

江泽涛(1961-), 男, 教授、博士, 主研方向为云计算、图像处理、网络信息安全

文章历史

收稿日期:2018-12-24
修回日期:2019-02-21
混合云环境下基于异构系统的跨域身份认证方案
江泽涛 , 时晨     
桂林电子科技大学 广西图像图形与智能处理重点实验室, 广西 桂林 541004
摘要:在混合云环境下,为满足身份认证方案在不同密码系统之间的跨域认证需求,提出一种基于公共密钥基础设施(PKI)和无证书密码体制(CLC)的跨域身份认证方案。引入基于PKI的多中心认证管理机制,对不同密码系统安全域的用户匿名身份进行管控和追踪。在用户和云服务提供商的双向认证过程中,完成会话密钥的协商和不同密码系统匿名身份的转换。分析结果表明,该方案在实现不同密码系统之间跨域身份认证的同时,可抵抗重放攻击、替换攻击和中间人攻击,具有较高的安全性及计算效率。
关键词混合云    异构系统    跨域认证    匿名性    双向认证    
Cross-Domain Identity Authentication Scheme Based on Heterogeneous Systems in Hybrid Cloud Environment
JIANG Zetao , SHI Chen     
Guangxi Key Laboratory of Image and Graphic Intelligent Processing, Guilin University of Electronic Technology, Guilin, Guangxi 541004, China
Abstract: In the hybrid cloud environment, in order to meet the cross-domain authentication requirements of identity authentication schemes between different cryptosystems, a cross-domain identity authentication scheme based on Public Key Infrastructure(PKI) and Certificateless Cryptography(CLC) is proposed.The PKI-based multi-center authentication management mechanism is introduced to control and track the anonymous identity of users in different cryptosystem security domains.In the bidirectional authentication process between the user and the cloud service provider, the negotiation of the session key and the conversion of the anonymous identity of different cryptosystems are completed.The analysis results show that the scheme can resist replay attacks, replacement attacks and man-in-the-middle attacks while achieving cross-domain identity authentication between different cryptosystems, and it has high security and computational efficiency.
Key words: hybrid cloud    heterogeneous system    cross-domain authentication    anonymity    bidirectional authentication    
0 概述

随着云计算产业的发展[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, 定义安全域内用户的身份形式为IDKGCIDUser

1.2 相关困难问题及假设

CDH问题:G是阶为q的一个加法循环群, P是它的一个生成元, 对于任意未知的$a, b \in \mathbb{Z}_{q}^{*} $, 给定aP, bPG, 计算abP

CDH假设:对于任意算法A, 不存在概率多项式时间内能成功解决CDH问题。

DLP问题:G是阶为q的一个加法循环群, P是它的一个生成元, 对于任意未知的$a \in \mathbb{Z}_{q}^{*} $, 给定aPG, 计算a

DLP假设:对于任意算法A, 不存在概率多项式时间内能成功解决DLP问题。

1.3 PKI体系的基本构成和结构

在PKI体系[12]中, 认证中心主要负责审核本区域用户身份信息的真实性, 管理用户的数字证书及受理证书的吊销、更新等服务。用户通过轻量级目录访问协议(Lightweight Directory Access Protocol, LDAP)来访问证书库查询或下载证书。PKI体系的基本结构如图 1所示。

Download:
图 1 PKI体系的基本结构
2 基于异构系统的跨域身份认证方案 2.1 基于异构系统的跨域身份认证模型

图 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×G1G2, 选择群G1的生成元为PG1, 选取3个安全的哈希函数H1, H2, H3; CA随机选择一个系统主秘钥$s \in \mathbb{Z}_{q}^{*} $, 计算系统公钥Ppub=sP; 公开系统参数params={q, G1, G2, e, P, H1, H2, H3, Ppub}; CA(1)随机选择一个系统主秘钥$s^{(1)} \in \mathbb{Z}_{q}^{*} $, 计算系统公钥Ppub-1=s(1)P; 并对外公开系统参数params1={q, G1, G2, e, P, H1, H2, H3, Ppub-1}; KGC(2)随机选择一个系统主秘钥$s^{(2)} \in \mathbb{Z}_{q}^{*} $, 计算系统公钥Ppub-2=s(2)P; 公开参数params2={q, G1, G2, e, P, H1, H2, H3, Ppub-2}。

2.2.2 用户注册

用户注册具体包括:

1) CA(1)-PKI用户注册

用户uP(1)随机选择参数$x_{P}^{(1)}, r_{P}^{(1)} \in \mathbb{Z}_{q}^{*}$, 则用户私钥为skP(1)=xp(1), 公钥为PKP(1)=xp(1)P, 用户计算临时身份[7]TIDP(1)=H1(IDirp(1)P), 用户通过证书库下载自身根证书, 提取公钥Ppub-1, 读取本地时间戳TP(1)

发送通过Ppub-1加密的证书申请Encrypt(IDP(1), IDCA(1), TIDP(1), TP(1), Ppub-1, rP(1)P)Ppub-1CA(1); CA(1)收到消息通过自身私钥解密申请消息, 验证IDP(1)身份是否合法, 并在已注册用户列表中检查IDP(1)是否已经存在, 验证临时身份是否正确$TID_P^{(1)}\mathop = \limits^? {H_1}\left( {ID_P^{(1)}||r_p^{(1)}P} \right)$以及时间戳TP(1)的有效性, 若验证不通过, 则返还申请失败信息, 若验证通过, 则CA(1)随机选择$z_{P}^{(1)} \in \mathbb{Z}_{q}^{*}$, 计算ZP(1)=zP(1)P

为用户的临时身份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), 验证时间戳的合法性判断$\delta _P^{(1)}P\mathop = \limits^? {P_{{\rm{pub - 1 }}}}{H_1}\left( {m_p^{(1)}} \right) + Z_P^{(1)}$是否成立, 若不成立, 则拒绝接收证书。

2) PKG(2)-CLC用户注册

基于ID树结构[8], KGC(2)体制内的云服务提供商CSC(2)的身份为IDCS=ID(2)IDCS(2), 其中, ID(2)KGC(2)的身份信息, IDCS(2)CSC(2)的真实身份信息, 用户随机选择秘密值$x_{C S}^{(2)}, r_{C S}^{(2)} \in \mathbb{Z}_{q}^{*}$, 计算用户公钥PKCS(2)=xCS(2)P以及临时身份TIDCS(2)=H1(IDCSrCS(2)P); 用户CSC(2)发送通过Ppub-2加密的注册申请Encrypt(IDCS, TIDCS(2), PKCS(2), rCS(2)P)Ppub-2KGC(2); KGC(2)接收到用户消息后, 通过自身系统主秘钥s(2)进行解密, 验证IDCS身份是否合法以及临时身份的正确性$TID_{CS}^{(2)}\mathop = \limits^? {H_1}\left( {I{D_{CS}}||r_{CS}^{(2)}P} \right)$, 若验证不通过, 则返回申请失败信息; 若验证通过, 则计算QCS=H1(TIDCS(2))以及用户部分私钥dCS(2)=s(2)QCS; 读取本地时间戳TCS(2)并保存用户注册列表{IDCS, TIDCS(2), PKCS(2), rCS(2)P, TCS(2)}; 将QCS, dCS(2)通过安全信道返回给uCS(2); IDC(2)计算私钥skCS(2)=xCS(2)dCS(2)

2.2.3 PKI⇆CLC跨域认证

本文方案在跨域认证部分采用云间用户身份管理中心CA对验证通过的用户身份进行访问身份建立, 并在验证用户身份的同时完成会话密钥的协商和通过安全域发送的密码体制标识来判断访问身份建立方式。其中, CL是CLC密码体系的标识符, PI是PKI密码体系的标识符。若PKI域的用户或云服务提供商的身份信息通过验证, 则由云间认证中心CA完成, 为用户签发基于CLC体系的临时访问身份。同理, 若CLC体系的用户或云服务提供商的身份信息通过验证, 则由云间认证中心CA完成, 为用户签发基于PKI体系的临时访问身份。临时访问身份一旦建立, 用户和云服务商便可不再需要云间认证中心的信任依赖, 并建立不同密码体系之间跨域访问的信任链接。跨域身份认证方案具体实现流程如图 3所示。

Download:
图 3 基于异构系统的跨域身份认证方案实现流程

用户uP(1)随机选择$n_{P}^{(1)} \in \mathbb{Z}_{q}^{*}$, 计算会话密钥协商参数NP(1)=np(1)skP(1)PKCS(1)NP′(1)=nP(1)P2; 用户uP(1)输入临时身份TIDP(1)和口令pw[9], 随机选取$C u_{P} \in \mathbb{Z}_{q}^{*}$; 计算w=H3(TIDP(1)pw)、hP=H2(mesPTIDp(1)wTP(1)PKP(1)NP′(1)CuP), 其中, CuP是会话消息随机参数, 保持消息的新鲜性, TP是本地时间戳; 向CSC(2)发送证书信息{certP, mesP, TIDP(1), w, NP(1), TP(1), PKP(1), CuP, Ppub-1}Ppub-2

CSC(2)收到消息后, 获取mesP判断是否是访问请求, 若不是访问请求, 则拒绝接收; 否则根据TIDP(1)在访问用户列表中读取用户信息, 并验证信息的有效性; 若用户信息不存在, 则将{certP, IDCS, L}Ppub上传至CACAcertP获取用户IDP(1)并验证IDP(1)的合法性和$\delta _P^{(1)}P\mathop = \limits^? {P_{{\rm{pub}} - 1}}{H_1}\left( {m_p^{(1)}||I{D^{(1)}}} \right) + Z_P^{(1)}$, 若验证通过, 则为用户建立临时访问身份IDP=ID(2)TIDP(1), 并且随机选择$\alpha \in \mathbb{Z}_{q}^{*}$, 计算δP=sH1(IDP)+α, 将Enc{IDP, result, δP, αP}Ppub-2发送至KGC(2); 若验证结果不通过, 则返回“⊥”。

KGC(2)判断结果result, 若通过, 则验证签名正确性${\delta _P}P\mathop = \limits^? {P_{{\rm{pub }}}}{H_1}\left( {I{D_P}} \right) + \alpha P$, 确定消息来源, 并读取本地时间戳Tlocal。为保证安全性并建立较短的临时身份访问有效时间长度TTemp, 为用户建立临时访问列表{IDp, TIDP, Tlocal, TTemp, TP(1), PKP(1)}, 并计算$K=\frac{M_{P}^{(1)} P^{2}}{x_{C S}^{(2)} P K_{P}^{(1)}}=N_{P}^{'(1)}$, hP=H2(mesPTIDp(1)wTP(1)PKP(1)KCuP)。随机选择$f_{C} \in \mathbb{Z}_{q}^{*}$, 计算FC=xCS(2)fCP和会话密钥CK=(hP+fC)PKP(1)xCS(2); CSC(2)收到用户身份的认证结果后, 向用户发送Encrypt(TIDCS(2), {IDCS, rCS(2)P}Ppub, dCS(2)+xCS(2), PKCS(2), FC, CuP)PKP(1)

当用户uP(1)收到消息后, 验证(dCS(2)+xCS(2))P$\mathop = \limits^? $Ppub-2H1(TIDCS(2))+PKCS(2)是否成立, 若验证通过, 则将{{IDCS, rCS(2)P}Ppub, TIDCS(2), dCS(2)+xCS(2), PKCS(2)}Ppub发送至CACA获取消息后, 验证ID(2)安全域的合法性并检查其证书有效期以及TIDCS(2)$\mathop = \limits^? $H1(IDCSrCS(2)P), dCS(2)+xCS(2))P$\mathop = \limits^? $Ppub-2H1(TIDCS(2))+PKCS(2), 验证完成后, 随机选择$\beta \in \mathbb{Z}_{q}^{*}$, 计算签名δC=sH1(IDP)+β

将{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)随机选择$n_{P_{i}}^{(1)} \in \mathbb{Z}_{q}^{*}$, 计算会话密钥协商参数NPi(1)=nPi(1)skP(1)PKCS(1)NPi′(1)=nPi(1)P2; 用户uP(1)输入临时身份TIDP(1)和口令pw, 随机选取$C u_{P_{i}} \in \mathbb{Z}_{q}^{*}$

2) 计算w=H3(TIDP(1)pw)和hP=H2(mesPTIDp(1)wTPi(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)是否超过规定时间的有效期, 若验证不成立, 则终止验证; 否则计算$K=\frac{M_{P}^{(1)} P^{2}}{x_{C S}^{(2)} P K_{P}^{(1)}}=N_{P_{i}}^{\prime(1)}$hPi=H2(mesPiTIDp(1)wTPi(1)PKP(1)KCuPi); 随机选择$f_{C_{i}} \in \mathbb{Z}_{q}^{*}$, 计算FCi=xCS(2)fCiP和会话密钥CK=(hPi+fCi)PKP(1)xCS(2); CSC(2)收到用户身份的认证结果后, 读取本地时间戳TCi, 向用户uP(1)发送Enc(TIDCS(2), {IDCS, rCS(2)P}Ppub, dCS(2)+xCS(2), PKCS(2), FCi, TCi, CuPi)PKCS(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(IDirp(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(mesPTIDp(1)wT(1)PiPK(1)PiNPi′(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)$\mathop = \limits^? $H1(IDP(1)rP(1)P)再次确定IDP(1)的临时身份是否为TIDP(1), 若验证通过则说明IDP(1)就是临时身份TIDP(1)的拥有者。当CSC(2)提供恶意服务时, 将其临时身份TIDC(2)发送至CLC体系的密钥分发中心KGC(2); KGC(2)会查询CSC(2)的注册列表, 计算方法同上, 若通过验证, 则确定IDCS提供恶意服务。因此, 本文方案具有双向匿名的可追踪性。

3.1.6 跨域身份认证方案安全性比较

基于PKI和CLC的异构密码体系的成员在云环境下实现双向认证, 并具有匿名追踪的特性。在认证过程中可以有效抵抗重放攻击、中间人攻击和替换攻击。表 1列出了本文方案与文献[7, 14-15]方案的安全性比较结果, 表明本文方案具有更高的安全性。其中, √表示满足条件, ×表示不满足条件。

下载CSV 表 1 各跨域身份认证方案的安全性比较结果
3.2 性能分析

在性能分析方面, 将本文方案与文献[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 各跨域身份认证方案的计算效率比较结果
4 结束语

本文提出一种混合云环境下基于异构系统的跨域身份认证方案, 结合当前云环境部署模式上的分布复杂性, 根据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)