云计算下数据安全存储技术研究
引用本文
摘 要
云计算技术的发展,极大地提高了计算和存储资源的利用率,用户对数据的使用也变得更便利。但是,云计算环境下的开放性也让用户数据安全性面临较大挑战,成为当前阻碍云计算技术发展的主要问题之一。针对当前云计算环境下用户数据存储安全的需求,提出一种云计算环境下数据安全存储方案,基于有限域GF(2) 上的随机矩阵,构造相应的编译码算法,以进行数据的编译码存储,同时通过动态调整数据文件编码数据量,实现对用户存储成本和数据安全可靠性的优化控制。
近年来,云计算[1]作为一种新的计算模式,已快速发展成为一个新兴研究和应用领域,得到了越来越多的关注。它利用一些可配置的计算、存储资源和计算外包机制,构建一个中心化的资源池,使其能为不同的人提供不同的计算服务,如存储服务、网络服务以及软硬件服务等。通过资源的统筹管理和规划,用户得以在低成本开销下获得高性能、可靠的计算服务。
随着大数据和云计算技术的快速发展,企业数据本地存储和处理的传统模式已经逐渐无法满足快速增长的业务数据量需求。同时,企业还需构建专门的硬件设施和专业的系统维护人员,给企业运营带来了较高的成本开销。因此,越来越多的企业选择将自己的数据托管在云计算服务平台,由专业的存储服务供应商提供方便快捷的存储服务和数据管理,但也不可避免地带来了一些安全问题。
在云计算环境下,用户数据主要存储在云存储平台上,面临着一些固有的数据安全和可靠性问题。一方面,开放的云存储环境容易让未授权用户直接获取到企业核心机密信息;另一方面,过时或脱敏数据的高容灾存储,将导致企业承受着较高的存储开销。
本文针对云计算环境下存储系统面临的安全威胁和存储开销,提出了一种动态数据安全存储方案。该方案在存储过程中引入了冗余性、时变性,支持数据的快速恢复和重构,提高了系统的容错性和抗毁性。同时,通过动态调整数据编码的冗余数据量,可实现云计算环境下数据存储空间利用率和数据可靠性之间的优化配置。
云计算作为一个新兴领域,人们对其的认识也在不断变化。从本质上看,它是一种分布式系统,利用互联网将超大规模的计算和存储资源整合,并以各种各样的服务形式按需提供给用户。其中,高性能的云存储是实现云计算服务的基本条件,互联网上无数廉价存储设备所构成的庞大的存储系统是云计算环境下数据存储的基础。云存储通过分布式文件系统将这些异构存储设备整合为一个高性能的整体。因此,云存储安全成为当前研究的热点,一直受到产业界和学术界的普遍关注[2]。
根据云计算所处的应用和技术环境,数据存储管理主要关注数据的安全性、可靠性和计算效率等。其中,安全性表现为在云计算环境的开放性特点下,用户数据通常会面临授权用户的非法访问、未授权用户的非法访问以及无法信任的云存储供应商等安全威胁,从而导致用户无法将核心数据的存储和处理托付给云计算平台。可靠性表现为数据在云存储环境下的抗损毁能力,主要采用存储容灾技术保障。计算效率表现为云计算中数据编译码存储的运行效率。
当前,数据存储安全可依托于数据存储容灾技术实现,其中比较常见的有传统阵列码方式[3]和基于有限域的RS码类[4]方式。在云计算环境下,传统阵列码方案由于编码参数受到素数的限制,无法灵活扩展,不适用于云计算环境下的数据安全存储。
同时,确定的数据存储结构也为数据安全带来相应的安全隐患。而基于有限域的RS码类的存储方案,尽管编码参数在有限域范围内可灵活设置,但由于有限域 上高昂的计算复杂度,使其在大规模数据存储时很难实现较高的编译码效率,从而严重影响用户的存储服务体验,也不适用于云计算环境下的存储容灾。
随着随机编码方式[5]的提出,随机矩阵高概率满秩的特性为存储容灾提供了高概率译码恢复成功率。灵活的编译码参数设置和基于有限域GF(2) 上的运算,为随机编码方案提供了良好的扩展性和较高的编译码效率,非常适用于云计算环境下的数据存储。本文基于随机编码方案,提出了一种云计算环境下的数据动态安全存储方案,实现了数据的安全、可靠和高效存储。
详细讨论云计算环境下数据的安全存储机制,分别从云计算下数据安全存储模型、数据编码构造、数据译码恢复过程以及数据可靠性动态调整机制等方面进行介绍。
2.1 云计算下数据安全存储模型
简化和抽象云计算环境下数据的安全存储系统,构造如图1所示的云计算下数据安全存储模型,主要由各种轻量级的客户端设备,如电脑、手机、平板电脑和处于互联网的云服务中心组成。
其中,用户利用云服务中心提供的公私钥加密机制,结合待上传数据文件属性产生相应的公私钥对,将数据文件通过公钥加密并经由各种便携式终端设备上传至云服务中心,私钥用户自身保留,避免用户核心机密数据在云服务中心的明文存储。
云服务中心收到用户上传的密文数据文件后,根据用户提供的各种编码设置要求形成相应的编码设置参数,并对密文数据文件进行分块编码,选取合适的存储节点,将分块编码数据逐次存储在各个存储节点上,并将相关的编码参数信息和存储节点信息上传到信息服务配置中心,从而完成云计算环境下的数据文件的加密分块编码存储。
当用户需要获取原始数据文件信息时,云服务中心首先调取用户数据文件在信息配置中心中相关的配置信息,并选取适当的存储节点,读取其上数据文件的编码分块信息,然后利用配置信息和编码分块信息构建相应的译码方程组,通过求解译码方程组获取原始数据文件的密文信息,最后用户利用文件的私钥解密获取原始数据文件信息。上述相关的计算和处理过程均由云服务中心提供,用户只需利用客户端完成相关的上传和下载操作,即可实现“一次上传,随处使用”的云计算服务特性。
由上可知,本文所提云计算环境下的数据安全存储技术通过构筑三道防线,进行数据文件安全存储的多层保护。云服务中心通过PKI设施进行数据的加密上传,形成第一道防线;数据文件在云服务中心里的分块编码存储,构成第二道防线;通过信息配置中心对数据文件配置信息的保存管理和对存储节点的管理调度,实现存储内容与配置信息的隔离,形成第三道防线。
2.2 数据编码构造
用户通过云计算服务中心进行数据的分块编码存储,云服务中心可根据用户存储要求形成相应的数据文件编码参数信息,然后将对应的密文文件分块编码,最后选取合适的存储节点存储编码分块信息,并在信息配置中心保存相关的编码矩阵信息表和存储节点信息表。
具体数据编码步骤如下:
(1)根据用户要求,设置相应的编码参数k ,编码冗余信息量t ,随机冗余,并计算所需的存储节点数;
(2)将密文数据信息均分为k 份;
(3)构造有限域GF(2) 上列满秩的单位均匀随机矩阵;
(4)根据编码矩阵和存储节点情况,构建相应的数据编码矩阵信息表和存储节点信息表;
(5)利用密文文件数据的k 个分块,通过,产生编码分块;
(6)根据数据文件配置信息,将编码分块依次存放至对应的n 个存储节点中;
(7)保存编码矩阵信息表和存储节点信息表至信息配置中心;
(8)编码成功,存储结束。
可知,云服务中心将用户数据文件的密文信息分块编码存储到云计算环境下的各个存储节点上,从而避免明文信息在开放云计算环境中的直接存储。同时,由于各个存储节点的选取是随机的,且各个存储节点不存在相应的几何关系,进一步避免了确定性存储模式带来的数据文件信息泄露隐患,增强了数据文件的安全性。
2.3 数据译码恢复
当发生数据存储节点失效等原因造成数据信息丢失时,云服务中心将通过数据译码恢复得到丢失的数据信息。通常需要先恢复原始数据信息,然后再恢复编码冗余数据信息。
具体数据译码恢复步骤如下:
(1)统计存储区域中用户原始密文数据的失效块数t ;
(2)从云服务中心中按照一定规则抽取 个有效编码分块;
(3)抽取m 个编码分块对应编码矩阵 中的行向量构造译码矩阵;
(4)利用剩余有效原始数据信息和抽取的编码分块信息,构造译码方程组
;
(5)译码方程组的解即为原始密文数据的t 个失效分块信息;
(6)利用原始密文数据分块信息和编码矩阵 ,重新编码得到失效编码分块信息;
(7)恢复成功,译码结束。
由上述算法可知,对于t 个原始密文数据分块的失效,用户只需利用剩余有效原始密文数据分块信息和m()个存储容灾系统中的编码冗余信息构建规模为mxt 的译码方程组,即可得到失效原始数据块的信息,从而极大地消减了译码规模和译码恢复难度。
2.4 数据可靠性动态调整机制
数据的时效性一直是数据的重要特性之一。大部分数据通常在产生初期具有非常重要的价值,随着时间的推移,重要性逐渐降低,因此对数据资源的保护措施也将随着时间的增长有所下降,而这在数据存储中的反映是数据可靠性需求的下降。
本文所提云计算下的数据安全存储方案,可以实现数据可靠性的动态调整,这在存储系统中的表现即是数据编码冗余的增减。当数据重要性较高时,需要提高数据的可靠性,可以通过增加数据编码冗余信息量来实现;当数据重要性降低时,数据的可靠性需求随之下降,可通过减少数据编码冗余信息量方式释放相应的存储资源,以便用户对存储资源进行更合理的规划。数据可靠性的动态调整将极大地便利用户对数据资源的控制和对存储开销的分配,具有非常重要的实用价值。
云计算环境下数据可靠性的动态调整机制,主要通过以下步骤实现:
(1)云服务中心通过信息配置中心获取数据文件的配置信息;
(2)根据相应的配置信息检查各个存储节点上编码分块的有效性,若有失效,进行失效数据的译码恢复;
(3)云服务中心根据用户对数据文件的可靠性更新要求,重新计算数据文件所需的编码冗余信息量 ;
(4)如果新的编码冗余信息量s 大于原始的编码冗余信息量t ,则进行编码冗余信息的增加;
(5)如果新的编码冗余信息量s 大于原始的编码冗余信息量t ,则进行编码冗余信息的减少;
(6)操作完成后,即结束。
编码冗余信息的增加,可通过再编码的方式新增l (l=s-t )个编码冗余分块,并额外选取 个存储节点进行新增编码分块的存储,同时完成数据编码参数信息和存储节点信息在信息配置中心的更新。而编码冗余信息的减少,可直接从t 个编码冗余分块中随机选取l (l=t-s )个编码冗余分块,并根据相应数据文件的配置信息,在对应存储节点上删除相关的编码冗余分块,完成数据编码参数信息和存储节点信息在信息配置中心的更新即可。
由上可知,数据可靠性的动态调整,为用户对数据可靠性的把控提供了非常灵活的手段,同时方便了用户存储资源的合理优化配置,在保障用户数据可靠性需求基础上,节约了用户的存储开销。
3.1 参数设置
参数设置上通常考虑两个方面,一方面是编译码构造参数的设置,另一方面是运算数据块大小的设置。
当使用传统阵列码进行编译码构造时,由于传统阵列码通常具有特定的构造方式,并满足某种特殊的几何结构,因此其编译码构造参数往往受到素数的限制,无法灵活变换。此外,由于它主要采用XOR运算,因此其运算数据块大小设置理论上不受编码方案的影响,可进行灵活设置。
当使用基于RS码类进行编译码构造时,由于其编码矩阵构造在有限域上,因此只有当编码规模不超过有限域的大小时,才能进行编译码构造参数的灵活设置。
同时,基于RS码类的构造方案所有运算均为有限域上的运算,因此运算数据块大小需要与编码矩阵元素设置为同等规模,故而不能灵活设置。此外,有限域上的运算复杂度,随着有限域维数w 的增长呈现几何级增长。因此,基于RS码类的构造方案下的数据块通常不选取较大规模。
本文方案采取随机编码的构造方式。由于有限域GF(2) 上随机矩阵的译码成功率仅受行列差参数 ()的影响,因此只需要编码矩阵的行列差满足不小于 的条件,其编译码构造参数即可进行灵活设置。同时,该方案下数据块大小的设置不受编码方案的影响,从而具备灵活设置的特点。相关对比情况如表1所示。
3.2 数据可靠性动态调整
数据可靠性动态调整主要通过对数据编码冗余数量的动态调整,实现对数据可靠性的动态调整,达到对数据可靠性需求和存储空间利用率的优化配置。
对于传统阵列码方案,由于特殊的编译码模式和特定的存储结构无法实现编码冗余数据量的灵活增减,因此不具备动态调整能力。而对于基于有限域的RS码类方案,编码参数在有限域范围内可以灵活设置,故其编码冗余数据量在有限域范围内可以进行调整,具备一定的动态调整能力。
本文选用随机编码的方式,由于编码参数的灵活性,编码冗余数据量可在满足高概率成功译码的情况下不受任何限制地进行调整,非常适用于云计算环境下的数据可靠性动态调整需求。
3.3 计算效率
在计算效率上,本文构建的云计算环境下的数据安全存储机制,采用有限域GF(2) 上的随机矩阵进行构造。一方面借鉴了传统阵列码异或(XOR)运算的高效性,消除了参数受限的困扰,另一方面避免了有限域 上复杂的乘除运算带来的高昂的计算成本,非常适用于云计算环境下大规模数据的运算,保障了高效的数据输入输出。
3.4 安全性分析
本文所提的数据动态安全存储技术的安全性主要体现在以下几个方面:
(1)本文所提的动态数据安全存储架构采用数据加密上传、分块编码存储以及编码配置信息与原始数据分离管理的三级防护措施,既可避免原始文件信息以明文形式存储在开放云计算环境下所导致的信息泄露,又可实现当部分存储节点失效时原始数据文件的译码恢复,从而有效保障了数据的安全性和可靠性。
(2)数据可靠性动态调整机制可实现数据存储安全性与存储空间利用率的优化配置。根据数据使用时效性和安全性需求的变化规律,动态调整数据编码冗余的数量,以提高或降低数据安全存储所需的存储成本,尽可能在保障数据较高安全性前提下优化数据存储空间占用情况,节约用户存储开销。
本文提出了一种云计算环境中的数据动态安全存储机制,基于有限域 上的随机编码方式构造,通过将原始明文文件加密上传到云计算服务中心,将密文文件分块编码存储至各个存储节点,并进行数据可靠性的动态调整,实现了数据安全存储需求和存储资源利用率的动态可控配置,在保障数据安全可靠存储的同时,实现了存储资源的优化利用,具有较高的实用价值。
作者简介:
王志刚,91977部队,硕士,研究员,主要研究方向为云计算;
蒲文彬,中国电子科技集团公司第三十研究所,学士,高级工程师,主要研究方向为信息安全;
滕鹏国,中国电子科技集团公司第三十研究所,博士,主要研究方向为信息安全。(本文选自《通信技术》2019年第二期)
网络强国建设的思想库
安全产业发展的情报站
创新企业腾飞的动力源
投稿网址: