张志勇 常亚楠 王 剑 向 菲
(河南科技大学信息工程学院 河南 47102)
云计算是以虚拟化技术为基础,以网络为载体提供基础架构、平台、软件等服务为形式,整合大规模可扩展的计算、存储、数据、应用等分布式计算资源进行协同工作的超级计算模式。在云计算模式下用户不再需要购买复杂的硬件和软件,只需要支付相应的费用给“云计算”服务提供商,通过网络就可以方便地获取需要的计算、存储等资源。根据国际数据公司(IDC)的预测,全球云计算的市场规模将从2008年的160亿美元增加到2012年的420亿美元,占总投入比例也将由4.2%上升到8.5%。 然而近两年来,云服务提供商和用户之间频频出现各种不安全事件,2009年3月7日,谷歌发生了大批用户文件外泄事件。而在通信过程中,数据信息被接收窃听、篡改、重放、干扰等,用户身份也容易被冒充。由此可见,云计算潜在的各种风险和的安全问题更加突出,这成为目前阻碍云计算发展的最大阻力。
可信计算TCG(Trusted Computing Group,可信计算组织)针对目前计算机系统不能从根本上解决安全问题而提出的,通过在计算机系统中集成专用硬件模块建立信任源点,利用密码机制建立信任链,构建可信赖的计算环境,使得从根本上解决。
计算系统的安全问题成为可能。通过可信计算平台TPM(Trusted Platform Module)的功能支持,可信计算平台能够实现可信度量和报告、数据保护等安全服务。可信计算技术的产生为云计算提供了很好的技术支持,那么,将云计算和可信计算技术的融合研究将成为保障云安全的一个重要方向,文献[3,15]提出“可信云”思想。文献[5,19] 将云计算系统与可信计算系统结合提出了一个新的可信的云计算系统解决云计算的安全问题。本文就目前部分用可信技术设计安全协议来支持云计算的研究现状和成果进行综述。将可信接入方案运用到云环境中,并用安全协议来保证整个环境的安全。
随着信息和通信技术的快速发展,计算模式经历了从最初把任务集中交给大型处理机模式,到后来发展为基于网络的分布式任务处理模式,再到最近的按需处理的云计算模式。云计算的实质是给用户提供按需计算服务,其目标是用户通过网络能够在任何地点、任何时间最大限度地使用虚拟资源池,处理大规模计算问题。目前,在学术界和商业界的共同推动下,云计算得到了迅速的发展,而随之而来的安全问题越来越突出。
云计算中用户将数据存储在云端,因而不再拥有自己对数据的完全控制能力,要求云服务商提供有效的安全保障,使其信任新环境下的数据安全问题。然而,根据云计算的特性分析,使其能够信任新环境下的数据安全问题。然而,根据云计云计算技术发展的同时,也引入一系列安全问题。文献[3]在云中数据的保密和安全,云数据隐私保护、数据取证及审计等问题对云计算的安全问题进行分析。文献[4]将云计算的安全问题归纳为以下10个方面[4]:(1)访问控制;(2)攻击/危害检测;(3)不可否认性;(4)完整性;(5)安全审计;(6)物理技术防范;(7)隐私和机密性;(8)恢复;(9)实施;(10)多个子因素。由此可见,云计算的安全需求迫在眉睫,如何有效的实现云计算环境中的安全问题亟待解决。
在云计算环境下,用户的应用系统和数据移至了云服务提供商的平台上,用户可以随时随地访问云服务商提供是资源,这种云计算环境下的开放性和网络的复杂性,使云计算面临更严重的安全威胁。因此,安全问题已经成为制约云计算发展的重要因素。确保在云计算环境下可信接入,是当前信息安全领域的一个前沿研究课题。如何使得用户能够在任何地方安全接入云服务提供商系统,同时保证通信链路的安全性,是云计算应用领域发展的关键。目前国内外对云计算环境的安全研究主要集中在两个方面:一是仍然从传统的软件入手,如防火墙的设置等。二是从硬件方面寻求安全的解决方案,最具代表性的就是可信计算的出现,可信计算的出现为安全问题提供了一种新的研究思路,变“被动防守”为“主动抵御”。
国际性的非盈利机构可信计算工作组(Trusted Computing Group,TCG)对可信的定义为:可信是一种期望,在这种期望下设备按照特定目的以特定方式运转[10]。可信计算技术提供了一种方式来建立一个安全环境。可信计算模型的初始设计是在个人平台上提供隐身和信任,而随着网络计算成为主流计算,可信计算模型也用来支持分布式环境下的云计算。因此,可以集成可信计算技术来解决云计算的安全问题。
传统的硬件安全接入方案【9】有思科的网络准入控制技术NAC,微软的网络接入保护技术NAP以及TCG组织的可信网络链接技术TNC。NAC的核心思想是在不符合安全策略的系统进入网络之前,通过对其安全级别进行判定,控制不符合安全策略的设备访问权限,将不符合安全策略的系统加以隔离,使其技能访问获得的有限资源。NAP平台提供了一套完整性校验的方法来判断接入网络的健康状态,对不符合要去的客户进行限制其访问权限。TNC是建立在可信计算技术基础上的,把TPM可信度量机制和可信报告机制等功能等作为构建可信网络连接系统的重要组成部分,实现网络访问控制。
随着云计算的迅速发展,发现和认识云计算各种问题,相应提出各种解决方案,由于云计算自身复杂性的特征,使得云计算很难单靠软解决所有的问题。一种可以尝试的方向就是利用硬件芯片和可信计算的支持,在云计算环境中建立可信计算基(TCB)保护用户、基础设施、服务提供商的秘密,进行完整性度量以及执行云计算参与各方的身份证明和软件可信证明,也即构造可信基的可信云计算[3](Trusted Cloud Computing。文献[3]提出了将可信计算与云计算相结合的思想,建立“可信云计算”,介绍了“可信云计算”的4个具体研究思路[3]如下:(1)在移动计算中建立可信云计算的基础结构和应用;(2)在云计算中通过使用TPM进行远程认证的相关协议;(3)在云中利用用户的数字ID和可信计算技术结合,提高云端数据的安全性、保密性和完整性;(4)基于TPM和可信计算基 的公共PKG基础设施建设。文献[5,19] 将云计算系统与可信计算系统结合提出了一个新的可信的云计算系统解决云计算的安全问题。文献[26]针对云计算网络环境下的模糊性,用户行为的随机性以及历史经验的主体性,提出了一个基于云模型的可信网络认证模型。云计算环境下,这些方法在身份验证、访问控制以及数据保护等方面获得更好的效果。由此可见,将云计算与可信计算的结合成为解决云安全的有效途径。
云计算在给我们带来优势和便利的同时,也面临着新的安全挑战。(1)虽然云服务提供商能够提供安全性更高的存储设备,但是海量的数据存储在云上使得数据更容易遭受攻击者攻击。(2)对于云服务提供商来说,由于一些利益原因,他们可能不会真实的反映对云用户数据的存储情况,例如云服务提供商可能因为利益原因删除一些云用户从不访问或者很少访问的数据,并且云服务提供商可能隐瞒由他造成的用户数据的丢失来维护他的声誉[6]。因此可以看出,如果这个问题不能得到有效的解决,将严重阻碍云计算的发展。安全协议的目的是在不安全的通信信道中在协议执行过程中达到某些安全特性。安全协议又叫密码协议,是指两个或两个以上的参与者为了完成某些特定的任务采用了若干的密码算法而采取的一系列步骤。
2.1.1 基于可信计算平台的安全协议
基于可信计算平台,运用PKI技术,实现可信计算平台之间、可信和非可信计算平台之间的安全通信。可信计算平台可以保证本机的安全,鉴于此,文献[7]提出了基于可信平台的安全协议。协议具体执行步骤如下[7]。使用一下符号来描述协议:
PKA:A的公钥
SKB:B的私钥
T:时间戳
K:A和B通信的对称密钥
{T+1}SKA:用A的私钥加密消息T+1
A→B:表示A给B发送消息
①.A→B:PKA
②.B→A:{{K,T} PKA , PKA } SKB
③.A→B:{T+1}SKA
步骤(1):A把公钥PKA发送给B;
步骤(2):B收到A的公钥后,先用A的公钥PKA加密A与B之间进行通信的对称密钥K和当前时间T得到M,然后把用B的私钥SKB加密M和PKA得到B的签名,然后将签名发送给A;
步骤(3):A收到消息后,先验证签名,验证通过后再用A的私钥解密M得到K和T,然后A对T+1做签名操作,再把签名发送给B。协议具体时序图如图1所示。
图1 基于可信平台的安全协议时序图
2.1.2 基于口令的三方密钥交换(3PAKE)协议
在复杂多变的云计算环境下,如何保证通信双方的安全性,文献[6]提出了一个基于口令的三方密钥交换(3PAKE)协议。3PAKE协议能够高效的实现的大量云用户之间的密钥交换,而不需要云用户保存其他云用户的口令。协议具体执行过程如下:
协议的具体步骤[8]如下:
步骤(1):A发送A,B给S;
步骤(2):S收到A,B后,首先S产生随机数a,b∈R Z*p,计算SA=Eh(PWA)(ga),SB=Eh(PWB)(gb);然后将SA,SB分别发送给A,B;
步骤(3):A,B收到SA ,SB后,解密SA ,SB得到ga=Dh(PWA)(SA),gb= Dh(PWB)(SB)。然后A,B分别产生随机数x,y∈R Z*p,并计算VAS= Eh(PWA)(gx,h(gax,A,B,S)),VBS= Eh(PWB)(gy,h(gby,A,B,S))。最后分别将VAS,VBS发送给S;
步骤(4):S收到A,B发送的VAS,VBS后,分别计算Dh(PWA)(VAS), Dh(PWB)(VBS)得到解密后的前办部分gx,gy,然后利用自己保存的a,b计算h(gax,A,B,S),h(gby,A,B,S),并分别验证是否与解密后的后半部分相等,若相等,S计算VSA=Egax(gx,gy,A,B),VSB=Egby(gx,gy,B,A)。然后分别将VSA,VSB发送给A,B。
图2 3PAKE协议的执行流程
步骤(5):A,B收到VSA,VSB后,分别利用保存的gax,gby对它们解密,计算Dgax(VSA),Dgby(VSB),A验证解密后的消息中是否含有gx,B验证解密后的消息中是否含有gy,若验证都含有,则A,B计算KAB=(gy)x, KBA=(gx)y。A,B双方的会话密钥K=h(A,B,S,,KAB)= h(A,B,S, KBA)=h(A,B,S,gxy)。
2.1.3 云计算环境下数字媒体分发CDMDP协议
面对复杂的云计算环境,数字媒体分发同时又能对数字媒体的版权进行保护是目前的热点和难点。多媒体社交网络环境下,针对社交网络用户节点间的数字内容共享与传播行为,并基于支持可信验证代理方的远程证明,文献[11]提出了多媒体社交网络环境下的数字内容安全分发体系框架及其安全协议。文献[8]提出了一种云计算环境下数字媒体分发协议CDMDP,其功能是在云计算环境下对数字内容分发并对数字内容进行有效保护。CDMDP协议时序图如图3所示。
图3 CDMDP协议时序图
具体步骤【9】前3步为云计算客户端用户提交内容信息和权利要求信息和云计算内容提供方向云计算内容分发方发送复合数字对象的过程,4、5步骤为云计算内容分发发送加密复合数字对象给云计算客户端的过程。6、7步骤为向云计算收费过程。
2.1.4 云计算环境下的安全协议
近年来,网络带宽和硬件技术的飞速发展驱动了互联网的发展。云计算是基于因特网提供的动态可伸缩性和虚拟化的资源做为服务。根据云计算的特征,云计算环境下有许多应用程序和数据中心,因此,必须考虑信息和通信安全与认证问题。但是,大部分研究是对安全和认证需求的大量计算资源;这并不适合云计算环境。文献[13]提出了一种轻量级的安全协议来增强云计算中的安全和认证的服务。
云安全把网格计算与并行计算结合起来,对未知的病毒和其他的技术和概念进行判断。文献[14]提出了对网格计算和云计算互通的安全协议,通过大量网络客户端检测的非正常行为状态,获得的木马、病毒及其他不良程序的最新信息,发送这些信息给服务器,服务器进行动态分析和处理,再把解决方案分配给每个客户端去解决不安全问题。
如今,随着数据数量和数据连接关系的急剧增加,许多供应商和特定的数据中心采用动态加载和平衡访问较大的基础设施。在处理和分享云计算环境下的数据时,必须关注云计算的安全问题。针对这种情况,文献[15]提出了一个在客户端和云端管理方控制的可信云计算环境中,在资源认证和共享时,基于RSA和MD5算法安全云用户协议。该协议分为两部分,一部分由云环境允许的正常用户控制执行操作和数据下载,另一部分是在云计算安全可信的环境中,云端管理者得到客户准许情才能读和更新数据,隐藏的信息和用户保护的信息得到了保护。
现将三种安全协议方案在采用机制、安全性能、抗攻击模型和系统开销等多个功能性方面进行对比,如图表1所示,这里使用符号“∨”,“×”,“+”分别表示具备、不具备,没有涉及或描述该功能。
(1)消息的保密性:在整个系统中,只有TPM被认为是可信的,协议中所有的加密签名去都以PCR值的方式存储在TPM中,平台中的任何其他实体不能获取或访问,这保证了消息的保密性。文献[6-7]是基于可信计算平台的,可以防止加密的信息在通信前被木马等病毒程序的替换或篡改,并确保在消息的传输过程中不出现明文信息。而文献[8]虽然没有可信第三方的支持【8】,通过定理3证明了从参与协议运行的各实体满足保密性。文献[18]是基于加密算法RSA也满足消息的保密性
(2)消息的完整性:文献[6,8,18]中均采用散列算法对发送的密文消息进行Hash计算,然后对散列值进行加密完成签名操作。有效的实现了信息的完整性。
(3)不可否认性:在实际应用中A是网络请求客户端、B是提供服务的网络服务器。文献[7]可以防止客户端A登陆到服务器端B进行恶意操作后否认登陆过服务器端B,只要在B上保留A的签名文件{T+l}SAk即可,同时A保留B的签名文件{{K,T}pAk,pkA}ksB也可以防止B的抵赖"。文献[6]中,可信第三方S预先保存A和B的基于口令的验证信息VA=gh(A,S, PWA),VB=gh(B,S, PWB),从而保证A,B双方的不可否认性。
(4)抗攻击性能分析:文献[7]中在协议的第二步加入了A与B进行通信的对称密钥K,可以防止截留转发攻击,并且时间戳T可以防止重放攻击。文献[6]通过对窃听,重放,冒充,伪造等攻击方法做出假设,经验证均不成立。文献[8]对攻击事件{in(M,N).outM.outN.nil},无法产生包含CHDO的标识【8】,因此,攻击事件不成立。
(5)性能分析:文献[7]该协议基于可信计算平台,在该协议中可信第三方CA接收和处理的数据较少,并且不需要对A或B发送的消息进行认证和签名操作,突破了整个通信系统的瓶颈,保证通信安全性的同时大大提高了通信的效率,同时在B收到A的连接请求后不用到CA处下载A的证书获得公钥,这样服务器可以同时响应多个客户端的连接,提高了工作效率。文献[6]协议通过S实现用户间的密钥协商,用户每运行一层2pAKE协议,可根据需求进行多次密钥协商,这样使得协议的运行效率得到很大提升,其中随机数个数,交换轮数和执行时间上通过测试结果表明均比较小。但是指数运算次数有所增加。文献[8]提出的云计算环境下数字媒体分发协议具有成本低,可靠性高、易扩展等优势。
表1 .相关方案的机制与性能对比
安全协议是系统安全的的基础,也是实现整个计算机网络安全的关键。然而,有些协议在使用了相当长的时间后,相继被发现存在安全漏洞,因此,对安全协议的证明是非常重要的。一般,对安全协议的证明方法主要有以下几种:(1)串空间模型理论;(2)进程代数理论;(3)认证测试证明理论;(4)归纳法理论。
(1)串空间模型理论:串空间理论是由Fabrega,Herzog和Guttman提出的一种安全协议形式化分析方法,结合了定理证明和协议迹的思想,严格规范了合法主体的行为、攻击者的能力与运行环境,借助带有因果关系的有向图来描述协议的执行过程。串空间模型能准确地描述协议执行过程中事件的先后顺序及因果关系,为研究人员提供了一种有效的协议分析理论【9】。其中文献[9]用串空间理论模型证明了无线远程证明传输协议安全性。文献[16,17,18]提出了串空间模型下安全协议的证明,
(2)进程代数模型理论:进程代数是一类使用代数方法研究通信并发系统的理论的泛称【20】,进程代数是以安全协议描述语言形式化证明方法支撑进程代数理论。文献[20]提出了一种基于进程代数的安全协议验证消解算法,用进程代数理论,将协议的描述转化为逻辑规则,对协议中认证性和保密性进行证明。文献[21]结合进程代数理论和归纳方法,对Petrn网的数字媒体分发协议进行形式化证明。文献[22]提出了基于进程代数的TCG远程证明协议的形式化验证。
(3)测试证明理论:为了解决状态空间爆炸问题,研究人员又提出了证据构造方法,用于证明协议所能满足的安全属性,其中最典型的方法就是认证测试理论,它是以严格的数学定义和理论推导,大大降低了协议分析过程中产生的空间状态问题【23】。文献[23]利用认证测试理中消息间的偏序关系和认证测试理论中的定理,证明了协议的安全性。文献[24]根据不同密钥加密情况下的属性进行测试,对认证测试方法进一步扩展,并证明协议的安全性文献。
(4)归纳法理论:归纳法使用一组规则(或者事件)表示安全协议的操作,可能的规则序列(又称运行轨迹)表示协议的执行。这样,协议的性质可以表示为运行轨迹的性质。因为运行轨迹是归纳定义的,所以,运行轨迹的性质或协议的性质可以使用归纳法证明【25】。文献[21,25]均采用归纳法证明协议的安全性。
根据云计算技术特点,分析了云计算环境下的安全问题。“可信云”是把可信计算技术融入到云计算中提供安全的云环境。然而,安全协议是网络安全的基本保障,对云计算环境下的可信接入安全协议进行归纳总结和对比分析。对该类安全协议的形式化证明分析将成为保障可信云安全性和可生存性的关键。
[1] 吴吉义,沈千里,章建林等.云计算:从云安全到可信云[J].计算机研究与发展,2011,48: 229-233.
[2] 李乔,郑啸.云计算:云计算研究现状综述[J].计算机科学.2011,38(4):32-37.
[3]杨建,汪海航,王剑,等.云计算安全问题研究综述[J].小型微型计算机系统,2012,33(3):472-479.
[4] Patrick Hner.Cloud Computing Security Requirements and Solutions: a Systematic Literature Review[C].19thTwente Student Conference on IT, 2013.
[5] R.La‘Quata Sumter.Cloud Computing: Security Risk Classification , ACMSE 2010, Oxford, USA
[6] 何小虎.基于云计算的安全协议分析与设计[D].成都电子科技大学,2012.
[7] 刘同波.基于可信计算平台的安全协议关键技术的研究与实现[D].国防科技技术大学研究生院,2005.
[8] 郭迎九,张春光,田立勤.云计算环境下数字媒体分发协议及其安全性证明[J].系统仿真学报,2012,24(12):2431-2433+2438.
[9] 王剑.移动终端可信接入与验证[D]同济大学,2011.
[10] Grawrock D.TCG Specification Architecture Overview Revision 1.4.[EB/OL].[2011-05-01].https://www.trustedcomputionggroup.org/groups/TCG_1.4_Archiecture_Overview.pdf
[11] 张志勇,杨丽君,黄涛.多媒体社交网络中的数字内容安全分发研究[J].计算机科学,2012,39(4):94-97.
[12]王剑,张志勇,余卫华等.一种可信计算支持的DRM系统及其安全协议研究[J].计算机科学,2013,40(6):103-107.
[13]Shuching Wang, Wenpin Liao, Kuoqin Yan,et al.Security of cloud computing lightweight authentication protocol [J].Applied Mechanics and Materials, 2013, 284-287: 3502-3506.
[14]R.Rajagopal, M.Chitra.Trust Based Interoperability Security Protocol for Grid and Cloud Computing[C].2012 3rd International Conference on Computing,Communication and Networking Technologies, 2012.
[15]Ashutosh Kumar Dubey, Animesh Kumar Dubey, Mayank Namdev, et al.Cloud-User Security Based on RSA and MD5 Algorithm for Resource Attestation and Sharing in Java Environment[C].2012 CSI 6th International Conference on Software Engineering, 2012.
[16] 皮建勇,杨雷,刘心松等.一种新的安全协议及其串空间模型分析[J].计算机科学, 2010,37(1):118-121+180.
[17]董学文.基于串空间模型安全协议是形式化方法的分析与扩展[D].西安电子科技大学, 2011.
[18]刘冰.基于串空间模型的安全协议形式化分析技术研究[D].山东大学, 2007.
[19] Zhidong Shen, Li Li , Fei Yan, Xiaoping Wu.Cloud Computing System Based on Trusted Computing Platform[C].2010 International Conference on Intelligent Computation Technology and Automation,2010.
[20] 刘万伟,周倜,李梦君等.一种基于进程代数的安全协议验证消解算法[J].计算机工程与科学,2006,28(7):14-16+27.
[21]郭迎九,林闯,尹浩等.基于Petri网的数字媒体分发协议的安全性证明[J].电子学报,2009,37(5):1030-1036.
[22]王勇,方娟,任兴田.基于进程代数的TCG远程证明协议的形式化验证[J].计算机研究与发展,2013, 50(2): 325-331.
[23]李谢华,高春鸣.基于改进认证测试理论的高效安全协议验证算法[J].计算机科学,2009,36(4):73-76+128.
[24]王鹏.认证测试方法在安全协议形式化分析中的应用研究[D].上海交通大学,2008.
[25]乔海燕.安全协议验证的归纳法方法与串空间形式化比较[J].计算机研究与发展,2008,45:137-142.
[26]Kun Wu, Chuyan Li.Trusted Network Authorization Scheme Based on Cloud Model [J].Journal of Convergence Information Technology,2010,7(3).