论文部分内容阅读
随着云计算技术的飞速发展,云存储服务已经成为一种重要的新型数据存储模型。云存储服务以“外包”形式提供在线数据存储服务,具有按需付费、扩展灵活、访问便利等特点,大大降低了数据存储成本,有效提高了资源使用效率,并且减轻了用户沉重的管理负担。然而,云存储数据的完整性容易遭受云安全事故的影响,用户无法确认云端的数据是否完好,使其成为用户少用或者不用云存储的重要原因。并且,“隐藏”的损坏数据削弱了系统的数据恢复能力,影响着数据的存储安全。因此,亟待研究云存储服务中数据完整性验证的相关方法与技术,以促进云存储服务的健康发展。近年来,学术界提出了很多在相对简单情景下云存储数据完整性验证的模型和方法,具有较好的验证性能。但是,当面对复杂的云存储环境时,已有的数据完整性验证方法存在如下问题:(1)面对海量数据,如何在满足用户审计需求的前提下协调完成全域文件的验证;(2)如何有效降低频繁更新的动态数据所带来的巨大更新成本;(3)如何快速查询批量验证过程中的失效文件;(4)如何使用多审计代理来增强审计系统的健壮性,并提高系统的可扩展性。本文以复杂云存储环境下数据完整性验证为研究背景,针对上述问题进行了深入研究,提出了适用于新情景、新需求的数据完整性验证模型与算法。本研究得到国家”八六三”高技术研究发展计划基金、国家自然基金项目的支持。本文的研究内容以及创新点主要体现在如下几个方面:(1)提出了一种自适应的数据完整性验证方法。该方法可以协调完成大规模文件的数据完整性验证,同时能够满足用户多样化的审计需求。通过记录并分析文件的属性信息,该方法能够动态调整文件的审计方案,使得审计方案的执行强度与文件的审计需求高度匹配,从而节省了大量审计开销。并且,依据审计方案更新请求的发起者不同,设计了两种审计方案动态更新算法,增强了审计方案更新的灵活性。其中,审计方案的主动更新算法实现了全域文件的按序审计,保证了审计系统的覆盖率;审计方案的被动更新算法使得热点文件能够得到及时响应,满足了文件审计的紧迫性需求。与基本方法相比,该方法审计总执行时间至少减少了 50%,有效增加了系统审计文件的数量,并且审计方案的达标率提高了 30%。(2)提出一种支持延迟更新的动态数据完整性验证方案,有效提高了动态数据的更新效率。该方案利用数据更新的局部性特征,采用一种延迟更新策略实现了更新序列的重组和归并,减少了大量无效更新请求。通过给文件完整性检测结构Merkle哈希树增加更新状态位,使其具备了更强的表达能力,实现了基于更新状态树的并发更新,避免了大量中间节点的重复更新,节省了更新成本。此外,提供了一种数据更新保护机制,防止了审计系统的“误报”,保证了审计系统的正确性。形式化分析及实验结果表明,该方案有效减少了更新MHT节点数,显著提高了云存储数据持有性审计模型的更新效率。特别的,更新1GB文件的1%内容,本文方案在最优情况下能够减少89%的读写操作,在最差情况下能够减少49%的读写操作。(3)提出了一种支持失效文件快速查询的批量审计方案,解决了批量审计易受到“失效文件”攻击且失效文件查询难的问题。该方案通过建立批量审计过程的关联性,改变了二分查询树中右孩子节点的计算方式,只需利用中间结果对其进行验证,减少了整个查找过程的批量审计次数。并在批量审计过程中执行幂指测试,通过一次审计就可完成含有单个失效文件的子树查找过程,有效缩短了子树的查找长度,进一步减少了查找次数;采用混合型查询方法,根据历史查询信息设置幂指测试的深度,能够大幅度降低“失效文件聚集”处的查询开销。安全分析和性能表明,该方法能够快速完成失效文件定位,有效抵抗“失效文件”攻击,保证了批量审计方案的可用性和效率。(4)提出了一种支持多代理的数据完整性审计方法(Multi-proxies PDP,MP-PDP),解决了单审计代理易造成单点故障且易形成性能瓶颈的问题。该方案基于循环链表结构实现了多代理节点的可扩展性管理,使用多级列表结构实现了审计任务的快速分发,并提出基于资源使用量的任务调度机制实现了系统的负载均衡。此外,提出一种基于弱一致性任务状态备份协议,实现了低成本的系统故障处理。实验结果表明,该方案能够有效减少了文件的审计执行时间,并且可以快速增删审计代理,有效提高了系统的可用性和审计性能。