摘要:为保证云服务的安全可靠,在使用云服务前,用户需要对云平台进行可靠性和安全性的远程证明。本文基于云计算,研究了基于属性的远程证明机制,并采用AIK证书对用户的身份进行安全性认证,同时使用加密和签名等手段保证配置、属性证书等敏感信息在传输中的安全性并确保其不被篡改。
关键词:属性证书;远程证明;云计算;AIK
0引言
随着云计算技术的发展,各类网络应用向云端迁移,大量的用户敏感信息存储于云端。云计算在减轻企业和用户计算、存储负担的同时,也将安全问题带入到了“云”中。如何通过各种安全机制保证用户得到安全、可信的云计算服务,确保用户数据、计算任务的安全性,成为云计算中非常重要的研究内容[1]。在用户使用云服务之前,云端应当能够向用户提供自身安全性和可靠性的证明。另一方面,为了保证用户信息的安全性,云端也必须要认证用户的身份。身份认证是云服务安全的第一道大门,也是实施各种安全措施的前提。
当前远程证明的研究可分为基于身份、基于平台、基于行为等方向[2],基于属性的远程证明是一种基于平台的远程证明方式,这种证明方法,挑战者不需要知道平台的配置,只需要知道平台是否能满足某种或某些安全属性,在证明了平台安全可靠的同时,保证平台真实配置不被泄露。为使基于属性的远程证明可以更好地适用于云计算,需要研究如何针对云计算平台进行基于属性的远程证明。同时,需要可信第三方来提供可靠的属性证书颁发和验证服务,在平台的配置和证书等相关信息传输时,需要保证信息的安全性和不被篡改。
1相关技术
1.1基于属性的远程证明
基于属性的远程证明是指通过属性与平台配置之间的映射关系,在可信第三方的帮助下,颁发属性证书,来证明被证明方的可信安全属性的远程证明机制。在进行属性证明的过程中,证明请求由一系列“满足属性p1i的系统声明其满足属性 p2i”的声明组成[3]。远程证明模型如图1。
相对于直接匿名证明和基于二进制的远程证明模型等,基于属性的远程证明模型具有灵活性强、安全性高的优势[4]。
1.2可信平台模块TPM
TPM是可信计算平台的信任根,其结构如图2所示。它由执行引擎、内存、I/O、密码协处理器、随机数产生器等部件组成。其中,执行引擎主要是CPU和相应的固件。密码协处理器用于加速公钥密码的产生。密钥产生部件基于ECC产生公钥密码的密钥,随机数产生器是TPM的随机源,产生随机数和对称密码的密钥。SHA1引擎是Hash函数SHA1的硬件引擎。HMAC是基于Hash函数SHA1的消息认证码硬件引擎。电源检查监视TPM的电源状态,并作相应处理。配置开关对TMP的资源和状态进行配置[5]。
1.3基于TPM的云框架
为使可信远程证明可以在云环境中执行,需将TPM模块引进云计算,并进行管理。TPM功能是通过对可信平台模块进行虚拟而实现的。虚拟TPM设计的目标是使可信平台模块的功能对每台虚拟机都可用,让每台需要此功能的虚拟机都感觉是在访问自己私有的可信平台模块[6]。一般来说,一个虚拟机系统只有一个硬件可信平台模块,而虚拟机的数目要远大于此,因此需要创建多个虚拟可信平台模块实例,其中每一个实例都要模拟硬件可信平台模块的功能。下面介绍本文使用的TPM管理方式[7]。
参考文献[8]在通用云计算框架的基础上提出了基于TPM的云框架。如图3所示。vTPM manage在云基础设施层运行。虚拟机(VM)中含有vTPMi实例,该实例是由vTPM manage提供,但其功能实际是调用底层的TPM硬件来实现。vTPM manage预先分配好每个vTPMi的序列号,与每个VM一一对应,因此VM不可用vTPMj对消息进行伪装。底层的TPM硬件在执行vTPMi所请求的命令时,根据序列号判断vTPMi来自哪个VM。
2基于属性的云计算远程证明认证模型
本文对用户平台和云平台都进行了基于AIK的身份认证,在此基础上,利用基于属性的远程证明思想,形成了基于属性的云计算远程证明模型。
2.1涉及到的主体
该框架涉及到的主体包括以下几个:
(1)云平台(Cloud):具有统一的TPMi管理模块vTPM manage以及与虚拟机一一对应的vTPMi模块。vTPM manage和vTPMi都有自己的EK证书,vTPM manage的EK证书由硬件TPM产生,而vTPMi的虚拟EK证书由vTPM manage向vTPM分发唯一序列号时生成并提供。
(2)AIK证书中心:颁发AIK证书,验证AIK证书的有效性。
(3)用户平台(user):向云平台发起服务请求,并要求其提供相应服务所涉及到的模块属性证书。此外,用户平台包含TPM模块,并有自己的EK证书。
(4)属性权威中心(Issuer):颁发属性证书,验证属性证书的可靠性。
2.2相关参数说明
Cs:虚拟平台配置;
Cs’:虚拟平台相应映射到的相关底层物理配置集。
2.3证明认证过程
2.3.1属性证书申请
(1)Guest OS向对应的vTPMi发起全部模块属性证书申请的流程。
(2)vTPMi对Cs’和AIK证书计算出签密值α,然后将(Cs’,α)用自己的私钥加密后发送给vTPM manage。
(3)vTPM manage用vTPMi的公钥解密并验证是否被篡改。
(4)vTPM manage通过Cs’计算得到vTPMi涉及到的底层配置Cs,再对Cs和自己的AIK证书计算签密值β,再用自己的私钥对(Cs,β)加密后发送给vTPMi。
(5)vTPMi解密出Cs后即验证是否被篡改,将Cs用issuer的公钥加密后发送给Issuer。
(6)属性权威中心将根据Cs值按照一定规则推断出vTPMi所在虚拟平台和底层涉及的物理平台配置属性值Ps,并发布属性证书AC。 AC在先后采用vTPM manage的AIK公钥和vTPMi的AIK公钥加密之后发送给vTPM manage和vTPMi。
(7)vTPMi与vTPM manage采用各自的私钥解密后得到AC。根据Cs,由F(Cs,P)计算出值E并将(E,AC)发送给Guest OS,其中F为单向函数,P是随机大素数。
(8)Guest OS验证AC中各值的正确性,并存储AC以及E值。AC和E预先存储于Guest OS中,由于E的计算是基于离散对数的基础上进行的,因此即使Guest OS被攻击者获取,也无法获得Cs值[9]。
2.3.2身份认证
(1)用户平台包含的TPM模块生成一对密钥对(Kup,Kus),并将自身的一些身份信息和公钥发给AIK证书中心。
(2)AIK证书中心验证用户身份信息,利用用户身份信息和公钥生成AIK证书,并用用户的公钥给身份证书加密后发给用户。
(3)用户平台向云平台发送自己的用户ID、口令、AIK证书以及某种服务请求。
(4)云平台验证用户的身份和口令,验证通过后提取用户的AIK证书,将用户的ID和AIK证书发送给AIK证书中心。
(5)AIK证书中心验证证书的可靠性,并将验证结果发送给云平台,验证通过的情况下继续后面的验证[10]。
2.3.3属性证书验证
(1)在用户平台的AIK证书可靠的情况下,根据用户提出的服务请求,云平台选取某个Guest OS。
(2)该Guest OS向vTPMi发起属性认证流程;vTPMi生成随机数K←{0,1}t,对(K,Csi,AC)计算序列值σ,对Cs用属性权威中心的公钥加密后得到Ei(Cs),对(σ,Ei(Csi),AIKvTPMi)计算序列值ω,将K、σ、ω、Ei(Csi)、AC和自己的AIK证书使用用户的公钥加密后发给用户[11]。
(3)用户平台收到相应模块的属性证书之后,用私钥进行解密,验证ω是否正确并检查AC上声明的属性是否满足安全要求,若满足则将K、σ、AC、Ei(Csi)和vTPMi的AIK证书用属性证书中心的公钥加密发给属性证书权威中心。
(4)属性权威中心检验σ签名是否正确,并验证以下两点:
①AC证书是否可信;
②由Csi配置计算出的配置值Psi是否与AC证书所标明的属性Ps一致。
(5)属性权威中心在验证结束后,将验证结果发送给用户平台。
(6)属性权威中心验证通过后,用户将继续对话的消息发给云平台,平台将此次服务的GuestOS id、K、σ、AC、Ei(Csi)和vTPMi的AIK证书、继续对话时间戳存放到数据库一段时间。每次选中某个Guest OS后,在数据库中查找是否有该Guset OS对应的签名值,避免重复计算。
2.4安全性分析
本文结合云计算下的TPM框架和基于属性的远程证明方案,通过引进属性权威中心、AIK证书中心作为可信第三方,保证云对用户的认证、用户对云平台的远程证明都安全可靠。
在申请属性证书的过程中,对于参与者vTPMi、vTPM manage以及Guest OS,本文假设相互之间的交互过程是不安全的。为保证这三者之间传输信息的安全性,加入了签密手段和公钥加密,保证信息在传递过程中不被篡改。
在属性证书验证过程中,对发给用户和属性权威中心的数据做两层不同的签名,一是保证敏感信息(如平台配置)不被用户看到,二是保证信息在传输过程中的安全性。
作为可信第三方,属性权威中心不仅对AC的可信性进行验证,也对配置值对应的属性值重新计算,保证云平台提供的最新服务符合其承诺的安全性,从而保护了用户的利益,也使用户对云服务商的信任加强,从而使云计算有更广阔的运用空间。
3结论
本文介绍了基于云计算下的TPM框架实现的基于属性的云计算远程证明,在进行属性远程证明过程中,采用了属性权威中心作为可信第三方,对云平台的配置计算其满足的属性,并能够验证属性证书的可靠性。此外,本文基于可信第三方AIK证书中心对用户和平台身份进行认证。针对属性证书验证中的签密过程,本文做了缓存处理,减少了签密算法的计算频率,提高了系统效率。
本文在研究过程中未对配置到属性的计算进行详述,未来研究工作可以在这个方向展开。
参考文献
[1] 吴朱华. 云计算核心技术剖析[M]. 北京:人民邮电出版社, 2012.
[2] 杨阳. 基于云计算IaaS环境的远程证明的研究与设计[D]. 广州:华南理工大学, 2012.
[3] 杜芸芸, 谢福, 牛冰茹. 基于远程证明的云计算认证问题研究[J]. 计算机应用与软件, 2014, 31(3): 304307.
[4] 梁元. 基于云计算环境下的可信平台设计[D]. 成都:电子科技大学, 2013.
[5] 郑一龙. 基于属性的远程证明隐私保护技术研究[D]. 大连:大连海事大学, 2013.
[6] 邢剑锋, 王鹏飞, 沈松. 基于虚拟机的可信云计算平台研究与设计[J]. 微型机与应用, 2010, 29(16): 7577.
[7] 陈晓双. 面向云计算的可信分布式计算环境关键技术的研究[D]. 北京:北京邮电大学, 2013.
[8] 陈婷. 可信远程证明协议的研究[D]. 上海:华东理工大学, 2013.
[9] XIN S Y, ZHAO Y, LI Y. Propertybased remote attestation oriented to cloud computing[C].Computational Intelligence and Security (CIS), 2011 Seventh International Conference on IEEE, 2011:10281032.
[10] 吕群. 基于云服务的身份认证服务的研究与设计[D]. 北京:北京邮电大学, 2012.
[11] Mei Songzhu, Wu Jiangjiang, Cheng Yong, et al. Trusted bytecode virtual machine module: towards dynamic remote attestation in cloud computing[C].Intelligence Information Processing and Trusted Computing (IPTC), 2011 2nd International Symposium on IEEE, 2011:1923.