云计算自身的数据安全问题阻碍其推广应用。通过对数据进行加密可以保护企业及个人用户的数据隐私。对加密数据有效检索难以通过传统信息检索方式实现。文章在分析云存储应用中的存储安全技术基础上,针对加密存储的需求,基于常见的加密检索方法和相关技术,结合自己的研究成果,提出了一种基于全同态加密的检索方法,该方法能在一种程度上提高检索效率。
关键字:云存储;向量空间模型;相关排序
英文摘要:The problem of data security impedes the spread application of cloud computing. While corporate personal data can be protected through data encryption, effective retrieval of encrypted data is difficult to achieve by traditional means. This paper analyzes storage security technology in cloud storage also the dems of encrypted storage (using common methods of encryption related technologies). In light of research results, this paper proposes a retrieval method based on fully homomorphic encryption?which can markedly improve efficiency.
英文关键字:cloud storage; vector space model; relevance ranking
基金项目:国家科技支撑计划课题(2008BAH37B07);国家自然科学基金(60970148);国家重点基础研究发展(“973”)规划(2007CB310806)
云计算是一种通过网络以按需、易扩展的方式获取所需服务的在线网络服务交付和使用模式,它是分布式计算的一种形式。是网络上的服务以及提供这种服务的数据中心的软硬件集合[1]。云计算是并行计算、分布式计算和网格计算的演进。云计算的实现形式包括软件即服务、效用计算、平台即服务、基础设施即服务。目前云计算已经有部分应用,如Google公司的GoogleDocs[2],另外微软、Amazon[3-4]也有类似的云计算服务设施。
云计算主要目标是提供高效的计算服务。云计算基础设施之一是提供可靠、安全的数据存储中心。因此,存储安全是云计算领域的安全话题之一。为解决数据隐私的保护问题,常见的方法是由用户对数据进行加密,把加密后的密文信息存储在服务端。当存储在云端的加密数据形成规模之后,对加密数据的检索成为一种迫切需要解决的问题。
在加密信息检索的相关研究工作中,对加密信息的检索有单用户线性搜索、基于关键词的公钥搜索、安全索引等几种算法。这几种算法可以快速地检索出所需信息,但其代价较高,不适用大规模数据检索的情况,而且,在云存储中,检索时相关的文档较多,对其进行相关排序是进一步需要解决的问题,以上几种算法均不能解决问题。
通过保序加密可以利用文档中的词频信息对文档依相关度进行排序,提高了检索准确率和返回率。然而在文档中某些关键词出现的频率非常高,指代性不强,这一类词称为常用词,常用词的存在歪曲了文档和实际查询相关度。而准确反映文档、查询相关度的向量空间模型无法直接应用。全同态加密提供可以对密文进行操作的加密算法。而且通过全同态加密,一方面可以保证密文信息不被统计分析,另一方面可以对加密信息进行加法和乘法运算,同时保持其对应明文的顺序。
1 云存储应用中的加密存储技术
大规模高性能存储系统安全需求,特别是云存储应用中,可扩展和高性能的存储安全技术,是推动网络环境下的存储应用(如云存储应用)最根本的保证,已经成为当前网络存储领域的研究热点。云存储应用中的存储安全包括认证服务、数据加密存储、安全管理、安全日志和审计。
访问控制服务实现用户身份认证、授权,防止非法访问和越权访问。主要功能包括:用户只能对经管理员或文件所有者授权的许可文件进行被许可的操作;管理员只能进行必要的管理操作,如用户管理、数据备份、热点对象迁移,而不能访问用户加密了的私有数据。
加密存储是对指定的目录和文件进行加密后保存,实现敏感数据存储和传送过程中的机密性保护。
安全管理主要功能是用户信息和权限的维护,如用户帐户注册和注销等,授权用户、紧急情况下对用户权限回收等。
安全日志和审计是记录用户和系统与安全相关的主要活动事件,为系统管理员监控系统和活动用户提供必要的审计信息。
对用户来说,在上述4类存储安全服务中,存储加密服务尤为重要。加密存储是保证用户私有数据在共享存储平台的机密性核心技术。
随着存储系统和存储设备越来越网络化,存储系统在保证敏感数据机密性的同时,必须提供相应的加密数据共享技术。保护用户隐私性要求存储安全建立在对存储系统的信任基础之上。必须研究适用于网络存储系统的加密存储技术,提供端到端加密存储技术及密钥长期存储和共享机制,以确保用户数据的机密性和隐私性,提高密钥存储的安全性、分发的高效性及加密策略的灵活性。在海量的加密信息存储中,加密检索是实现信息共享的主要手段,是加密存储中必须解决的问题之一。
2 加密信息检索技术
对加密信息检索的研究始于2000年,Song等人提出加密数据搜索的实用算法[5],Boneh等人提出基于关键词的公钥加密算法[6],Park等人提出安全索引搜索算法[7]。
2.1 线性搜索算法
在线性搜索算法中,首先用对称加密算法对明文信息加密。对于每个关键词对应的密文信息,生成一串长度小于密文信息长度的伪随机序列,并生成一由伪随机序列及密文信息确定的校验序列。伪随机序列的长度与检验序列长度之和等于密文信息的长度。伪随机序列及检验序列对密文信息再次加密。在搜索过程中,用户提交明文信息对应的密文信息序列。在服务器端,密文信息序列被线性地同每一段序列模2加。如果得到的结果满足校验关系,那么说明密文信息序列出现,否则,说明密文信息不存在。
线性搜索方法是一种一次一密的加密信息检索算法,因此有极强的抵抗统计分析的能力。但其有一个致命的缺点,即逐次匹配密文信息,这使得这种检索方法在大数据集的情况下难以应用。
2.2 基于关键词的公钥搜索
基于关键词的公钥加密搜索算法由Boneh等人提出,其目的是可以在用户端存储、计算资源不足的情况下,通过访问远端数据库获取数据信息。存储、计算资源分布具有不对称性,即用户的计算存储能力不能实时满足其需求。另一方面用户在移动情况下存储、索引数据的需求也有增加,比如Email服务等。在这种特定情况下,需要保护用户的数据隐私。加密数据有多个不同来源,针对这一问题的解决方法是加密算法使用公钥加密。
算法的过程如下,首先生成公钥、私钥,然后对待存储的明文关键词用公钥进行加密,生成可搜索的密文信息。