论文部分内容阅读
随着计算机和互联网技术的飞速发展,各种信息开始越来越多的转化成数字形式,使得信息技术产业从以计算为中心过渡到了以数据为中心的存储时代。为了存储和处理海量数据,数据拥有者通常将数据存储和维护的工作外包给专业的存储服务提供商。由于外部存储服务的安全情况是未知的,为了确保存储在远程服务器群中的数据的完整性和可用性,科研人员提出了远程数据验证机制。远程数据验证机制是指存储数据的系统能够向验证方提供可认证的证据以表明原始数据依然存储于系统内。本文就如何在分布式环境下构造远程数据验证机制来保障数据完整性和可用性进行了研究,主要工作有:(1)研究了Erasure Code的性质和原理并比较了使用Vander monde矩阵和使用Cauchy矩阵的Reed-Solomon Code编解码算法,分析了两种编码算法的编解码复杂度。(2)提出了一种基于Reed-Solomon Code编码和同态验证标签的远程数据完整性保护方案。在此方案中,文件采用Reed-Solomon Code进行双重编码以分别获取服务器内部数据冗余和服务器间数据冗余,并将Reed-Solomon Code与远程数据验证算法相结合,使得验证端能够高效、安全地验证存储在远程系统内的数据的完整性的同时能够在数据损坏的情况下利用数据冗余恢复数据。(3)在完整性保护方案的设计过程中,本文研究了如何使数据验证机制具有公共可验证性,即任何与数据拥有者分享公钥信息的机器均可验证系统内特定数据的完整性。与此同时,本文研究了如何使得此方案支持数据的更新操作,即在数据更新后依然能进行验证。(4)本文在构造了远程数据完整性保护方案后,分析了此方案中各个参数对整体性能和数据完整性的影响和使用这种方式保护的数据不可恢复的概率。(5)最后用C++语言实现了本文提出的分布式环境下的远程数据完整性保护方案的原型系统。实现了文件分块编码、数据验证、数据修复、文件解码这四大功能。