云存储中的数据完整性校验——综述

来源:互联网 发布:武汉矩阵互动 编辑:程序博客网 时间:2024/05/22 15:40
问题的提出


云存储就是将储存资源放到云上供人存取的一种新兴方案。使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。大量的用户数据都是放在云服务器上,对数据的安全性保障是提高云服务商服务质量及用户愿意享受云存储服务的前提和保障。

在云计算出现以前,用户的数据通常保存在本地。如果用户想确定自己的数据是否完整,最简单的方法是亲自查看一下数据,就可以知道数据是否完整。如果数据量很大,可以采用哈希的方式通过比较数据标签的检查数据的完整性。

在云环境下,用户数据保存在云端。用户为了知道保存在云端的数据是否完整,可以将存在云端的数据下载下来,然后自己查看,但是这种方式浪费了大量的网络传输资源,大大的削减的云服务带来的优势。特别是,用户存放在云端的数据量很大时,这种方式更加的不切实际。

另外,从用户的角度来说云服务商不可信。因为云服务提供商可能出于自己的利益考虑,即使用户数据出现完整性错误,他也不及时的通知用户,以免降低自己的信用度;从服务商的角度来讲,用户也不可信。因为用户可能伪造数据完整性错误来企图要求云服务提供商的赔偿。所以,需要一个双方都认可的第三方来担任这个校验者来担当校验任务,以避免产生分歧。所以设计一种安全有效的校验算法就十分的必要。


数据分块


云存储中的文件通常是以“大块”(64M)的形式进行存储的,这样可以有效的提高I/O效率同时降低主节点服务器的元数据量,提高查找效率;而用户的数据文件在上传到云服务器之前,需要对文件进行预处理,生成有效的校验标签等信息,出于对标签生成的效率和对有效支持数据的动态更新的考虑,通常也会对文件进行分块,这个分块可以看作是逻辑上的分块,且没有固定的标准,不过远远小于云存储中的“大块"。


设计目标


公开校验:任何人(数据所有者和校验者)都可以验证数据的完整性,解绑定和无状态性是公开校验的基本特征;

       解绑定:任何一方都不存在绑定关系,可扩展,且各司其职。   

     无状态性:校验者在校验期间不需要维持和更新状态信息。

无块校验:校验者不需要获得实际数据块内容,就可以完成数据校验,安全且高效;

动态数据更新:有效的支持块级别(或更细粒度)的数据更新操作同时不降低校验的效率;

批量校验:云服务器同时执行多个校验任务,提高校验效率;

支持混合云:验证方案在多个云服务商或混合云的环境下实现有效的数据完整性校验要求;

不可仿制:除了数据拥有者,其他人不能生成有效校验元信息(签名);

身份隐私:数据校验过程中不能分揭漏用户身分;

数据隐私:除了数据拥有者,其他人不能了解到数据的内容。


校验算法框架


1.键生成算法KeyGen:数据所有者生成初始密钥对及一些初始化的参数设置;

2.校验标签生成算法TagGen:数据所有者生成不可伪造标签或签名;

3.校验挑战Challenge:通常由校验者发出校验挑战(校验的数据块、随机值);

4.数据完整性证据生成算法ProofGen:云服务器根据校验请求生成证明数据完整性的证据;

5.检验数据完整性算法CheckProof:校验者根据其所拥有的信息(公开可获得的信息及云服务器发来的证据)检查数据是否完整。


校验模型

1.私有校验


                                      Private verification model


数据拥有者首先将数据和生成的校验元信息存放到云服务器中,当需要验证数据完整性时,数据所有者向云端发起一个“校验挑战”,然后云端返回一个“校验证据”,数据所有者通过检查云服务器返回来的“校验证据”就可以知道存放在云端的数据是否完整。(在考虑数据机密性的情况下,可以将数据加密后再传输)

此方案的主要缺点:1.数据所有者需要维护的信息及计算量比较大;2.当数据出现损坏时容易产生分歧。


2.委托校验


委托校验中需要一个双方都可信的第三方来帮助校验。第三方校验者在存储用户公钥及校验的公共参数以便进行校验方面是可信的,它也有可能会窃取用户的数据,所以要保证校验过程数据的机密性;


                                               Delegate Verification model


此模型中:数据所有者首先将数据存放到云服务器,然后将生成的数据校验元信息存放到第三方,并由第三方完成校验任务,最终第三方将校验报告发送给数据所有者。

这种校验模型比较适合静态数据情况。

主要缺点:数据拥有者与第三方校验者绑定(因校验元数据由第三方维护),扩展性不好。且当用户数据发生变化,即需要生成新的校验元信息时,校验者要维护最新的校验元信息,这种状态信息的维护很难,而且当TPA有多个服务器时更难维护。所以它不支持公开校验。


