APP下载

云存储平台数据安全方案研究

2019-09-10平恩鹏

现代信息科技 2019年23期

摘  要:当云存储服务提供商不可信时,会严重影响客户在云服务平台中的数据安全性。本文对DGHV全同态加密算法进行改进,在改进加密算法的过程中,客户端保存全部密钥,而云服务器平台仅保存可进行密文检索,但无法进行密文解密的部分密钥,从而在云存储服务提供商不可信的情境下,保证用户在云存储平台中的数据安全。

关键词:云存储平台;同态加密算法;密文检索

中图分类号:TP333;TP309      文献标识码:A 文章编号:2096-4706(2019)23-0156-03

Research on Data Security Scheme of Cloud Storage Platform

PING Enpeng

(Yan’an Branch of Shaanxi Radio and Television University,Yan’an  716000,China)

Abstract:When cloud storage service providers are not trusted,it seriously affects the data security of customers in cloud service platform. In this paper,the DGHV homomorphic encryption algorithm is improved. In the improved encryption algorithm,the client saves all the keys,while the cloud server platform stores only some key which can carry out ciphertext retrieval,but can not carry out the ciphertext decryption,so as to ensure the data security of users in the cloud storage platform under the condition of cloud storage service providers are not trusted.

Keywords:cloud storage platform;homomorphic encryption algorithm;ciphertext retrieval

0  引  言

云存储方法具有容量大、方便快捷的优势,已成为当前最常用的共享存储方案,很多企业和个人使用第三方云服务平台进行自身数据、文件的存储和管理。而第三方云服务平台不仅会受外部攻击影响平台内的数据安全,同时也存在内部工作人员非法获取平台数据的安全风险。例如,iCloud的安全漏洞导致用户隐私数据泄露,Dropbox的用户私有数据曾被公开于网络,受利益诱惑,云存储服务提供商窥探用户隐私数据的情况也时有发生。为此,在考虑云存储服务器提供商不可信的情况下,加强云端数据的安全性,是促进云存储平台发展的重点,而进行数据加密是解决云存储平台数据机密问题的有效手段,可避免用户数据被非法访问或篡改,但存在数据检索困难的难点。为此,本文采用包含两个密钥的同态加密改进算法,服务器端存储检索密钥,用于平台端加密数据的检索,但由于服务器端无法获取客户端密钥,因此也无法获取服务器端存儲的明文数据,在为用户提供数据检索服务的同时,也保证了数据安全性。

1  全同态加密算法研究

1.1  同态加密的概念

同态加密(Homomorphic Encryption)要求找到这样的数据加密算法:直接对密文数据进行处理,并且将处理后的结果还原出相应处理的明文。同态加密方法适用于对服务方并不完全信任的云存储平台环境。对于云平台端存储的同态加密密文,服务方可以进行检索等处理,但是无法查看数据的具体内容。

同态加密算法可描述为六元组{M,C,E,D,K,⊗},其中M表示明文空间,C表示密文空间,E表示加密算法,D表示解密算法,K表示对称密钥,⊗表示同态代数运算。

对任意的明文m1,m2,…,mk∈M,满足如式(1)所示关系:

⊗(m1,m2,…,mk)=D⊗(E(m1),E(m2),…,E(mk))                                        (1)

即,对于任意明文m1,m2∈M,满足如式(2)所示关系:

E(m1⊗m2)=E(m1)⊗E(m2)                (2)

满足不同同态运算的同态算法分为加法和乘法同态算法。满足加法同态性质的加法同态算法描述如式(3)所示:

m1+m2+…+mk=D(E(m1)+E(m2)+…+E(mk))

(3)

满足乘法同态性质的乘法同态算法描述如式(4)所示:

m1×m2×…×mk=D(E(m1)×E(m2)×…×E(mk))

(4)

同时满足加法同态性质和乘法同态性质的同态算法称之为全同态加密算法,满足:对密文进行加法或乘法运算,并进行解密得到的明文,与对明文进行相同运算后的结果相同。

1.2  DGHV加密算法簡介

传统的RSA算法、ElGamal算法满足乘法同态,但不满足加法同态;Paillier算法满足加法同态,但不满足乘法同态。即RSA、ElGamal、Paillier算法均不是全同态算法。整数上全同态加密方案(DGHV)的安全性依赖于“近似GCD问题”,使用简单的算法步骤与概念,在整数方案内使用基本运算模式,具有全同台性质和操作效率。

DGHV的具体过程如下所示:

(1)KeyGen(η):随机生成一个长度为η比特的大奇数p∈[2η-1,2η),作为DGHV全同态加密算法密钥;

(2)Encrypt(p,m):基于密钥p,对于明文m,随机生成一个ρ比特长的整数r,和Q比特长的整数q,且有2r+m≪p,输出的密文为:pq+2r+m→c;

(3)Decrypt(p,c):按照(c mod p)mod 2的操作对密文c进行解密操作,其中,c mod p=c-[c/p]×p∈(-p/2,p/2];

(4)Evaluate:f(c1,c2,…,ct)。

在对密文进行解密的过程中,噪声r相较于密钥p足够小,因此pq≫2r+m,经过p运算的密文c,将去除掉pq,仅剩下2r+m,在经过mod 2操作后,剩下明文m。算法中的p是一个大奇数密钥,在加密时不需要重新计算,加密过程的随机参数q用以保证加密结果的随机性,随机参数r用以保证机密结果为密钥p的近似倍数,保证密钥的安全性。DGHV的明文空间为[0,1],密文空间为整数集合。Evaluate为评估算法,对给定的运算电路函数f和密文c1,c2,…,ct,实施电路操作f(c1,c2,…,ct)。密文c是密钥p的近似倍数,由于GCD困难问题,因此根据明文和密文,推算出密钥p是困难的。

