APP下载

基于指纹魔方算法的云存储数据保护机制*

2014-02-28范九伦刘建华张俊生

电信科学 2014年11期
关键词:门限魔方指纹

吴 昊,范九伦,刘建华,张俊生

(1.西安邮电大学通信与信息工程学院 西安710121;2.西安邮电大学信息中心 西安710121)

1 引言

随着计算机和互联网技术的发展,人们对计算机存储的要求越来越高,传统的集中式存储已不能满足用户需求,云存储技术作为一种新兴的基于网络的存储技术应运而生。它旨在通过互联网为用户提供更强的存储服务,将网络中大量处于不同计算机、不同类型的存储设备通过网络和应用软件集合起来协同工作,共同对外提供数据存储和业务访问,用户可以随时随地通过网络访问“云”中的数据,从而有效地解决了存储的性能瓶颈问题。然而,在云存储服务给人们带来极大便利的同时,安全问题也日益凸显。在云存储系统中,用户所属的数据外包给云服务提供商,云服务提供商就获得了该数据或应用的优先访问权,由于存在内部人员失职、黑客攻击及系统故障导致的安全机制失效等多种风险,云服务商没有充足的证据让用户确信其数据被正确地存储和使用[1,2]。为了解决这一问题,研究人员已经提出了一些解决办法。参考文献[3]提出了一种基于数据分割与分级的云存储数据隐私保护机制,按不同的安全级别需求将数据分割为大小数据块,联合采用数据染色和不同强度的数据加密技术进行数据染色或加密。由于文件块大小的差异,黑客有可能直接从大数据块中恢复出原文件的隐私信息;参考文献[4]提出了一种基于ID特征码的云存储数据分片与备份策略,利用文件块ID和可用存储节点ID的对应关系随机分配有效存储节点。该方法解决了服务器的负载均衡问题,但建立多个数据副本增加了存储成本。本文提出一种基于指纹魔方算法的云存储数据保护机制,运用魔方加密算法对存储文件进行加密处理,同时将门限分解思想加入保护机制中,不仅使数据泄露问题得到了有效解决,还能有效防止数据被破坏或者丢失,系统存储效率高,数据冗余度低。

2 基于指纹魔方算法的云存储数据保护机制

2.1 文件上传流程

整个数据保护机制包括文件上传和下载两个过程。文件上传流程分为4个步骤,如图1所示,具体介绍如下。

·文件传输:由客户端向服务端发送连接请求,服务端允许连接后,客户端发送文件,由服务端接收模块开辟一个线程负责接收文件流。

·文件接收:服务端根据客户端请求,接收上传的文件。

·魔方加密:把文件按字节附于魔方表面,运用用户指纹特征值和当前时间戳取得散列值,由该值控制魔方的旋转面、旋转方向和操作轮数。

·门限存储:依据所设计的门限方案,将文件分块,每块增加头部信息,存储在“云”中不同的服务器主机上。

2.2 文件下载流程

文件下载主要分为5个步骤,如图2所示,具体介绍如下。

·文件选择:选择已上传到服务器中需要下载的文件。

·门限重组:对各文件做散列运算,检查服务器上各文件是否被破坏,根据参数做出文件分割表,组合出完整文件。

·魔方解密:把组合出的文件附于魔方表面,同样利用用户指纹特征值和文件存储时间取得散列值,按加密时的逆方向旋转魔方解密文件。

·文件传输:由客户端向服务端发送连接请求,服务端允许连接后,客户端接收文件。由服务端发送模块开辟一个线程负责发送文件流。

·文件接收:服务器将客户端请求下载的文件发送至客户端,客户端接收文件。

图1 文件上传流程

图2 文件下载流程

3 魔方算法

3.1 魔方加密原理

一个N阶魔方是指其长、宽、高均为N个单位小方格的正方体,与魔方某个表面平行的平面上的各小方格构成一个可转动的层面。魔方加密的原理就是利用魔方旋转变化的不确定性,用数学方法把魔方的旋转规则模拟出来[5]。一个N维魔方旋转M次,会出现的旋转方式总数可以由式(1)得出,其中R=骔M/4」,L=M mod 4,Total表示不同的旋转种数。

