(中共陜西省委黨校(陜西行政學(xué)院)文化與科技教研部,西安 710075)
大數(shù)據(jù)是指數(shù)據(jù)規(guī)模較大,無法使用現(xiàn)有技術(shù)進(jìn)行存儲(chǔ)和處理的數(shù)據(jù)集,用戶的隱私和數(shù)據(jù)安全問題一直是大數(shù)據(jù)領(lǐng)域研究的重點(diǎn)。隨著大數(shù)據(jù)技術(shù)的逐漸成熟,大數(shù)據(jù)技術(shù)被廣泛的運(yùn)用到各個(gè)領(lǐng)域,大數(shù)據(jù)加密算法和方案的研究受到廣泛關(guān)注。
在現(xiàn)有研究中,文獻(xiàn)[1]采用超混沌分組加密和AES混合加密方案,雖然提高了算法的執(zhí)行效率,但是忽視了AES加密算法的S盒迭代循環(huán)周期短的問題,文獻(xiàn)[2]采用雙混沌系統(tǒng)設(shè)計(jì)出一個(gè)數(shù)據(jù)加密模型,雖然也能夠提高數(shù)據(jù)加密的效率和安全性,但是沒有考慮到AES算法。本研究基于以上內(nèi)容,對(duì)兩組三倍混沌進(jìn)行改進(jìn)和AES算法進(jìn)行改造生成兩個(gè)新的四維混沌系統(tǒng)和新的AES算法,采用兩個(gè)四維混沌系統(tǒng)設(shè)計(jì)出一個(gè)分組加密方案,最后在Hadoop平臺(tái)上與改進(jìn)AES算法融合成一個(gè)加密算法。
Hadoop是一個(gè)分布式大數(shù)據(jù)平臺(tái),主要由HDFS和MapReduce兩個(gè)核心組件組成,HDFS主要負(fù)責(zé)數(shù)據(jù)的分布式存儲(chǔ),MapReduce主要負(fù)責(zé)數(shù)據(jù)的分布式計(jì)算[3]。
MapReduce會(huì)將從HDFS傳輸過來的數(shù)據(jù)集分成若干個(gè)獨(dú)立部分,然后由Map任務(wù)對(duì)這些獨(dú)立的部分分別進(jìn)行并行運(yùn)算來完成對(duì)它們的處理,運(yùn)算的結(jié)果則會(huì)傳輸給Reduce任務(wù)[4]。一般情況下,中間過程的運(yùn)算結(jié)果會(huì)存儲(chǔ)在本地磁盤中,只有最終的輸出結(jié)果和輸入會(huì)存儲(chǔ)在HDFS中。
超混沌系統(tǒng)相比混沌系統(tǒng)在加密領(lǐng)域具有更高的應(yīng)用價(jià)值,因?yàn)槠渚哂懈鼮閺?fù)雜的動(dòng)力學(xué)行為[5]。
文獻(xiàn)[6]提出了一種三維連續(xù)自治的混沌系統(tǒng),其狀態(tài)方程為:
(1)
式(1)中,a,b,c,d為該三維系統(tǒng)的實(shí)際參數(shù),x,y,z為該三維系統(tǒng)的狀態(tài)變量。該系統(tǒng)在a=20,b=5,c=10,d=7時(shí)會(huì)產(chǎn)生混沌吸引子,此時(shí)該系統(tǒng)會(huì)變成超混沌狀態(tài),產(chǎn)生3個(gè)Lyapunov指數(shù),分別為LE1=1.237 1,LE2=-0.029 1,LE3=-16.448 4。
(2)
經(jīng)過計(jì)算和分析,該系統(tǒng)在a=20,b=5,c=10,d=2時(shí)的3個(gè)Lyapunov指數(shù)為LE1=2.051 8,LE2=-0.017 2,LE3=-17.406 1,相比文獻(xiàn)[6]中提出的混沌系統(tǒng),可以很明顯看出本研究的混沌系統(tǒng)的3個(gè)Lyapunov指數(shù)遠(yuǎn)大于文獻(xiàn)[6]的混沌系統(tǒng)Lyapunov指數(shù),因此本研究的混沌系統(tǒng)具有比文獻(xiàn)[6]混沌系統(tǒng)更復(fù)雜的動(dòng)力學(xué)特性,比文獻(xiàn)[6]中的混沌系統(tǒng)更非常適合用于大數(shù)據(jù)加密研究。
但是,該系統(tǒng)存在計(jì)算資源消耗高和結(jié)構(gòu)復(fù)雜等問題,為此,采用狀態(tài)反饋控制法,引入一個(gè)第四維的狀態(tài)變量w[7],并將狀態(tài)變量w引入到式(2)中的的第二個(gè)方程中,能夠得到一個(gè)新的四維混沌系統(tǒng):
(3)
該系統(tǒng)相比傳統(tǒng)的超混沌系統(tǒng),只有兩個(gè)非線性項(xiàng),結(jié)構(gòu)更加簡單,除此之外,在相同的計(jì)算資源下,能夠產(chǎn)生比文獻(xiàn)[6]更長的混沌序列,因此比文獻(xiàn)[6]的混沌系統(tǒng)更適用于大數(shù)據(jù)加密。
文獻(xiàn)[8]提出一個(gè)三維Bao混沌系統(tǒng),其數(shù)學(xué)模型為:
(4)
該系統(tǒng)中包含兩個(gè)非線性項(xiàng)的連續(xù)自治微分方程,式(4)中,a,b,c為該三維系統(tǒng)的實(shí)際參數(shù),x,y,z為該三維系統(tǒng)的狀態(tài)變量。該系統(tǒng)在a=20,b=4,c=32時(shí)會(huì)產(chǎn)生混沌吸引子,此時(shí)該系統(tǒng)會(huì)呈超混沌狀態(tài),產(chǎn)生3個(gè)Lyapunov指數(shù),分別為LE1=2.887 3,LE2=-0.011 5,LE3=-18.904 9。
(5)
經(jīng)過計(jì)算和分析,該系統(tǒng)在a=20,b=8,c=32,d=3,e=5.7時(shí),的3個(gè)Lyapunov指數(shù)為LE1=4.294 2,LE2=-0.006 2,LE3=-24.335 9,相比文獻(xiàn)[8]中提出的混沌系統(tǒng),可以很明顯的看出改進(jìn)后的混沌系統(tǒng)的3個(gè)Lyapunov指數(shù)遠(yuǎn)大于文獻(xiàn)[8]的混沌系統(tǒng)Lyapunov指數(shù),因此改進(jìn)后的混沌系統(tǒng)的動(dòng)力學(xué)特性比文獻(xiàn)[8]更復(fù)雜,比文獻(xiàn)[8]更適合用于大數(shù)據(jù)加密研究。
同樣的在式(5)的基礎(chǔ)上引入一個(gè)第四維的狀態(tài)變量w和一個(gè)控制參數(shù)d,然后將反饋控制項(xiàng)添加到式(5)的第一項(xiàng)中,能夠得到一個(gè)四維超混沌系統(tǒng):
(6)
該系統(tǒng)在a=20,b=8,c=32,d=3,e=5.7時(shí)會(huì)產(chǎn)生超混沌吸引子,在系統(tǒng)結(jié)構(gòu)、計(jì)算資源消耗上比文獻(xiàn)[8]的混沌系統(tǒng)更有優(yōu)勢(shì)。
S盒是AES算法的重要組成部分之一,而傳統(tǒng)的S盒迭代周期短,導(dǎo)致加密的安全性不高,存在被破解的可能,因此本研究對(duì)AES的S盒進(jìn)行改進(jìn)[9]。
在AES算法中,S盒運(yùn)算是一種作用于狀態(tài)字節(jié)的可逆的非線性變換運(yùn)算,其定義為:
(7)
式(7)中,ai ,j-1為ai,j在GF(28)域中的乘法域:
(8)
因?yàn)橛嘘P(guān)運(yùn)算是在GF(28)域上進(jìn)行,所以運(yùn)算產(chǎn)生的計(jì)算結(jié)果也會(huì)在GF(28)域上,最終產(chǎn)生的S盒是由16×16個(gè)字節(jié)組成的矩陣,并且最終的結(jié)果具有非線性度,因?yàn)橛?jì)算的過程使用了乘法逆[10]。
提高S盒的迭代周期方法有采用不同的仿射變換對(duì)、改變S盒的計(jì)算順序等方式[11]。因此本研究采用文獻(xiàn)[12]中的新仿射變換對(duì)(A7,6F)對(duì)傳統(tǒng)的S盒進(jìn)行改進(jìn),改進(jìn)的方法是采用新的仿射變換對(duì)(A7、6F)進(jìn)行兩次仿射變化,兩次變換之間要求乘法逆。
在設(shè)計(jì)混沌密碼的過程中,當(dāng)加密算法選擇的是連續(xù)時(shí)間混沌系統(tǒng)時(shí),需要注意連續(xù)混沌序列離散化、密鑰參數(shù)選取對(duì)算法性能的影響[13],除此之外,還要保證算法的安全性和實(shí)用性?;谝陨蟽?nèi)容,本研究的大數(shù)據(jù)加密方案如下:
(1)選取密鑰參數(shù)。選取密鑰參數(shù)的前提是混沌系統(tǒng)處于超混沌態(tài),通過試驗(yàn)和計(jì)算系統(tǒng)達(dá)到超混沌系統(tǒng)時(shí)的參數(shù),保持參數(shù)不變,選取的密鑰參數(shù)為上述兩個(gè)超混沌系統(tǒng)的8個(gè)初始值,這樣能夠保證算法具有足夠大的密鑰空間[14]。
(2)對(duì)混沌序列進(jìn)行預(yù)處理。第一步對(duì)混沌系統(tǒng)進(jìn)行離散化處理,本研究采用的是四階RungeKutta法,第二部舍棄迭代序列的前100個(gè)值,舍棄前100個(gè)值的原因是為了讓生成的混沌序列的隨機(jī)性高[15],第三步對(duì)混沌序列進(jìn)行相關(guān)運(yùn)算,使得混沌序列能夠適應(yīng)于字節(jié)加密,計(jì)算方法為:
(9)
式(9)中,mod為模去余數(shù)運(yùn)算,i=1,2,??為向下取整運(yùn)算,px(i)(k),py(i)(k),pz(i)(k),pw(i)(k)為經(jīng)過計(jì)算得到的8個(gè)混沌序列,它們的取值范圍為[0,256]。
(3)混淆處理。超混沌系統(tǒng)生成的狀態(tài)變量會(huì)存在一定的關(guān)聯(lián)性,在被攻擊時(shí),這些關(guān)聯(lián)性會(huì)為攻擊者提供一定的信息,會(huì)提高被攻破的概率,為了提高算法的性能,減少被攻破的概率[16],本研究對(duì)生成的兩組混沌序列進(jìn)行混淆處理,混淆處理的方法為:
(10)
式(10)中,⊕為異或運(yùn)算符號(hào),pi(k),i=1,2,3,4為經(jīng)過運(yùn)算后得到的可以用于大數(shù)據(jù)加密的超混沌序列,最終得到的這些序列之間的關(guān)聯(lián)性全部被破壞,從而提高了算法的安全性[17]。
(4)分組加密。將步驟(3)中得到的4個(gè)序列對(duì)數(shù)據(jù)進(jìn)行加密,加密方法是將數(shù)據(jù)按字節(jié)分組,每4個(gè)字節(jié)為一組進(jìn)行加密,具體的加密過程為:
(11)
式(11)中,M為需要進(jìn)行加密處理的數(shù)據(jù)明文,C為經(jīng)過超混沌分組加密后得到的密文。加密方案如圖1所示。
圖1 超混沌系統(tǒng)加密方案
本研究的加密算法是在Hadoop大數(shù)據(jù)平臺(tái)上實(shí)現(xiàn)的,采用Hadoop平臺(tái)中的MapReduce編程模塊對(duì)加密算法進(jìn)行編程,MapReduce由Map和Reduce兩個(gè)函數(shù)組成,其中Map函數(shù)負(fù)責(zé)將上述超混沌數(shù)據(jù)加密和改進(jìn)AES算法進(jìn)行融合[18],Reduce函數(shù)負(fù)責(zé)在數(shù)據(jù)加密完成后的將所有的數(shù)據(jù)合并。具體步驟為:
(1)對(duì)大數(shù)據(jù)集進(jìn)行分片處理,將存儲(chǔ)在HDFS上的大數(shù)據(jù)集按照Hadoop2.0的默認(rèn)大小進(jìn)行分塊,每塊128 MB。
Output:
call farctional-hyperchaos-Ⅰ(KCHAOS)
call farctional-hyperchaos-Ⅱ(KCHAOS)
C(4(k-1)+1)=M(4(k-1)+1)⊕p1(k)
C(4(k-1)+2)=M(4(k-1)+2)⊕p2(k)
C(4(k-1)+3)=M(4(k-1)+3)⊕p3(k)
C(4(k-1)+4)=M(4(k-1)+4)⊕p4(k)
call AES-encrypt(KAES)
其中:KCHAOS為超混沌系統(tǒng)密鑰,KAES為改進(jìn)AES算法密鑰。
(4)數(shù)據(jù)合并完成后,會(huì)存儲(chǔ)在HDFS上,存儲(chǔ)完成后即完成整個(gè)加密過程。
同樣的解密算法的設(shè)計(jì)基本與加密算法相同,唯一不同的是解密算法中的Map函數(shù)進(jìn)行的是解密操作而不是加密,只有當(dāng)解密密鑰和加密密鑰完全匹配時(shí),才會(huì)得到原始的明文數(shù)據(jù),如果不能完全匹配,則不能得到明文數(shù)據(jù)[21]。因?yàn)椴捎昧司哂懈訌?fù)雜動(dòng)力學(xué)的超混沌系統(tǒng)和迭代周期長的AES算法,使得本研究的加密算法的安全性得到了很大的提高。
選擇在實(shí)驗(yàn)室內(nèi)采用高性能計(jì)算機(jī)對(duì)本研究的算法進(jìn)行驗(yàn)證,計(jì)算機(jī)的硬件配置CPU為,inter corei7-9700H,運(yùn)行內(nèi)存為3 200 MHz 8 G×2,硬盤大小為512 G固態(tài)。首先需要部署多個(gè)虛擬機(jī),虛擬機(jī)的布置采用的是VMware workstation 12軟件,虛擬機(jī)的配置為單核CPU和1 GB的運(yùn)行內(nèi)存,然后再虛擬機(jī)上部署Hadoop大數(shù)據(jù)平臺(tái),Hadoop的版本為2.7.3,算法的編程采用的是JAVA,JAVA版本為Jdk8,IDE的開發(fā)環(huán)境為Eclips3.8。試驗(yàn)所用的數(shù)據(jù)為大小為1 GB和2 GB的大數(shù)據(jù)集,采用Map對(duì)其進(jìn)行默認(rèn)分塊,每塊的大小為128 MB。
首先對(duì)本研究算法的密鑰長度進(jìn)行驗(yàn)證,驗(yàn)證方法為對(duì)比驗(yàn)證,對(duì)比的對(duì)象為文獻(xiàn)[1]、文獻(xiàn)[2]、文獻(xiàn)[6]和文獻(xiàn)[8]中的加密算法,本研究的加密算法的密鑰長度為超混沌系統(tǒng)的長度和改進(jìn)AES算法長度之和,本研究將兩個(gè)超混沌系統(tǒng)的初始值作為超混沌系統(tǒng)密鑰參數(shù),密鑰空間可以表示為:
KCHAOS∈{x1(0),y1(0),z1(0),w1(0),x2(0)y2(0),z2(0),w2(0)}
這里設(shè)置密鑰的精度為10-15,然后選取雙精度的密鑰參數(shù),通過計(jì)算可以得到超混沌系統(tǒng)的密鑰長度為432 bit,在再加上改進(jìn)AES算法的256 bit,一共為688 bit。將本研究算法的密鑰長度與其他文獻(xiàn)算法的密鑰長度進(jìn)行對(duì)比,可以得到表1數(shù)據(jù)。
表1 密鑰長度對(duì)比
從表中數(shù)據(jù)可以看出,本文算法的密鑰長度明顯高于其他算法,密鑰長度能夠影響密文被破譯的難度,密鑰的長度越長,則被破譯的可能性就越低,算法的安全性就越高。
然后對(duì)本文算法的效率進(jìn)行驗(yàn)證,將本文算法中的超混沌加密方案和改進(jìn)AES算法的效率分別進(jìn)行驗(yàn)證,采用兩種算法對(duì)上述1 GB和2 GB大小的數(shù)據(jù)集分別進(jìn)行加密,逐步增加計(jì)算節(jié)點(diǎn),統(tǒng)計(jì)不同節(jié)點(diǎn)下的加密時(shí)間,可以得到圖2的加密時(shí)間對(duì)比圖。
圖2 加密時(shí)間對(duì)比圖
從圖2中可以看出,雖然本研究的算法計(jì)算時(shí)間略微高于AES算法,但是隨著計(jì)算節(jié)點(diǎn)的增加,本研究算法的計(jì)算效率顯著提高。
最后對(duì)算法密鑰的敏感性和統(tǒng)計(jì)性進(jìn)行分析,密鑰的敏感性決定算法的安全性,試驗(yàn)結(jié)果表明,只有當(dāng)密鑰完全匹配時(shí),才會(huì)得到明文數(shù)據(jù)。當(dāng)密鑰的參數(shù)誤差為10-15時(shí)會(huì)產(chǎn)生雪崩效應(yīng),無法獲取明文數(shù)據(jù),并且會(huì)生成跟明文數(shù)據(jù)具有較大差異的密文,此時(shí)的密鑰參數(shù)解密數(shù)據(jù)直方圖如圖3所示。
圖3 微小誤差下的密鑰參數(shù)解密數(shù)據(jù)直方圖
從圖中可以看出本研究算法的密鑰敏感性優(yōu)秀,在達(dá)到臨界值后能夠產(chǎn)生雪崩效應(yīng),使得破譯的難度增大。
加密前后的數(shù)據(jù)字節(jié)數(shù)據(jù)值對(duì)比如圖4所示。
圖4 加密前后的文本數(shù)據(jù)統(tǒng)計(jì)圖
從圖中可以看出,原始具有一定規(guī)律分布的明文數(shù)據(jù)經(jīng)過本研究算法的加密之后呈無相關(guān)性的隨機(jī)分布狀態(tài)。
綜上所述,本研究的大數(shù)據(jù)加密算法性能優(yōu)秀。
本研究將利用MapReduce將雙超混沌加密算法與改進(jìn)AES算法合并生成一個(gè)新的加密算法,通過試驗(yàn)證明了算法的可行性,并得出以下結(jié)論:
1)數(shù)據(jù)加密中密鑰的空間大小會(huì)影響加密算法的安全性,本研究將兩個(gè)三維混沌系統(tǒng)進(jìn)行改造生成了兩個(gè)四維混沌系統(tǒng),提高了混動(dòng)加密方案的密鑰長度。
2)傳統(tǒng)的AES加密算法的迭代周期短,可能會(huì)存在被破譯的風(fēng)險(xiǎn),本研究采用新的仿射變換對(duì)生成一個(gè)新的S盒序列,提高了AES算法的迭代周期。
3)混沌系統(tǒng)具有非常復(fù)雜的動(dòng)力學(xué)特性,不僅能夠用于數(shù)據(jù)加密,還能用于其他類型文件的加密,系統(tǒng)的維數(shù)越高,動(dòng)力學(xué)特性越復(fù)雜,加密效果越好。
實(shí)驗(yàn)結(jié)果表明,本研究的數(shù)據(jù)加密算法具有密鑰空間大、安全性能高,加密效率高等優(yōu)勢(shì),在網(wǎng)絡(luò)數(shù)據(jù)安全保護(hù)方面具有一定的研究價(jià)值,但是由于人為疏忽,難免會(huì)存在一些問題,在后續(xù)的研究中需要進(jìn)行相應(yīng)的改進(jìn)和完善。