大数据加密算法综述
1.数据划分
2.数据块指纹特征计算
3.数据块检索
4.冗余消除数据存储
5.相同数据检测还是采用相似数据检测和差异编码技术
对比传统的存储系统,重复数据删除系统基于内容寻址,而不是基于文件名寻址;尽管减少了写操作,但由于增加了重复数据删除处理过程,较传统存储系统的I/O性能要低;由于每次只写新的数据,重复数据删除系统具有顺序写、随机读的特点。
图4-5共享密钥更新和安全验证
参考文献:
[1]王蒙蒙.基于数据消冗技术的大数据加密算法研究[D][D]ht J, Asaro T, Babineau B. Digital archiving: end-user survey and market forecast 2006–2010[J]. The Enterprise Strategy Group, 2006.
4
重复数据删除技术是基于数据自身的冗余度来检测数据流中的重复数据对象的数据消冗技术。从重复数据删除发生的时间进行分类,可以分为在线和离线。在线是指数据到达存储设备之前进行重复数据删除;离线是指先暂时将所有数据存在缓冲区,等到服务器空闲再进行重复数据删除。
重复数据删除技术的实现过程首先将数据文件分割成一组数据块,为每个数据块计算指纹,然后以指纹为关键字进行Hash查找,匹配则表示该数据块为重复数据块,仅存储数据块索引号,否则则表示该数据块是一个新的唯一块,对数据块进行存储并创建相关元信息。这样,一个物理文件在存储系统就对应一个逻辑表示,由一组FP组成的元数据。当进行读取文件时,先读取逻辑文件,然后根据FP序列,从存储系统中取出相应数据块,还原物理文件副本。重复数据删除的过程主要分为:
[3] Kruus E, Ungureanu C, Dubnicki C. Bimodal Content Defined Chunking for Backup Streams[C]//Fast. 2010: 239-252.
[4] Puthal D, Nepal S, Ranjan R, et al. A dynamic prime number based efficient security mechanism for big sensing data streams[J]. Journal of Computer and System Sciences, 2017, 83(1): 22-42.
在检测相同数据块时,引入Bloom filter技术,利用Bloomfilter算法计算其相似度,进行更细粒度的匹配。算法的具体实现步骤:
1.初始化hash表。
2.将得到的hash函数值与已经存储在hash表中的值进行比较。若匹配到相同的值,则用指向已存储文件的指针代替此文件;若匹配失败,则将文件进行存储。
3.重复步骤1至2,直至所有文件被检测完毕。
4.对完全文件检测技术中没有重复的数据重新归档。
5.将划分好的数据块输入数据流,构造一个m位的Bloom filter数据结构,并将其所有位初始化为0。
6.选取k个相互独立的hash函数,分别将集合中的每个元素映射到1,...,m的范围内。为每个数据块计算hash值作为组成的序列作为特征值。
图4-1基于数据消冗技术的大数据加密算法模型
加密算法步骤:
1.数据预处理
数据预处理时需要删除数据中的重复数据,运用之前提到的数据消冗技术,将重复数据的特征信息存储在hash表中,将得到的hash函数值与已经存储于hash表中的值进行比较,相同则用已存储文件的指针替代。
2.敏感信息加密
发送信息之前,先生成密钥,然后采用ECC加密算法加密预处理阶段存储大数据敏感信息的hash表。
图4-3传感器和数据流管理器之前的身份验证过程和握手
2.握手
在握手环节,数据流管理器(DSM)通过对初始共享密钥(K)进行加密,把它计算出的素数和密钥发送给单个的传感器。在这一步过程中,DSM把所有的参数和结果都发送给传感器,所有的这些传输信息都存储在信任的传感器中。这一过程在上图4-3也有体现。
3.密钥更新
7.按照Hamming距离和余弦相似度公式计算数据对象之间的相似性,若两者有相同,则用指向已存储文件的指针代替该文件;若两者的值不相同,则将文件进行存储,同时更新hash表,将新文件hash值添加进去。
4.1.
结合ECC加密算法和分组密码算法的特点,并综合之前的重复数据删除方案,提出了一种适用于大数据加密的对称密码算法和非对称加密算法相结合的加密方案;其中,ECC用于加密hash表内容,对称加密算法用于加密消冗方案处理后的大数据。方案的基本模型如图4-1所示。
通常情况下,用重复数据删除前的字节数(Bytes In)与处理后的字节数(Bytes Out)之比来衡量数据缩减率(Data Elimination Ratio,DER),如式4-1所示
DER通常由两方面因素决定:1采用的划分策略类型;2平均数据分块大小。尽管式4—1所示的数据缩减率已将分块后数据块之间的重复数据和单个数据块内部的数据压缩考虑在内,但没有考虑元数据开销。但重复数据删除系统中的元数据开销是不容忽视的,研究者提出了数据缩减率的修正公式[3],如式4-2所示:
3.预处理后的明文加密
对经过之前数据消冗技术处理后的大数据明文,采用对称加密算法AES加密,其中,分组密码算法的工作模式采用CTR模式以保证加密速度快。
4.初始化迭代分组密码的分组长度和密钥长度以及值
5.求解内部函数加密
解密步骤:
1.用ECC解密算法解密hash表,恢复hash表的内容。
2.解密预处理后的大数据密文,基于AES内部函数的可逆性,解密即在相反的方向进行反演加密。
4.安全验证
在这个环节,数据流管理器需要对数据进行判定是否修改以及是否来自受信任的节点,由于数据流管理器有共同的初始共享密钥,它可以解密完整的数据块,以找出用于完整性和真实性检查的单个数据块。数据流服务器首先通过随机间隔抽取数据块检查每一个数据块的来源是否受信任,是否完整。随机值的计算就是基于相应的素数。下图描述了其流程:
4
4
基于数据消冗技术的大数据加密算法是一种结合重复数据删除算法的,基于bloomfilter的大数据消冗算法,是由学者王蒙蒙等对大数据通用加密模型以及加密技术原理等研究后针对大数据加密方案中的速度和实时性问题而提出的一种加密算法[1]。
研究发现,目前大数据的中冗余度高达60%以上[2]。,而传统的数据压缩方法在利用数据冗余来提高储存查询效率上,有许多局限,无法处理不同文件之间的数据冗余。而重复数据删除算法,不仅拥有传统方法的优势消除文件内的数据冗余,而且能消除共享数据集内的文件之间的数据冗余[1],这在降低大数据的维数上,提供了一种很好的思路。
其中f为元数据大小的开销,其计算方法如下:
其中,Metadata Size表示元数据大小,Average ChunkSize表示平均Chunk大小。
常用的还有一种基于Bloom filter的数据消冗技术。Bloomfilter是由Howard Bloom在1970年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员。基于Bloomfilter的大数据消冗算法的核心思想是利用Bloom filter的数据结构来表示特征值对文件特征进行降维。
图4-2从传感器到云处理中心的架构
基于动态素数模型的安全认证方案包含四个部分:系统设置、握手、密钥更新和安全验证。
1.系统设置。
首先开始时,在传感器和数据流管理器之间使用一些密钥交换以保证会话密钥的建立过程是安全的。传感器和数据流管理器都掌握一个相同的密钥用于初始身份的验证。其具体的验证过程如下图:
采用在传感器和数据流管理器两端都计算素数来实现密钥的更新,如下图4-4所示:
图4-4 DSM和传感器两端同步计算素数来更新密钥
通过采用短的密钥加速验证过程,然后通过不断频繁的更新密钥来保证其安全性。如果过程中被攻击,则传感器响应就不会与数据管理器同步,传感器就会重新初始化与数据流管理器建立新的连接保持同步。
4.2
Deepak Puthal等于2017年基于求同步素数得到的共享密钥提出了一种动态密钥长度的安全认证框架(DLSeF),然后将基于该框架下,设计了针对大数据流的高效的基于动态素数安全认证方案(DPBSV)[4]。动态更新的密钥长度间隔很短可以防止中间人和其他网络攻击。DLSeF框架的可以在不影响安全的前提下通过减少安全验证的时间显著提高处理流数据的效率。其框架模型如下图: