论文部分内容阅读
在如今的信息时代,信息技术飞速发展,云计算和云存储是其中最具代表性的产物之一。云存储作为云计算技术的延伸,能够为云计算提供海量的存储服务,是存储服务的一个发展趋势。随着云存储变得越来越普遍,越来越多的用户开始租用云存储服务,并将数据存放到云端。然而,将数据存放到云端也就意味着用户失去了对数据的直接控制权,如何确保云端数据的完整性和可用性便成为了用户关心的一个重要问题。因此,如何验证存储数据的完整性以及恢复被破坏数据已成为了一个亟待解决的安全问题。同时,在实际应用中,用户通常需要对云端数据进行动态修改,所以如何在数据可恢复性证明方案中实现数据动态修改也是一个不可忽略的问题。本文从云存储中数据的完整性审计、破坏数据恢复、云端数据动态修改三个方面展开研究,主要工作如下:(1)针对云端被破坏数据的恢复问题,设计了一个基于IDA(Information Dispersal Algorithm)的云存储数据可恢复性证明算法,利用矩阵可逆思想,对原始数据文件进行编码预处理,从而保证原始数据的可恢复性。并且可以通过选择不同大小的编码矩阵来控制文件的扩张倍数。(2)针对云端存储数据的动态修改问题,本文进一步提出了动态多叉哈希树MPHT(Multiple Hash Tree),可以根据用户存储数据块的数量以及数据需要更新的频率动态选择最合适的哈希树叉数,从而将数据动态更新的开销降到最低。在安全性分析中证明了本文方案的安全性,并能抵御伪造攻击、替代攻击、污染攻击。实验结果表明本文方案具有良好的性能,并且不论数据块的数量多少,总能找到构建及更新哈希树时的最优叉数。(3)基于阿里云平台设计并实现了云存储数据可恢复性证明原型系统,具体使用了阿里云提供的弹性计算服务ECS(Elastic Compute Service)、对象存储服务OSS(Object Storage Service)和关系型数据库服务 RDS(Relational Database Service)。系统包含数据完整性审计以及破损数据恢复两大功能,该系统进一步验证了本文提出方案的有效性。