云环境下用户隐私混合加密方案及其性能分析
2015-12-15季一木朱曈晖柴博周王汝传
季一木,朱曈晖,柴博周,王汝传,4
(1.南京邮电大学计算机学院/软件学院,南京210023;2.南京邮电大学 先进技术研究院,南京210023;3.广东省普及型高性能计算机重点实验室/深圳市服务计算与应用重点实验室,深圳518060;4.江苏省无线传感网高技术研究重点实验室,南京210023)
0 引言
随着云计算的不断发展,各种云计算相关服务正在步入我们的日常生活,企业在云计算服务提供商的帮助下,虽然其设备、办公、管理和监控物理资源及人力成本得到了降低,但相应的安全问题尤其是数据隐私保护问题,变得日益凸显。在云计算环境下,信息的“拥”和“管”相互分离,即信息由云用户拥有,却由云计算服务提供商负责管理,从而增加了用户对隐私泄露的担心。由于存储和安全完全由云服务提供商负责,信息是否会被泄露和非法使用直接影响到该云服务提供商的可信度和企业名誉。从攻击者的角度来看,由于云计算底层分布式的资源由用户之间通过虚拟化的形式共享,攻击者便可利用黑客技术进行非法隐私窃取。许多商业云用户的信息属于十分敏感的隐私信息,涉及到商业机密,如果缺乏可靠的监管和应有的管理透明度,一旦造成信息泄露,将会给企业带来极大的商业价值损失。在云服务提供商不可信的情况下,发生隐私信息泄露此类安全事件的可能性更会增加。所以,解决好云环境下用户信息隐私保护的问题是云计算得以健康发展的一道必须逾越的坎[1]。隐私保护技术一般分为3类:数据加密、数据失真和限制发布[2]。这里重点研究隐私保护中的数据加密技术,本文第2部分将基于属于的加密算法和同态加密算法相结合,用于不同类型的数据加密,最后通过原型系统的设计和实现,验证了本文中方案的可行性,不但可以提高云环境下用户数据安全,也可以提高用户应用的性能。
1 相关研究及现状
1.1 云环境下隐私保护威胁
云计算产业市场前景非常庞大,但是对使用云计算应用服务的个人用户或企业用户都存在潜在的隐私安全风险。对于云计算隐私的安全风险,这里将从基础设施层、传输层和应用层3个层级进行阐释和分析[3-5]。
1)基础设施层存在的安全隐患。云计算服务提供商负责提供云计算信息系统并对此系统的安全全权负责,即安全威胁对象从用户、各组织转移到了云计算服务提供商,对攻击者而言,目标却变得更加单一和集中,这也加重了信息系统的安全隐患。相对于云计算的数据中心,传统的物理资源更加独立,而云计算带来的资源虚拟化,使硬件与软件之间的界限更加模糊[3]。对于基础设施层而言,较为科学的评估和数据分析,以及严谨的人员管理和操作显得更加必要,如果出现差错,则会导致云平台无法发挥其应有的作用和效能,系统崩溃和数据泄露也将理所当然。另外,“云”上用户留下的任何一点足迹,都有可能被利用并造成严重后果。用户在使用基础设施层服务的时候,一般是通过远程连接的方式,这也使云计算节点留下了隐患。
2)传输层存在的安全隐患。云服务提供商通过搭建自己的融合网络和应用平台,将其以服务的形式面向广大用户,用户可以根据自己的应用需求进行订购或撤销。云计算提供的服务形式主要有3种:基础设施服务(infrastructure as-a service,IaaS)、平台服务(platform as-a service,PaaS)和软件服务(software as-a service,SaaS)[4],这3种服务形式所对应的较为成熟的云计算平台是Hadoop,Eucalyptus和Saleforce。用户在使用云平台服务与云平台进行通信信息交互的时候,信息在网络中的传输是不可或缺的,因而用户和云平台的通信数据包就有被攻击者窃取、偷听、篡改甚至破坏等风险。另外,用户所产生或存储的数据均保存在云端,如果云服务提供商由于自己的技术问题出现云服务的提供中断,那么用户无法和自己的云数据进行通信交互。所以,在云计算时代逐渐来临的背景下,传输层的安全隐患也是云用户和云服务提供商不可忽略的一部分。
3)应用层存在的安全隐患。2010年12月,微软所使用的商务办公在线套装软件(business productivity online standard suite,BPOS)也发生了用户数据被非授权下载,其云计算的数据也遭到了破坏;2014年9月,黑客利用苹果公司iCloud云盘系统的漏洞,非法盗取了众多全球当红女星的裸照,继而在网络论坛发布;由上面2个例子可以看出,云计算极大地为我们的工作生活带来便利的同时,也成为了黑客恶意攻击泄露敏感信息的新渠道。应用层是云计算安全隐患相对较为集中的层面,由于与用户进行最为直接的业务接触,应用层的安全隐患主要体现在2个方面[5]。①用户管理:云计算所提供的服务面向的用户多种多样,包括云服务提供商自己、中小企业、个体用户和后端运维人员等。在用户较为多样复杂的情况下,云计算服务提供商要保证使用服务的用户数据不被泄露、窃取和非法利用。另外,云平台上的用户是动态变化的,基于时间的在线人数和注册数具有不确定性,而有些客户群需要进行访问其他客户数据权限的识别并安全访问,运维人员的职责也包括做好对云数据的容灾和备份,进行分类分级的管理和操作;②存储管理:用户将自己的数据上传到云端之后,云服务提供商就拥有了对存储数据的控制权和操作权。可能存在不可信的云服务提供商会趁机从用户数据中得到隐私信息,甚至对存储数据进行恶意篡改。另外,由于服务器升级等原因,当后端进行数据迁移的时候,将一个节点的数据迁移到另一节点中去,可能会因此造成某些位置数据的损坏。
1.2 云计算隐私保护技术
云环境下用户的隐私信息主要包括:能够识别个人身份的信息、敏感信息、用户偏好数据以及独一无二的标识符等[6]。云用户隐私很大程度上体现在用户的信息数据上,因而隐私安全在表现形式与保护方法上与数据安全非常相似,但隐私保护并不仅仅是安全问题,对于云用户所关注的隐私信息,不同的人也会有不同的隐私需求,一般而言安全保护的需求往往都比较高,不希望自己的隐私信息被别人所知悉,更不用说泄露后被修改或被利用。云环境下的隐私保护并非仅是技术层面,甚至还会涉及到立法方面的问题。在任何场景中,用户的隐私信息都应该受到尊重和保护,尤其在个人隐私信息在社会网络中被扩散的时候。所以云服务提供商对个人的隐私信息保护不能与公共安全、经济安全以及法律相冲突。既要满足用户的隐私保护需求,又要符合法律的要求,符合国家公共安全和经济安全的要求。隐私保护的概念正在随着科技的发展进步不断地进行着自身的演变和完善。云计算带来了科技革命和巨大的经济效益的同时,对于用户隐私和机密信息的保护也带来新的威胁和挑战。
2005年,Sahai和Waters首先提出了基于属性的加密(attribute based encription,ABE)机制[6],在此基础上,Goyal等人为提供复杂的访问控制策略,随后提出KP-ABE(key policy-ABE)方案[7],将密文与一个属性集相关联,而将密钥关联到访问结构,只有密文中的属性集满足用户的访问结构,用户才能解密。随后,Bethencourt等人[8]在2007年提出了CPABE(ciphertext policy-ABE)方案,将用户私钥关联到一个属性集,而密文和一个访问结构关联,只有当用户的属性集满足访问结构时,用户才能解密密文。
同态加密通过这种方式实现用户的隐私数据保护,同态加密允许用户对密文进行代数运算并且解密之后仍然得到正确的结果[9],结果需和明文之间进行同样代数运算的结果一样,这样便在保证结果正确性的同时保证了数据的安全性[10]。
在云计算中,使用同态加密无法读取和利用他人的网络资源,如果想要与人共享信息,则要使用基于属性的加密方式。上文中有所介绍,基于CPABE的加密方式中,尤为重要的是访问策略控制树。这种基于属性的加密方式可以被用来实现云计算用户对外包数据的访问控制和身份认证[11],而且这种技术可以有效地解决访问控制中撤销用户权限之类的问题。2种加密方式的结合,既保证了重要数据的安全性,又可以实现网络资源的共享[12]。
2 云环境下隐私保护混合加密方案理论
2.1 同态加密算法
设一个代数系统U,它有一个集合S,一组运算f1,f2,…,fn,一组谓词p1,p2,…,pn,一些可出现的字符s1,s2,…,sn,我们把该代数系统定义为 <S;f1,f2,…,fn;p1,p2,…,pn;s1,s2,…,sn>。例如,在整数集合下有这样的代数系统<Z;+,-,*,/;<,>;0,1>;再设1个代数系统为 <S';f'1,f'2,…,f'n;p'1,p'2,…,p'n;s'1,s'2,…,s'n>;有1个加密函数 Φ:S→S',和与之对应的解密函数Φ':S'→S;对于m∈S,c∈S',满足 Φ(m)=c,Φ'(c)=m;如果 Φ 是同态的,则满足fi(m)=Φ'(f'i(c)),pi(m)≡Φ'(p'i(c))。
同态加密算法体制满足下列条件的1个6元组{M,C,K,E,D,+},M是明文空间,C是密文空间,K是公私钥对集合,+是同态运算符,对于任意的(pk,sk)∈K(pk称作公钥,sk称作私钥),对应一个加密算法Epk(E是加密算法集合,E:M->C)和解密算法Dsk∈D(D是解密算法集合,D:C->M),且对任意的m∈M,满足c=Epk(m),m=Dsk(c)=Dsk(Epk(m)),其中,Epk,Dsk都是多项式时间内可执行的。对于所有的(pk,sk)∈K,由Epk推出Dsk是计算上不可能实现的。对任意的x,y∈M,Epk(x)+Epk(y)=Epk(x+y)。
全同态加密公钥方案含有4个算法:密钥生成算法(KeyGen)、加密算法(Encrypt)、解密算法(Decrypt)和密文计算算法Evaluate(evk,C,c1,…,ct)。其中Evaluate算法是核心,因为全同态加密的目的就是为了对密文进行计算,其他3个算法是基石,提供加密和解密功能。Evaluate算法是对电路C上输入的一组密文c=<c1,…,ct>(其中ci←Encrypt(mi))进行计算,电路C代表一个函数或者一个功能。evk是密文计算时使用的公钥,例如在同态解密计算时,evk里包含的就是对该层密钥每一位加密的密文,密钥有多少位,evk里包含的公钥就有多少个。如果用的是密钥交换技术,evk里包含的就是L-1个矩阵,L是方案中电路的深度,该矩阵用于密钥转换。当然还有一种情况就是不需要evk,例如在GSW13方案中Gentry使用的密文是矩阵(方阵),所以密文乘积或相加不会产生密文维数改变的事情,所以在密文计算时没有用到公钥,这也是该方案可以产生基于身份或基于属性全同态加密方案的根本原因。
2.2 基于属于加密算法
1)访问结构。访问结构是从访问控制策略中抽象出来的一个定义,在访问结构的概念中,它还定义了授权访问集合以及非授权访问集合,也就是说访问结构定义了哪些用户可以解密密文,哪些用户不能解密。那么,从本质上来看,ABE其实是在身份加密体制(identification based encryption,IBE)的密文或者私钥中引入了此类属性匹配的访问结构而成。
定义1 (访问结构):设{P1,P2,…,Pn}是n个参与者的集合。如果X表示{P1,P2,…,Pn}子集的集合,Y和Z分别表示{P1,P2,…,Pn}的子集,那么对于所有的Y和Z,如果Y∈X并且Y∈Z,那么Z∈X,也就是说X成为了一个单调的访问结构。
访问结构定义了授权和非授权的访问集合,假设一个访问结构A是一个非空的参与者集合子集所构成的集合,即A⊆2{p1,p2,…,pn}{j},假设T是任意一个子集,如果有T⊂A,则这种集合T叫做授权集合;如果T⊄A,则称集合T为非授权集合。在我们熟知的ABE中,属性集合将代替上述所介绍的访问结构参与者的集合{P1,P2,…,Pn},而A则是这个访问结构中属性的判断条件。
2)访问控制树。访问控制树包含叶子节点和非叶子节点,非叶子结点由孩子节点和其相应的门限值来描述。所谓门限,就是拥有不同属性的用户经过不重复的路径达到门限所对应的节点的路径数之和。设非叶子节点数是m,n(m)是m的孩子节点总数,k(m)是门限值,那么会有不等式0<k(m)≤n(m)成立。当k(m)=1的时候,门限所表达的功能为或门(OR)。当k(m)=n(m),门限所表达的功能是与门(AND)。当然,k(m)可以是其他值。访问控制树的每一个叶子节点都可以由k(m)=1这一门限值表示。设p(m)是节点m的父节点,i(m)是节点m的树值,i(m)的值在访问控制树的结构中一般是唯一的,无论密钥以何种方式给定。而当m是叶子节点的时候,此处用函数a(m)表示访问控制树与叶子节点互相联系的属性。访问控制树会规制好每个节点的孩子节点的顺序,并对所有的孩子节点进行编号。当用户想要访问其他用户的数据时,他的属性集会与其他用户的访问控制树做匹配,设访问控制树T的树根节点为R,T的根为Tx表示根是x的子树,当出现属性集a满足Tx的门限要求时,就用Tx(a)=1来表示,即属性匹配成功,可以访问数据。对Tx(a)的计算有以下3种情况:
①当x是非叶子节点的时候,那么对x的所有孩子节点x’作计算Tx'(a);
②Tx(a)=1的情况只会当且仅当有k(x)个孩子节点,则Tx'(a)返回1;
③当x是叶子节点,且x是叶子节点,则Tx(a)返回1。
2.3 安全性分析
对云计算用户而言,当他想既要访问他人的网络资源,并将自己的网络资源也与他人分享,又不想将一些个人的较为敏感的隐私信息透露给他人。采用同态加密和基于属性加密相结合的方式,可以保证个人隐私的安全,也可以保证其他用户对信息的合理访问。在这一基于同态加密和CP-ABE混合加密机制中,访问数据者需要根据其所掌握的密钥信息来对云端其他用户加密后所存储的数据进行相应的属性匹配和访问操作。下面从2个方面来对该机制的安全性进行分析。
1)数据访问权限的安全管理。
云服务提供商提供着云端的计算和存储服务,然而并不是所有的云服务提供商都是可信的。在云服务提供商不可信的情况下,同态加密并不需要云服务提供商参与加密密钥的产生过程和管理过程。这种只由隐私数据的拥有者来决定访问用户的授权的形式增加了数据访问权限的安全性。
2)端到端的加密。
端到端的加密允许用户在客户终端对数据进行加密和解密,从传输层的角度来讲,保证了数据传输在传输中的隐秘性。并且用户同态加密的A类数据只有用户自己可以解密,密钥也只有用户自己持有,云服务提供商和其他用户都无法获取,从而保证了A类数据的安全性。至于B类数据,当可信用户想要访问时,加密过程中实行制定访问控制策略树的方法来达到规范访问权限的目的,在访问用户的属性只有匹配满足访问控制策略树的情况下才能够进行相应的解密操作,使得B类隐私数据可以被访问和使用。
本文将2种加密方式结合使用,在保证一定隐私数据资源共享性的同时也提升了隐私数据的安全性。
3 云环境下用户隐私保护混合加密方案原型系统设计与实现
3.1 系统总体架构设计
云环境下用户隐私保护混合加密方案系统分为服务端和客户端,其中服务体系结构分为4层(如图1所示),客户端功能如图2所示。在图1中,物理层主要是物理机的管理和配置。虚拟层主要是进行物理机的虚拟化。数据处理层主要是进行数据的存储和备份,结合HDFS云存储及Mapreduce计算架构使本层具备强大的存储与计算能力。应用层作为用户界面部分,负责用户和系统的交互。每一层将会进行独立的监控和域管理。
图1 云计算混合加密系统服务端总体架构Fig.1 Server architecture of hybrid encrypted system in cloud computing
在图2所示的云环境下隐私加密保护客户端分成前台显示功能和后台支撑功能,具体包括7个功能模块。
1)注册登录模块:当用户是新用户的时候,必须注册自己的信息,分类自己的照片和构建自己的访问策略树;当用户时老用户的时候,直接登录进行访问数据,修改信息或者重新构建策略树;
2)建立/修改访问控制树模块:用户在登陆之后可以建立或修改自己隐私数据的访问控制策略树,以便他人对自己数据访问时进行属性匹配;
3)分类加密模块:客户端在采集到用户数据之后进行分类加密,对A类数据采用同态加密方式,对B类数据采用基于CP-ABE的加密方式;
4)结果展示模块:在经过分类加密之后,客户端会将数据的处理结果反馈给用户并进行展示,告诉用户分类加密后的结果;
5)分类解密模块:用户可以对数据进行权限解密,如果无权限则无法解密,如果有权限访问则可以解密查看加密数据;
6)数据采集模块:将用户注册或者修改后的数据进行数据采集,以便后台进行隐私数据分类加密;
7)网络通信模块:与后台云服务器进行交互,长传密文至云端或者从云端下载密文文件。
图2 云环境下用户隐私保护客户端功能结构Fig.2 Client architecture of user privacy protected in cloud
3.2 原型系统实现概况
这部分主要展示如何进行客户属性获取、加密和解密。在注册模块,已经采用设定好的隐私等级分类策略,左边一栏是重要数据,右边一栏是可授权用户访问数据。以用户电信业务为例,不可访问隐私数据包括用户名、密码、电话号码、身份证号、家庭住址、个人数据、电子财务、个人偏好等,可授权访问控制数据包括活动内容、浏览记录、工作类别、个人信用、工作单位、邮箱地址、浏览流量和消费账单等。具体实现如图3所示。
只能用户本人才可以成功解密隐私类数据,通过属性匹配成功可以解密可授权访问控制类数据,并返回修改访问策略控制树,可以通过图4所示,进行用户属于访问结构的定义。
例如,当南邮外联部的部长想要访问数据时,首先要进行访问判定,如果用户的属性可以通过所匹配的访问控制策略树,则可以解密,如果匹配策略树不成功,则该用户没有访问文档的权限。南邮的外联部部长并不匹配访问属性策略树,故其解密不了授权访问控制类信息(如图5所示)。
利用同态加密和CP_ABE加密后的密文文件如图6所示。
图3 用户隐私信息分类获取及实现Fig.3 Implement of user privacy classified and acquired
图4 修改访问策略树模块Fig.4 Module of modifying the access strategy tree
图5 属性匹配不成功不要解密访问Fig.5 Case of attributions dimatched and unencrypted access
图6 云环境下混合加密方案的密文存储Fig.6 Ciphertext stored of the hybrid encrypted solution in cloud
3.3 系统安全及性能指标测试
在基于混合加密的云计算数据访问控制的过程中,性能消耗最多的2个部分分别是密文的存储开销以及数据加解密的时间开销。对混合加密系统各个功能效率进行了分析,包括系统初始化、智能终端私钥生成、会话密钥的生成和用户端解密操作,具体耗时见表1,相关性能如图7所示。
表1 混合加密系统的效率Tab.1 Cfficiency of hybrid encrypted system
如图7a所示,混合加密算法的使用降低了密文的存储开销,同时也降低了数据传输过程中的通信带宽等开销。在图7b中,显示了访问控制策略树中不同叶节点数用户对数据对称密钥等信息的加密时间,由图7c可见,随着属性值个数的增加,即叶节点树的增加,加密时间也加长,解密也是如此。实验结果表明,随着用户数量的增加,基于同态加密和CPABE的混合加密访问控制机制在权限管理以及控制文件所用的存储空间方面和时间消耗方面表现出了极大的优势。
图7 混合加密方案与一般ABE算法的性能比较Fig.7 Performance compared hybrid encrypted solution with ABE
4 结束语
本文提出了一种云环境下基于同态加密和基于属性加密的混合隐私保护方案,用于解决云用户隐私数据的安全问题。用户首先根据云服务提供商的隐私信息分类方案在客户终端进行个人隐私数据的分类,将分类之后的数据进行分别加密。对隐私级别较高的使用同态加密,级别较低的使用CP-ABE加密。之所以采用同态加密,是因为同态加密的密钥只有用户持有,安全性较强,隐私数据更难被窃取,而且用户可以在云服务端进行运算操作。而CP-ABE加密是为了保证用户网络资源具有一定的共享性,可以被部分可信用户和机构进行访问。其他访问者在访问时进行密文的下载和属性的匹配,虽然他们无法同态解密查看较为隐私的数据,但他们可以根据自身的属性匹配进行CP-ABE解密从而查看隐私等级较低的数据。这两种方式的结合从一定程度上保证了云计算用户隐私数据的安全性,也方便了云计算用户的业务数据操作。论文进一步将研究差分隐私保护方法与文中方案的比较和融合[13]。
[1]张军,熊枫.网络隐私保护技术综述[J].计算机应用研究,2005,22(7):9-11.
ZHANG Jun,XIONG Feng.Survey on Technologies of Internet Privacy Preservation[J].Application Research of Computers,2005,22(7):9-11.
[2]LIU Qin,WANG Guojun,WU Jie.An efficient privacy preserving keyword search scheme in cloud computing[C]//Proceedings of the 2009 International Conference on Computational Science and Engineering(CSE'09).Washington,DC,USA:IEEE Computer Society,2009:715-720
[3]杨健,汪海航,王剑,等.云计算安全问题研究综述[J].小型微型计算机系统,2012,33(3):472-478.
YANG Jian,WANG Haihang,WANG Jian,et al.Survey on Some Security Issues of Cloud Computing[J].Journal of Chinese Computer Systems,2012,33(3):472-478.
[4]Cloud Security Alliance.Security guidance for critical areas of focus in cloud computing v2.1[EB/OL].[2011-12-05].http://www.cloudsecurity-alliance.org/guidance/csaguide.v2.1.pdf.
[5]林闯,苏文博,孟坤,等.云计算安全:架构、机制与模型评价[J].计算机学报,2013,36(9):1765-1784.
LIN Chuang,SU Wenbo,MENG Kun,et al.Cloud Computing Security:Architecture,Mechanism and Modeling[J].Chinese Journal of Computers,2013,36(9):1765-1784.
[6]SAHAI A,WATERS B.Fuzzy Identity-based Encryption[C]//Proceedings of EUROCRYPT'05.Berlin,Germany:Springer-Verlag,2005:457-473.
[7]GGYAL V,PANDEY O,SAHAI A,et al.Attribute based encryption for fine-grained access control of encrypted data[C]//Proceedings of the 13th ACM Conference on Computer and Communications Security.New York:ACM,2006:89-98.
[8]BETHENCOURT J,SAHAI A,WATERS B.Ciphertextpolicy Attribute-basedEncryption[C]//Proceedings of the 2007 IEEE Symposium on Security and Privacy.Washington:IEEE Computer Society,2007:321-334.
[9]BRAKERSKI Z,VAIKUNTANATHAN V.Efficient fully homomorphic encryption from(standard)LWE[C]//Foundations of Computer Science(FOCS),2011 IEEE 52nd Annual Symposium on.Palm Springs,CA:IEEE,2011:97-106.
[10]SHAI HALEVI,SHOUP V.Design and Implementation of a Homomorphic-Encryption Library[D].USA:MIT,2013.
[11]温昱晖,陈广勇,赵劲涛,等.基于CP-ABE在云计算中实现数据访问控制的方案[J].重庆邮电大学学报:自然科学版,2013,25(5):658-664.
WEN Yuhui,CHEN Guangyong,ZHAO Jiangtao,et al.Solution of data access control with ciphertext-policy attribute-based encryption in cloud computing[J].Journal of Chongqing University of Posts and Telecommunications:Natural Science Edition,2013,25(5):658-664.
[12]WANG C,WANG Q,REN K,et al.Privacy-preserving public auditing for data storage security in cloud computing[C]//INFOCOM,2010 Proceedings of IEEE.USA:IEEE,2010:1-9.
[13]WAHBEH Q,YANG WEINING,LI NINGHUI.Understanding Hierarchical Methods for Differentially Private Histograms[J].Proceedings of the VLDB Endowment,2013,6(14):1954-1965.