论文部分内容阅读
摘要:针对云环境下数据存储和访问控制的安全性问题,大部分现行方案都是在基于可信第三方的前提下建立的。由于可信第三方并不是真正意义上的可靠,更加理想的云环境下的访问控制方案应该是不依托于可信第三方的。因此,该方案提出一种不依托于可信第三方的云存储访问控制方案。在整个系统模型中,主要有三个部分构成:云服务提供商(Cloud Storage Server,CSP),数据拥有者(Data Owner,DO),以及数据用户(Data User,DU)(有时数据拥有者和数据用户为同一人)。这三个部分在方案中相互牵制,CSP或者DU都不允许单独对数据进行访问,从而有效地防止由于内部或外部的攻击而造成的数据泄露等一系列问题。
关键词:云存储;数据分块;属性层次;访问控制
中图分类号:TP309.7 文献标识码:A 文章编号:1009-3044(2018)08-0052-04
1引言
云计算是指大数据通过分布式存储等链接到一起,从而形成一种虚拟化的共享资源池。当前,云计算领域已经成为学术界和工业界研究的热点。云计算技术的发展,也促进了云存储等技术的兴起。云存储是云计算衍生和发展起来的数据外包服务技术,云储存技术是利用软件技术,将处于分别处于不同地理位置的存储设备相互链接起来,构成一个整体,从而实现了资源的存储、共享和访问控制。云存储技术能够让用户按需随时随地的访问云端数据,具有成本低、多种接口提供多种服务以及高扩展性等商业优势而得到高度关注。然而云存储带来便利的同时,也带来了巨大的安全隐患。当用户通过云存储技术,把属于自己的数据资源存储到云上以后,其后果就是数据的管理权以及所有权,与数据拥有者造成了分离。
为了实现云存储的安全问题,确保用户数据机密性和隐私保护的主要方法就是访问控制。然而云存储的外包服务模式导致特权用户的存在,云服务提供商或者特权用户可能会具有非授权访问用户数据的权力,导致用户隐私数据泄露等安全问题。目前,解决的方法是引入模糊身份的基于属性加密的ABE(Attribute-base Encryption)加密访问控制技术。
在2005年Sahai与Waters等提出基于属性的加密算法。紧接着,基于密钥策略的属性基加密机制(KP-ABE)也于2006年由Goyal等人提出来。随后,基于密文策略的属性基加密机制(CP-ABE)也于2007年由Bethencourt等人提出。注意到,在CP-ABE中,加密者即数据的拥有者可以自己定义自己的访问策略,因此更适合于在云存储环境中,实现共享数据的访问控制,从而CP-ABE得到了学术界和工业界的广泛关注,其关注的焦点主要集中在:1)通过利用云计算技术的存储能力和计算能力,来实现灵活的、可细粒度的访问控制;2)属性权限撤销的问题,即是在降低数据拥有者开销的前提下,实现可变策略的访问控制。
施荣华等人于2015年提出了一种基于数据分割的CP-ABE的云加密访问控制方案。该方案有效地实现了云存储数据在共享访问时的安全和隐私问题,且在增强方案安全性的同时,降低了系统运行开销。但是,该方案也存在的一定的缺点。为此,在2017年,钱冲冲和解福等提出一种基于可信第三方的CP-ABE云存储访问控制方案(以下简称ACTYP方案),结合数据分割和CP-ABE算法在基于可信第三方的前提下一定程度上解决了上述问题。但该方案是在基于可信第三方的前提下建立的,由于可信第三方并不是真正意义上的可靠,本文对该方案分析后发现该方案存在着不能抵抗来自“可信第三方”的内部攻击的问题。
本文针对原方案中由可信第三方等发起内部攻击无法防范的问题,结合面向分散式存储的云存储安全架构进行了相应的改进。最后进行安全分析,证明了在内部攻击(由云服务提供商因好奇而发起的攻击等)或外部攻击(由未经数据拥有者授权的冒充者所发起攻击等)下本方案的安全性。
2相关知识
2.1数据分块的原理
通过将需要存储的数据分解成m个分块,当用户拥有s个分块且满足s小于等于m,才能成功地恢复出原始的数据。这种分块方法的特点是,当n=m-s个分块被毁坏或者丢失时,仍能恢复原始的数据;如果小于s个分块被丢失或者破坏时,原始的数据将不能被恢复,从而增强了系统的安全性。
2.2信息扩散法(IDA)数据分块算法
(2)访问结构ES:ES是E的一个非空子集。
(3)访问数T:叶子结点表示用户属性,非叶子节点表示门限关系。
CP-ABE算法的相关组成
(1)系统初始化:数据拥有者使用Setup函数创建自身唯一公钥(PK)和主密钥(Mk)。
(2)使用加密函数CT=Encrypt(PK,G,T)对明文数据G进行加密得到密文CT,在这里公钥,明文,访问树作为输入参数输入加密函数得到密文。
(3)生成私钥:SK=Getkey(MK,D)主密钥和用户属性作为输入参数。
(4)解密明文:通过解密函数G=Decrypt(SK,CT),得到明文数据G。
3 ACTTP方案分析
3.1具体实现
通过如下的步骤,可以将数据存储在云端服务器上:
1)数据准备:数据拥有者将需要存储在云端服务器上的数据进行分块,具体分割成大数据块和小数据块。
2)加密数据:在将小数据上传到云端服务器之前,首先选取适用的对称加密(3DES)算法来加密小数据块。
3)密钥密文生成:首先初始化CP-ABE算法,生成Mk和Pk。数据拥有者生成访问策略;随后,通过CP-ABE算法来加密密文小数据块,这样可以得到解密密钥;最后,分別将解密密钥以及密文,传送到可信第三方和云端服务器。
4)生成私钥:将Sk和用户属性进行关联,同时将私钥发送到可信第三方。只有当用户提交的属性集满足小数据块T时,才可以获得解密密钥,完成对小数据块进行解密。 5)利用TEA算法对大数据块加密。通过在可信第三方上存储密钥,且将加密的密文存储在云端服务器。
6)将与大数据块、小数据块相关的信息发送到云端服务器。
3.2用户访问云端数据的过程
其具体步骤如下:
1)验证:云端服务器检查用户信息,通过查看用户相关的信息,来判断用户是否属于小数据块。
2)数据块解密:在可信第三方中,分别存储有三种密钥:小数据块的解密密钥和私钥,大数据块的解密密钥。如果用户要访问云端服务器上的数据,则必须拥有全部的密钥,才能获取访问权限。
3)将小数据块和大数据块分别进行解密再合并,这样用户可以获得对应的明文。
4)用户权限的撤销:如果数据拥有者对小数据块的访问权限进行更改,则每次都需要重新定义访问结构,才能使已经失去访问权限的用户不能获得解密密钥。为了减少访问结构重新定义所带来的计算效率下降的问题,可以将访问树中的根节点的子节点,采用用户属性集中的标识属性来表示。该方法的优点是可以不用修改整棵访问树,只需要当用户访问小数据块的权限撤销时,把此用户相对应的访问树中的标识属性直接删除就可以了。
3.3安全模型分析
本文对ACTTP方案的安全模型分析如下:
情形1.假定可信第三方确实存在并认真而正确的执行约定的协议。当未经(数据拥有者)授权的冒充者所发起的外部攻击。
情形2.假定数据拥有者认真而正确的授权,未出现错误授权等意外情况。由“可信第三方”及云存储服务提供商所发起的内部攻击。
下面分别进行详细的说明。
情形1论证:首先我们讨论两方面的安全,一是传输过程中的安全,二是在云端的存储安全。
1)传输过程中的安全:在原方案中数据拥有者应用数据分块原理,使用算法将明文数据分为小数据块和大数据塊。将小数据和大数据块上传到云端之前,先对小数据块进行3DES加密。对大数据块进行TEA加密,之后获得3DES及TEA加密的解密密钥。在这种情况下保证了在将数据块上传到云端的过程中,信息不会被泄露。即使攻击者非法截获上传信息,也会因为获取的数据是进行了加密的数据块,从而导致攻击者不能够解密数据块,也即攻击者不能够获得明文数据。
2)云端存储时的安全:CP-ABE算法在云端服务器进行初始化时,分别生成了Pk和Mk,且数据拥有者制定自身唯一的访问结构(一个访问结构对应一个数据拥有者的私密数据)并通过CP-ABE算法再次对小数据块进行加密,生成的密文传输到云端,解密密钥(3DES以及TEA)和私钥发送到可信的第三方。当某个非法用户冒充数据拥有者P对P的私密数据SD进行访问,他必须向云端提供P的访问结构的信息等等,由于可信第三方的存在,该非法用户不可能获取P的访问结构,也不可能得到相关的密钥。故不可能获取未授权资料,即该情形不可能发生。
情形2论证:
1)在此种情况下不用讨论传输过程中的安全,故现假定可信第三方对数据拥有者的数据产生了好奇心,它想获取数据资料。由于数据拥有者对自身所有数据的加密密钥全部存放在可信第三方中,而把密文分成大小两部分存储在云端。当可信第三方想要获取数据时,由于它拥有相关密钥,故可直接向云端发送访问资源请求,云端对拥有相关密钥的访问者不再进行其他的身份验证,即可直接从云端获取相关资源。这样在没有经过数据拥有者的授权情况下就获得了相关数据,从而也就导致了数据泄露。
4改进的方案
为了改进原方案不能抵抗内部攻击的缺陷,本方案提出一些改进措施,下面具体叙述。
4.1本文方案访问过程
将数据存储在云端服务器上的过程,包括如下的几个具体步骤:
1)数据拥有者可以将存储在云端服务器上的数据,用信息扩散算法进行分块,并区分出小数据块,和大数据块。
2)对小数据块使用RSA算法加密,生成私钥和公钥,私钥数据拥有者本地保存,并将加密后的小数据块和公钥上传至第三方。
3)初始化CP-ABE算法,生成Pk以及Mk。同时数据拥有者生成数据的访问策略,访问策略与数据拥有者的提交的数据属性集相关联。使用CP-ABE算法加密密文小数据块,生成解密密钥。
4)对大数据块使用TEA算法进行加密,将加密后的数据上传至云服务器。
用户访问云端数据的过程与原方案大致相同,只是当DU进行访问时,DO需要将本地保存的私钥发送之CSP,DO将DU的授权信息与DO发送至CSP的私钥结合,只有这样DU才能获得DO的数据明文。
4.2安全性分析
基于原方案的情况下,在访问权限控制,数据机密性,数据安全性等原方案已经证明了安全性,故现只针对情形2来自内部的攻击进行安全性证明。即是,由第三方或云服务提供商发起的内部攻击安全性证明。
在改进方案中,对小数据块进行RSA加密,并且把小数据块上传至第三方,RSA私钥DO本地保存,RSA公钥发送至第三方。对大数据块进行TEA加密,并将大数据块上传至CSP,密钥发送至第三方。
当第三方或者是CSP发起攻击时,本文讨论第三方发起攻击的情形。
1)在CSP诚实而可靠的履行自身职责的前提下,由于DO在上传小数据块之前,将小数据块进行了RSA加密,私钥是DO本地保存,第三方由于不能解密已经由RSA加密后的小数据块,也就不能获得DO数据明文。
2)在第三方可信的前提下,CSP出于好奇,进而希望窃取DO数据信息,但是它不能从可信第三方处获得DO的访问结构信息等,故也不能获取DO的数据明文。
5结语
本文提出一种不依赖于可信第三方的CP-ABE云存储访问控制方案,虽然也引入了可信第三方,但并不是将数据的安全性依赖于“可信第三方”的保证,而是通过数据拥有者、云服务提供商、第三方之间的相互制约,来实现方案的数据安全性保障。本方案的缺点是,为了保证数据的安全性,加大了数据拥有者的负担。故在随后的研究中,将研究在保证数据安全性的前提下,如何减少数据拥有者的工作量。
关键词:云存储;数据分块;属性层次;访问控制
中图分类号:TP309.7 文献标识码:A 文章编号:1009-3044(2018)08-0052-04
1引言
云计算是指大数据通过分布式存储等链接到一起,从而形成一种虚拟化的共享资源池。当前,云计算领域已经成为学术界和工业界研究的热点。云计算技术的发展,也促进了云存储等技术的兴起。云存储是云计算衍生和发展起来的数据外包服务技术,云储存技术是利用软件技术,将处于分别处于不同地理位置的存储设备相互链接起来,构成一个整体,从而实现了资源的存储、共享和访问控制。云存储技术能够让用户按需随时随地的访问云端数据,具有成本低、多种接口提供多种服务以及高扩展性等商业优势而得到高度关注。然而云存储带来便利的同时,也带来了巨大的安全隐患。当用户通过云存储技术,把属于自己的数据资源存储到云上以后,其后果就是数据的管理权以及所有权,与数据拥有者造成了分离。
为了实现云存储的安全问题,确保用户数据机密性和隐私保护的主要方法就是访问控制。然而云存储的外包服务模式导致特权用户的存在,云服务提供商或者特权用户可能会具有非授权访问用户数据的权力,导致用户隐私数据泄露等安全问题。目前,解决的方法是引入模糊身份的基于属性加密的ABE(Attribute-base Encryption)加密访问控制技术。
在2005年Sahai与Waters等提出基于属性的加密算法。紧接着,基于密钥策略的属性基加密机制(KP-ABE)也于2006年由Goyal等人提出来。随后,基于密文策略的属性基加密机制(CP-ABE)也于2007年由Bethencourt等人提出。注意到,在CP-ABE中,加密者即数据的拥有者可以自己定义自己的访问策略,因此更适合于在云存储环境中,实现共享数据的访问控制,从而CP-ABE得到了学术界和工业界的广泛关注,其关注的焦点主要集中在:1)通过利用云计算技术的存储能力和计算能力,来实现灵活的、可细粒度的访问控制;2)属性权限撤销的问题,即是在降低数据拥有者开销的前提下,实现可变策略的访问控制。
施荣华等人于2015年提出了一种基于数据分割的CP-ABE的云加密访问控制方案。该方案有效地实现了云存储数据在共享访问时的安全和隐私问题,且在增强方案安全性的同时,降低了系统运行开销。但是,该方案也存在的一定的缺点。为此,在2017年,钱冲冲和解福等提出一种基于可信第三方的CP-ABE云存储访问控制方案(以下简称ACTYP方案),结合数据分割和CP-ABE算法在基于可信第三方的前提下一定程度上解决了上述问题。但该方案是在基于可信第三方的前提下建立的,由于可信第三方并不是真正意义上的可靠,本文对该方案分析后发现该方案存在着不能抵抗来自“可信第三方”的内部攻击的问题。
本文针对原方案中由可信第三方等发起内部攻击无法防范的问题,结合面向分散式存储的云存储安全架构进行了相应的改进。最后进行安全分析,证明了在内部攻击(由云服务提供商因好奇而发起的攻击等)或外部攻击(由未经数据拥有者授权的冒充者所发起攻击等)下本方案的安全性。
2相关知识
2.1数据分块的原理
通过将需要存储的数据分解成m个分块,当用户拥有s个分块且满足s小于等于m,才能成功地恢复出原始的数据。这种分块方法的特点是,当n=m-s个分块被毁坏或者丢失时,仍能恢复原始的数据;如果小于s个分块被丢失或者破坏时,原始的数据将不能被恢复,从而增强了系统的安全性。
2.2信息扩散法(IDA)数据分块算法
(2)访问结构ES:ES是E的一个非空子集。
(3)访问数T:叶子结点表示用户属性,非叶子节点表示门限关系。
CP-ABE算法的相关组成
(1)系统初始化:数据拥有者使用Setup函数创建自身唯一公钥(PK)和主密钥(Mk)。
(2)使用加密函数CT=Encrypt(PK,G,T)对明文数据G进行加密得到密文CT,在这里公钥,明文,访问树作为输入参数输入加密函数得到密文。
(3)生成私钥:SK=Getkey(MK,D)主密钥和用户属性作为输入参数。
(4)解密明文:通过解密函数G=Decrypt(SK,CT),得到明文数据G。
3 ACTTP方案分析
3.1具体实现
通过如下的步骤,可以将数据存储在云端服务器上:
1)数据准备:数据拥有者将需要存储在云端服务器上的数据进行分块,具体分割成大数据块和小数据块。
2)加密数据:在将小数据上传到云端服务器之前,首先选取适用的对称加密(3DES)算法来加密小数据块。
3)密钥密文生成:首先初始化CP-ABE算法,生成Mk和Pk。数据拥有者生成访问策略;随后,通过CP-ABE算法来加密密文小数据块,这样可以得到解密密钥;最后,分別将解密密钥以及密文,传送到可信第三方和云端服务器。
4)生成私钥:将Sk和用户属性进行关联,同时将私钥发送到可信第三方。只有当用户提交的属性集满足小数据块T时,才可以获得解密密钥,完成对小数据块进行解密。 5)利用TEA算法对大数据块加密。通过在可信第三方上存储密钥,且将加密的密文存储在云端服务器。
6)将与大数据块、小数据块相关的信息发送到云端服务器。
3.2用户访问云端数据的过程
其具体步骤如下:
1)验证:云端服务器检查用户信息,通过查看用户相关的信息,来判断用户是否属于小数据块。
2)数据块解密:在可信第三方中,分别存储有三种密钥:小数据块的解密密钥和私钥,大数据块的解密密钥。如果用户要访问云端服务器上的数据,则必须拥有全部的密钥,才能获取访问权限。
3)将小数据块和大数据块分别进行解密再合并,这样用户可以获得对应的明文。
4)用户权限的撤销:如果数据拥有者对小数据块的访问权限进行更改,则每次都需要重新定义访问结构,才能使已经失去访问权限的用户不能获得解密密钥。为了减少访问结构重新定义所带来的计算效率下降的问题,可以将访问树中的根节点的子节点,采用用户属性集中的标识属性来表示。该方法的优点是可以不用修改整棵访问树,只需要当用户访问小数据块的权限撤销时,把此用户相对应的访问树中的标识属性直接删除就可以了。
3.3安全模型分析
本文对ACTTP方案的安全模型分析如下:
情形1.假定可信第三方确实存在并认真而正确的执行约定的协议。当未经(数据拥有者)授权的冒充者所发起的外部攻击。
情形2.假定数据拥有者认真而正确的授权,未出现错误授权等意外情况。由“可信第三方”及云存储服务提供商所发起的内部攻击。
下面分别进行详细的说明。
情形1论证:首先我们讨论两方面的安全,一是传输过程中的安全,二是在云端的存储安全。
1)传输过程中的安全:在原方案中数据拥有者应用数据分块原理,使用算法将明文数据分为小数据块和大数据塊。将小数据和大数据块上传到云端之前,先对小数据块进行3DES加密。对大数据块进行TEA加密,之后获得3DES及TEA加密的解密密钥。在这种情况下保证了在将数据块上传到云端的过程中,信息不会被泄露。即使攻击者非法截获上传信息,也会因为获取的数据是进行了加密的数据块,从而导致攻击者不能够解密数据块,也即攻击者不能够获得明文数据。
2)云端存储时的安全:CP-ABE算法在云端服务器进行初始化时,分别生成了Pk和Mk,且数据拥有者制定自身唯一的访问结构(一个访问结构对应一个数据拥有者的私密数据)并通过CP-ABE算法再次对小数据块进行加密,生成的密文传输到云端,解密密钥(3DES以及TEA)和私钥发送到可信的第三方。当某个非法用户冒充数据拥有者P对P的私密数据SD进行访问,他必须向云端提供P的访问结构的信息等等,由于可信第三方的存在,该非法用户不可能获取P的访问结构,也不可能得到相关的密钥。故不可能获取未授权资料,即该情形不可能发生。
情形2论证:
1)在此种情况下不用讨论传输过程中的安全,故现假定可信第三方对数据拥有者的数据产生了好奇心,它想获取数据资料。由于数据拥有者对自身所有数据的加密密钥全部存放在可信第三方中,而把密文分成大小两部分存储在云端。当可信第三方想要获取数据时,由于它拥有相关密钥,故可直接向云端发送访问资源请求,云端对拥有相关密钥的访问者不再进行其他的身份验证,即可直接从云端获取相关资源。这样在没有经过数据拥有者的授权情况下就获得了相关数据,从而也就导致了数据泄露。
4改进的方案
为了改进原方案不能抵抗内部攻击的缺陷,本方案提出一些改进措施,下面具体叙述。
4.1本文方案访问过程
将数据存储在云端服务器上的过程,包括如下的几个具体步骤:
1)数据拥有者可以将存储在云端服务器上的数据,用信息扩散算法进行分块,并区分出小数据块,和大数据块。
2)对小数据块使用RSA算法加密,生成私钥和公钥,私钥数据拥有者本地保存,并将加密后的小数据块和公钥上传至第三方。
3)初始化CP-ABE算法,生成Pk以及Mk。同时数据拥有者生成数据的访问策略,访问策略与数据拥有者的提交的数据属性集相关联。使用CP-ABE算法加密密文小数据块,生成解密密钥。
4)对大数据块使用TEA算法进行加密,将加密后的数据上传至云服务器。
用户访问云端数据的过程与原方案大致相同,只是当DU进行访问时,DO需要将本地保存的私钥发送之CSP,DO将DU的授权信息与DO发送至CSP的私钥结合,只有这样DU才能获得DO的数据明文。
4.2安全性分析
基于原方案的情况下,在访问权限控制,数据机密性,数据安全性等原方案已经证明了安全性,故现只针对情形2来自内部的攻击进行安全性证明。即是,由第三方或云服务提供商发起的内部攻击安全性证明。
在改进方案中,对小数据块进行RSA加密,并且把小数据块上传至第三方,RSA私钥DO本地保存,RSA公钥发送至第三方。对大数据块进行TEA加密,并将大数据块上传至CSP,密钥发送至第三方。
当第三方或者是CSP发起攻击时,本文讨论第三方发起攻击的情形。
1)在CSP诚实而可靠的履行自身职责的前提下,由于DO在上传小数据块之前,将小数据块进行了RSA加密,私钥是DO本地保存,第三方由于不能解密已经由RSA加密后的小数据块,也就不能获得DO数据明文。
2)在第三方可信的前提下,CSP出于好奇,进而希望窃取DO数据信息,但是它不能从可信第三方处获得DO的访问结构信息等,故也不能获取DO的数据明文。
5结语
本文提出一种不依赖于可信第三方的CP-ABE云存储访问控制方案,虽然也引入了可信第三方,但并不是将数据的安全性依赖于“可信第三方”的保证,而是通过数据拥有者、云服务提供商、第三方之间的相互制约,来实现方案的数据安全性保障。本方案的缺点是,为了保证数据的安全性,加大了数据拥有者的负担。故在随后的研究中,将研究在保证数据安全性的前提下,如何减少数据拥有者的工作量。