关键词:
外包数据
自审计
区块链
智能合约
错误定位
摘要:
云计算和物联网的快速发展导致了数据量呈爆发式增长,越来越多的用户选择将数据外包给云服务提供商,减少数据的存储和管理成本。然而在云环境下,用户数据的管理权和所有权会产生分离,这会对用户存储在云端的数据造成威胁。具体来说,由于软硬件的故障或人为等因素的影响,云可能会错误地篡改或删除用户的数据。然而,用户本地并不存储外包数据,所以无法直接验证云端数据的完整性。因此,如何保障外包数据的完整性成为数据安全领域的研究热点。为了解决该问题,外包数据的完整性审计方案应运而生。现有的审计方案可以在不检索全部数据的情况下验证外包数据的完整性。这类方案通常会引入一个中心化的第三方审计者(Third Party Auditor,TPA)代替用户进行完整性审计,但是中心化的架构使得TPA容易产生单点故障,甚至与云服务器勾结欺骗用户。区块链的出现提供了新的方向,通过将审计任务部署在智能合约上能够很好的解决这类问题。然而目前智能合约仅能支持简单的密码原语,基于区块链的审计方案是低效且不可扩展的。同时,如何减少用户和存储提供商在审计过程中的计算与存储开销也是一个待解决的工作。针对上述问题,本文将围绕区块链中高效的审计方案展开研究,主要贡献如下:(1)本文提出了去中心化存储环境中基于区块链的外包数据自审计方案。该方案使用区块链上的信息产生挑战集合,存储用户数据的若干个节点与区块链交互完成每一轮的审计任务,实现了自审计的功能。移除了传统方案中的TPA并且也不需要用户经常在线挑战存储节点。其次,通过使用基于Pedersen的多项式承诺方案,该方案在计算审计标签时可以同时承诺两个多项式,减少了用户计算审计标签的时间和产生审计标签的数量。最后,我们在Ethereum测试链中对链上的消耗进行了评估,与现有的基于区块链的审计方案相比较,本方案减少了链上的计算开销。(2)本文进一步提出了基于区块链的支持批量验证和错误定位的自审计方案。本方案中使用批量验证的多项式承诺方案,提出了一个批量验证的审计算法,能够聚合多个审计证明,减少了存储节点审计时的计算开销。其次,基于反转签名聚合树技术,该方案提出了错误定位的算法,能够在批量验证失败后快速的定位到错误的审计证明,减少了查找该证明的计算开销。最后,我们优化了方案中存储节点与区块链的交互过程,改善了方案的通信和链上开销,实验表明该方案在效率和通信上的高效性。