刘 英,莎仁高娃,张利文
(1.内蒙古机电职业技术学院 信息与管理工程系, 呼和浩特 010010;2.内蒙古大学 教务处, 呼和浩特 010010;3.内蒙古科技大学 分析测试中心, 内蒙古 包头 014010)
移动云计算是移动终端设备通过移动云应用将数据处理和数据存储外包给云中资源丰富的计算平台的一种综合性技术。移动云计算可以有效降低移动设备计算资源、存储资源和电量的开销,提升复杂应用在移动终端的可用性[1]。随着移动云计算的广泛应用,安全性成为移动云计算的重点关注问题[2],直接影响用户与数据中心的安全。移动云计算的安全机制主要包括身份认证、访问控制、底层虚拟机之间的通信协议等部分[3]。其中身份认证是云计算的第1道防线[4]。随着移动云计算规模的不断扩大,用户规模与日俱增,为移动云计算的身份认证带来了极大的挑战[5]。
基于单一因子的认证方案现已无法满足当前移动云计算的安全要求,而双向多因子认证方案具有较高的安全性,获得了广泛的应用[6]。虽然通过众多的多因子安全认证方案可获得极高的安全性级别,但鲜有方案能够满足全面的安全性与计算效率的要求[7]。例如:文献[8]设计了双向的认证方案,但该方案无法抵御服务器假冒攻击,且会话秘钥的安全性与用户隐私保护的性能较差。文献[9]实现了较好的匿名性,但其计算成本较高。文献[10]抵御伪装攻击的效果较好,但其对用户的隐私保护与反追踪的效果较差。
现有的安全认证方案无法完全地满足移动云计算所需的几点要求:会话秘钥的安全性、用户的隐私性、双向认证性、不可追踪性、抵御常见攻击的能力,其中任意一项缺陷均可能造成巨大的危险与严重的后果,因此认证方案应当具备完全的安全性能力[11]。本文为分布式移动云计算设计了隐私保护的双向认证方案,移动用户与服务提供者之间的会话秘钥具有安全性,且可抵御常见的各种攻击。此外,本方案具有隐私保护能力与较低的计算、通信成本。
本文采用文献[8]的系统模型,表1所示是系统模型的相关术语与意义。
表1 文献[8]模型的参数定义
建立智能卡模块参数的步骤如下:
步骤1SCG选择2个双线性映射分组G1与G2,选择条件为:素数阶为p,SCG生成模块P∈G1,g=e(P,P)→G2,其中G1×G1→G2是一个双线性映射。
步骤4最终SCG申明公共的参数:{G1,G2,p,e,P,Ppub,g,H1(),H2(),H3(),H4(),H5(),H6()}。
每个移动用户Ui与服务提供者Sj注册SCG来发布秘密权证。该权证被用来双向认证并建立Ui与Sj之间的会话秘钥。
1.2.1用户注册阶段
用户Ui注册SCG的步骤如下:
步骤1Ui通过安全信道将身份IDi发送到SCG。
步骤3Ui使用模糊器生成函数Gen(·)[9]计算(σi,θi)=Gen(fi),然后计算用户的生物学特征fi(指纹、人脸特征等)与Ei,Lt=Ki,Lt⊕H5(pwi‖σi),其中θi是公共复制参数[9],σi是生物特征的秘钥,pwi是Ui的选择密码。此外,Ui计算ei=H5(IDi||pwi||σi)。
步骤4Ui将信息{θi,Ei,Lt,ei,Gen(·),Rep(),H1(),H2(),H3(),H4(),H5(),H6(),t}保存于用户的移动设备中,其中t是模糊器Rep(·)程序的误差容忍阈值。
1.2.2服务提供者的注册阶段
服务提供者Sj加入云系统的步骤如下:
步骤1Sj通过安全信道将其身份SIDj发送到SCG;
步骤3Sj将收到的Kj保存于安全的位置。
移动用户Ui与服务提供者Sj的认证与秘钥建立过程如下所示:
对于比特长度不等的两个数进行比特XOR运算(A⊕B)的情况,本文采用文献[12]的策略:首先将两个数中的小数补齐前导零(与大数的比特长度相同);然后,再将两个数进行比特级的XOR运算。如果两个数A与B分别是64、8 bit,那么首先将B的前导比特位补充56个零,然后A与修改的B进行比特级的XOR操作,获得64 bit的结果。
步骤5Sj接收M3之后,计算(ID||Lti||SIDj)=C1⊕H2(sk‖SIDj),然后验证Ui的权证,验证的条件为:e(S1,H1(IDi||Lti)P+Ppub)=g1×gsk,如果满足条件,则Sj认为Ui是合法注册的移动用户,并认为秘钥sk是Ui与Sj之间共享的会话秘钥;否则,Sj中止当前的会话。
图1总结了本方案的认证过程与秘钥协商过程。
图1 认证方案的认证过程
双向认证方案的正确性证明:在双向认证成功之后,用户Ui与服务提供者Sj之间建立了相同的会话秘钥:
2) 服务提供者Sj计算:
为提高安全性,应当周期地更新用户Ui的密码与生物学特征,更新过程如下:
文献[13]与文献[8]是近期来自著名期刊的两种移动云计算用户认证方案。文献[13]是一种支持隐私保护的分布式移动云计算安全认证方案,且支持交互认证。文献[8]则是一种基于椭圆曲线乘法与动态随机置乱的分布式移动云计算安全认证方案。文献[8]和[13]也考虑了生物特征作为秘钥,本文方案将与其进行比较。
移动终端的处理能力有限,所以计算成本是认证算法的重要指标。在此使用文献[14-15]的计算成本统计方案。表2所示是本方案在不同终端的计算成本比较。本方案的移动终端(Ui)采用iPhone4S与iPhone6,服务提供者(Sj)的CPU为Intel Core i5 6500。假设Tmul与Tpar分别表示椭圆曲线乘法(G1)与非对称双线性成对运算(G2)所需的计算时间,指数运算的成本等于一个椭圆曲线的乘法运算。此外,忽略函数运算与比特级XOR运算的计算成本。表2中显示,非对称双线性成对运算所需的时间远高于椭圆曲线乘法,但是非对称双线性成对运算对数据的置乱效果较好。
表3所示是3种加密方案的计算成本比较。本方案Ui与Sj所需的计算成本分别为5Tmul≈52 ms,4Tmul+2Tpar≈9.8 ms。文献[13]方案的Ui计算成本为Tpar+3Tmul≈105.3 ms,Sj计算成本为Tpar+2Tmul≈4.9 ms;文献[8]方案的Ui计算成本为5Tmul≈52 ms,Sj计算成本为4Tmul+2Tpar≈9.8 ms。综合实验结果可看出,本认证方案明显优于文献[13]。由于本方案与文献[8]的椭圆曲线乘法和非对称双线性成对运算数量相等,所以两者的计算成本接近。
表2 加密操作的计算时间 ms
表3 不同认证方案的计算成本比较(Ui为iPhone4S) ms
假设本方案的Req、身份ID、Lti与hash输出的bit长度分别是32、32、32、160 bit,椭圆曲线1个点P=(Px,Py)的bit长度是(160+160)=320 bit。表4所示是本认证方案与文献[13,8]两个方案的通信成本比较,本方案的通信消息M1、M2与M3所需的数据量分别为(32+320)=352、(512+160)=672与(320+160)=480 bit,故本方案的总通信成本为1 504 bit,文献[13,8]的总通信成本分别为992 bit与1 696 bit。本认证方案的通信成本明显低于文献[8],说明可提高移动通信的认证效率。
表4 不同认证方案的通信成本比较
表5所示是本方案与文献[13,8]中方案的安全性能比较。文献[13]不具备SK-安全性,且无法保证用户的权证隐私;而文献[8]不具备SK-安全性,且对用户的权证隐私保护效果较弱,无法抵御伪装攻击。虽然文献[13]方案中服务器端的通信成本与计算成本均较低,但其安全性也较低,容易受到恶意用户的攻击。本认证方案的服务器端计算成本与通信成本较高,但客户端的计算成本与通信成本较低,满足移动云计算服务器端计算、通信能力强而移动终端计算、通信能力弱的特点。与其他两种认证方案相比,本方案可抵御主流的恶意攻击,并实现了全面的安全与隐私保护性能。
表5 不同认证方案的安全性能比较
基于NS2.35仿真器[16]对本文双向认证方案进行仿真实验。NS2仿真器是目前使用较为广泛的一种网络仿真器。
2.4.1仿真参数设置
表6所示是NS2仿真器的仿真参数,采用SHA-1 hash算法,hash输出、随机数与时间戳的bit长度分别设为160、128、32 bit。共设置3个仿真场景,所有场景的认证消息M1、M2、M3长度分别为352、672、480 bit。
表6 NS2仿真器的仿真参数设置
2.4.2吞吐量结果
吞吐量定义为每个单位时间传输的比特数量。吞吐量的计算方法为:吞吐量=(nr×npkt)/Td,其中Td表示仿真总时间,npkt是一个数据包的比特量,nr是接收数据包的总数量。
仿真吞吐量的结果如表7所示。随着用户Ui数量的线性增加,网络吞吐量也近似地呈线性递增,仿真结果是较为理想的情况。
表7 NS2仿真器的吞吐量结果
2.4.3负载量结果
仿真统计了每个服务提供者Sj的负载量,负载量计算为:负载量=((ns+nr)×npkt)/Td,Td表示仿真总时间,ns是发送的数据包总数量,nr是接收的数据包总数量,npkt是一个数据包的比特量。3个仿真场景下全部服务提供者的总负载如表8所示。随着用户数量的增加,用户与服务提供者的交互增加,导致了服务提供者的负载量增加。
表8 NS2仿真器的负载量结果
2.4.4数据包传递率结果
数据包传递率定义为发送的数据包总数量与接收数据包总数量的比值。3个仿真场景的数据包传递率结果如表9所示。用户数量越高,用户与服务提供者的消息量越多,导致网络的拥塞情况加剧,所以随着用户数量的增加,数据包传递率降低。本文的双向认证方案是一种轻量级方案,数据包的数据量均较小,所以数据包传递率的结果受用户数量的影响较小。
表9 NS2仿真器的数据包传递率结果
2.4.5能耗结果
服务提供者的能耗Econ计算为:Econ=(ei-er)/Td,其中Td是仿真总时间,ei是Sj的初始化能量,er是Sj的剩余能量。统计3个仿真场景下所有服务提供者的平均能耗,如表10所示。随着用户数量的增加,用户与服务提供者的交互增加,导致服务提供者的能耗增加。
表10 NS2仿真器的能耗结果
本文为分布式移动云计算设计了隐私保护的双向认证方案,移动用户与服务提供者之间的会话秘钥具有安全性,且可抵御常见的各种攻击。此外,本方案具有隐私保护能力与较低的计算、通信成本。为了提高安全性,本方案周期地更新用户的密码与生物学特征,进一步保证安全性能。未来将关注zero-day的恶意攻击行为,为移动云计算的智能终端提供第二层的防护方案,将恶意行为与其用户阻挡在云计算内部系统之外。