论文部分内容阅读
云计算是一种高效低成本的商业计算模型,但是如何保证用户数据安全是云计算发展与应用过程中面临的巨大挑战。在云存储环境下用户需要一种高效的验证机制能够验证远程数据的完整性、可用性,并保证用户隐私。
默克尔哈希树(Merkle Hash Tree,简记为MHT)是一个广为研究的验证结构,它能高效地,安全地证明一组元素是未损坏的。目前,研究者设计了一种基于默克尔哈希树的完整性验证方案使用数据块标签作为认证的基本数据,通过数据块签名将数据块及其标签绑定,以支持高效的动态数据操作。但是选择较小数据块作为认证基本数据会导致哈希树结构过于庞大,而选择较大的数据块则会导致通信代价过高。这些需求的差异性导致了现有方案的整体效率不高。
因此,现有方案中数据通信、数据存储、完整性与可用性验证、动态数据、数据签名等不同操作对数据粒度的需求不同。然而,由于云存储用户的计算资源和专业知识是受限的,所以验证方案需要支持公开验证—第三方验证,代替云用户进行数据完整性验证,同时保证用户隐私的安全并具有可证明性。另外,用户的数据常常是动态变化的,因此验证方案应该支持数据动态操作。为了解决现有方案和用户需求之间的矛盾,本文结合粒计算的思想,将数据文件组织为块、子块和基本块三种粒度,构成一个三维结构,提出一种支持不同粒度运算的数据完整性验证方案。本方案以压缩认证树高度的方式节约存储代价和通信代价,在子块粒度上进行文件的签名计算,而在块的粒度上实现数据动态操作以满足用户需求。本方案同时支持动态数据操作、公开验证以及隐私保护,支持不同操作在不同块粒度上实现,提高了整体效率。作者分析了新方案的安全性、通信性能、存储性能,并实现了云存储完整性验证系统,测试结果表明该方案是高效的、安全的。