基于IDAs算法的云存储系统研究
2014-10-24张雪松王鸿磊
张雪松,王鸿磊,2
(1.徐州工业职业技术学院 信息管理技术学院,江苏 徐州 221140;
2.徐州市工业信息网络工程技术研究中心,江苏 徐州 221000)
基于IDAs算法的云存储系统研究
张雪松1,王鸿磊1,2
(1.徐州工业职业技术学院 信息管理技术学院,江苏 徐州 221140;
2.徐州市工业信息网络工程技术研究中心,江苏 徐州 221000)
云存储是基于云计算的在线网络存储模式,为用户提供了直接访问大范围资源和应用程序的能力.为了进一步提高用户数据的安全性和隐私性,对信息传播算法IDAs进行了分析,在此基础上提出了采用IDAs的云存储系统结构,并详细介绍了该系统的核心部件和写文件的过程.结果表明:该系统可以提高云存储数据的安全性、完整性和可用性.
IDAs算法;云存储;信息传播算法;安全;代理服务器
云存储服务为用户提供以互联网为基础的在线存储服务[1].云存储中的数据被存储在虚拟化的存储池中,通常由第3方托管.托管公司管理大型数据中心,也负责为请求托管数据的用户提供购买或租用存储容量的服务.数据中心运营商根据客户的要求来虚拟化资源,为用户提供存储池.用户可以自己使用这些存储池来存储文件或者数据对象.理论上,这些资源可跨越多个服务器.
在云存储的帮助下,企业只需要支付实际使用存储和存储管理的费用,而且也能够使用像自动精简配置这样的实际虚拟存储功能.云存储还为用户提供了通过Web服务接口直接访问大范围内的资源和被其他组织托管的应用程序的功能.
目前有很多知名的云存储服务.如:Amazon S3(Simple Storage Service)是一个公开、可靠性较高的在线存储网络服务.S3涉及到位于各个地理位置的许多机器,它还可以处理所有复杂的服务请求,存储数据并检索数据.Google云存储是一个满足REST的在线存储网络服务,可以与Amazon S3相媲美.它允许开发者在Google的云中存储和访问数据,并为开发者提供直接访问Google扩展性存储的功能.EMC Atmos也是一个知名的云存储服务平台,它采用基于策略的管理系统来创建不同层级的云存储.因此,能够通过全球云存储环境,协助客户将大量非结构化数据进行自动管理.EMC Atmos的领先优势在于信息配送与处理的能力.
1 云存储的安全问题
在云存储中,由于第3方管理计算资源,从而使异地数据存储引发了许多安全和隐私的问题.云存储中的文件分布在一组机器中,往往会跨越国界.很难说清楚这些异地资源信息是在哪个管辖区和数据保护法的监管之下,同样无法知道哪些人可以访问这些资源.而这将意味着数据的所有者失去了对自己资源的安全和隐私的控制.企业不能确定其数据是否已经得到充分的保护,防止偷窃者从“云”的内部和外部攻击数据.特别敏感的用户和私人数据需要得到妥善保护,应该严密限制访问.但是,对于目前的云存储实施方案来说,并不总是能满足这点.
虽然许多云存储提供商采用最常用的加密数据方式来保护客户数据的安全,但是他们通常是自己管理加密密钥.因此,用户由于不能影响文件加密的整个过程,而丧失了对谁有权限访问自己数据的控制[2].为了保证数据的机密性,用户通常不得不选择最可靠的云存储提供商,或者选择在把自己的数据发送到云存储设备以前加密这些数据.为了保证数据的可用性和完整性,用户通常还会复制其数据,但是这些措施在公共的云环境中有一定的局限性.
以信息传播算法(Information Dispersal Algorithms,IDAs)为基础的云存储系统将很好地解决所存储数据的机密性、完整性和可用性的问题.目前,对于使用IDAs的存储系统的研究和商业实施表明,它非常适合静态文件的存储和检索.
CleverSafe致力于使用信息传播来划分TCP/IP包,并把它们存储在本地或远程服务器上,称之为传播存储(Dispersed Storage).该公司的产品使用IDAs划分数据.
2 IDAs研究和应用
Michael O.Rabin于1989年首次提出IDAs,被用来将数据文件划分成字节数据片,当划分后的数据片通过网络传输或存储在存储阵列中时,如果用户或设备没有正确合法的密钥,将没有访问权限.使用正确合法的密钥可以将分散的数据片重新组合成原始文件.Wikibon项目的合作伙伴和分析师迈克尔说:IDAs所以用一种非常安全的方式在不同的节点间传播数据,因为攻击者可能妥协一个节点,但是不能妥协任何数据.所以,研究人员已经在研究用IDAs替代传统的数据加密方法,来保证传输数据的安全性.
1)在IDAs中,文件被划分为n片,只需要最小的m片(n>m)文件就可以重构原始文件.执行重构操作的转换矩阵有n行和m列[3].
假设F是原始文件,该文件是大小为N的字节队列.F文件中的字节能够被分成包含m字节的块,则F为:
假设矩阵A有n行和m列,则矩阵A为:
假设矩阵B是输入文件F的矩阵,矩阵c是转换后的输出矩阵.因此可以得到如下矩阵等式:
要获取cn,因为cn等于矩阵A的第一行和矩阵B的第一列的乘积,可以得到如下等式:
矩阵c的每一行对应一个文件片.
假设文件的第1片到第m片被用来重构原始文件.那么矩阵A′作为矩阵A的子矩阵具有列1到列m.假设矩阵A′是矩阵A的转置矩阵,则:
在重构原始文件F时,转换矩阵A-1被用于转换已知的m片文件,而不是原有的n片文件,来获取原始文件的矩阵.因此
由式(6)可知,IDAs可以成功地通过转换矩阵将部分文件片矩阵重构为原始文件矩阵,进而得到原始文件.
2)在云存储中,IDAs能够被用来划分文件到多个数据片,这些数据片将会被随机存储在多个随机存储节点上.信息传播算法IDAs能够提高存储数据的安全性.在使用IDAs的云存储系统中,一个攻击者如果想读取文件,就必须先妥协至少m片存储数据,或者窃听m片数据,并需要确定这m片数据在原始文件中的逻辑位置.除此之外,攻击者还要猜测文件的转换矩阵,并且把该矩阵应用到正确的文件片序列.要想完成所有这些工作是非常困难的.因此,使用IDAs的云存储系统,比只使用数据加密的云存储系统能更好地保证数据的安全性.为了进一步提高以IDAs为基础的云存储系统的安全性,代理服务器(Proxy Server)可以在分发文件片到外部存储服务器以前加密这些文件片,也可以为每个待存储的文件随机生成转换矩阵,而不是让所有文件使用同一个转换矩阵,这样更能保证文件的安全性[3].
3 基于IDAs的云存储系统
为了克服在云计算网络中存储数据的安全和隐私问题,提出了一种采用IDAs的云存储系统架构.如图1所示.
图1 使用IDAs的云存储系统结构Fig.1 Structure of cloud storage system based on IDAs
1)代理服务器.图1所示的基于IDAs的云存储系统的结构中,最关键的部件是位于可信任的企业局域网内的代理服务器,负责整合从互联网上获取的外部存储服务,为局域网内的客户计算机提供新的存储资源,并确保所有的数据在离开可信任网络区域后可以被安全无误地传输[4].
该代理服务器可以是一个以Linux为基础的系统,通常被放置在企业的可信任的局域网区域内.代理服务器的一个主要目标是充当中间媒介,无缝集成企业外部的云存储服务到企业员工的桌面工作空间[4].因此,用户在云存储中存储文件时,不再需要添加任何额外的软件组件.
通过通用互联网文件系统(Common Internet File System,CIFS),用户可以使用代理服务器在客户端计算机上提供的额外存储资源.基于客户/服务器模式的CIFS协议能够使程序访问远程计算机上的文件,还能够使程序请求此计算机的服务.一般来说,CIFS使用户对文件的控制较FTP更好一些.它提供潜在的更直接地服务器程序接口,这比使用HTTP协议的浏览器更好.CIFS最典型的应用是Windows用户能够从“网上邻居”中找到网络中的其他主机并访问其中的共享文件夹.
为了在代理服务器上启动传播和加密算法,一个自定义的文件系统是必要的,它应该使用户具有“重写”标准的文件系统的能力.著名用户空间文件系统(Filesystem in Userspace,FUSE)可以满足这一要求.FUSE是Linux中用于挂载某些网络空间,如SSH,到本地文件系统的模块.使用FUSE可以让非特权用户在不需要编辑内核代码的前提下,创建他们自己的文件系统.
2)操作系统的编写(如图2所示).在图1所示的云存储系统结构中,写文件的过程将进行如下操作:
图2 写操作过程Fig.2 Write operation process
写文件的用户(通常是企业的员工)复制一个文件,并要把它写到网络驱动器上的一个目标文件夹中.首先,这个文件将被缓存在代理服务器的共享文件夹(Shared Folder)中[5].几乎在同一时间,代理服务器会为该文件随机生成一个特殊的转换矩阵.然后,代理服务器将使用这个矩阵转换把文件划分为多个数据片.为了安全起见,所有的数据片还要被加密.最后,这些数据片将通过一个协议适配器被存储到某个云存储服务商提供的存储设备中.
3)元数据的数据库(Metadata DB).为了保持文件和文件片的映射关系,可以采用类FileInfo和类FileSlice(如图3所示).类FileInfo中包含的属性有:用于划分文件的IDAs转换矩阵,文件片存储的命名空间,以及文件的一般属性等.类FileSlice包含一个文件片的信息,一个文件可以分成多个文件片,所有文件实例都被存储在元数据的数据库中.在整个写操作的过程中,附加信息和元数据属于外包文件将被存储在数据库内,有了这些存储的信息,当存储程序成功完成后,代理服务器中的缓存文件就可以被删除了.
图3 元数据的数据库Fig.3 Database of metadata
采用元数据的数据库,代理服务器可以管理文件片的存储注册和清除,以及对所有文件片存储的健康和可用情况进行追踪.存储元数据的数据库可以是一个MySQL数据库,它应该被复制,分发,并得到充分保护,以免受攻击和出错,通常采用维护数据库安全的做法对其进行维护.
4)执行测试.完成对IDAs存储系统在读和写不同大小文件时的执行情况后,进行初步的性能测试,并将IDAs存储系统与NFS的执行性能进行对比.在测试中,IDAs存储系统以一个VMware ESXi 5.0私有云为基础,并采用4个存储片.NFS的客户机和服务器采用Ubuntu 10.10.此外,注册中心服务器、片存储和NFS服务器都是运行在配置了1 GB内存和1个虚拟CPU的虚拟机之上,没有预订资源.
从对测试结果的分析可以看出,读写所用时间会随着文件尺寸的增大而线性增长.图4表明,IDAs存储系统的写文件性能与NFS相当.为了提高IDAs存储系统的读文件性能,在测试中使用了一个预读取缓存.因此,在图4中,IDAs存储系统的读操作没有显著慢于NFS的读操作.
图4 IDAs存储系统与NFS对比Fig.4 Comparison between IDAs storage system and NFS
4 结论
理论研究证明IDAs的云存储系统结构,可以提高云存储数据的安全性、完整性和可用性.该系统的核心部件是一个位于企业局域网内的代理服务器,它负责使用信息传播算法IDAs划分文件,然后分发文件到企业外部的云存储服务.为了进一步提高存储数据的安全性,代理服务器不使用公用转换矩阵,而是为每个文件随机生成独特的转换矩阵.另外,在分发文件片到企业外的云存储服务之前,代理服务器还会加密文件片.由于所有这些操作都是在可信任的企业局域网内完成,所以云存储服务中通常的安全和隐私性问题将得到较好地解决.
[1] 侯清烨,武永卫,郑纬民,等.一种保护云存储平台上用户数据私密性的方法[J].计算机研究与发展,2011,48(7):1147- 1154.
[2] 王志中,周城,牟宇飞.基于分离密钥的云存储加密解决方案[J].电信科学,2013,29(1):51- 56.
[3] 司菁菁.线性网络编码的类型保持转换矩阵[J].计算机工程与应用,2011,47(7):12- 15.
[4] 智西湖.分布存储的流媒体代理服务器协作算法探讨[J].洛阳大学学报,2004,19(2):50- 52.
[5] 杨戈,廖建新,朱晓民,等.基于段流行度的移动流媒体代理服务器缓存算法[J].通信学报,2007,28(2):33- 39.
On cloud storage system based on IDAs
ZHANG Xue-song1,WANG Hong-lei1,2
(1.Information Management Department,Xuzhou College of Industrial Technology,Xuzhou,Jiangsu 221140,China;2.Xuzhou Engineering Technology Research Center for Industrial Information Network,Xuzhou,Jiangsu 221000,China)
Cloud storage is a model of online network storage based on cloud computing,which provides users with immediate access to a broad range of resources and application.In order to improve the security and privacy of user data,this paper analyzes information dispersal algorithms(IDAs),puts forward cloud storage system adopting IDAs,and expounds the core block and file-writing process of the system.Results show that the system can improve the security,integrity and availability of cloud storage data.
IDAs;cloud storage;information dispersal algorithms;security;proxyserver
TP 368.1
A
2095- 3550(2014)02- 0033- 04
2014- 04- 10
2013年徐州市科技发展基金计划 (XF13C035);2013年江苏省高等学校大学生实践创新训练计划 (766);2012年校级科研课题 (XGY201213)
张雪松,女,江苏徐州人,副教授,硕士,主要从事计算机技术研究.
E- mail:zxscedar1@163.com
(责任编辑:梁赛平)