郑洪英,王博,陈剑勇
(1.深圳信息职业技术学院 软件学院,广东 深圳 518172;2.深圳大学 计算机与软件学院,广东 深圳 518060)
实现加密和分割的数据云存储方案
郑洪英1,王博2,陈剑勇2
(1.深圳信息职业技术学院 软件学院,广东 深圳 518172;2.深圳大学 计算机与软件学院,广东 深圳 518060)
针对现有单一运营商提供的云存储方案,无法令用户跨运营商定制组建个人的云存储服务的缺陷,设计了一种模块化的存储方案。该方案涵盖了用户数据的传输安全、存储安全以及访问控制安全,并确保数据的机密性、可用性和完整性。该方案适用于云服务运营商面向用户提供高安全的网络存储服务,有利于用户在不同运营商之间迁移存储数据。
信息处理;云存储;动态组建;信息安全;数据分割
云计算能够随时随地为用户提供强大的计算能力和计算资源,从而解放用户终端设备的计算负担,更好的适应移动化的需求,符合计算机服务的发展趋势,是下一代的计算服务模式[1,2]。在云计算模式中,用户的大量数据处理计算业务将从本地计算环境转移到云端进行,因此产生了云存储的需求。
然而,云存储由第三方提供商维护用户数据,用户数据的安全性无法得到充足的保障[3],调查显示80%以上的企业用户由于对云存储的安全性的忧虑,而不敢将企业的核心数据放在云存储服务器上[4,5]。一般来说,用户的数据需要拥有完整性,可用性以及机密性来保障用户的隐私。尽管这些数据安全技术的研究已经相当成熟,但是仅适合传统的存储系统,而云存储的运行环境需要新的安全机制来控制用户数据安全[3]。由于云计算的发展还不成熟,云存储也没有一个统一的架构来确保数据安全。目前,云端用户数据大多沿用传统的技术,但在整体上,云存储缺乏一个完整的方案来解决用户到云存储端的接入、访问、安全存储以及安全控制的需求[6]。
针对以上问题,本文提出一个通用的、模块化的云存储方案,MCSERS(Modular Cloud Storage with Encryption and Redundancy Splitting),面向用户提供灵活的存储服务,在使用传统密钥加密的前提下,简化用户数据密钥的管理机制,合理利用数据分割技术增强用户的数据可用性,从而实现云存储的构想。
本文提出的MCSERS云存储模型如图1所示,存储模型使用各种类型的公有云的服务与技术,跨云存储运营商构建属于用户个人所有的存储私有云。模型分为四层,每一层之间都存在着承接的关系,上层的服务需要构建在下层服务的基础上。模型由底层往上,分别为计算节点层,安全传输层,安全存储层和服务层。
图1 云存储模型Fig.1 Cloud storage model
计算节点层包括了多个云存储运营商所提供的不同的云存储组件,包括存储节点、存储流程控制节点、信息记录节点等。不同的计算节点承载着不同的任务模块,存储功能模块的划分使本存储方案更加通用,用户能替换运营商,降低单一运营商存储带来的内部威胁。
安全传输层的目的是将分散的云存储模块包含在同一个安全域中,自动为模块组件之间搭建安全通信通道,维持云存储服务域中传输安全的一致性。为了达到统一安全传输的目的,同时满足存储模块和客户端动态变化的特性,需要一种动态的云端VPN虚拟专用网络(VPN,Virtual Private Network)[7]服务来维持稳定的安全的云存储域。云端VPN服务有别于传统的VPN,用户能以计算资源的形式动态申请,不仅简化使用流程,而且适应于云计算资源动态分配的特性。
安全存储层运用了大量原创技术来确保用户数据的机密性,可用性和完整性。包括数据加密技术;数据冗余分割;访问限制等技术。具体实现方案将在下文详细说明。
云存储服务接口层指代理节点使用B/S(Browser/Server,浏览器/服务器)的模式为用户提供云存储服务入口。用户只需遵循MCSERS方案的流程,使用身份认证服务登录云存储域,就能通过浏览器安全接入存储域,自由的上传或下载云存储数据。
2.1 云存储层架构
为了保证云存储数据的机密性,防止恶意用户截取,所有在云存储端传输、存储的用户数据都必须在合法的,拥有用户密钥的终端进行加解密。MCSERS模型使用传统的数据加密技术对数据进行加密处理,但是为了增强数据的可用性,而不依赖于各个云存储服务商的具体实现,引入数据冗余分割技术,将用户数据进行冗余分割并存储到不同的存储节点上。其次,为了控制整个云存储的流程,用户需要在云端申请一个代理节点,即元数据服务器,由其控制整个用户数据的上传分割存储以及重组下载流程;用户可以通过任意的物理节点客户端接入到云存储域中,并通过身份认证服务得到代理节点的认可,就能通过代理节点的辅助,从客户端上传数据到云存储域中,或进行下载。最后在将数据分片发送到存储节点上时,为了保证传输的高安全性和统一性,需要使用VPN对所有的存储节点进行安全连接。
MCSERS云存储架构图如图2所示,涵盖了五个不同的组成部件,包括①用户终端、②元数据服务器、③数据分割处理器、④存储节点、⑤第三方身份认证服务提供商(IdP,Identity Provider)。为了维护传输的高安全性,MCSERS云存储方案使用云端动态VPN服务将前四个组件连接起来,组成一个统一的安全存储服务域。
图2 MCSERS 云存储架构图Fig.2 MCSERS cloud storage
(1)用户终端
用户能够通过任何类型终端节点登录云存储域,并连接元数据服务器。用户作为真正的通信实体,在终端使用软件或浏览器接入元数据服务器时,需要通过第三方IdP提供的身份认证服务证明其身份合法性,被元数据服务器确认之后,才能使用其提供的存储服务。
(2)元数据服务器
元数据服务器作为用户在云端存储的代理管理节点,是云存储数据管理的核心组件。用户需预先申请服务器,并配置脚本使其接入已存在的云存储域中。元数据服务器为每一份用户数据分配编号,并存储数据分片的存储节点位置以及分片的相关信息。
(3)数据分割处理器
数据分割处理器由用户选定,负责数据冗余分割和重组。用户需向元数据服务器证明分割处理器的合法性,然后其云数据读取或存储指令才能被元数据服务器所信任和处理。需要注意的是,数据分割处理器由于负责数据分割重组以及数据分片的传输,因此需要比较好的计算能力以及强大的吞吐能力,用于同时与多个数据存储节点进行数据分片的交流工作。
(4)存储节点
存储节点负责存储用户数据分片,它的存储服务是面向数据对象的,而且能够由不同的提供商提供。任何计算节点只要满足本MCSERS方案的存储协议,都能作为存储节点进行存储。存储节点需要在元数据服务器的控制下进行数据分片的存储或读取操作。
(5) 身份提供商IdP(Identity provider)
在存储方案中,第三方IdP负责认证用户终端的用户身份。用户需要在IdP拥有账户,IdP记录了用户的账号身份信息以及账户密钥;出于保密性,账户密钥通常以哈希值的形式被IdP保存。通过账户身份和账户密钥,用户身份能被认证;因此能够由任何节点接入云存储域并被元数据服务器所信任。
2.2 云存储层服务流程
在MCSERS云存储方案中,用户可以由任意终端接入云存储域,进行数据的存储或读取;从接入云存储域到使用云存储服务需要经过图2中标识的步骤(1)到步骤(5)。每一个步骤如下所述:
步骤(1),元数据服务器通过第三方IdP对用户终端的用户身份进行认证,确认终端的通信实体为数据的拥有者,并信任终端发出的数据存储读取指令。
步骤(2),在用户终端被认证之后,用户向元数据服务器发出数据存储指令。元数据服务器从云存储域中分配一个计算节点给用户,以作为数据分割处理器;如果用户接受计算节点作为本次数据操作的节点,将使用用户密钥对此次会话进行签名,并将签名发送给元数据服务器。元数据服务器收到签名之后确认本数据分割处理器的有效性,并为其提供存储位置服务。
步骤(3),用户终端将加密后的数据以及填充处理后的数据密钥上传到数据分割处理器上。
步骤(4),数据分割处理器在分割数据时向元数据服务器请求有效的存储节点地址用于存储数据分片,并记录相应分片信息;在数据重组恢复时,向元数据服务器请求分片存储节点位置信息。
步骤(5),数据分割处理器向存储节点发出数据分片存储或读取操作;同时元数据服务器发送操作认证信息到存储节点;存储节点通过验证确认操作有效后,才进行数据分片存储或读取操作。
本节对上述描述中的步骤1和2进行详细的讲解,同时对步骤3到5从用户数据存储和读取过程的角度进行描述。
3.1 元数据服务器对用户终端身份认证
在同一个VPN实例内,满足加入实例条件的用户未必满足访问用户数据的条件,因此元数据服务器需要单独的对用户终端进行一次身份认证处理。用户终端的认证过程参考图3,实现上述步骤(1),涉及到用户终端、元数据服务器和IdP之间的协同工作。用户终端负责发送IdP账户必要信息和认证请求;元数据服务器接收到请求,对IdP账户公钥加密,随即转向相应的IdP进行身份认证;IdP获得用户终端的用户数据以及元数据服务器中的加密数据,经过解密后,对两者之间进行验证;元数据服务器根据自己所持有的随机数验证返回信息的真伪。自此,元数据服务器验证用户终端身份的流程结束。
图3 元数据服务器对用户终端身份认证流程Fig.3 Certification of user terminal by metadata server
3.2 数据分割处理器
3.2.1 认证过程
数据分割处理器的认证过程如图4,需要用户终端,元数据服务器和数据分割处理器协调合作。首先,用户终端向元数据服务器发送数据处理请求,同时发送用户终端数据;其次,元数据服务器转向一个可信的云计算服务提供商请求动态分配一个计算节点作为数据分割处理器,同时转发数据;接下来,被分配的数据分割处理器进行数字签名,并且返回一个请求处理信息给用户终端;然后,用户终端从证书管理机构CA(Certificate Authority)获取数据分割处理器的公钥,并且认证。最后用户确认使用此数据分割处理器,并发送一个许可给元数据服务器。
图4 数据分割处理器认证流程Fig.4 Certification of data partitioning processor
3.2.2 安全方案
在MCSERS云存储方案中,用户数据经过数据加密和数据冗余分割,保证了数据本身的安全。即使数据在传输过程中或存储节点中被截获,也不会泄露用户数据信息。图5描述了用户数据在用户终端、数据分割处理器和存储节点所面临的安全处理措施。
(1)在用户终端,终端随机生成一个数据密钥,用户数据经过密钥进行加密后上传到数据分割处理器;增强了数据的机密性而随机的数据密钥进行最优填充处理(OAEP,Optimal Asymmetric Encryption Padding)[8]之后也同时上传。
(2)在数据分割处理器中,用户加密数据和填充处理的数据密钥经过数据冗余分割处理,生成n个数据分片和密钥分片。数据冗余分割使数据具有冗余性、加强数据的可用性,而且数据信息分散隐藏到各个分片中,一定程度上增强了数据机密性。其中,数据分割处理器可以根据用户的安全等级的选择,决定选用哪一种数据冗余分割算法。
(3)在存储节点中,存储节点存储着同一数据的加密数据分片和密钥分片,并使用访问控制措施来防止非法用户的访问。即使单一的存储节点被攻破或出现内部攻击,也不会对用户的可用性造成威胁,也无需担心用户数据信息的泄露。
图5 MCSERS云存储用户数据安全处理流程Fig.5 Data security processing for MCSERS cloud storage users
3.3 数据密钥的最优非对称加密填充
用户数据的加密密钥是随机生成的,如果将密钥存储在元数据服务器,会存在内部攻击隐患;而且如此多的存储密钥管理开销非常庞大。因此在本方案中,将数据密钥进行最优非对称加密填充(OAEP)处理之后,与用户数据一同在数据分割处理器上进行冗余分割,并存储在分布式的存储节点上。这样处理的过程,不仅能够节省单独使用密钥管理器的开销,而且能够准确无误地将密钥与数据联系在一起,避免两者由于管理不当而造成丢失。
3.4 用户归档数据存储和读取流程
用户归档数据存储和读取流程都需要用户归档数据存储需要用户终端,数据分割处理器,存储节点和元数据服务器的相互合作。
(1)用户数据存储过程:如图6所示,首先在用户端进行加密,通过VPN隧道发送给数据分割处理器;其次,在数据分割处理器端对加密数据和填充密钥分别进行冗余分割后传送给元数据服务器;元数据服务器针对每个分片返还对应存储节点;再次,数据分割器请求存储节点位置并发送数据分片;最后通过元数据服务器控制验证成功后,授权存储节点对满足验证的分片进行存储。
图6 用户归档数据分割流程Fig.6 Segmentation processing of user archive data
图7 用户数据读取流程Fig.7 Reading process of user data
(2)云存储端读取过程如图7所示:用户终端首先要根据用户的数据编号向元数据服务器提出读取申请;元数据服务器从记录中随机选取足够的分片,并将分片存储位置发送给数据分割处理器,同时发送本次数据读取许可凭证;数据服务器根据数据编号和元数据服务器发出的数据读取许可凭证,向相应的存储节点发送认证信息;数据分割处理器向相应存储节点发送读取许可凭证和数据编号,并请求返还对应分片;存储节点根据元数据服务器公钥解密来判断数据分割处理器的权限,认证成功后,返还相应分片;数据分割服务器将分片进行合并重组出数据,使用公网将数据包返还给用户终端;最后用户终端确认数据的完整,并使用用户密钥解密出数据密钥,再使用数据密钥解密数据。
本文提出了模块化的云存储方案MCSERS,并对方案实施的具体步骤进行详细描述。MCSERS方案的目的是将多个运营商提供的云存储组件连接成一个云存储域服务用户,即使用公有云的技术构建用户自己的私有存储云。模块化的方案使用户的存储选择变得多样化,过程变得灵活,适用于分布式云存储场景。MCSERS云存储方案使用云端VPN服务将存储组件维护在一个统一的安全域中,保证了数据传输的安全;使用第三方IdP对接入使用云存储服务的用户身份进行验证,而且对数据分割处理和存储都进行严格的权限管理,从访问控制的角度防止非法人员获取用户数据分片;方案对数据密钥进行最优填充处理后进行冗余分割处理,并将密钥分片附加在数据分片结尾,存放在相同的存储节点上,以达到简化密钥管理的目的。本方案架构适用于云服务运营商面向用户提供高安全的网络存储服务,有利于用户在不同运营商之间迁移存储数据。
(References)
[1]Armbrust M,Fox A,Griffith R,et al.,A view of cloud computing[J].Communications of the ACM,2010,53(4):50-58.
[2]Lenk A,Klems M,Nimis J,et al.,What's inside the cloud? An architectural map of the cloud landscape[A].// Proc.2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing[C].Washington DC:USA:IEEE Computer Society,2009.
[3]Ryan M D,Cloud computing security:scientific challenge,and a survey of solutions[J].Journal of Systems and Software,2013,86 (9):2263-2268
[4]Subashini S,Kavitha V.A survey on security issues in service delivery models of cloud computing[J].Journal ofNetwork and Computer Applications,2011,34 (1):1-11.
[5]侯清铧,武永卫,郑纬民等,一种保护云存储平台上用户数据私密性的方法[J].计算机研究与发展,2011,48(7):1146-1154.HOU Qinghua,WU Yongwei,ZHENG Weimin,et al.Method to protect user data privacy on cloud storage platform[J].Journal of Computer Research and Development,2011,48 (7):1146-1154.(in Chinese)
[6]Jula A,Sundararajan E,Othman Z.Cloud computing service composition:a systematic literature review[J].Expert Systems with Applications,2014,(41):3809-3824.
[7]Seid H A,Lespagnol A.Virtual private network[P].USA:.5,768,271.Jun 16.1998
[8]Bellare M,Rogaway P,Optimal asymmetric encryption[A].Workshop on the Theory and Application of Cryptographic.In Advances in Cryptology—EUROCRYPT'94[C].Perugia,Italy:Springer Berlin
Modular cloud storage with encryption and redundant splitting
ZHENG Hongying1,WANG Bo2,CHEN Jianyong2
(1.School of Software Engineering,Shenzhen Institute of Information Technology,Shenzhen 518172,P.R.China;2.School of Computer and Software Engineering,Shenzhen University,Shenzhen 518060,P.R.China)
In the existing scheme where cloud storage is provided by a single provider,the users can't construct their own cloud storage scheme across different providers.This paper proposes a new design of modular cloud storage to overcome this shortage.The paper describes the details of the design about the transmission of user data security,storage security and access control security,and availability and integrity.The design applies to cloud service providers to provide users with high security for network storage services to help users migrate stored data between different operators.
signal processing;cloud storage;dynamic set-up;information security;data partitioning;
TP333
:A
1672-6332(2014)01-0040-06
【责任编辑:杨立衡】
2013-11-8
国家自然科学基金(61170283);国家863计划(2013AA01A212);广东省自然科学基金(S2011040001331);深圳市科技计划(JCYJ20120615100614529和JCYJ20120613102750045)
郑洪英(1976-),女(汉),福建人,工程师,博士,主要研究方向:计算机应用;E-mail:hyzheng@126.com