王鸿磊,张雪松
(1.徐州工业职业技术学院 信息管理技术学院,江苏 徐州 221140;
2.徐州市工业信息网络工程技术研究中心,江苏 徐州 221000)
基于信息传播算法的云存储系统架构研究
王鸿磊1,2,张雪松1
(1.徐州工业职业技术学院 信息管理技术学院,江苏 徐州 221140;
2.徐州市工业信息网络工程技术研究中心,江苏 徐州 221000)
云存储是一种在线网络存储模式,可以为用户提供能直接访问的大范围资源和应用程序。虽然许多云存储提供商已经采用加密策略来保护客户的数据,但是用户还是怀疑数据的安全性和隐私性。通过信息传播算法分析,证明它能够解决云存储数据的私密性、完整性等问题,在此基础上,提出一种采用信息传播算法的云存储系统架构,实验证明,它可以提高云存储数据的安全性、完整性和可用性。
云存储;安全;信息传播算法;代理服务器
云存储是指利用集群应用、网格技术或分布式文件系统等功能,通过应用软件将网络中大量的各种不同类型的存储设备集合起来协同工作,以实现对外提供数据存储和业务访问功能的一个联合系统。通常,云存储服务为用户提供以互联网为基础的在线存储服务,用户根据需要付费就可以从云存储服务提供商处获得任意大小的存储空间和企业级别的服务质量[1]。云存储中的数据被存储在虚拟化的存储池中,通常由第三方托管。托管公司管理大型数据中心,也负责为请求托管数据的用户提供购买或租用存储容量的服务。数据中心运营商根据客户的要求来虚拟化资源,为用户提供存储池。用户可以自己使用这些存储池来存储文件或者数据对象。物理上,这些资源可能跨越多个服务器。在云存储的帮助下,企业无需在自己的数据中心或办公地购买和安装物理存储设备,也无需承担管理存储维护任务,如备份、数据复制、以及购买额外的存储设备等,这些全部由存储服务的提供商负责,因此企业能够专注于自己的核心业务。企业只需要支付实际使用存储空间和存储管理的费用,而且也能够使用像自动精简配置这样的实际虚拟存储功能。云存储还为用户提供了通过Web服务接口直接访问大范围内的资源和被其他组织托管的应用程序的功能。
目前有很多知名的云存储服务,亚马逊S3(Simple Storage Service)就是其中较为突出的一个。亚马逊S3是一个公开的高可靠性的在线存储网络服务。Web应用程序开发人员只需要付少量的费用(大约每月15美分/GB)就可以使用S3存储数字资产(包括图片、视频、音乐和文档等),就像使用一个位于Internet上的机器一样。实际上,S3涉及到位于各个地理位置的许多机器,它还处理所有复杂的服务请求,可以存储并检索数据。Google云存储是一个满足REST的在线存储网络服务,可以与亚马逊S3相媲美。它允许开发者在Google的云中存储和访问数据,并为开发者提供了直接访问Google扩展性存储的功能。EMC Atmos也是一个知名的云存储服务平台,它采用基于策略的管理系统来创建不同层级的云存储,因此能够通过全球云存储环境,协助客户将大量非结构化数据进行自动管理。EMC Atmos的领先优势在于信息配送与处理的能力。
由于采用第三方管理云存储计算资源,从而引发了用户对数据存储的安全性和私密性的广泛关注。云存储中的文件分布在一组机器中,往往会跨越国界。很难说清楚这些异地资源信息是在哪项管辖权和数据保护法的监管之下,同样无法知道哪些人可以因此访问这些资源。而这将意味着数据的所有者失去了对自己资源的安全和隐私的控制。企业对他们的数据感到紧张,不能确定他们的数据是否已经得到充分的保护,能否防止偷窃者从“云”的内部和外部攻击数据。特别敏感的用户和私人数据需要得到妥善保护,应该严格限制对它们的访问,但是对于目前的云存储实施方案来说,并不总是能实现这点。
许多云存储提供商采用最常用的方式——加密数据,来保护客户数据的安全,但是他们通常是自己管理加密密钥。因此,用户由于不能影响文件加密的整个过程,而丧失了对谁有权限访问自己数据的控制[2]。为了保证数据的私密性,用户通常不得不选择最可靠的云存储提供商,或者选择在把自己的数据发送到云存储设备之前加密这些数据。为了保证数据的可用性和完整性,用户通常还会复制他们的数据,但是这些措施在公共的云环境中有它们的局限性。
以信息传播算法为基础的云存储系统将很好地解决所存储数据的私密性、完整性和可用性的问题。目前,对于使用信息传播算法的存储系统的研究和商业实施,表明它非常适合静态文件的存储和检索。
信息传播算法由算法研究人员Michael O. Rabin在1989年首次提出,被用来将数据文件划分成字节数据片,当划分后的数据片通过网络传输或存储在存储阵列中时,如果用户或设备没有正确合法的密钥,将不能访问它们。使用正确合法的密钥可以将分散的数据片重新组合成原始文件。Wikibon项目的合作伙伴和分析师迈克尔说,信息传播算法有能力用一种非常安全的方式在不同的节点间传播数据,因为攻击者可能妥协一个节点,但是不能妥协任何数据。有些人已经在研究用信息传播算法替代传统的数据加密方法,以保证传输数据的安全性。
2.1 信息传播算法的算法思想
在信息传播算法中,文件被划分为n片,只需要最小的m片(n>m)文件就可以重构原始文件。执行重构操作的转换矩阵有ri行和m列。[3]假设F是原始文件,该文件是大小为N的字节队列。F文件中的字节能够被分成包含m字节的块,如(1)所示。
假设矩阵A有ri行和m列,如(2)所示。
假设矩阵B是输入文件F的矩阵,矩阵c是转换后的输出矩阵。因此可以得到如下矩阵等式,如(3)所示。
要获取c11,因为c11等于矩阵A的第一行和矩阵B的第一列的乘积,所以可以得到如下等式,如(4)所示。
矩阵c的每一行对应一个文件片。
假设文件的第1片到第m片被用来重构原始文件。那么,矩阵A′作为矩阵A的子矩阵具有列1到列m。假设矩阵A-1是矩阵A′的转置矩阵,如(5)所示。
在重构原始文件时,转换矩阵被用于转换已知的片文件,而不是原有的片文件,来获取原始文件的矩阵。如(6)所示。
由(6)可知,信息传播算法可以成功地通过转换矩阵将部分文件片矩阵重构为原始文件矩阵,进而得到原始文件。
2.2 信息传播算法在云存储中的使用
在云存储中,运用信息传播算法将文件划分为多个数据片,这些数据片将会被随机存储在多个存储节点。信息传播算法能够提高存储数据的安全性。在使用的云存储系统中,一个攻击者如果想获取文件,他必须先读取至少m片存储数据,或者窃听m片数据。他还必须确定这m片数据在原始文件中的逻辑位置。此外,攻击者还要猜测文件的转换矩阵,并且把该矩阵应用到正确的文件片序列。要想完成所有这些工作是非常困难的,成功的可能性微乎其微。因此使用信息传播算法的云存储系统,相比只使用数据加密的云存储系统,能更好地保证数据的安全性。为了进一步提高以信息传播算法为基础的云存储系统的安全性,代理服务器可以在将分发文件片到外部存储服务器之前,加密这些文件片。也可以为每个待存储的文件随机生成转换矩阵,而不是让所有文件使用同一个转换矩阵,这样更能保证文件的安全性。[3]
为了解决云存储数据的安全性和私密性问题,本文提出了一种采用信息传播算法云存储系统架构。如图1所示。
图1 采用信息传播算法的云存储系统架构
3.1 代理服务器
在信息传播算法云存储系统结构中(如图1所示),最关键的部件是位于可信任的企业局域网内的代理服务器。代理服务器负责整合从互联网上获取的外部存储服务,为局域网内的客户计算机提供新的存储资源,并确保所有的数据在离开可信任网络区域后可以被安全无误地传输。[4]代理服务器可以是一个以Linux为基础的系统,通常被放置在企业的可信任的局域网区域内。代理服务器的一个主要目标是充当中间媒介,无缝集成企业外部的云存储服务到企业员工的桌面工作空间[4]。因此用户在云存储中存储文件时,不再需要添加任何额外的软件组件。通过通用互联网文件系统,用户可以使用由代理服务器在客户端计算机上提供的额外存储资源。基于客户/服务器模式的通用互联网文件系统协议能够使程序访问远程计算机上的文件,还能够使程序请求此计算机的服务。一般来说,通用互联网文件系统使用户得到比FTP更好的对文件的控制。它提供潜在的更直接地服务器程序接口,这比使用HTTP协议的浏览器更好。通用互联网文件系统最典型的应用是Windows用户能够从“网上邻居”中找到网络中的其他主机,并访问其中的共享文件夹。在代理服务器上启动传播和加密算法,一个自定义的文件系统是必要的,它应该使用户具有“重写”标准的文件系统的能力。用户空间文件系统可以满足这一要求。用户空间文件系统是Linux中用于挂载某些网络空间(如SSH),到本地文件系统的模块。使用用户空间文件系统可以让非特权用户在不需要编辑内核代码的前提下,创建他们自己的文件系统。
3.2 写操作
图2 写操作过程
在图1所示的云存储系统结构中,写文件的过程将进行如下操作,如图2所示。写文件的用户通常是企业的员工,他(她)复制一个文件,并要把它写到网络驱动器上的一个目标文件夹中。首先,这个文件将被缓存在代理服务器的共享文件夹中。[5]几乎在同一时间,代理服务器会为该文件随机生成一个特殊的转换矩阵。然后,代理服务器将使用这个矩阵转换把文件划分为多个数据片,为了安全起见,所有的数据片还要被加密。最后,这些数据片将通过一个协议适配器被存储到某个云存储服务商提供的存储设备中。
3.3 元数据的数据库
保持文件和文件片的映射关系,类FileInfo和类FileSlice被使用,如图3所示。类FileInfo中包含的属性有:用于划分文件的信息传播算法转换矩阵,文件片存储的命名空间,以及文件的一般属性等。一个文件可以分成多个文件片。类FileSlice包含一个文件片的信息。所有文件实例都被存储在元数据数据库中。在整个写操作的过程中,附加信息和元数据属于外包文件,将被存储在数据库内。有了这些存储的信息,当存储程序成功完成后,代理服务器中的缓存文件就可以删除了。采用元数据数据库,代理服务器可以管理文件片的存储注册和清除,并对所有文件片存储的健康和可用情况进行追踪。存储元数据的数据库可以是一个MySQL数据库,它应该被复制、分发,并得到充分保护,以免受攻击和出错,可以采用通常维护数据库安全的做法对其进行维护。
图3 元数据的数据库
3.4 执行测试
以上已经对信息传播算法存储系统在读写不同大小文件时的执行情况,进行了初步的性能测试。不仅如此,还将IDAs存储系统与NFS的执行性能进行了对比。在测试中,信息传播算法存储系统以一个VMware ESXi 5.0私有云为基础,并采用4个存储片;NFS的客户机和服务器采用Ubuntu 10.10。此外,注册中心服务器、片存储和NFS服务器都是运行在配置了1 GB内存和1个虚拟CPU的虚拟机之上的,没有预订资源。
图4 IDAs存储系统与NFS对比
从对测试结果的分析可以看出,读写所用时间会随着文件尺寸的增大而线性增长。图4表明,信息传播算法存储系统的写文件性能与NFS的写文件性能相当。为了提高信息传播算法存储系统的读文件性能,在测试中使用了一个预读取缓存,因此在图4中,信息传播算法存储系统的读操作没有明显慢于NFS的读操作。
本文提出了一种采用信息传播算法的新云存储系统结构。理论研究证明,它可以提高云存储数据的安全性、完整性和可用性。该系统的核心部件是一个位于企业局域网内的代理服务器,它负责使用信息传播算法划分文件,然后将文件分发到企业外部的云存储服务。为了进一步提高存储数据的安全性,代理服务器不使用公用转换矩阵,而是为每个文件随机生成独特的转换矩阵,另外,在分发文件片到企业外的云存储服务之前,代理服务器还会加密文件片。由于所有这些操作都是在可信任的企业局域网内完成的,那么通常云存储服务中的安全问题和隐私问题应该可以被大大减少。
[1]侯清烨,武永卫,郑纬民,等.一种保护云存储平台上用户数据私密性的方法[J].计算机研究与发展,2011,48(7):1147-1154.
[2]Ronny Seiger,Stephan GroB,and Alexander Schill.SecCSIE:ASecure Cloud Storage Integrator for Enterprises[C].IEEE Conf.on Commerce and Enterprise Computing.2011:252-255.
[3]Kheng Kok Mar.Secured virtual Diffused File System for the Cloud[C].6th Int.Conf.on Internet Technology and Secured Transactions,United Arab Emirates.11-14 December 2011:116-121.
[4]Shixin Luo,Fengmei Liuz,and Chuanlun Ren.Ahierarchy attribute-based access control model for cloud storage[C].Int.Conf.on Machine Learninh and Cybernetics,China.July 2011:1146-1150.
[5]Lei Xu,Jian Hu,Stephen Mkandawire,and Hong Jiang. SHHC:Ascalable hybrid hash cluster for cloud backupservices in datacenters[C].31st Int Conf.on Distributed Computing Systems Workshops,2011:61-65.
Cloud Storage Systembased onthe In formation Dispersal Algorithms
WANG Hong-lei1,2,ZHANG Xue-song1
(1.School of Information Management and Technology,Xuzhou College of Industrial Technology,Jiangsu Xuzhou 221140,China;2.Xuzhou Engineering Technology Research Center for Industrial Information Network,Jiangsu Xuzhou 221000,China)
Cloud storage is amodel of networked online storage based on cloud computing,and provides users with immediate accesstoabroad range of resources and applications.Although alot of cloud storage providers adopt encryptiontoprotect costumer data,users still suspectthe security and privacy oftheir data.Through analysis of information dispersal algorithms,it provesthat it can better addressthe issues of confidentiality,integrity and availability of data.Onthis basis,the paper presented acloud storage systemadopting information dispersal algorithms.The results showthat it can improvethe cloud storage datasecurity,integrity and availability.
cloud storage;security;information dispersal algorithm s;proxy server
TP368.1
A
1673-2022(2014)04-0038-05
2014-03-19
2013年徐州市科技发展基金计划项目(XF13C035);2013年江苏省高等学校大学生实践创新训练计划(766);2012年校级科研课题(XGY201213)
王鸿磊(1979-),男,江苏徐州人,副教授,高工,硕士,研究方向为无线通信技术;张雪松(1978-),女,江苏徐州人,副教授,硕士,研究方向为软件技术。