论文部分内容阅读
当今社会是一个数字化社会,一切数据都可以数字化存储,这就导致数据的爆炸式增长。海量数据使云存储得到广泛的发展,不占用本地存储并且用户可以随时随地访问云端数据,这些都是云存储发展的关键优势。然而云数据的安全存储问题是制约云存储发展的首要问题,恶意黑客,软硬件漏洞等等都会对用户存储在云端的数据造成威胁。为确保云存储更好的服务社会,云审计方案应运而生。现有的云存储审计方案对用户外包数据的完整性和隐私性提出了很高的要求,然而对于用户端的计算开销却有所忽视,无论在用户初始化阶段还是用户验证审计者审计结果阶段,我们都希望用户端的计算是高效的,为此本文提出了两个方案来进一步完善和优化云存储审计功能,方案的具体工作内容分为以下两部分:(1)对于初始化阶段用户端计算开销过大的问题,本文提出了一种轻量级验证标签的数据完整性审计方案。在本文的方案中,用户上传数据所需要计算的验证标签是对应整个文件的,这就意味着用户不需要再为每个数据块计算验证标签而耗费巨大的计算资源。与此同时为了让审计员验证操作顺利完成,用户在上传的数据文件中添加许多填充值用来标记数据块的位置,并且这些位置对于审计员是已知的,审计员只需要审计不同数据块之间的排列组合即可。本文的方案在降低用户端计算开销的前提下,达到了完全性审计的目的。为了有效降低审计员的审计开销,本文进一步扩展方案使其支持批量审计的场合。在最终的效率分析中,本文的方案在用户端计算开销上降低了数百倍甚至数千倍。(2)对于用户验证审计员日志时计算开销的问题,本文提出了一种高效验证审计结果的云审计方案。我们借助区块链和智能合约来构建本文的方案,在本文的方案中,审计员验证完云服务器的证明消息后需要调用一次智能合约进行复检,如果验证无误就会将审计结果的哈希值记录到区块链中。最终所有的验证结果会以逻辑链的方式在区块链中被记录下来,便于用户后续验证审计员审计结果的操作。用户验证审计员审计结果时,只需要对最新一次的审计数据进行验证,对于之前的审计结果只需要验证区块链中包含审计结果的区块即可。为了降低审计员审计过程中调用智能合约消耗的Gas成本,本文进一步扩展方案使其支持批量审计。最终的效率分析显示,本文的方案对用户计算资源的消耗是友好的。