温贺平 陈俞强,2
1(东莞职业技术学院 广东 东莞 523808)2(广东工业大学 广东 广州 510006)
大数据是指规模大且复杂,很难用现有数据库管理工具或数据处理应用来处理的数据集。大数据的常见特点包括“4V”:大规模(volume)、高速性(velocity)、多样性(variety)和价值性(value)[1]。用户的数据安全和隐私保护无疑是大数据环境下最为重要的问题之一。实现大数据安全与隐私保护的方法虽然种类多样,但其中最彻底的方法是通过加密来实现用户的数据安全和隐私保护[2]。随着大数据时代的到来,各种面向大数据的数据安全加密方案相继被提出[3-6]。文献[3]基于Hadoop大数据平台提出了一种DAES混合的加密算法,综合利用AES和DES各自的优点,设计了一种有效的混合加密算法。文献[4]为了提高数据加密解密的速度,结合MapReduce的并行计算模型,设计了一种并行AES 加密方案,并通过实验证明了方法的有效性。文献[5]采用改进的Logisitic映射和Tent映射构成双混沌系统,对大数据环境中的数据进行并行加密,提高了数据的加密效率和安全性。文献[6]混合利用三维Lorenz和Chen连续时间混沌系统以及Henon及Logisitic离散时间混沌映射设计了基于MapReduce的并行大数据加密方案,具有较好的安全性和执行效率。然而,现有的方案仍然存在一些不足:一是随着量子计算机时代的到来,密钥空间的安全性问题将面临新的挑战;二是在当前的大数据环境中,仍然比较缺乏兼具较高安全性和较强实用性的数据加密方案。
本文综合利用混沌密码算法具有密钥空间大、运行速度快以及AES算法具有成熟度高、可靠性好的特点,在Hadoop大数据平台上,提出了一种基于MapReduce的超混沌和AES级联混合加密的算法。
Hadoop是Apache基金会的一个开源的分布式框架。Hadoop包括HDFS和MapReduce两个核心组件,其中HDFS实现分布式存储,MapReduce实现分布式计算[10]。
MapReduce编程模型采用“分而治之”的思想,用于大规模数据集的并行运算。一个MapReduce作业(job)通常会把从HDFS输入的数据集切分为若干个独立的数据块,由Map任务(task)以完全并行的方式处理它们。分布式并行计算框架会对Map的输出先进行排序,然后把结果输入给Reduce任务。通常中间处理的结果会存储在本地磁盘,而作业的输入和输出都会被存储在HDFS中。
由于超混沌系统具有两个或两个以上的正Lyapunov指数,因而比混沌系统具有更为复杂的动力学行为,从而在保密通信等工程技术领域具有重要的应用价值[11-12]。文献[11]提出了一个四维光滑自治超混沌系统,可以拥有具有较大的正 Lyapunov 指数的形状不尽相同的四翼超混沌吸引子,系统的数学模型为:
(1)
为便于叙述,将式(1)简记为超混沌系统Ⅰ。其中,x1、y1、z1、u1是状态变量,a1、b1是超混沌系统的参数。当参数满足(a1,b1)=(10,43)时,可得四个李氏指数σ1=4.737 5,σ2=0.388 4,σ3=0,σ4=-42.118 6,此时系统处于超混沌态。根据Yorke公式,计算相应的Lyapunov 维数DL=3+(σ1+σ2)/σ4=3.121 7。
文献[12]对基本Sprott-B系统进行改造,从而提出一个具有3个平衡点的新三维混沌系统。并在此基础上采用线性反馈控制器的方法,构建出一个新四维超混沌系统Ⅱ。新的超混沌系统具有两翼蝴蝶超混沌吸引子并具有更复杂的动力学行为,超混沌系统Ⅱ的数学模型为:
(2)
当参数满足(a2,b2,c2,d2)=(10,4,1,0.5)时,可得四个李氏指数分别为σ1=0.145 2,σ2=0.101 3,σ3=0,σ4=-5.247,系统处于超混沌态。此时, Lyapunov 维数DL=3.047。
超混沌系统Ⅰ和Ⅱ的吸引子相图及时域波形图如图1所示。从两个超混沌系统的Lyapunov指数、维数、混沌吸引子和时域波形图可知,两个系统具有复杂的动力学行为特性,其产生的混沌序列具有良好的随机特性,适合应用于混沌保密通信、数据加密等场合。
图1 两个超混沌吸引子相图及时域波形图
3.1 超混沌分组加密方案
在混沌密码的设计中,选取连续时间混沌系统作为加密算法时,应当注意密钥参数选取、连续混沌序列离散化等问题。另外,算法的安全性能和实用性也是算法设计必须考虑的重要指标。基于这些因素,下面将介绍一种超混沌分组加密方案,具体步骤如下:
(1) 密钥参数的选取 在本方案中,保持超混沌系统的参数不变,确保系统处于超混沌态。在此前提下,选取两个超混沌系统的8个初始值作为密钥参数,保证算法具有足够大的密钥空间。
(2) 混沌序列预处理 首先,采用四阶Runge-Kutta法对连续时间超混沌系统进行离散化处理;接着,为确保超混沌系统产生的混沌序列具有较好的随机特性,丢弃前面l=100个迭代序列的值;最后,对混沌序列进行小数点移位、取模等运算,处理为适合于按照字节加密的混沌序列。具体处理方法为:
(3)
(3) 对两个超混沌的混沌序列进行混淆处理 超混沌系统产生的各个状态变量之间存在一定的关联性,使得产生的混沌序列之间可能存在一定的互相关性,在密码分析和攻击中存在容易被辨识或预估的风险。为此,将两个超混沌系统的混沌序列进行混合异或,具体操作方法为:
(4)
式中:“⊕”为按位异或运算,pi(k),i=1,2,3,4为所产生的用于数据加密的混沌密码序列。经过混淆操作后的混沌序列之间的关联性被破坏,从而提高了混沌加密算法的安全性。
(4) 超混沌序列分组加密操作 将这4个混沌序列按照每4个字节为一组进行分组数据加密,混沌分组数据加密的过程为:
(5)
式中:M代表原始明文数据,C为经过超混沌分组加密后的密文。超混沌分组加密方案如图2所示。
图2 超混沌分组加密方案
3.2 基于MapReduce的混沌和AES混合加密算法
加密算法采用Hadoop大数据平台的MapReduce分布式并行编程架构实现,Map函数用于实现混合超混沌和AES混合加密操作,Reduce函数完成加密后的数据的合并。加密算法具体步骤如下:
(1) 分片处理 读取存储在HDFS上的数据,将大数据或者大数据集文件进行分片处理,按照Hadoop 2.0的默认分块大小128 MB进行分片。
call fractional_hyperchaos_I(KCHAOS)
call fractional_hyperchaos_II(KCHAOS)
C(4(k-1)+1)←M(4(k-1)+1)⊕px(k)
C(4(k-1)+2)←M(4(k-1)+2)⊕py(k)
C(4(k-1)+3)←M(4(k-1)+3)⊕pz(k)
C(4(k-1)+4)←M(4(k-1)+4)⊕pu(k)
(3)注重系统的稳定性与开放性。平台依附于企业级服务器,系统稳定运行的情况下,尽可能减少和杜绝系统漏洞,在此基础上丰富系统功能,全面改进稳定性,形成客户端技术层面上的与用户需求相贴合的体验。
call AES_encrypt(KAES)
KCHAOS、KAES分别是超混沌和AES加密算法的密钥。
解密算法的设计步骤基本上和加密算法一致,所不同的是解密算法的Map函数是对分片数据块的并行解密操作。当加密和解密密钥匹配时,可正确还原明文数据。当密钥失配时,则无法正确解密原始数据。由于超混沌系统对初始值的高度敏感性,加上AES加密算法具有比较成熟的安全性能,进一步提高了算法破译的难度。
4.1 大数据实验环境
实验环境为在高性能PC服务器上利用虚拟机软件VMware workstation 12部署多个虚拟机,并在虚拟机上部署Hadoop大数据平台进行实现。每个虚拟机的配置均为单核CPU和1 GB内存,Linux系统是Ubuntu16,Hadoop版本为Hadoop 2.7.3,JAVA版本为Jdk8,IDE开发环境为Eclipse 3.8。实验数据集选取两个大小分别为1 GB和2 GB的大数据文本文件,Map分块数大小按照默认设置为128 MB。
4.2 算法密钥空间分析
算法的密钥空间包括超混沌和AES加密算法两部分。其中,超混沌加密算法选取两个超混沌系统的初始值作为密钥参数,其密钥空间可以表示为:
表1 几种加密方法密钥空间大小对比
从对比情况可以看出,本文所提算法的密钥空间明显优于其他同类方法。如果将超混沌系统的控制参数也作为密钥参数,密钥长度还有扩容的可能。因此,本文所提的算法具有充分大的密钥空间,足以抵御暴力攻击。
4.3 算法执行效率
本文所设计的超混沌和AES级联的加密算法的执行效率与AES加密算法的执行效率对比情况如图3所示。本文算法的执行时间略高于只采用AES算法,而基于MapReduce的并行计算框架,随着计算节点个数的增加,可以显著提高加密效率,验证了算法具有良好的并行运行效率。
图3 基于MapReduce的并行执行效率
4.4 密文统计特性
对加密前后的文本的直方图进行分析,如图4所示。原始明文文本的直方图呈现具有一定规律的分布统计特性,而经过本文算法加密后的文本数据直方图呈现类噪声的随机分布状态,实验验证了算法具有良好的密文统计特性。
图4 明文及密文数据统计直方图
4.5 密钥敏感性分析
密钥敏感性是算法安全性的重要指标。实验表明,当密钥完全匹配时,可以正确还原原始明文数据。当密钥参数发生10-14的误差,密钥参数将对解密密文产生雪崩效应,无法正确解密原始明文,同时产生了与明文差异巨大的密文,此时直方图如图5所示。实验验证了密钥参数对密文具有雪崩效应,算法具有良好的密钥敏感性。
图5 具有微小误差的密钥参数解密数据直方图
针对大数据环境中的隐私保护及数据安全问题,本文综合运用混沌密码算法具有密钥空间大、运行效率高以及AES算法成熟、可靠性高的特点,提出了一种面向大数据的超混沌和AES级联混合加密方法。实验结果及分析表明,本文所提出的加密方法具有密钥空间大、执行效率高、密文统计特性及密钥敏感性良好的特性。因此,基于超混沌和AES混合加密的方法具有安全、高效的特点,在网络大数据中的数据安全及隐私保护方面具有一定的理论及应用价值。
参 考 文 献
[1] 冯登国,张敏,李昊.大数据安全与隐私保护[J].计算机学报,2014,37(1):246-258.
[2] 曹珍富,董晓蕾,周俊,等.大数据安全与隐私保护研究进展[J].计算机研究与发展,2016,53(10):2137-2151.
[3] 战非,张少茹.基于云计算的混合加密DAES算法研究[J].电子设计工程,2017(3):185-189.
[4] 付雅丹,杨庚,胡持,等.基于MapReduce的并行AES加密算法[J].计算机应用,2015,35(11):3079-3082.
[5] 司红伟,钟国韵.基于双混沌系统的大数据环境并行加密算法设计[J].计算机测量与控制,2015,23(7):2475-2477.
[6] 王欣宇,杨庚,闵兆娥.基于MapReduce的并行混合混沌加密方案[J].计算机应用研究,2015,32(6):1757-1760.
[7] Han D,Min L,Chen G.A Stream Encryption Scheme with Both Key and Plaintext Avalanche Effects for Designing Chaos-Based Pseudorandom Number Generator with Application to Image Encryption[J].International Journal of Bifurcation & Chaos,2016,26(5):1650091.
[8] 肖锋,张丽丽,冯飞.混合混沌系统的并行多通道彩色图像加密[J].微电子学与计算机,2016(8):76-81.
[9] Zhu C.A novel image encryption scheme based on improved hyperchaotic sequences[J].Optics Communications,2012,285(1):29-37.
[10] 陆嘉恒.Hadoop实战[M].2版.北京:机械工业出版社,2012.
[11] 王杰智,李航,王蕊,等.一个新四维光滑四翼超混沌系统及电路实现[J].山东大学学报(理学版),2015,50(11):104-112.
[12] 朱雷,刘艳云,王轩,等.一个新四维超混沌系统的构建与电路实现[J].华中师范大学学报(自科版),2016,50(2):206-210.