时间:2024-05-04
吕宏武,蔡瑶琦,王慧强,郭方方
(哈尔滨工程大学 计算机科学与技术学院,哈尔滨 150001)
(*通信作者电子邮箱Caiyaoqi5217@163.com)
基于三维立体模型的安全云存储方法
吕宏武,蔡瑶琦*,王慧强,郭方方
(哈尔滨工程大学 计算机科学与技术学院,哈尔滨 150001)
(*通信作者电子邮箱Caiyaoqi5217@163.com)
针对现有云存储中可能存在的多个节点数据丢失或不可用的情况,提出了基于三维立体模型(TD-model)的安全云存储方法。首先将拟存储的数据进行网络编码,并将编码后的数据块均匀存储到所选立体的两个对立面(作为基准面)上,形成基准节点;其次,采用数学运算的方式在每个面上形成非基准节点,使每个面的节点之间相互关联;最终,通过六个面的相关性实现数据的高可恢复性。实验结果表明,相比传统的副本存储方法,TD-model安全云存储方法可在多节点失效时对数据进行恢复,提高了数据恢复效率,保证了数据的完整性,克服了现有方法中只能对单节点失效进行恢复的弊端。
云存储;安全存储;多节点恢复
云存储技术突破了传统存储方式带来的容量瓶颈和性能劣势,然而其数据安全问题也日益严峻。由于云存储聚集了大量的用户和重要的数据资源,因此更容易遭受攻击,近来经常出现非法入侵、管理员权限滥用、人为泄密等问题,数据丢失或泄露事件不断涌现[1]。因此,如何保证云存储数据的安全性已经成为一个不可忽视的问题。
目前,针对安全云存储领域的研究主要包括以下几种方案:基于加密技术的安全云存储方案、基于复制冗余技术的安全云存储方案、基于纠删码技术的安全云存储方案和基于网络编码技术的安全云存储方案。其中:
1)基于加密技术的安全云存储方案虽然对数据的隐私性提供了一定的保证,但是盲目的加密解密会消耗大量带宽,不能使云存储得到最优化。文献[2]提出了动态分割加密方法,即将加密的数据进行分片存储,要得到原始数据需要将分片进行组合还原;该方法可提高数据的安全性,但缺点是运算带宽消耗较大。
2)基于复制冗余技术的安全云存储方案保证了数据的可靠性,但是数据的冗余备份会消耗大量存储空间。文献[3]中提出了在每个服务器上存储文件副本的方法,当检测到某个服务器失败时,用户可以利用其中一个健康的副本进行恢复;但是该方法需要在每一个服务器上存储整个文件,极大地增加了存储消耗,所以,单纯地增加副本数量是不可取的。
3)基于纠删码的安全云存储方案和基于网络编码的安全云存储方案可以在一定程度上提高数据的安全性,但是这两种方法在修复数据时会增加计算复杂度。文献[4]提出了一个把复制和纠删码结合起来的云存储系统,在一定程度上增加了云存储的安全性;文献[5]提出了NCCloud方案,首次将网络编码方法应用于云存储系统中,采用随机线性网络编码方法存储数据,通过编码存储保证数据的隐私性,但其主要目的是为了解决数据修复的问题[6-7];文献[8]提出将网络编码应用在基于纠删码的云存储系统中,以解决丢失数据的修复问题,但是该方案无法解决两个以上的服务器发生失效的修复问题。
综上所述,现有方法主要致力于减少存储成本和修复带宽,尽可能地提高存储的安全性,但主要是针对单节点失效情况进行数据恢复,而没有考虑到多节点失效的情况。因此,本文针对上述问题提出了基于三维立体模型(Three-Dimensional stereo model, TD-model)的安全云存储方法,旨在实现多节点数据恢复,从而提高云存储系统中数据的安全性。
三维立体模型由三维空间构成,具有多面性及可组合性,便于数据的分析和处理。本文中的立体模型分为六个面,如图1所示。云存储系统将原始文件划分的大小相同的数据块进行网络编码,在立体上任意选择两个对立面作为基准面(如面1和面3),其余的四个面作为辅助面,将编码后的数据块以向量的形式均匀存储到立体的基准节点上(如Node11和Node12),采用运算的方式形成非基准节点(如Node13)。模型的六个面上的基准节点互为备份,在多节点失效的情况下,可以保证数据恢复成功的概率最大化。
图1 三维立体云存储模型
1.1 存储数据的网络编码
由于网络编码具有提高网络吞吐量、增强网络的鲁棒性、提高网络的安全性和减少传输能耗等优点,网络编码的应用越来越广泛。在云存储中,对存储的数据先作网络编码处理,然后再上传到存储节点,不仅可以提高传输过程中的网络吞吐量和安全性,还可以提高存储数据的隐私性以及减少数据恢复过程中的通信开销[9]。
本文采用传统的线性网络编码进行数据预处理。假设原始信息由M(M=2i,i>0)个原始数据包组成,每个数据包都是由一个包含K(K=2l,l>0)个不同数据块的向量表示,记为Xi=[xi1,xi2,…,xiK],则M个数据包构成矩阵X,具体表示如下:
假设经过线性网络编码后的信息由N(N=2j,j>0)个编码数据包组成,记为Y,则Y的具体表达式为:
图2给出了原始数据包的变化过程。由图2可知,S表示原始节点,D表示目的节点,S中的原始数据包X经过网络编码形成编码包Y(每个编码包包含K个数据块),传到目的节点D,其中R1为用户自定义的编码系数矩阵,具体表达式为:
R2为系统随机生成的编码系数矩阵,具体表达式为:
图2 原始数据包的变化过程
数据包X在经过网络传输的过程中与用户自定义的编码矩阵相乘,形成初始编码后的数据包X*,具体公式如下:
初始编码后的数据包X*再次编码形成最终的编码数据包Y,具体公式如下:
目的节点D收到编码后的数据包Y,通过两次矩阵的逆运算完成解码,获得原始数据包X,从而为后续的失效数据恢复提供了保证。
1.2 TD-model的构建算法
根据1.1节编码方法对文件进行编码处理,设得到了N个编码包,共包含n块编码后的数据块,且n=NK。为了构建TD-model,设n=2k,k≥3(k<3时该方法失去意义)。步骤如下:
1)选定三维立体的任意一个面为基准面面1,从n块编码后的数据块中任选n/2块数据块存储到基准面1的s(s>0)个基准节点上,每个基准节点以向量的形式存储2h(h为根据n的大小而设定的自然数)块数据块,即2k-1=s×2h。
2)以基准面面1为起点,以顺时针方向定义立体的其余面为辅助面面2、基准面面3和辅助面面4,上侧面为辅助面面5,下侧面为辅助面面6。
3)将除了存储到基准面面1上剩余的n/2块编码后的数据块以相同的形式存储到另一个基准面面3上;从基准面面1的2k-1块数据块中随机选取T1=2k-2块数据块,剩余T2=2k-2块数据块,从基准面面3的2k-1块数据块中随机选取T3=2k-2块数据块,剩余T4=2k-2块数据块。把T1和T3组成2k-1块数据块,存放到辅助面面2上;T1和T4组成2k-1块数据块,存放到辅助面面4上;T2和T3组成2k-1块数据块,存放到辅助面面5上;T2和T4组成的2k-1块数据块,存放到辅助面面6上。具体算法如下所示:
//TD-model核心算法ProcessinputDataFile(DF)
//输入数据文件 Begin get input data fileDF; DivideDFintoMparts,eachparthaveKblocksN=Exact-MBRCode(M);n=NKandn=2k(k≥3);returnN;
End;
ProcessBuildTD-model()
//构建TD-model
Beginforeachsideidocombine(N,i);
//将数据块分到各个面上i++;
//1≤i≤6
End
Processcombine(N,i)
BeginT1=2k-2,T2=2k-2;T3=2k-2,T4=2k-2;for(j=1;j<=6;j++)dostore(TmTn,j)
//m≤4,n≤4
End
1.3 TD-model安全云存储方法的数据恢复
当有节点失效时,利用TD-model安全云存储方法进行数据恢复,具体步骤如下:
2)当系统检测到三维立体模型中某个面的第i个基准节点失效时,可由共同面上其余p-1个节点上的数据进行异或运算,恢复出失效数据,非基准节点失效不影响整个数据的完整性。
3)当系统检测到三维立体模型中某一面上的失效节点多于一个时,由TD-model的构建方法得知三维立体模型的6个面上的节点数据互为备份,每个面上的节点都具有相关性,所以,当模型中有多个节点失效时,可以通过节点之间的相关性进行异或运算,恢复出失效节点中的数据。设三维立体模型上基准节点失效个数为x,其中:
①当x≥6s时,该方法失去恢复意义。
②当x=6s-1时,基准节点的数据都可被恢复出来的情况包括以下三种:
a)非基准节点都没有失效;
b)与没有失效的基准节点相关的非基准节点没有全部失效;
c)包含基准节点的非基准节点没有全失效。
③当x<6s-1,且与失效的基准节点相关的非基准节点没有失效时,基准点的数据都可被恢复出来。
具体算法如下所示:
ProcessDataRecovery()BeginS-NodeNumber=p;
//每个面上的节点数为pBase-nodes-number=s;
//基准节点数Nbase-nodes-number=p-s;
//非基准节点数T-NodeNumber=6p;
//节点总数Recoverdata()
//恢复方法FBN;
//基准节点失效个数FNBN;
//非基准节点失效个数fori=1:7t=count(side[i].basenode.size)
//面i上的基准节点数if(t=k)
//面i上基准节点的最大个数 continue;
elseif(t //i为失效节点 return; elseif(t //恢复失效节点i return; elseif(t return; elseif(FBN=6s-1andFNBN=0)Recover(i); return; elseif(FBN<6s-1andNBN=0)Recover(i); return; End 2.1 可恢复性实例 为了便于说明,以一个小规模的实例对本文提出的模型和方法进行说明。假设云存储系统将原始文件进行网络编码后形成了16(n=16)块数据块,编码后的数据块集为M={m1,m2,…,m16},选择每4(2h=4,即选择h=2)块存储在一个节点上,则生成4个基准节点,设具体节点分布为Node1:A={m1,m2,m3,m4},Node2:B={m5,m6,m7,m8},Node3:C={m9,m10,m11,m12},Node4:D={m13,m14,m15,m16}组成的三维立体模型一共有18个节点,每个面上有3个节点,其中2个基准节点和1个非基准节点,即p=3,s=2。任选三维立体模型的一个面为基准面面1,根据前述TD-model的构建算法来建立三维立体模型。三维立体每个面上的节点分布如表1所示。 由表1可知: 1)当某一个面中的某一个节点失效时,可以由同一面的其他节点上的数据向量共同完成修复内容。假设基准面面1上的Node11失效,节点上失效的内容可由Node12和Node13进行异或运算得出;若失效节点是非基准节点Node13,则不影响文件的完整性。 2)当某一面中有多个节点失效时,由于三维立体模型各个面具有相关性,从而失效的多个节点可以由其他面的节点进行恢复。假设面1上的Node11和Node12的数据都被破坏,Node11的数据可由Node21、Node22、Node31、Node32的向量进行异或运算来恢复,Node12的数据可由Node31、Node32、Node51、Node52的向量进行异或运算来恢复。 3)当不同面上有多个点失效时,只要范围在1.3节所述理论范围内,失效节点都可以被恢复。假设Node11、Node12、Node31、Node32的数据都失效,则Node11的数据可由Node13和辅助面2(或辅助面4)的基准节点运算得到;Node12的数据可根据Node13的数据和辅助面5(或辅助面6)上的基准节点进行运算恢复。同理Node31、Node32的数据可由Node33与辅助面5、辅助面6上的基准节点运算恢复。 表1 节点分布情况 2.2 仿真实验 目前云数据存储策略要求所有数据都有三个副本(如文献[14]),以确保数据的安全性,TD-model安全云存储方法的冗余量没有增加,只是在同样冗余条件下提高了数据的恢复效率。本文在Matlab环境中进行了模拟仿真,与传统副本方法进行对比实验,其中传统副本方法是将数据划分后直接冗余复制两份到其他节点。 仿真时通过以下参数进行性能分析:失效节点个数x,每个面的基准节点个数s,三维立体的节点总数6p(每个面含p个节点),失效节点百分比pl(pl=x/6p),恢复成功率为通过恢复方法得到的正确数据占失效数据量的百分比,其中假设每个节点是独立同分布的。 图3显示了在失效节点百分比相同的情况下,基准节点个数对恢复成功率的影响,其中三组不同虚、实线分别表示为传统副本方法和本文方法在失效节点百分比为30%、50%和70%时,基准节点由4至18个的恢复成功率曲线。由于传统副本方法的节点之间没有相关性,对多节点失效的恢复成功率也会逐渐降低。从图3可以看出,当节点失效率为70%时,传统副本方法的恢复成功率趋近于0,而本文方法由于增加了节点之间的关联性,在节点失效率为70%时仍可恢复;当节点失效率为50%时,传统副本方法的恢复成功率在0到40%之间变化,而本文方法的恢复成功率在70%到100%之间;当节点失效率为30%时,本文方法恢复成功率趋近于1,而传统副本方法的恢复成功率低于80%。由此可见,在节点失效率相同的情况下,本文方法在基准节点个数对恢复成功率上优于传统副本方法。 图3 基准节点个数对恢复成功率的影响 为了验证节点失效百分比对恢复成功率的影响,图4~7中分别以基准节点的个数为4、8、12和16时进行仿真,显示了在失效节点所占百分比不同的情况下,本文方法与传统副本方法的节点恢复成功率。其中:由图4可知,随着失效节点个数的增加,传统副本方法恢复成功率直线下降,在失效节点百分比超过60%时,恢复成功率趋于0,而本文方法在失效节点百分比为60%时,恢复成功率仍接近90%;图5中,在失效节点百分比超过65%时,传统副本方法的恢复率趋于0,本文方法在失效节点百分比超过90%时才失去恢复能力;图6中,在失效节点百分比超过60%时,传统副本方法恢复成功率趋近0, 本文方法可以获得接近80%的恢复成功率;图7中,当失效节点个数超过60%时,传统副本方法的恢复成功率趋于0,而本文方法的恢复成功率超过50%。由此可见,在基准节点个数相同的情况下,本文方法在失效节点百分比对恢复成功率上优于传统副本方法。 综上所述,在多节点失效情况下,本文方法能够较传统副本方法更有效地保证数据的安全性和恢复的正确性。 图4 4个基准节点时失效节点百分比对恢复成功率的影响 图5 8个基准节点时失效节点百分比对恢复成功率的影响 图6 12个基准节点时失效节点百分比对恢复成功率的影响 图7 16个基准节点时失效节点百分比对恢复成功率的影响 本文针对云存储节点失效问题,提出了基于三维立体模型的安全云存储方法。现有方法中大多能对单节点失效进行恢复,但没有很好地保证多节点失效恢复情况,本文通过TD-model安全云存储方法实现了多节点失效的高效恢复。仿真实验表明,本文方法能够有效地完成多节点恢复,提高了存储数据的安全性。本文方法存在的不足是存储空间消耗较大,因此,下一步的研究工作是对空间大小进行改进,提高存储空间的利用率。 ) [1] 冯国登,张敏,李昊.大数据安全与隐私保护[J].计算机学报,2014,37(1):246-258.(FENGDG,ZHANGM,LIH.Bigdatasecurityandprivacyprotection[J].ChineseJournalofComputers, 2014, 37(1): 246-258.) [2]BALASARASWATHIVR,MANIKANDANS.Enhancedsecurityformulti-cloudstorageusingcryptographicdatasplittingwithdynamicapproach[C]//ICACCCT2014:Proceedingsofthe2014InternationalConferenceonAdvancedCommunicationControlandComputingTechnologies.Piscataway,NJ:IEEE, 2014: 1190-1194. [3]CURTMOLAR,KHANO,BURNSR,etal.MR-PDP:multiple-replicaprovabledatapossession[C]//ICDCS’08:Proceedingsofthe28thInternationalConferenceonDistributedComputingSystems.Washington,DC:IEEEComputerSociety, 2008: 411-420. [4]MAY,NANDAGOPALT,PUTTASWAMYKPN,etal.Anensembleofreplicationanderasurecodesforcloudfilesystems[C]//ProceedingsoftheIEEEINFOCOM2013.Piscataway,NJ:IEEE, 2013: 1276-1284. [5]HUY,CHENHCH,LEEPPC,etal.NCCloud:applyingnetworkcodingforthestoragerepairinacloud-of-clouds[C]//FAST2012:Proceedingsofthe10thUSENIXConferenceonFileandStorageTechnologies.Berkeley,CA:USENIXAssociation, 2012:ArticleNo.21. [6]DIMAKISAG,RAMCHANDRANK,WUY,eta1.Asurveyonnetworkcodesfordistributedstorage[J].TheProceedingsoftheIEEE, 2011, 99(3): 476-489. [7] 张俊峰.基于网络编码的云存储方案研究[D].长沙:中南大学,2014:16-29.(ZHANGJF.Cloudstorageschemebasedonnetworkcoding[D].Changsha:CentralSouthUniversity, 2014: 16-29.) [8]HUY,LEEPPC,SHUMKW.Analysisandconstructionoffunctionalregeneratingcodeswithuncodedrepairfordistributedstoragesystems[C]//ProceedingsoftheIEEEINFOCOM2013.Piscataway,NJ:IEEE, 2013: 2355-2363. [9]PAPAILIOPOULOSDS,LUOJ,DIMAKISAG,etal.Simpleregeneratingcodes:networkcodingforcloudstorage[C]//ProceedingsoftheIEEEINFOCOM2013.Piscataway,NJ:IEEE, 2012: 2801-2805. [10]WANGW,LIP,HANL,etal.Anenhancederasurecode-basedsecuritymechanismforcloudstorage[J].MathematicalProblemsinEngineering, 2014, 2014:ArticleID293214. [11]VISEGRáDIá,KACSUKP.Efficientrandomnetworkcodingfordistributedstoragesystems[C]//Euro-Par2013:ProceedingsoftheBigDataCloud,DIHC,FedICI,HeteroPar,HiBB,LSDVE,MHPC,OMHI,PADABS,PROPER,Resilience,ROME,andUCHPC2013,ParallelProcessingWorkshops,LNCS8374.Berlin:Springer-Verlag, 2014: 385-394. [12]CHENF,XIANGT,YANGY,etal.Securecloudstoragemeetswithsecurenetworkcoding[J].IEEETransactionsonComputers, 2014, 65(6): 673-681. [13]OMOTEK,THAOTP.Anewefficientandsecureporschemebasedonnetworkcoding[C]//AINA2014:Proceedingsofthe2014IEEE28thInternationalConferenceonAdvancedInformationNetworking&Applications.Piscataway,NJ:IEEE, 2014: 98-105. [14] 李玲,付园,麻晓珍,等.云存储系统中数据冗余策略优化问题[J].吉林大学学报(信息科学版),2013, 31(1): 1-7.(LIL,FUY,MAXZ,etal.Researchofdataredundancypolicyoptimizationproblemincloudstoragesystem[J].JournalofJilinUniversity(InformationScienceEdition), 2013, 31(1): 1-7.) ThisworkispartiallysupportedbytheNationalNaturalScienceFoundationofChina(61370212, 61402127),theFundamentalResearchFundsfortheCentralUniversities(HEUCF160601). LYU Hongwu, born in 1983, Ph.D., lecturer.His research interests include cloud computing, trusted computing, cognitive network. CAI Yaoqi, born in 1991, M.S.candidate.Her research interests incloud cloud computing, cloud storage security. WANG Huiqiang, born in 1960, Ph.D., professor.His research interests include cloud computing, information security, autonomic computing, trusted computing, cognitive network. Guo Fangfang, born in 1974, Ph.D., associate professor.His research interests include cloud computing, network and information security, Peer-to-Peer (P2P) network. Secure cloud storage method based on three-dimensional stereo model LYU Hongwu, CAI Yaoqi*, WANG Huiqiang, GUO Fangfang (CollegeofComputerScienceandTechnology,HarbinEngineeringUniversity,HarbinHeilongjiang150001,China) Focusing on the data lost or unavailable reference in cloud storage, a secure cloud storage method based on Three-Dimensional model (TD-model)was proposed.Firstly, base nodes of TD-model method were formed by encoding the data, which would be stored uniformly into two opposite sides in the TD-model.Secondly, normal nodes were formed in each side by mathematical computing, and the nodes of each side ensure connection.Finally, high data availability was achieved by the correlation of all the six sides.The experimental results show that compared with the traditional replica storage methods, the secure cloud storage method based on TD-model enhances data recovery efficiency and ensures data integrity.In addition, the proposed method can overcome the drawback of traditional methods that only the single node failure can be recovered. cloud storage; secure storage; multi-node recovery 2016- 08- 15; 2016- 09- 11。 国家自然科学基金资助项目(61370212,61402127);中央高校基本科研业务费专项资金资助项目(HEUCF160601)。 吕宏武(1983—),男,山东日照人,讲师,博士,主要研究方向:云计算、可信计算、认知网络; 蔡瑶琦(1991—),女,吉林珲春人,硕士研究生,主要研究方向:云计算、云存储安全; 王慧强(1960—),男,河南周口人,教授,博士,CCF高级会员,主要研究方向:云计算、信息安全、自律计算、可信计算、认知网络; 郭方方(1974—),男,黑龙江哈尔滨人,副教授,博士,CCF会员,主要研究方向:云计算、网络与信息安全、对等网络。 1001- 9081(2017)02- 0373- 05 10.11772/j.issn.1001- 9081.2017.02.0373 TP393.08 A2 应用实证及仿真
3 结语
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!