由式(1)可知,随着N或者M的增长,Total将迅速增加。这样,只要增加魔方的维数或者增加旋转的次数就可以大幅度提高加密算法的安全性。本文设计的云存储数据保护机制,就是利用魔方加密的原理,将要存储的文件分割成6×N2份,写入N阶魔方的“小方格”里,再利用用户个人的指纹特征值控制魔方旋转来加密文件,这样可以保证只有用户自己能解密自己存储的文件,大大提高了用户数据的安全性。

3.2 魔方加密算法的实现

以三阶魔方为例,三阶魔方共有6个面,分别记作:顶、底、左、右、前、后。对于不同的面分别有两种基本的操作:顺时针旋转90°、逆时针旋转90°。其他选择方式均可由这两种组合得到,因此共有6×2=12种控制方式。这12种控制方式分别对应一个操作函数。而控制系统选择哪一个函数进行旋转操作,取决于用户注册时的指纹特征值和当前系统时间。这样既能保证加密密钥为用户独有,又能保证用户在不同时刻密钥不同,防止黑客的窃听。具体的实现步骤如下。

(1)用户注册时,通过客户端提取指纹特征值Fingerprint。

(2)将客户端上传的文件分成6×9=54块,使之与魔方表面的54个分块一一对应。

(3)取当前系统时间time,计算Key=Hash(Fingerprint||time),Key[i]分别代表密钥的第i字节数据,i=1,2,3,…,32。

(4)对于i=1,2,3,…,32,每一个Key[i]计算控制数值res=Key[i]mod 12。根据表1进行不同的旋转操作(解密时,对应加密的操作逆向还原)。

表1 魔方操作控制

(5)将加密后的文件块分别存储在不同的服务器主机上。

该加密方案在多轮加密的情况下,可以形成足够数量级的加密组合,从而能够抵挡穷举攻击的威胁。另外,魔方的维度可以任意扩展,从而提高加密强度。

4 门限方案

4.1 门限方案的意义

由于云存储系统所部署环境的复杂性,在实际应用中数据可能会受到一定程度的损坏,此外,黑客的攻击也不可避免,这就更需要在存储以及传输时对每个文件块进行完整性验证[6,7]。因此,云存储保护机制引入门限方案,利用多个服务器中存储文件块存在的冗余,通过这些冗余补齐丢失或者破坏的文件块,获得所有源文件数据后重组文件。这样,当云存储服务器集群中的某一台或几台服务器的文件被破坏后,仍可以通过其他服务器上的文件碎片恢复完整的用户文件。

4.2 存储文件头

为了保证文件可以实现逆向恢复,需要对所有服务器上的文件块增加一些头部信息,见表2。

表2 文件头信息

表3 文件块存储情况

4.3 门限算法

门限算法分为文件分割和文件恢复两部分,分别在用户上传和用户下载时使用。

4.3.1 分割算法

分割算法的具体步骤如下。

(1)设文件大小为FileSize byte。对于(n,t)门限,记代表可供存储的服务器数,t表示未被破坏的服务器数阈值,U表示分割的文件块数。

(2)计算PartSize=FileSize/U,作为每台服务器存储文件的大小。若FileSize≠k1×U,k1∈N,在文件末尾填充FileSize-骔FileSize/1」×U个字节0x00。若FileSize=k×U,k∈N,继续。

(3)填充如表1所示的各文件块的头信息,其中散列值待文件组合后再计算。

(4)依据(n,t)值设计分割表,以(5,3)门限为例,文件块存储情况见表3。每一行代表1台服务器,这里有5台,分别是A、B、C、D、E。然后对每个文件进行分块,事实上在经过第(2)步的处理后,文件正好能被平均分成U份,这里U=10。表3中√表示该文件块在相应的服务器中有存储,空白代表不存储。

(5)根据分割表对文件进行分割,将属于不同服务器的文件块重新组合。

(6)将文件分别存储到各服务器上。

4.3.2 恢复算法

