发明内容
技术问题:本发明的目的是提供一种可靠的云环境下基于属性和同态混合加密的用户隐私保护方法,该方法可以提供一种安全、廉价、高效的数据存取和访问服务。经过隐私分类,将云用户隐私归成绝对保密的A类和可被部分可信用户合理访问的B类两种,然后对A类用户隐私制定同态加密策略,对B类的用户隐私采用基于属性的加密策略。既减少用户敏感信息泄露所带来的安全隐患,又方便一些可信机构和用户进行合理访问,保证云平台的安全性和可用性,具有较高的研究意义。
技术方案:本发明旨在对云用户隐私进行分类加密保护。首先将云用户隐私数据分为绝对保密的A类和可被部分可信用户合理访问的B类两种。对A类数据进行同态加密,确保重要的隐私更不容易被窃取,对B类数据使用XML语言对隐私属性进行描述,并使用由ABE发展来的CP-ABE算法对用户隐私数据进行加密,并制定访问控制树,确保可信用户进行合理访问。通过制定基于不同类别的加密策略,将使得云用户的数据共享更加安全,使得云计算平台更为可靠,增加了其可用性。
本发明的云环境下基于属性和同态混合加密的用户隐私保护方法具体包括以下步骤:
1).用户首先将自己的数据传送至云平台,云服务提供商首先将用户的信息分为A类和B类,A类是涉及用户个人敏感信息和重要业务数据,B类是Web数据隐私,涉及到用户部分可公开的隐私,A类的保密等级高于B类,B类隐私可用XML语言进行属性描述;分类方式由云服务商制定并且根据云用户的业务特征或行业特征进行扩展;
2).云端将隐私分类信息和策略树返还给用户,用户在本机对A类数据进行同态加密,加密好数据发送至云端存储,密钥只有用户拥有,云服务提供商无法获得,若用户要从云端提取A类数据及结果,经下载后用自身密钥进行解密既可以得到数据;
3).针对B类数据,制定相应的访问控制策略树,访问控制树的结构由树形节点构成,树中的中间节点表示与门AND与或门OR,树的叶子节点表示用户的属性信息;B级所对应的访问控制树表明只有研发部的经理或者业务部的销售或者公司总裁才具有访问加密后的数据,故可以针对想要开放的人群设定相应的访问控制树;
4).根据访问控制树进行基于属性的加密,用户接收到来自云服务提供商返回的树结构描述访问策略AC-CP后,便开始访问可信任的授权机构;
在Setup创建阶段:由授权机构执行,生成系统公钥PK和主密钥MK交给用户;
KeyGen密钥生成阶段:由授权机构执行,用户将自己的属性集Au提交给授权机构,授权机构根据Au及创建阶段的公钥PK和主密钥MK生成用户属性集对应的私钥SK然后将公钥PK和私钥SK发送给用户;
Encrypt加密阶段:用户使用PK,属性访问控制策略AC-CP对明文进行加密处理生成密文C,然后将密文C连同属性访问控制策略AC-CP发送给云端存储;云平台接收到用户传送的数据后分配存储空间进行存储;
5).当用户要求在云服务端对A类数据进行数据操作时,云服务提供商将提供相应计算能力和存储空间方便用户进行操作,计算结果也将以密文的方式存储在云端;
6).当其他用户或者可信机构想访问用户B类数据时,云服务提供商将根据访问策略树对访问者进行身份认证和权限匹配;由于密文与属性访问控制策略AC-CP有关,只有属性集Au满足属性访问控制策略AC-CP时,用户才能解密密文,解密过程为使用系统公钥PK,和用户的属性集对应的私钥SK对密文进行解密处理;如果密文接收者的属性集Au符合属性访问控制策略AC-CP,则可以进行解密工作,解密工作结束即可访问B类数据。
有益效果:
1.对用户而言,很多时候是既想要利用网络资源,与别人共享信息,又不想透露涉及个人隐私的信息。采用同态加密和基于属性加密相结合的方式,可以保证个人隐私的安全,也可以保证其他用户对信息的合理访问。
2.把云用户重要的隐私信息进行同态加密,密钥只有用户本身知道,云服务提供商和其他用户都无法获取,从而保证了数据的安全性。由于同态加密方式的同态性,云用户可以直接在云端进行运算操作自己的业务数据,运算结果以密文的方式存储在云端,从而为用户提供更加方便的计算。
3.对可被访问的隐私信息采用基于属性的加密方式,使得部分信息可被可信用户访问,对访问用户制定访问控制策略树来规范访问权限,通过进行属性匹配来有效的实现访问控制功能,只有用户的属性满足访问控制树的才能够进行解密的操作,使得隐私数据可以与可信用户共享。
4.通过这种混合加密的方式,数据隐私的安全性得到了提升,加解密效率也得到了一定的提高。
具体实施方式
云计算相比传统模式提供了许多优势,例如,信息共享在虚拟的环境中,动态可扩展性,软件、平台、存储的虚拟化等等。然而云计算在带给人们许多好处之外也产生了许多问题,如:性能问题,容错性,互操作性,数据从遗留系统中的迁移与转化等,其中主要问题就是安全性,例如虚拟化安全、应用程序安全、身份管理、隐私安全,其中最为担心和重视的是用户的隐私安全。如上的安全问题促使我们提出一种可靠的基于隐私级别进行分类混合加密的云用户数据保护方案,确保云平台上用户的隐私不被侵犯。
在云计算中,数据注定是要以密文的形式存放在云中,这样是最基本也是最重要的一个安全手段。但是,如果数据完全是以密文形式存储在云端的话,那么云也就相当于一个巨大的硬盘,其他服务由于密文的限制很难得到使用。而我们知道,云存储只是云计算的其中一个服务,它主要提供的服务,SaaS、PaaS,就会受到影响(如果要在云端进行图片或视频的格式转换,那么云端的软件也无法处理密文的)。同态加密技术可以很好的解决这个问题,用户通过同态加密,上传密文,可直接在云端进行操作,而隐私数据密文的密钥云计算服务提供商无法知道,只有用户自身拥有。
完全同态加密原理:
设一个代数系统U,它有一个集合S,一组运算f1,f2,...,fn,一组谓词p1,p2,...,pn,一些可出现的字符s1,s2,...,sn,把这代数系统定义为<S;f1,f2,...,fn;p1,p2,...,pn;s1,s2,...,sn>。在整数集合下有这样的代数系统<Z;+,-,*,/;<,>;0,1>;再设一个代数系统C,把它定义为<S';f1′,f2′,...,fn′;p1′,p2′,...,pn′;s1′,s2′,...,sn′>;有一个加密函数Φ:S→S',和与之对应的解密函数Φ':S'→S;对于m∈S,c∈S',满足Φ(m)=c,Φ′(c)=m;如果Φ是同态的,则满足fi(m)=Φ'(fi'(c)),pi(m)=Φ'(pi'(c))。
同态加密是一种加密形式,它允许人们对密文进行特定的代数运算得到仍然是加密的结果,与对明文进行同样的运算再将结果加密一样。换言之,这项技术令人们可以在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密,从而从根本上解决将数据及其操作委托给第三方时的保密问题。利用这项全新的技术,未来的网络服务器无须读取敏感数据即可处理这些数据。
在云计算中,使用同态加密无法利用他人的网络资源,如果想要与人共享信息,则要使用基于属性的加密方式。而基于属性的加密方式中最为重要的是访问控制树。访问控制树的每一个非叶子节点由其孩子节点和一个门限值来描述,门限就是使得具有不同属性的用户可以通过不同的路径到达该门限所在节点(表示特定的访问等级)的路径数。假设num(x)是非叶子节点x的孩子节点数目,k(x)是其门限值,则有0<k(x)≤num(x)。当k(x)=1时,门限是OR门;当k(x)=num(x)时,门限是AND门,显然,k(x)还可以是非1和非num(x)的其他值。树的每一个叶子节点由一个属性和门限值k(x)=1描述。parent(x)是节点x的父节点,index(x)是节点x的树值,对以任意方式给定的密钥,存取结构中节点的index值是唯一指定的。当x是叶子节点时,函数att(x)表示与树的叶子节点相联系的属性。访问树规定每个节点的孩子节点次序,即将每个节点的孩子节点从1~n编号。
想要访问消息的用户的属性集包含加密消息的用户在制定访问策略时所定义的属性集。设访问树T的根为r,Tx表示T的根为x的子树,如果属性集y满足存取树Tx,就用Tx(y)=1表示。Tx(y)计算如下:
(1)如果x是非叶子节点,对x的所有孩子节点x'计算Tx'(y)。
(2)当且仅当至少k(x)个孩子节点的Tx'(y)返回1时,Tx(y)才返回1。
(3)如果x是叶子节点,且x是叶子节点,则Tx(y)返回1。
通过基于属性的加密方式来实现云用户对外包数据的访问控制,而且可以有效解决访问控制中对用户权限进行撤销的问题。
两种加密方式的结合,既保证了重要数据的安全性,又可以实现网络资源的共享。
1).在这个体系中,用户首先将自己的数据传送至云平台,云服务提供商首先将用户的信息分为A类和B类,如图1所示。分类方式由云服务商制定并且根据云用户的业务特征或行业特征进行扩展。A类是涉及用户个人敏感信息和重要业务数据,如身份证号,用户偏好等,B类是Web数据隐私,涉及到用户部分可公开的隐私,如:年龄,个人信用等。A类的保密等级高于B类。B类隐私可用XML语言进行属性描述,如表1所示。
2).云端将隐私分类信息和策略树返还给用户,用户首先在本机对A类数据进行同态加密,加密好数据发送至云端存储,密钥只有用户拥有,云服务提供商无法获得。若用户要从云端提取A类数据及结果,经下载后用自身密钥进行解密既可以得到数据;
3).针对B类数据,制定相应的访问控制策略树。访问控制树的结构由树形节点构成,树中的中间节点表示与门(AND)与或门(OR),树的叶子节点表示用户的属性信息。B级所对应的访问控制树如图3所示,表明只有研发部的经理或者业务部的销售或者公司总裁才具有访问加密后的数据,故可以针对想要开放的人群设定相应的访问控制树。
4).根据访问控制树进行基于属性的加密,CP-ABE机制如图4所示。用户接收到来自云服务提供商返回的树结构描述访问策略AC-CP后,便开始访问可信任的授权机构。在Setup创建阶段:由授权机构执行,生成系统公钥PK和主密钥MK交给用户。KeyGen密钥生成阶段:由授权机构执行,用户将自己的属性集Au提交给授权机构,授权机构根据Au及创建阶段的公钥PK和主密钥MK生成用户属性集对应的私钥SK然后将公钥PK和私钥SK发送给用户;Encrypt加密阶段:用户使用PK,属性访问控制策略AC-CP对明文进行加密处理生成密文C,然后将密文C连同属性访问控制策略AC-CP发送给云端存储;云平台接收到用户传送的数据后分配存储空间进行存储。
5).当用户要求在云服务端对A类数据进行数据操作时,云服务提供商将提供相应计算能力和存储空间方便用户进行操作,计算结果也将以密文的方式存储在云端。
6).当其他用户或者可信机构想访问用户B类数据时,云服务提供商将根据访问策略树对访问者进行身份认证和权限匹配。由于密文与属性访问控制策略AC-CP有关,只有属性集Au满足属性访问控制策略AC-CP时,用户才能解密密文,解密过程为使用系统公钥PK,和用户的属性集对应的私钥SK对密文进行解密处理。如果密文接收者的属性集Au符合属性访问控制策略AC-CP,则可以进行解密工作,解密工作结束即可访问B类数据。
本发明的云环境下基于属性和同态混合加密的用户隐私保护方法,减少了云环境下用户的隐私被窃取的风险,确保重要的云用户隐私数据的安全性,同时又保证了一定的数据共享,使得云安全平台更加有效和安全,以下为云用户隐私保护过程,其对应过程流程图如图5所示。
(一)云用户隐私保护的过程
具体步骤如下所示:
1.首先根据图1的隐私分类方案,对不同的隐私数据进行分类。
2.对所分的A类隐私数据采用同态加密方式。
3.针对所分的B类隐私数据,构建如图2所示相应的访问控制树。
4.将加密后的数据上传至云平台,如图3所示。
5.对云端其他用户实行访问控制,对数据密文进行读的匹配操作,如图4所示。
6.用户在云端进行操作,下载数据结果密文,用密钥解密。