DGHV算法的加法同态性和乘法同态性的验证如下:两个明文m1,m2,对应的密文分别为c1,c2,其中:

(5)

则有:c1+c2=(q1+q2)p+2(r1+r2)+(m1+m2),由于2(r1+r2)+(m1+m2)≪p,有(c1+c2)mod p=2(r1+r2)+(m1+m2),再在两边进行模2操作后,得到:

D(c1+c2)=[(c1+c2)mod p]mod 2=(m1+m2)  (6)

即DGHV算法具有加法同态性。同理有:

c1c2=[q1q2p+2(r1+m1)+2(r2+m2)]p+2(r1r2+r1m2+ r2m1)+m1m2                                      (7)

由于2(r1r2+r1m2+r2m1)+m1m2≪p,有:

(c1c2)mod p=2(r1r2+r1m2+r2m1)+m1m2        (8)

进而得到:

D(c1c2)=[(c1c2)mod p]mod 2=(m1m2)       (9)

即DGHV算法具有乘法同态性。

1.3  基于DGHV的密文检索

如前所述,DGHV具有全同态性,对云存储平台数据进行检索的具体流程为:对用户上传文件进行分词处理,得到文件文本的关键词,并进行文件关键词同态加密处理,将加密后的文件和关键词上传到云存储平台上,用户检索时,提交检索关键词的同态加密密文,平台基于加密算法的同态性质进行密文计算匹配,匹配成功则将平台中存储的密文文件返回给客户端,在客户端对密文进行解密后得到原文件。

在云存储平台数据进行检索时,客户端必须将密钥p上传到云存储平台,影响加密算法密钥p的安全性,进而影响用户数据的安全性,即虽然DHGV具有全同态特征,但是并不适用于云存储平台中。

2  云存储平台的密文检索算法研究

通过对DGHV算法的适当改进,提出一种具有全同态性和用于解决服务器不可信的密文检索散算法。

2.1  改进算法设计

改进后的DGHV算法如下所示:

(1)KeyGen(η1,η2):随机生成长度分别为η1和η2比特的大奇数p1与p2,并有p1≪p2,其中p1由客户端生成,用作客户端数据加密密钥,p2在服务器端生成,作为专门检索密钥;

(2)Encrypt(p1,p2,m):随机生成大数q(位数为Q),和较小整数r(位数为ρ),针对明文m,计算密文c=m×p1+p1×p2×q+p2×r,其中,q和r在每次加密过程中重新生成;

(3)Decrypt(p1,p2,c):按照(c mod p2)/p1得到明文,其中c mod p2=/(m×p1)mod p2,由于p1≪p2,明文m为关键词比特,其长度也较小,因此有(m×p1)mod p2=m×p1,即(c mod p2)/p1=m;

(4)Retrieval(cr,c):计算Retrieval(cr,c)=(cr-c)mod p2,若值为0,则表示密文检索过程中,密文检索词cr与关键词c匹配。

2.2  加法同态性验证

对明文m1,m2进行加密后,得到:

(10)

则有:

D(c1+c2)=[((q1+q2)×p1p2+p1×(m1+m2)+p2×(r1+r2))mod p2]/p1=[(p1×(m1+m2))mod p2]/p1          (11)

由于p1×(m1+m2)≪p2,则有D(c1+c2)=m1+m2,改进算法的加法同态性得证。

2.3  改进方案分析

首先,从密钥的安全性上来看,改进算法有p1和p2两个密钥,只有同时获得两个密钥才能正确解析密文,在加密过程中,客户端仅将密钥p2上传到云端服务器保存,由于云端服务器不知道密钥p1,因此其无法对存储在云端服务器的密文进行解密,保证了云端服务器的数据安全。

其次,基于改进算法的加法同态性,对于检索词mr和关键词mi(假设对应的密文分别为cr和ci),根据改进算法的加法同态性,有:

mr-mi=[(cr-ci)mod p2]/p1                  (12)

若(cr-ci)mod p2=0,则有mr-mi=0,即明文匹配成功;反之则表示明文匹配不成功。在进行密文关键词索引,判断(cr-ci)mod p2是否为零时,仅涉及到密钥p2,而必须要密钥p1的支持,因此云端服务器不需要解密密文,即可实现密文检索。

最后,从密钥安全性角度来看,攻击者可获得多个密文c1,c2,…,ct,密文c是密钥p1的近似倍数,由于GCD困难问题,因此根据明文和密文,推算出密钥p1是困难的。

3  结  论

相较于DGHV全同态算法而言,本文研究的改进算法虽然满足加法同态性,但是由于增加了密钥数量,以及在检索过程中仅涉及其中一个密钥,因此可在让云端服务器仅获取其中一个密钥的情况下实现密文检索,从而提高了密钥安全性,在云端服务器不可信的情况下,保证云端数据的安全。

参考文献:

[1] 汤殿华,曹云飞,杨浩淼.紧致优化DGHV全同态加密方案 [J].通信技术,2013,46(12):53-57.

[2] 张爽,杨亚涛.基于整数的全同态加密体制的研究 [J].北京电子科技学院学报,2013,21(2):29-34.

[3] 徐海霞.云计算环境中改进的整数上全同态加密算法研究 [J].科技通报,2019,35(6):87-90+113.

[4] 洪家军,陈俊杰.一种基于全同态加密的密文检索算法 [J].廊坊师范学院学报(自然科学版),2018,18(4):15-18+30.

作者简介:平恩鹏(1980.02-),男,汉族,陕西興平人,科员,讲师,工学学士,研究方向:计算机科学与技术。