
第一章 绪论
1.1 课题研究背景
随着信息技术犹如雨后春笋般快速发展,在网络全球化的今天人们早已离不开信息化的生活方式。信息化范围覆盖了各个应用领域,并衍生惊人的数据信息量,像谷歌、脸书等应用产生的数据达到 PB 甚至 EB 级[1]。根据监测统计结果显示,数据存储的需求量按每年 50%增长,相应的 IT 基础设施投入每年增长 7%,并且预计到 2020 年全球的数据总量将达到惊人的 40ZB[2]。面对海量的数据信息,企业或者个体为满足现实中日益增长的存储需求需要大量购置存储设备,用户盲目大量置备存储设备,这些基础设施的资金投入也大大提高,与此同时,当用户将存储设备购买回来后,免不了存储设备需要定期更换及维修,这些不同设备构成的不同存储资源也加大了管理和后期维护的难度,而大多数企业或者个体难以承受如此高额度的开支成本,以上的这一系列问题与显示对存储量的需求产生了尴尬又急需解决的局面,而且从用户方长远来看,通过用户自身购买存储设备来应对日益扩大的存储空间需求并不是长久之计,因此目前若继续使用传统的存储方式将会遇到上述中数据存储瓶颈的问题。云存储技术的登场则为用户提供了一个高性价比的存储模式,解决了用户急需扩展存储空间的燃眉之急,将用户的所有数据交由云存储平台托管,并且可以提供用户各种应用需求,极大地节约了用户购买硬件设施的高额资金以及后期对数据及设备的管理维护成本。
云存储平台能够为用户提供动态可伸缩性的数据存储服务,其最大的特点是存储即服务(SaaS),即用户可以通过服务的方式,按需计量随时随地使用云存储中丰富的资源[3]。云存储技术由于其低成本、高扩展性、易运维等优点俨然解决了传统存储方式所遇到的瓶颈问题,受到广大用户的追捧,并具有广阔的发展前景。因此各大互联网公司纷纷推出自己云存储服务产品,像国外 Google 的 GoogleCloud Storage、Microsoft 的 Windows Azure、以及 Dropbox 个人云存储服务;国内有百度云盘、搜狐网盘等。1.1 课题研究背景
随着信息技术犹如雨后春笋般快速发展,在网络全球化的今天人们早已离不开信息化的生活方式。信息化范围覆盖了各个应用领域,并衍生惊人的数据信息量,像谷歌、脸书等应用产生的数据达到 PB 甚至 EB 级[1]。根据监测统计结果显示,数据存储的需求量按每年 50%增长,相应的 IT 基础设施投入每年增长 7%,并且预计到 2020 年全球的数据总量将达到惊人的 40ZB[2]。面对海量的数据信息,企业或者个体为满足现实中日益增长的存储需求需要大量购置存储设备,用户盲目大量置备存储设备,这些基础设施的资金投入也大大提高,与此同时,当用户将存储设备购买回来后,免不了存储设备需要定期更换及维修,这些不同设备构成的不同存储资源也加大了管理和后期维护的难度,而大多数企业或者个体难以承受如此高额度的开支成本,以上的这一系列问题与显示对存储量的需求产生了尴尬又急需解决的局面,而且从用户方长远来看,通过用户自身购买存储设备来应对日益扩大的存储空间需求并不是长久之计,因此目前若继续使用传统的存储方式将会遇到上述中数据存储瓶颈的问题。云存储技术的登场则为用户提供了一个高性价比的存储模式,解决了用户急需扩展存储空间的燃眉之急,将用户的所有数据交由云存储平台托管,并且可以提供用户各种应用需求,极大地节约了用户购买硬件设施的高额资金以及后期对数据及设备的管理维护成本。
...........................
1.2 国内外研究现状
2004 年,由 Deswarte 等人[8]最早提出基于消息认证码(Message AuthenticationCode, MAC)的数据完整性验证算法。但使用消息认证码在验证数据完整性过程中存在较大的风险,首先因为户每次发起验证请求时,都得重新下载全部的数据文件到本地,并计算从远程下载内容的 MAC 值,频繁地在不可靠信道上传输信息内容,很容易泄露隐私,并且及其浪费通信资源。
Filho 等人[9]对 Deswarte 等人提出的算法进行了改进,通过修改计算元数据的方法,降低了用户的计算开销。改进思路是通过哈希(hash)函数计算出原文件的哈希值,即将数据文件利用该 hash 函数压缩为哈希值,然后运算出数据标签值,因而降低了用户计算成本。Sebe 等人在 Deswarte 等人方案的基础上将数据分块的思想融入数据完整性验证算法中去,即首先将大的数据文件分块,之后再分别计算每个数据块的标签值,该方案在一定程度上降低了元数据集的存储代价[10]。
2009 年,Ateniese 等人[11]首先提出可证明数据持有(Provable Data Possession,PDP)机制,通过设计 RSA 同态认证标签(Homomorphic Verifiable Tags, HVTs)来降低通信开销。HVTs 具有不可伪造性,利用 HVTs 的同态性使多个待验证的数据块标签浓缩成一个较小的数值,解决了证据生成的大小随着数据块数目的增加呈线性增长的问题。所以此算法有效地降低了系统中各实体之间的计算开销以及通信成本。但是 RSA 标签值占用空间较大,不仅如此,该方案只适用于对静态数据的完整性审计,并不适用于动态数据块的修改[12]。该方案也不支持公开验证,因此实际应用性有待提高。紧接着,在 2008 年 Ateniese 等人[13] 在 PDP 方案的基础上增加了支持动态修改操作的特性,但是该方案不支持对数据块的插入操作,仅支持追加、删除及修改数据块操作。
............................
第二章 基础知识介绍

