基于同态加密技术的云数据存储策略
2019-03-25黄琪王大帝蔡启煌
黄琪 王大帝 蔡启煌
摘 要:现有的云数据存储策略不能同时兼备数据加密和数据检索更新等功能,本文在深入研究同态加密技术的理论后,提出了基于同态加密技术的云数据存储策略。该策略可以实现在不解密的情况下对密文信息进行检索、更新等操作,既保证了云数据存储的安全性和保密性,又增强了密文信息操作的方便性和易用性。同态加密技术支持对密文的检索运算,可以解决传统密文存储策略不能及时有效地完成数据更新问题。
关键词:云计算;云数据;同态加密;存储;安全
中图分类号:TP333 文献标识码:A 文章编号:1671-2064(2019)03-0043-04
0 引言
云存储是云计算的一种重要服务模式,它允许用户将本地数据转存到云中,节省了用户本地的存储空间。虽然如此,仍由很多用户不愿意使用云存储服务,其根本原因在于云存储的安全性不能得到有效的保护。云存储的安全问题主要有云服务商不可信任、数据控制权与所有权分离、数据丢失、数据操作复杂以及数据保密等。本文是对云数据安全存储和便利操作问题研究提出的一种新型数据存储策略。
1 常见的云数据存储策略
云数据存储策略有很多种,根据云数据是否加密存储,云数据存储策略可分为两类,即明文存储和密文存储。
1.1 明文存储
明文存储策略是指云数据不经加密直接存放在云数据中心。明文存储具有检索方便、高效等特点。但是由于数据以明文的形式存放在云端,一旦非法用户获取登录权限,就可以获取全部的数据信息,因而数据安全性不能得到保证。
1.2 密文存储
密文存储策略是指将数据信息经过加密后存放在云端,一旦用户需要某项数据信息,可以通过密文传输的方式传送到用户处,并予以解密。与明文存储策略相比,密文存储策略的安全性极大的加强了,但是由于云间数据都是采用密文格式存储,数据检索比较复杂,效率降低。
如图1中(a)所示,在密文存储策略中,用户A和用户B的数据都是采用加密的形式存储在云端。当用户A请求获得用户B中的数据,首先要向云数据中心提出请求,然后云数据中心将加密数据解密获得明文,在明文数据库中找到用户A需要的数据,最后再从用户B处提取数据发送给用户A。
采用密文存储策略虽然有效的保护了云间的数据安全,但是检索效率极为低下。虽然云计算具有超级计算能力,但是这种每次请求信息都要进行加解密运算,极大的浪费了云中计算资源,而且这种密文存储策略也是有风险的,当云数据中心进行解密时,生成的暂时明文数据库,也有被非法用户窃取的风险。
为了提高密文存储策略,研究者又提出了基于关键词的密文存储策略。基于关键词的密文存储策略是在原有的密文存储策略中添加关键词数据库,云数据同样是采用密文的格式存储,但在数据中心增加关键词数据库,以明文格式存储,关键词与密文存储的数据信息建立对应关系(倒排记录)。
如图1(b)所示,在基于关键词的密文存储策略中,当用户检索数据信息时,先向数据中心发送检索请求,数据中心在接收请求后,从关键词数据库中检索,最后将符合要求的密文数据转发给请求用户。基于关键词的密文存储策略虽然不再需要对密文数据库进行解密,计算效率有所提高,但是仅对关键词检索性的能不够好,效率不高。
由于现有的密文存储策略不支持对密文直接运算操作,因此数据更新也是一个比较复杂的过程。如图2所示,在密文存储策略中对数据更新,首先要将数据解密,然后对明文数据进行更新操作,最后再将数据重新加密存储,并删除原有的密文数据。
2 同态加密技术
2.1 同态加密理论
同态加密(Homomorphic Encryption)的概念是由Rivest、Adleman和Dertouzos在1978年提出的。同态加密技术具有零知识证明特征,不需要对密文信息解密而直接对密文进行数据操作运算,在完成数据检索运算功能的同时,保证了数据存储安全的保密性。
定义1(同态加密).同态加密又称为隐私同态,它是一种允许对密文进行特定代数运算得到的结果与对明文进行同样运算后再进行加密得到的结果一致的加密体制。
定义2(加法同态).设明文经过加密后生成密文,即,若对明文和密文分别进行加法运算,且满足,则称该加密算法为加法同态加密算法。
定义3(乘法同态).设明文经过加密后生成密文,即,若对明文和密文分别进行加乘法运算,且满足,则称该加密算法为乘法同态加密算法。
定义4(全同态).一个加密算法如果既是加法同态,又是乘法同态的,则该算法称为全同态加密算法。
定义5(同态加密方案).同态加密方案通常由密钥生成、加密、解密和评估算法组成,即HE=(KeyGen,Enc,Dec,Eval)。
(1)密钥生成算法KeyGen:(pk,sk,evk)←KeyGen(k),k为安全参数。KenGen算法根据安全参数k为用户生成公共密钥pk、私有密钥sk和评估密钥evk。
(2)加密算法Enc:。加密算法根据明文和公共密钥pk生成密文c。
(3)解密算法Dec:。解密算法通过私有密钥sk将密文c解密,生成解密信息。
(4)評估算法Eval:,其中为评估函数,为密文,评估算法Eval根据评估密钥evk,评估函数对密文进行评估运算生成评估密文,当时,则可以判定该算法具有函数性质的同态算法。如为加法运算,则该加密算法为加法同态。
2.2 同态加密技术在云存储中应用的可行性
云存储是指通过集群应用、网格计算或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的服务系统。为了保证云中数据的保密性和安全性,通常采用数据加密技术将云数据加密,使不具有数据访问权限的用户无法读取、检索和修改云数据。但是,传统的加密技术虽然能够保证数据的安全性,但无法对密文信息进行直接检索、修改、更新等操作,因而极大的降低了云数据的使用效率。
同态加密能够在不解密的前提下对密文数据进行操作运算,既增强了数据存储的安全性,也简化了密文数据操作流程,因而得到研究者的广泛关注。2009年IBM研究员Gentry在参考文献[2]中提出基于理想格的全同态加密方案,为同态加密研究提供了新的思路。现有的研究工作多是在该基础上展开的。2010年Maten、Gentry等人在参考文献[3]中又进一步提出了整数上的全同态加密方案。2011年汤殿华等在参考文献[4]中提出了以减少公钥尺寸、加快计算速度的改进方案。2011年黄汝维等在参考文献[5]中提出了将同态加密应用于云环境中的加密算法。
目前同态加密技术还处于研究阶段,虽然Gentry等人提出了相应的同态加密算法,但是其算法实现复杂、计算量大,因而在普通网络环境很难得到应用。但是,由于云计算具有自助服务、资源共享、超大规模、虚拟化、高扩展性、高可靠性、通用性、价格低廉等特点,因此可以将云计算环境中空闲的计算设备通过虚拟技术抽象为一个超级计算服务器运行同态加密算法提供加密服务,因而同态加密技术可以在云计算环境中得到有效应用。黄汝维等在参考文献[5]中已经提出了基于云计算环境的同态加密方案CESVMC,并通过实验证明其加密性能和密文计算性能。
3 基于同态加密技术的云数据存储策略
3.1 数据存储
基于同态加密技术的云数据存储采用非对称加密机制,利用云服务提供商提供的公共密钥和同态加密算法对数据进行加密,然后通过密文传输提交给云数据中心,云数据中心将云用户数据转存到云环境中的存储设备。在云数据加密存储中,私有密钥仅为数据属主的云用户所有,因此在整個云环境中只有数据属主用户才可以对数据解密。
如图3所示,云用户A将本地数据通过加密生成密文信息并传送到云端,云服务提供商的数据中心将用户A的密文数据分发到可利用的云间存储设备B、C、D三处,在B、C、D三处的存储设备中存储用户A的数据都是密文数据,因而B、C、D三方无法读取获得存储在其存储设备中的数据信息,不仅B、C、D不能读取A用户的数据信息,而且连负责分发数据的云数据中心也无法获得A提交数据的真实内容。
基于同态加密技术的云数据存储过程中,用户将本地数据加密后传送给云数据中心,在整个云计算环境中,云数据中心都是对密文信息进行传输、存储、检索、更新和计算的,因此保证了云数据的保密性。
由于数据在云环境中是以密文形式呈现的,因此即使数据被非法用户窃听截获,也不会泄露数据信息。采用非对称加密机制的数据加密策略,解密私钥仅为数据所有,数据的控制管理者云服务提供商也不能破解数据信息,从而避免了第三方服务商不能切实履行信托责任的监守自盗行为。
3.2 数据检索
基于同态加密技术的云数据存储策略与传统的密文存储策略相比,最突出的优点就是允许对密文信息进行直接操作。经过加密存储在云环境中的数据信息可以不经解密,直接执行检索、更新等操作,既方便用户的数据操作需求,也提高了数据计算的效率。
图4是基于同态加密技术的云数据存储策略的数据检索过程示意图。在图4中,云用户A、B、C、D、E、F、G、H等通过云端加密服务器将数据进行加密后传送给云数据中心,云数据中心将密文数据转存到云间可用存储设备中。
当用户A向云数据中心请求数据时,云数据中心直接对密文进行检索计算,其检索步骤如下所示:
Step1:请求用户A向云数据中心提交“数据请求”;
Step2:数据中心在接收到“数据请求”后,执行以下步骤:
Step2.1:对请求的数据m进行加密,生成密文c;
Step2.2:对密文c进行检索运算;
Step2.3:生成检索报告提交给数据中心;
Step3:云数据中心根据“检索报告”向请求用户A发送“回复”信息,告知其所需数据为用户G所有,需要获得用户G的授权;
Step4:请求用户A在收到数据中心的“回复”后,直接与用户G取得联系,发送“数据请求”。
传统的数据加密存储策略由于不允许对密文数据的直接操作,因此其检索过程通常比较复杂,耗时时间长且效率低;而基于同态加密技术的数据存储策略在不解密的情况下对密文信息进行直接操作,过程简单、耗时时间短且效率高。
3.3 数据更新
传统加密存储策略中数据更新的过程极为复杂,首先要对明文信息进行更新,然后将更新后的明文再次加密存储,最后将原有的过期明文删除。而基于同态加密技术的数据存储策略由于允许对密文数据直接操作,其数据更新过程非常简单,只需要对相应的密文信息直接更新即可。
如图5所示的数据更新流程中,传统数据加密存储策略的数据更新过程除了要对明文进行更新操作外,还要进行“新明文加密”和“旧密文删除”等辅助操作,过程复杂、耗时时间长,而基于同态加密技术的数据存储策略的更新过程只需要直接对密文数据进行更新操作即可,过程简单、耗时时间少。
4 结语
本文是针对密文存储中密文直接操作问题提出的解决方案。同态加密技术可以实现对密文数据的直接操作,简化了数据检索、更新的操作过程,节省了执行时间,提高了运行效率。虽然现有的同态加密技术的实现比较复杂,所需计算资源比较大,但是由于云计算具有超大规模、超强计算能力的特征,正好弥补了同态加密技术的不足,因此基于同态加密技术的云数据存储将有比较广阔的应用空间。
参考文献
[1] Balachandra Reddy Kandukuri, Ramakrishna Paturi V, Dr. Atanu Rakshit. Cloud Security Issues// 2009 IEEE International Conference on Services Computing,2009:516-520.
[2] Craig Gentry. Fully Homomorphic Encryption Using Ideal Lattices// STOC09 ACM 978-1-60558-506-2/09/05:169-178.
[3] Marten van Dijk, Craig Gentry, Shai Halevi, Vinod Vaikuntanathan. Fully Homorphic Encryption over the Integers// EUROCRYPT 2010,LNCS 6110,pp.24-43,2010.
[4] Craig Gentry, Shai Halevi. Implementing Gentrys Fully-Homomorphic Encryption Scheme// Eurocrypt 2011, LNCS 6632,pp.129-148,2011.
[5] 黄汝维,桂小林,余思,等.云环境中支持隐私保护的可计算加密方法[J].计算机学报,2011(12):2391-2402.
[6] Vinod Vaikuntanathan, Computing Blindfolded: New Developments in Fully Homomorphic Encryption.
[7] 冯登国,张敏,张妍,等.云计算安全研究[J].软件学报,2011,22(1):71-83.