论文部分内容阅读
随着云存储技术的发展,为了节约存储成本,越来越多的用户选择将数据存储在云端,但同时用户也失去了对数据的控制权,无法确保存储在云中的数据是完整的。云存储服务器(Cloud Storage Server, CSS)需要通过一种有效的协议向用户提供数据完整性证明。在实际应用中,用户不仅需将大量数据存储在云端,并且可能随时需要对远程数据进行更新。因此,确保用户数据的完整性,不仅包含静态数据的完整性验证,还需验证服务器是否正确更新了用户的数据。现有方案主要利用短签名算法实现公开验证,并通过引入动态数据结构来支持数据更新。但仍存在计算、存储和通信开销较大,无法支持全动态(插入、修改和删除)更新,或动态更新过程复杂等问题。本文针对上述问题,分析公开验证模型、签名算法和动态数据结构等关键技术,提出基于多分支路径(Large Branching Tree,LBT)的动态数据完整性验证机制,并对该方案进行改进。论文主要工作如下:(1)为了降低方案计算和通信开销,解决批量数据动态更新问题,本文将多分支路径树LBT与默克尔哈希树(Merkle Hash Tree,MHT)结构的哈希散列树概念相融合,形成新的数据结构,提出基于LBT的动态数据完整性验证机制。相较于MHT,LBT树的深度随出度的增加呈指数减少,树的深度降低意味着在挑战-响应过程中,云存储服务器所需返回的辅助信息将大大减少,从而减少系统各实体间的通信和计算负担。LBT的多分支结构允许多个叶子节点对应的数据块同时更新,而造成的计算开销与单个数据块的更新是相同的,即方案可以高效地支持批量数据更新。(2)针对动态更新过程中,数据结构需要重构的问题,本文利用新的树型结构认证方法,提出改进的动态数据完整性验证机制。基于LBT模型,通过引入双线性映射的技术对动态数据结构的认证方法进行了改进。方案对动态数据持有性证明(Dynamic Provable Data Possession,DPDP)系统模型提出完整的定义,并给出相应的安全模型。在方案的预处理阶段,用户无需预先构造整个数据结构,极大地降低了用户的计算负担。并且在数据动态更新阶段,云存储服务器无需对LBT进行重构,计算开销仅为O(1)。通过理论和实验分析,本方案能够正确地验证云存储数据完整性,同时能够高效地支持数据动态更新。