论文部分内容阅读
云计算是目前高速发展的商业计算模式,它给人们的生活提供了巨大的便利,但也带来了存储在云端的数据安全问题。为了云端的数据安全,目前一般采用将数据加密后上传到云服务器端的方法,并提出了对加密数据进行查询的方法,以便共享数据的用户能通过关键字查询所需要的文件。另一方面,由于云服务器属于第三方的商业机构,可能为了商业利益,对用户的数据查询提供不完整的结果。特别地,在多用户环境下,如何让用户安全的共享存储在云端的加密数据,并在不共享密钥的情况下,能动态修改加密文件并验证云服务器返回文件的完整性,是一个具有挑战性的课题。本文围绕云环境下多用户的动态文件完整性验证展开研究,主要工作包括以下三个方面:(1)针对现有的DVSSE验证方案,虽然可以达到动态文件完整性检测的目的,但由于对称加密的特性,不适用于多用户环境的问题。本文结合多用户云环境的特点,利用关键字代理重加密,提出一种新的动态文件完整性验证方案(MDVSE),即在原方案中加入了代理服务器利用重加密密钥对密文重加密,改变了原方案中密文的加密方式。用户可以使用自己的私钥对加密数据查询、动态修改和验证。同时,为了适应多用户环境,利用双线性映射累加器生成了新的可验证证据。通过实验分析,该方案在多用户环境下,在不降低效率的条件下,可以保证关键字、文件和验证证据的安全性。(2)基于本文提出的文件完整性验证方案,针对验证返回结果的完整性,对验证方案进行了扩充。利用Merkle哈希树结构,将关键字和文件索引值的密文同时作为Merkle哈希树的叶子节点,由此构造另一个验证证据。当用户发现云端的文件集不完整时,可对返回的密文集进行完整性验证,由此提高用户的查询效率。此外,我们使用数字签名的技术来实现该方案的可追溯性。最后通过实验和安全性分析,证实了方案的安全性和高效性。(3)基于本文提出的MDVSE动态文件完整性验证算法,设计了云端文件存储系统,并对该系统进行需求分析、数据库设计以及系统设计。