去中心化的安全分布式存储系统

来源:互联网 发布:unity3d render 后处理 编辑:程序博客网 时间:2024/05/01 14:29

去中心化的安全分布式存储系统

发表时间:2013-03-01来源: 万方数据

 

1 概述

    随着计算机和网络技术的发展,存储模式也由个人集中式的存储发展为分布式存储。分布式存储就是将数据存储在多台独立的存储服务器上。分布式存储通过备份、冗余编码等手段,可以提高系统的可靠性、可用性和存取效率,还易于扩展[1]。因此,越来越多的用户将自己的大量数据外包给存储服务方进行分布式存储。这种模式在给用户带来方便和快捷的同时,也带来了新的问题。例如:用户如何保证数据的隐私性。为解决这个问题,研究者提出了新的方案[2]。但该方案完全使用公钥加密,导致方案的加解密效率不高,而且加密时仍然需要集中式的处理,没有实现真正意义下的“去中心化”。本文针对分布式存储,研究如何将“去中心化”和用户数据进行高效加解密结合,提出一种去中心化的安全分布式存储系统。

2 相关工作

    分布式存储通常以提高可靠性为目的。为提高可靠性,存储数据的一般方法是通过编码增加冗余信息,利用纠删编码的原理,对数据进行纠删编码,将编码后的各个数据片段分布式地存储于异地的存储服务器中。

    分布式存储原理如图1 所示。具体如下:对于一个文件M,首先将其分成k 个等长的分组(最后一组不足可填充0),形成向量 M’= (M1,M2 , , , M k),然后利用(n, k)纠删码对其进行编码来增加冗余,得到与M’ 相关的码字向量C =(C1,  C2 , ,  Cn)。将码字的n 个部分分别存储在n 个存储服务器中。数据恢复时,只需存取n个存储服务器中的任意k 个即可解码恢复出原始数据M。

 

图1 分布式存储原理

    目前分布式存储的研究重在研究系统的计算复杂度、通信效率、鲁棒性等。一个好的分布式存储系统应满足计算复杂度低、通信代价小、具有较好的抗灾难性等。

    在一般情况下,分布式存储系统是将分组消息形成的向量 M’= M1,M2 , , , M k集中进行编码处理的。但如果数据来源是异地的,则需先将所有的数据汇聚在某个服务器上集中进行编码处理,之后再将处理好的分组数据发送给各个异地的存储服务器。

    文献[1]讨论了异地数据源(如传感器网络中的传感器采集的数据)分布式存储中如何去中心化,即:使数据的编码不再集中进行,而转由各个存储服务器分布式地进行。其思想是使用分布式的纠删码原理实现分布式编码以去中心化的。由于省去了集中化处理所需的汇聚步骤,编码过程转由各个存储服务器分布式地完成,因此整个系统的架构有了较大的简化。同时,由于所采用的纠删码所使用的生成矩阵实际上是一个稀疏矩阵,因此编码和译码的效率较高。去中心化的分布式存储原理如图2 所示。

 

图2 去中心化的分布式存储原理

    分布式存储对于如何保证数据的保密性方面研究相对较少。文献[2]在去中心化分布式存储的基础上增加数据的保密性。该文利用了特殊的具有同态性的公钥密码算法,使对密文的纠删编码可以直接进行解密后再进行纠删解码,其系统结构如图3 所示。

 

图3 文献[2]系统结构

    但公钥密码算法的算法复杂度实质是非常高的,几乎从来不会场直接应用于对大量数据加解密,而分布式存储的应用场景很多都是大量数据的存储,因此,文献[2]方案的实用性较低。该方案具有以下缺点:

0 0
原创粉丝点击