面向云存储的同态加解密及密文检索算法的研究

时间:2022-10-01 07:12:47

面向云存储的同态加解密及密文检索算法的研究

摘 要:存储在云端服务器中的敏感数据的保密和安全访问是云存储安全研究的重要内容。针对真实的云存储环境中云服务提供商不可信的情况,采用同态加密算法,提出了一种安全、准确性高的面向云存储密算的法。与现有算法相比,该算法在进行密文检索时不需要用户上传密钥,并且极大地提高了密文检索的准确性。

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

中图分类号:TP309.7

随着信息数据量的急速增长,信息数据的存储和管理都变得越来越困难。用传统的本地存储策略己经逐渐难以满足人们对信息的存储和管理需要,而云存储技术的提出,成为了一种解决信息数据存储和管理的有效途径。但是大多数云存储平台忽视了用户数据的安全性,将用户的信息未经任何加密处理直接存放在云存储平台上,很容易造成用户数据的泄露,云存储的安全问题变得十分重要。另外,当保存在云服务器端的密文数据发展到了一定的规模时,对密文数据的有效检索将是一个亟待解决的问题,传统的信息检索技术已经难以满足云存储环境下海量数据检索的需要,云端加密数据的有效检索成为当前亟待解决的重要研究课题之一。

为了解决上述问题,文献提出一个基于云存储的文档加解密及密文检索算法,该算法允许用户将密钥存储在本地,服务器上不会存储用户拥有的密钥。用户将文档加密后上传到服务器,当用户想要解密文档时,首先从云端下载加密后的文档,然后对文档进行解密后得到明文。当用户需要对存储在云端加密文档进行检索时,不需要上传密钥到服务器,从而保证了在云存储平台不可信的情况下用户数据的安全性。

1 现有的同态加密方案及其局限性

1.1 DGHV方案和CAFED方案

DGHV方案和CAFED方案适用于服务器可信的情况下,因为使用该算法时,在用户请求服务器对关键词进行检索的时候,用户必须将加密密明P发送给服务器。这样对于服务器而言,用户存储的密文数据将是完全透明的。若将该算法应用于服务器不可信的云存储系统中,用户的存储在服务器上的信息很有可能被泄露,信息的安全性得不到保障。

1.2 ADC方案

ADC方案在DGHV方案和CAFED方案的基础上做了进一步的改进。用户请求对关键词进行检索时,不需要上传加密密钥P。但ADC方案有一个巨大的缺陷,那就是只有当检索词与加密明文段完全相同时,ADC提出的检索方法才有效,这导致在检索的过程中存在以下两个问题:(1)当检索词只是加密明文段的一部分时,检索结果将显示检索词不存在,这显然与事实不符(2)由于在实际的检索情况下,检索词比较短,这也就限制了加密明文段的长度,大大增加了关键字被分割在多个加密明文段中的概率,此时该检索方法也将失效。这些都导致了ADC提出的密文检索方法实用性很低。

2 本文提出的方案

2.1 加密过程

首先将明文进行比特分组(分组长度可以根据安全需求来确定),然后对每个明文分组mi做加密运算,对明文的加密过程分为如下几步:(1)选取随机产生的安全大素数P,选取随机产生的安全大素数Q(Q的长度>P的长度>明文分组长度);(2)把消息M划分成长度为L的明文分组M=m1m2m3…mi;(3)使用加密算法ci=mi+P+P*Q,计算出密文C=c1c2c3…ci;(4)将密文消息C和安全大素数Q发送给服务器。

2.2 解密过程

(1)用户收到密文后,将密文消息 后,对密文消息进行分组,得到C=c1c2c3…ci;(2)使用密铜P和解密算法mi=cimodQ,计算mi;(3)得到明文消息M=m1m2m3…mi;

2.3 密文检索过程

本文的算法对关键字Kindex的检索过程如下:(1)用户用加密算法Cindex[j]=mi+p(x,y),Cindex[j+1]=mi+p(x,y)+1对mi进行加密,其中p(x,y)指的是截取P的第x位到第y位生成的一个大整数,加密的结果将得到一个数组Cindex,记录Cindex[j+1]=mi+p(x,y)+1是为了剔除前一个运算造成的进位误差;(2)服务器接收到检索词密文信息Cindex,然后从存储密文的文件中读取密文信息C=c1c2c3…ci;(3)服务器使用检索算法di=cimodQ,然后以字符串的方式统计Cindex在di中出现的次数,这样不仅能实现对加密后的信息进行搜索,同时可以统计出检索词在加密后的文本中出现的次数。

3 方案特点

3.1 文档检索的安全性

与其他的同态加密方法相比,如DGHV算法和CAFED算法,在用户请求服务器对关键词进行检索的时候,用户必须将加密密明P发送给服务器。这样对于服务器而言,用户存储的密文数据将是完全透明的。若将该算法应用于服务器不可信的云存储系统中,用户的存储在服务器上的信息很有可能被泄露,信息的安全性得不到保障。本文采用的文档检索方案,不需要使用密钥P,从而可以保证在服务器端不可信的情况下用户数据的安全性。

3.2 密文检索的准确性

与其他的密文检索算法相比,本文提出的密文检索实现的方式大幅提高了检索结果的准确性。其他的一些密文检索算法,ADC加密算法,该算法原本的密文检索存在严重的缺陷,只有当加密的密文段对应的明文和检索词完全相同时才能确定加密文档中存在检索词。例如当明文段mi=“我爱你中国,我爱你中国,美丽的中国”,当检索词为“中国”时,该算法的检索结果是明文段mi与“中国”不相等,从而无法检测到mi中包含“中国”。而我们采用的检索词加密以及密文搜索方法可以解决这个问题,并且可以统计出明文中包含的检索词“中国”的个数,而且没有检索词长度必须要等于明文段长度的限制。

4 结束语

本文提出一种安全云存储系统实现方案,该方案采用同态加密算法来实现,包括文档加密、文档解密以及加密文档搜索等三个核心部分。与其他的同态加密算法相比,该方案在密文检索的过程中不需要用户上传密钥,保证了在云端服务器端不可信的情况下用户数据的安全性。其次,该算法极大地提高了加密文档搜索的准确性,检索的过程中,在不对加密文档进行解密的情况下,不仅可以发现一个文档中是否包含检索词,同时可以统计出文档中包含的检索词的个数。希望本文提出的面向云存储的加密方案能对云存储加密特别是在密文检索方面能起到一定的推动作用。

参考文献:

[1]王映康,罗文俊.云存储环境下多用户可搜索加密方案[J].电力科学,2012(09).

[2]齐哲.基于云存储的密文检索研究和实现[D].北京邮电大学,2013(01).

[3]张雪娇.基于整数上同态加密的云存储密文检索系统[D].中国海洋大学,2013.

[4]董勇,谢雪峰,郑瑾.文档安全防泄漏系统的研究与实现[J].电力信息化,2013(01).

[5]梅凯珍,.基于过滤驱动的局域网透明文件安全加密方法[J].计算机技术与发展,2012(04).

[6]蔡洪民,伍乃骐,胡奕全.分布式文档管理系统的设计与实现[J].计算机应用与软件,2010(06).

[7]谭武征.云安全存储解决方案[J].信息安全与通信保密,2012(11).

[8]陈燕俐,杨庚,陈军军.面向云存储的安全密文访问控制方案[J].南京邮电大学学报(自然科学版),2013(05).

作者单位:四川大学 软件学院 软件工程专业,成都 610200

上一篇:加强事业单位计算机网络安全管理水平的探索 下一篇:几种经典的图像边缘检测算子分析比较