...............................
2.2 数据完整性验证机制
在传统的存储系统中(例如线存储系统、海量存储系统以及数据库存储系统等),对数据进行完整性验证的方法主要是基于数据拥有者对数据访问的方式。但是该方式显然会造成巨大的 I/O 开销,并常常受限于网络的带宽,因此这种验证方式不切实际。为了适应云存储端海量的数据信息,研究者们提出基于挑战-应答的数据完整性审计模式。
2.2.1 数据完整性验证模型
PDP 模型是由 Atenises 等人[11]提出,它是在数据完整性验证领域中最为经典的模型之一,为后续的数据完整性验证研究奠定了夯实的基础,现存的数据完整性验证研究大部分都是基于该模型的基础上扩展而来。PDP的系统模型图如图2-2所示。

.............................
第三章 基于 SLBT 云存储数据完整性验证机制........................... 20第二章 基础知识介绍
2.1 基础知识介绍
2.1.1 Hash 函数
Hash 函数(直接译音为哈希函数)就是输入一串任意长度的消息,输出均为一个固定长度的散列值,如图 2-1。在密码学领域,hash 函数的作用主要是证明数据的完整性,在函数 y ?x H)( 中,x 代表任意长短的数据和消息,H 代表单向的哈希函数,y 表示固定长度输出的摘要值(哈希值)。
2.1.1 Hash 函数
Hash 函数(直接译音为哈希函数)就是输入一串任意长度的消息,输出均为一个固定长度的散列值,如图 2-1。在密码学领域,hash 函数的作用主要是证明数据的完整性,在函数 y ?x H)( 中,x 代表任意长短的数据和消息,H 代表单向的哈希函数,y 表示固定长度输出的摘要值(哈希值)。

...............................
2.2 数据完整性验证机制
在传统的存储系统中(例如线存储系统、海量存储系统以及数据库存储系统等),对数据进行完整性验证的方法主要是基于数据拥有者对数据访问的方式。但是该方式显然会造成巨大的 I/O 开销,并常常受限于网络的带宽,因此这种验证方式不切实际。为了适应云存储端海量的数据信息,研究者们提出基于挑战-应答的数据完整性审计模式。
2.2.1 数据完整性验证模型
PDP 模型是由 Atenises 等人[11]提出,它是在数据完整性验证领域中最为经典的模型之一,为后续的数据完整性验证研究奠定了夯实的基础,现存的数据完整性验证研究大部分都是基于该模型的基础上扩展而来。PDP的系统模型图如图2-2所示。

.............................
3.1 引言................................20
3.2 关键技术改进...........................22
第四章 基于 BLS 多副本数据持有性审计方案..................................34
4.1 引言..................................34
4.1 预备知识和数据持有性审计模型................................34
第五章 总结...............................47
5.1 本文总结...........................................47
5.2 前景展望....................................48
第四章 基于 BLS 多副本数据持有性审计方案
4.0 引言
目前大多数研究还只是针对单个服务器的完整性验证,为进一步保障用户数据的安全,云存储平台会提供多副本存储模式。由于用户在本地没有保存任何副本数据,用户不再拥有对数据的直接掌控权,存储在云端的数据面临着各种不可预知的安全威胁,在没有保存任何副本的情况下,若云存储服务器上的数据一旦遭到攻击,将会给用户带了无法弥补的损失。因此将副本部署到多个服务器上是个非常好的解决方案,大大提高了数据的可用性。在多副本存储模式下,即便用户检测到数据已被损坏的情况下,并不会造成用户的恐慌感,因为用户数据能够通过其他服务器上保存的副本恢复出来,保证了用户数据不会因为个别服务器出现故障而丢失,因此多副本存储用户数据文件是保障和提高存储服务质量的重要方式。因此在多副本存储条件下,数据完整性审计方案需要满足此要求:对数据文件的每个副本均能够作出完整性验证,能够正确地证明存储在云端的多副本数据是完好无损的。本文第三章提出的数据完整性验证机制通过引入 SLBT 认证结构,使得方案具有较高的效率,性能得到提升,但它只支持单副本数据完整性验证方案,在多副本存储条件下方案便不再适用。
..............................
第五章 总结
5.1 本文总结
在云存储环境下,随越来越多用户选择将自己的数据转移到云服务器上,云存储服务的安全成为保证用户资源对服务忠诚度的重要指标[36,37,38]。在数据存储安全中数据完整性的验证又是其中必不可少的部分[39]。如何确保云存储环境下用户数据的完整性成为近来学术界研究热点,数据完整性证明则是解决这一问题的有效手段[40]。数据的完整性审计是数据完整性保护的主要课题。数据完整性审计是指只需要用户从云服务器上取回少量的存储数据,通过某种知识证明协议等方法即可达到验证数据完整性的目的。但是现存的数据完整性审计机制大多都只针对静态数据的审计,或者只支持数据的部分动态更新;现存的数据完整性审计机制大多都不支持多副本数据的有效验证,或者支持多副本数据完整性验证但又不支持对多副本数据的动态更新,因此这些局限性使得审计方案还具有进一步改进的空间。
本文第三章算法的主要改进点是针对单副本数据完整性审计方案中不支持全动态更新的问题,第四章的算法是为了解决多副本审计方案效率低下和不支持动态修改的问题。第三章和第四章的研究内容属于平行关系又属于递进的关系,只是算法的应用场景的不同,两种算法均具有较高的研究价值。
参考文献(略)