-
数据加密是云环境下一种常用的保护数据隐私的方法,但该方法的缺陷是用户不能对加密数据进行检索操作。为解决加密检索问题,可搜索加密(searchable encryption,SE)算法应运而生,它可解决当数据加密存储在云端时,服务器不完全可信情况下完成安全的关键词搜索[1]。SE技术可分为单用户SE技术、多用户SE技术、模糊加密搜索技术3类。
在多用户SE技术方面,文献[2]提出一种云存储环境下的多用户可搜索加密方案,使得经过用户加密的数据只在必要时才会被重新加密,减少了加密的计算量。文献[3]对文献[2]的方案进行优化,提出一种改进的多用户可搜索加密方案,让用户管理及密钥分配中心参与处理用户的搜索请求,降低了云服务器的开销,提高了搜索效率。文献[4]提出一种匿名的多用户加密搜索方案,对搜索用户的信息进行加密,使服务器端不知道哪个用户搜索了哪些信息,提高了安全性。文献[5]提出一种对称加密的多用户加密检索方案,实现了云存储环境下的多用户对加密关键词的搜索功能。文献[6-7]提出基于属性的多用户加密搜索方案,利用一些属性去加密文件,加密者无需知道解密者的身份,只要用户满足密文属性就能解密文件,保证了数据的安全。文献[8]提出一种适用于数据存储的代理重加密方案,通过消除冗余陷门生成算法和简化解密算法来降低计算复杂度,提高系统效率。文献[9]提出一种自主授权的多用户可搜索加密方案,利用半诚实的云服务器来维护一个权限分配矩阵,弱化了可信第三方的功能。文献[10]提出一个可验证的基于词典的可搜索加密方案,用于解决云存储中数据检索和安全问题。上述的多用户加密搜索方案只能进行精确关键字的检索,不允许用户有拼写错误情况,不支持模糊检索。
在云环境的模糊检索加密方面,文献[11]在文献[3]方案的基础上,利用双线性映射以及布隆过滤器技术,提出一种支持相似度搜索的模糊检索方法。文献[12]提出了一种基于索引构建技术的模糊检索机制,可降低计算开销。文献[13]提出一种基于字典的模糊集算法,在减小索引文件基础上实现加密数据的模糊搜索。文献[14]提出一种基于局部敏感哈希技术的关键词模糊搜索方案,实现了多关键字下隐
私保护的模糊检索功能。文献[15]采用布隆过滤器来构造安全索引进行检索,提出一种适用于云环境的可验证可搜索加密方法。文献[16]提出一种云环境下满足多用户分享数据需求的多用户模糊检索加密方案。上述的模糊检索加密机制大多是通过共享密钥的形式去解密搜索到的加密数据,一旦某个用户的密钥遭到泄露,整个系统的密钥都需要更换,工作量较大。同时,在安全性方面也存在缺陷,构造关键词模糊词集也会增加系统存储开销。
本文对云计算环境下多个关键词模糊检索可搜索加密算法进行研究,改进现有的基于通配符技术的模糊检索算法,提出一种适用于云计算环境的基于局部敏感哈希技术的代理加密模糊检索算法。
-
设定云环境下密文检索系统框架如图 1所示。图中有3类实体。
1) 用户:授权用户是完全可信的,他们能够加解密、搜索和修改保存在云服务器上的加密数据。
2) 服务器:主要责任是根据授权用户的搜索请求检索存储在其上的加密数据。数据存储服务器是不可信的,它可以正确地执行授权用户的请求,但是不能保证服务器自身不分析数据。
3) 密钥管理中心(key management service, KMS):一台可信任的服务器,负责生成和管理用户密钥,为每一个授权用户生成密钥并将密钥安全分发至用户手中。
图 1中,数据所有者有n个文件,并要将这些文件以密文形式发送给云服务器,每个文件都定义了一组关键词W=(w1, w2, …, wn)。为了在服务器上进行有效检索,在将这些文件发送给云服务器前,数据拥有者首先为每个关键词建立一个安全索引I,然后将所有文件及索引发送给云服务器。当一个授权用户输入一个检索请求去搜索他感兴趣的加密文件时,云服务器将该请求映射到相关的加密数据文件。为搜索到相关文件,授权用户输入关键词,且需要生成一个搜索陷门Tw,然后将Tw发送给服务器。服务器收到Tw后就搜索索引,返回相关的加密文件。为提高搜索效率,可根据关键词进行模糊检索。
-
由图 1所示的密文检索系统框架可以分析出云环境中可能存在两类隐私攻击:第一类是外部攻击,即用户的数据在网络传输过程中可能会被攻击者通过某种非法手段截取;第二类是内部攻击,即用户数据存储在云服务器上,云服务器有足够权限去访问存储在其上的用户加密数据,它有可能试图通过用户的请求去获取一些相关敏感信息。对于第一类攻击,攻击者获取的数据是经过加密的,如果没有解密密钥,则无法破解。本文主要考虑第二类攻击。
-
现有的模糊搜索机制大多建立一个可扩展的关键词集作为索引,该关键词集包含了所有用户可能拼写错误的关键词,这就使索引文件变得非常巨大,增加了系统存储开销和检索的复杂度。
-
布隆过滤器(Bloom filter, BL)是一种索引结构,由一个很长的二进制向量和一系列随机映射函数组成[15]。实际上,它是一个m位的集合,所有位数初始化时都设置为0。给定一个元素集合S={a1, a2, …, an},其中ai (i=1, 2, …, n)是某一个元素。一个布隆过滤器就会从哈希函数群H={hi|hi:S→[1, m], 1≤i≤l}中选出l个独立的哈希函数,通过将所有hi (a)对应位上的值设为1,将一个元素a∈S插入到布隆过滤器中。为了检测元素q是否存在于S中,l个哈希函数就会生成l地址位的值,如果任何地址位的值为0,那么q∉S;反之,q∈于S或者q定位错了地址。
-
给定一个欧几里得距离向量d,LSH函数则会映射到概率较高、哈希值相同且距离近的向量,而不会映射到远距离的向量。利用p-stable LSH群技术,一个p-stable LSH函数的表示形式为:
$$ {\mathit{\boldsymbol{h}}_{\mathit{\boldsymbol{a}},b}}\left( v \right) = \left\lfloor {\frac{{\mathit{\boldsymbol{a}} \cdot \mathit{\boldsymbol{v}} + b}}{w}} \right\rfloor $$ 式中,a、v为向量;b、w为数字。
Proxy Encryption Fuzzy Retrieval Algorithm Based on Local Sensitive Hashing in Cloud Computing
-
摘要: 针对云环境下现有的加密模糊检索算法存在着存储容量需求过大的问题,提出了基于局部敏感哈希技术的代理加密模糊检索算法。该算法首先将文件Abstract: To solve the problem of too large storage overhead existed at fuzzy retrieval algorithm in cloud computing, a proxy encryption fuzzy retrieval algorithm based on local sensitive hashing is proposed. At first, this algorithm converts file keywords to bigram vector representation, and uses local sensitive hashing (LSH) functions to build initial index and query for all bigram vector form keywords. Secondly, the original index and query are encrypted separately to form the encrypted index and the trapdoor. Finally, it utilizes the inner product operation of index and query to realize multi-keywords fuzzy retrieval. Security analysis proves that the proposed algorithm is safe in the case of the known cipher text. Experimental results shows that improved algorithm can avoid the defects of large storage overhead due to excessive indexing by means of reducing the index, and effectively supports the multiple keywords retrieval. Its encryption and decryption performances are better than the contrast algorithm.
-
Key words:
- cloud computing /
- encryption-retrieval /
- fuzzy retrieval /
- local sensitive hashing /
- proxy encryption
-
[1] 李经纬, 贾春福, 刘哲理, 等.可搜索加密技术研究综述[J].软件学报, 2015, 26(1):109-128. http://www.docin.com/p-1012833533.html LI Jing-wei, JIA Chun-fu, LIU Zhe-li, et al. Survey on the searchable encryption[J]. Journal of Software, 2015, 26(1):109-128. http://www.docin.com/p-1012833533.html [2] 王映康, 罗文俊.云存储环境下多用户可搜索加密方案[J].电信科学, 2012, 11(18):103-107. http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=Y2726467 WANG Ying-kang, LUO Wen-jun. A scheme of multi-user searchable encryption in cloud storage[J]. Telecommunications Science, 2012, 11(18):103-107. http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=Y2726467 [3] 王保民, 何智灵, 罗文俊.基于云存储的多用户可搜索加密方案[J].信息网络安全, 2013, 12(9):33-36. http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=D516285 WANG Bao-min, HE Zhi-ling, LUO Wen-jun. An efficient scheme of multi-user searchable encryption with kevword in cloud storage[J]. Netinfo Security, 2013, 12(9):33-36. http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=D516285 [4] VARADHARAJAN V, MANI R, NALLUSAMY R. Anonymous searchable encryption scheme for multi-user databases[C]//2013 IEEE International Conference on Cloud Engineering. Washington: IEEE, 2013: 225-232. [5] ZHANG Y, JIA Z, WANG S. A multi-user searchable symmetric encryption scheme for cloud storage system[C]//20135th International Conference on Intelligent Networking and Collaborative Systems(INCoS). Washington: IEEE Computer Society, 2013: 815-820. [6] KAUSHIK K, VARADHARAJAN V, NALLUSAMY R. Multi-user attribute based searchable encryption[C]//2013 IEEE 14th International Conference on Mobile Data Management(MDM). Milan: IEEE, 2013: 200-205. [7] 李双, 徐茂智.基于属性的可搜索加密方案[J].计算机学报, 2014, 37(5):1017-1024. http://www.docin.com/p-1322907960.html LI Shuang, XU Mao-zhi. Attribute-based public encryption with keyword search[J]. Chinese Journal of Computing, 2014, 37(5):1017-1024. http://www.docin.com/p-1322907960.html [8] RAHMAN D A, HENG S H, YAU W C, et al. Computer science and its applications[M]. Berlin:Springer, 2015. [9] 李真, 蒋瀚, 赵明昊.一个自主授权的多用户可搜索加密方案[J].计算机研究与发展, 2015, 52(10):2313-2322. doi: 10.7544/issn1000-1239.2015.20150504 LI Zhen, JIANG Han, ZHAO Ming-hao. A discretionary searchable encryption scheme in multi-user settings[J]. Journal of Computer Research and Development, 2015, 52(10):2313-2322. doi: 10.7544/issn1000-1239.2015.20150504 [10] 王尚平, 刘利军, 张亚玲.可验证的基于词典的可搜索加密方案[J].软件学报, 2016, 27(5):1301-1308. http://www.docin.com/p-1322907960.html WANG Shang-ping, LIU Li-jun, ZHANG Ya-ling. Verifiable dictionary-based searchable encryption scheme[J]. Journal of Software, 2016, 27(5):1301-1308. http://www.docin.com/p-1322907960.html [11] HE T, MA W. An effective fuzzy keyword search scheme in cloud computing[C]//The 5th International Conference on Intelligent Networking and Collaborative Systems. Washington: IEEE Computer Society, 2013. [12] IBRAHIM A, JIN H, YASSIN A A, et al. Approximate keyword-based search over encrypted cloud data[C]//2012 IEEE Ninth International Conference on E-Business Engineering(ICEBE). Hangzhou: IEEE Computer Society, 2012: 238-245. [13] LIU C, ZHU L, LI L, et al. Fuzzy keyword search on encrypted cloud storage data with small index[C]//2011 IEEE International Conference on Cloud Computing and Intelligence Systems(CCIS). Beijing: IEEE Computer Society, 2011. [14] WANG B, YU S, LOU W, et al. Privacy-preserving multi-keyword fuzzy search over encrypted data in the cloud[C]//Proceedings of the IEEE INFOCOM. Toronto: IEEE Computer Society, 2014: 2112-2120. [15] 刘文景, 江秀秀, 于佳.云计算环境下基于布隆过滤器的可验证可搜索加密方案[J].青岛大学学报(自然科学版), 2016, 29(2):63-67, 89. http://cdmd.cnki.com.cn/Article/CDMD-10701-1015433582.htm LIU Wen-jing, JIANG Xiu-xiu, YU Jia. Verifiable searchable encryption scheme based on bloom filter in cloud computing environment[J]. Journal of Qingdao University (Natural Science Edition), 2016, 29(2):63-67, 89. http://cdmd.cnki.com.cn/Article/CDMD-10701-1015433582.htm [16] 吴岱霓, 王晓明.云环境下的多用户模糊检索加密方案[J].计算机工程, 2016, 42(5):18-22, 29. http://www.cqvip.com/QK/95200X/201605/668860542.html WU Dai-ni, WANG Xiao-ming. Multi-user fuzzy retrieval encryption scheme under cloud environment[J]. Computer Engineering, 2016, 42(5):18-22, 29. http://www.cqvip.com/QK/95200X/201605/668860542.html