3.公开校验

                                  Public Verifcation model 


数据拥有者首先将数据及校验元信息存储到云服务器,任何一个校验者都可以向云端发起校验请求来验证数据的完整性。

此种模型相比前两种模型,更具弹性和可扩展性。因为校验者与数据拥有者解绑定,且校验者不需要维护校验元信息,即不需要维护状态信息,有效地 实现了公开校验。



4.其他扩展模型


基于授权的公开校验模型:第三方校验者必须是经过数据所有者认证过的,否则云服务器对其发起的校验请求不予理睬。

(所谓的公开校验就是要保证无状态和解绑定,但这里数据拥有者和校验者通过授权绑定,相比委托校验模型有所进步,但是否为真正意义上的公开校验?)

具体文章参见:

云存储中可验的细粒度数据更新的动态大数据授权公开校验(密码:s62j)


基于共享数据的完整性校验校验模型:这里考虑了一份数据为一组用户所有,即为多个人共享,此种条件下既要保证数据校验的有效性又要保证共享组中数据身份的隐私。

具体文章参见:

基于环签名的身份隐私保护

基于组签名同时支持身份隐私及动态组管理

基于代理盲签名的身份隐私及动态组管理


基于混合云或多云的数据校验模型:此模型考虑到数据提供者可能会将数据存放到多个云服务提供商提供的云存储环境中,同时一部分数据可能存放在私有云,而另一部分数据存放在公有云中,此种条件下既要保证数据校验的有效性,又要保证校验者对数据存储的透明性。

具体文章参见:

多云存储环境中基于身份的可证明数据拥有方案(密码:hdvu)

多云存储中基于合作的可证明数据拥有完整性校验方案(密码:gmxt)注:此方案在安全性方面有些缺陷,需要进一步改进。


常用校验方法


1.基于RSA签名



典型实现方案非受信存储中的可证明数据拥有方案(密码:jn8p)


2.基于哈希树MHT(关于此结构的详解可以参考:Merkle Tree)


                      基本哈希树结构MHT


叶子节点为数据块对应的哈希值,这些哈希值生成一个根节点哈希值R。如果数据完整,那么R的值一定保持不变。所以可以通过比较R的值就可以知道数据是否完整。

典型实现方案云计算中有效支持公开校验和数据动态更新的安全存储方案(密码:uyq6)


                          基于排名的哈希树结构R-MHT


此方案是基本的MHT的变形,可以有效的支持不同粒度的数据更新。

典型实现方案云存储中可验的细粒度数据更新的动态大数据授权公开校验 (密码:s62j)


3.基于双线性对的BLS签名


                    (数学符号编辑起来有点麻烦,给大家带来的审美疲劳还请多多谅解!)

这里涉及了较多的数学知识,如群运算、域运算、椭圆曲线加密等。

典型的实现方案Compact Proofs of Retrievability (密码:0u3m)


考虑的因素


效率:存储消耗、计算量、数据传输;

安全性:校验元信息不可仿制,用户数据的隐私性等;

可扩展性/弹性:不同的数据类型,不同的云服务商,校验方案是否合适;类似云服务的按需使用(弹性定价),将数据校验做为一种服务;


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果7p反复重启怎么办 苹果手机屏幕触屏不灵怎么办 苹果手机屏翘起来了怎么办 苹果x手机触屏失灵怎么办 苹果7手机变成黑白屏怎么办 苹果手机屏不动了怎么办 苹果6老是卡屏怎么办 苹果x卡屏死机怎么办 苹果6死机卡屏怎么办 苹果手机主屏死机怎么办 苹果7手机卡屏死机怎么办 苹果6s卡死了怎么办 6s手机显示丢失锁定怎么办 酷比s9被root怎么办 垃圾清理把相片删除了怎么办 小米电脑怎么下载软件怎么办 华为手机pin码忘了怎么办 锁屏密码忘了怎么办 抖音停止运行了怎么办? 华为手机右下角有个小人怎么办 华为手机程序停止运行怎么办 华为手机不支持软件搬家怎么办 红米手机没有任务键怎么办 进网许可丢了怎么办 华为稳私空间被稳蔵怎么办 华为手机安装不了软件怎么办 华为手机自动安装软件怎么办 手机在实体店买贵了怎么办 日本买的kindle坏了怎么办 华为麦芒4屏幕失灵怎么办 华为麦芒6屏幕失灵怎么办 手机为什么总显示内存不足怎么办 小米云服务满了怎么办 魅蓝s6声音小怎么办 华为畅享7s丢失怎么办 华为耳机孔坏了怎么办 苹果手机耳机插孔坏了怎么办 荣耀8听筒声音小怎么办 荣耀8听筒音量小怎么办 华为荣耀6声音小怎么办 华为荣耀v8通话声音小怎么办