论文部分内容阅读
随着云存储(Cloud Storage)技术的迅猛发展,越来越多的用户选择将数据存储到云端,以达到节省本地物理资源、简化数据管理的目的。当用户选择将大数据文件存储到云端时,在本地并不保存任何副本,导致传统验证数据完整性的方法不再有效。面向云存储的数据完整性验证方法允许验证者(用户或者第三方)在不需要访问原始数据的情况下,即可完成云中数据的完整性检测,是目前云存储环境下确保数据正确性、可用性的一种重要手段。然而现有的验证方法更多地用于数据备份等简单存储服务,忽视了用户多样化的需求,难以满足日益丰富的云存储应用。基于此,本文的主要工作和贡献如下:(1)一种具有强可恢复能力的数据完整性验证方法已有基于岗哨的验证方法,尽管具有简单高效等优点,但弱的数据恢复能力和高的通信开销阻碍了该方法在云存储中的使用。针对这一问题,本文提出一种具有强可恢复能力的数据完整性验证方法——PDI-RR。在该方法中,岗哨块的生成不再是一个位置插入或指定一个岗哨块,而是随机抽取多个不同位置上数据块参与计算,且在计算过程中,引入冗余纠错机制。如此,每次验证只需消耗一个岗哨块,即可完成对多个位置上数据的完整性检测,同时能恢复岗哨块上可能出现的失效数据。安全分析表明,PDI-RR是一种安全的验证方法。相比已有的几种验证机制,PDI-RR具有更优的存储开销和通信开销。(2)一种高效且支持动态更新的数据完整性验证方法已有的方法计算数据标签时加入数据块索引信息,导致不能有效支持动态操作。针对这一问题,本文提出了一种基于认证跳表的数据完整性验证方法——SL-DPDI,以实现数据块级的动态更新操作。该方法将认证跳表及BLS签名机制有效地结合在一起确保云中数据的正确性。其中,用认证跳表确保数据块处在正确的位置上,而用BLS签名验证数据块在内容上是完整的。安全分析和实验表明,SL-DPDI能有效地支持数据块级的动态更新,且大大减轻了用户初始化阶段的计算代价。(3)基于身份的数据完整性验证方法为了减轻用户的验证负担,目前大部分验证机制采用公开验证策略,允许用户指定任意可信的第三方(Trust Party Auditor,TPA)来代替自己执行完整性检测。但在TPA执行验证之前,都需要与证书颁发机构(Certificate Authority,CA)交互来确认用户身份的合法性。如此,势必带来大量的通信开销和沉重的密钥管理负担。针对这一问题,本文设计实现了一种基于身份的数据完整性验证方法——NaEPACS。在该方法中,TPA每次验证直接利用用户的公开信息即可代替用户完成完整性验证。安全分析和实验表明,NaEPACS不仅是一种安全的验证方法,且能大大减轻TPA的验证代价。(4)基于格的数据完整性验证方法目前大部分验证方法所采用的安全假定都是基于大数分解和离散对数等计算难问题,但这些安全假定无法抵御量子计算攻击。针对这一问题,本文提出了一种基于格的数据完整性验证方法——LB-PDI。在该方法中,首先设计了一种基于格且具有同态特性的签名机制,然后通过该机制可以让验证者在不需要取回数据的情况下实现完整性验证。最后,通过安全分析证明,攻击者若能伪造一组完整性证据通过本文设计的LB-PDI,则他可以解决格中最小整数解(Small Integer Solution Problem,SISP)这一难题,而该难题已被证明能抵御量子攻击。