恢复算法的具体步骤如下。

(1)获取门限参数(n,t)、文件大小FileSize,计算

(2)对各文件做散列运算,检查服务器上各文件是否被破坏。文件破坏的服务器∈A={SET1|文件被破坏},未被破坏的服务器∈B={SET2|文件完整}。

(3)若被破坏文件数大于n-t,超过门限值,无法恢复文件,结束。否则继续。

(4)对于文件块1~U,获取集合B中服务器上的文件块,恢复完整文件。

4.3.3 系统冗余度

假设文件大小为FileSize byte,门限参数为(n,t)。将文件分成∈块,每块的大小为PartSize=FileSize/U byte。对于每台服务器来说,存储的文件块数为PartCnt=U-U×(n-t)/n。所以实际上,每台服务器存储的文件大小是源文件大小的PartCnt/U=t/n。若使用(5,3)门限,就只有60%的占用率。

5 系统实现和测试

系统测试搭建了一个小型云平台作为实验环境,选取1台PC作为客户端,5台服务器作为云存储服务器,对几个不同大小的数据文件的上传和下载速度进行了测试。

(1)文件上传和下载速度测试

实验选择了4个文件,大小分别为10 MB、100 MB、500 MB、1 GB,记录每个文件上传和下载所花费的时间,测试结果如图3所示。测试中,文件平均下载速率为1.9 MB/s,上传速率为1.4 MB/s,与整个文件上传下载相比,本方案增加了数据分割和加密操作,产生了一定的额外时间开销,经计算时间开销为O(n),n为文件块数,增加的时间开销对系统影响不大,但分割和加密操作大大增强了数据隐私的安全性。

(2)文件分块破坏恢复情况

图3 文件上传和下载速度测试结果

实验采用(3,5)的门限方案进行测试,对存储在5台服务器上的文件分块进行不同程度的破坏,看系统能否恢复出完整文件。测试结果见表4。

实验结果表明:在(3,5)门限方案下,当被破坏文件块数小于3时,系统仍能完整地恢复用户文件;当被破坏文件块数大于或等于3时,系统不能恢复用户文件,测试结果完全符合系统设计目标。

表4 文件块破坏恢复测试

6 结束语

用户数据的安全问题已经成为云存储应用发展的瓶颈。本文提出了一种基于指纹魔方算法的云存储数据保护机制,利用用户的指纹特征值控制魔方旋转对用户文件进行加密存储,具有算法效率高、安全性高的特点。另外,利用门限分割技术提出了一种安全云存储策略,使得云端各服务器分担系统负载,并且使得任意指定数目的存储服务器均能恢复出用户上传的文件,避免了个别服务器遭到破坏后无法恢复文件的情况。机制从存储策略和数据本身都对用户数据安全进行了有效防护,也在一定程度上降低了数据冗余,提高了系统的性能。

1 冯登国,张敏,张妍等.云计算安全研究.软件学报,2011,20(1):71~83

2 邹德清,金海,卫中等.云计算安全挑战与实践.中国计算机学会通讯,2011,7(12):55~61

3 徐小龙,周静岚,杨庚.一种基于数据分割与分级的云存储数据隐私保护机制.计算机科学,2013,40(2):98~102

4 钱进进,凌捷.基于ID特征码的云存储数据分片与备份策略.微电子学与计算机,2013,30(8):16~22

5 杨志国.基于魔方的混合加密算法及应用研究.兰州大学硕士学位论文,2010

6 于洋洋,虞慧群,范贵生.一种云存储数据完整性验证方法.华东理工大学学报,2013,39(2):211~216

7 曹夕,许力,陈兰香.云存储系统中数据完整性验证协议.计算机应用,2012,32(1):8~12

猜你喜欢

门限魔方指纹
基于规则的HEV逻辑门限控制策略
魔方廖
像侦探一样提取指纹
为什么每个人的指纹都不一样
随机失效门限下指数退化轨道模型的分析与应用
VoLTE感知智能优化
基于Neyman-Pearson准则的自适应门限干扰抑制算法*
成语魔方
楼房魔方
小魔方