楊帥航,何進(jìn)榮
(延安大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,陜西 延安 716000)
信息時(shí)代計(jì)算機(jī)數(shù)據(jù)通信與人們的工作生活緊密相連,個(gè)人或企業(yè)私密信息遭竊取將產(chǎn)生危害人身財(cái)產(chǎn)安全的不良后果[1]。無(wú)論是企業(yè)計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)通信還是個(gè)人信息傳遞都需要提高安全系數(shù),利用數(shù)據(jù)加密技術(shù)保障社會(huì)運(yùn)行中數(shù)據(jù)傳輸安全,實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)完整、可靠、穩(wěn)定傳輸[2]。AES加密技術(shù)高頻率用于計(jì)算機(jī)網(wǎng)絡(luò)通信安全保障領(lǐng)域,為了滿足大數(shù)據(jù)時(shí)代海量信息高速傳輸?shù)男枨骩3],本次研究在Hadoop大數(shù)據(jù)平臺(tái)環(huán)境下設(shè)計(jì)了AES算法加密方案,幫助信息社會(huì)各領(lǐng)域安全、暢通地進(jìn)行計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)通信。
結(jié)合目前計(jì)算機(jī)網(wǎng)絡(luò)通信現(xiàn)狀分析影響數(shù)據(jù)通信的安全因素,將其歸為四類:
(1)主動(dòng)攻擊因素。利用高科技或隱蔽性非法手段施竊他人計(jì)算機(jī)內(nèi)部的數(shù)據(jù)信息,嚴(yán)重阻礙用戶正常使用數(shù)據(jù),侵犯他人隱私權(quán),提高了用戶人身與財(cái)產(chǎn)安全的危險(xiǎn)系數(shù),常見(jiàn)的主動(dòng)攻擊因素主要為黑客入侵[4]。
(2)數(shù)據(jù)在通信過(guò)程中遭遇截獲,面臨被篡改盜取的威脅,用戶最終得到信息不完整或是無(wú)效內(nèi)容。這類安全問(wèn)題主要由病毒入侵、計(jì)算機(jī)自身配置問(wèn)題引起,低配置計(jì)算機(jī)與數(shù)據(jù)傳輸協(xié)議不匹配、殺毒軟件版本低,導(dǎo)致信息傳輸中斷[5];病毒入侵問(wèn)題更為嚴(yán)峻,種類多、傳播快,病毒一旦入侵將導(dǎo)致用戶信息泄露丟失,造成難以挽回的損失。
(3)無(wú)意識(shí)刪除有效數(shù)據(jù)信息。這類問(wèn)題主要由用戶操作不當(dāng)引起,一是對(duì)計(jì)算機(jī)使用程度不夠嫻熟,誤入攜帶病毒的不安全網(wǎng)站;二是不會(huì)使用防火墻、殺毒軟件等工具[6],導(dǎo)致數(shù)據(jù)丟失。
(4)用戶身份信息被盜取??煞譃閮煞N情況:一種是黑客入侵線上盜取用戶信息,另一種是現(xiàn)實(shí)中他人惡意調(diào)取用戶身份信息,自由登錄個(gè)人計(jì)算機(jī)[7]。兩種情形都嚴(yán)重威脅計(jì)算機(jī)網(wǎng)絡(luò)中的數(shù)據(jù)安全,需要利用特殊加密手段以及安全常識(shí)嚴(yán)加防范。
在數(shù)據(jù)發(fā)送端,明文信息在密鑰的計(jì)算轉(zhuǎn)換下變成無(wú)邏輯、無(wú)順序的密文;在數(shù)據(jù)接收端,利用解密密鑰解密密文得到明文[8]。解密密鑰可能與加密密鑰一致,也可能不一致,這就形成兩種典型且常用的數(shù)據(jù)加密技術(shù):對(duì)稱加密技術(shù)與非對(duì)稱加密技術(shù)。
對(duì)稱加密即常規(guī)加密算法,表示數(shù)據(jù)傳輸?shù)膬啥嗣荑€一致。數(shù)據(jù)加密傳輸過(guò)程中,對(duì)稱加密技術(shù)將明文信息位置打散,重新設(shè)置得到32為數(shù)據(jù)塊,然后基于數(shù)次重置操作取代數(shù)據(jù)最初的位置狀態(tài)[9]。也就是將數(shù)據(jù)由A端傳輸?shù)紹端期間,需要在A端做好數(shù)據(jù)對(duì)稱加密處理工作,B端接收數(shù)據(jù)包并獲取對(duì)應(yīng)密文的對(duì)稱密鑰才可以正確解讀加密信息。
DES算法、3DES算法、AES算法是使用頻率較高的對(duì)稱加密技術(shù),DES算法為56位密鑰分組密碼算法,最初由美國(guó)國(guó)家安全局研發(fā)。其原理是將加密數(shù)據(jù)劃分為64位,加密后的數(shù)據(jù)同樣以此大小密碼塊的形式傳輸;雖然DES算法密鑰長(zhǎng)度是64位,但其密鑰強(qiáng)度是56位,這是因?yàn)榧用芩惴總€(gè)第8位的功能是奇偶校驗(yàn),該位數(shù)最終將被忽略。3DES算法的安全強(qiáng)度相比DES算法更加優(yōu)越,基于差異性key進(jìn)行3次循環(huán)DES加密操作,為密鑰生成提供了有利保障[10]。AES算法相比前兩者算法而言,更加安全、快速、新穎,被稱為21世紀(jì)新一代數(shù)據(jù)加密標(biāo)準(zhǔn),由此AES算法在各個(gè)數(shù)據(jù)加密領(lǐng)域得到廣泛應(yīng)用。AES算法的輸入、輸出及密鑰之間的關(guān)系如圖1所示。
圖1 AES算法的輸入輸出原理
非對(duì)稱加密表面意思是加密與解密的密鑰不一致,具體而言,數(shù)據(jù)加密傳輸期間使用的加密密鑰是接收端的公鑰,當(dāng)接收方真正接收到加密數(shù)據(jù)后使用私有的私鑰進(jìn)行數(shù)據(jù)解密,從而獲得完整、安全的數(shù)據(jù)包?;诜菍?duì)稱加密技術(shù)傳輸數(shù)據(jù)過(guò)程中,黑客會(huì)因?yàn)槿狈饷軘?shù)據(jù)私鑰而一無(wú)所獲。非對(duì)稱加密技術(shù)加解密密鑰不一致的屬性,也促成其在數(shù)據(jù)簽名領(lǐng)域的廣泛應(yīng)用,用戶利用私玥加密明文數(shù)據(jù),其他個(gè)體基于公鑰解密密文,達(dá)到確定用戶身份信息的目的。此類加密技術(shù)的特點(diǎn)是加密過(guò)程不可逆,私玥是解密數(shù)據(jù)包的唯一出路,提高數(shù)據(jù)加密安全系數(shù)的同時(shí)也增加了數(shù)據(jù)解密的風(fēng)險(xiǎn)。
RSA算法、ECC算法是常用的非對(duì)稱加密技術(shù),RSA算法基于極大整數(shù)因式分解原理生成數(shù)據(jù)加密密鑰,兩個(gè)大質(zhì)數(shù)可以輕易計(jì)算乘積,相反,極大整數(shù)因式分解出兩個(gè)質(zhì)數(shù)難度系數(shù)則加倍[11]。ECC算法即常用的橢圓加密算法,根據(jù)橢圓曲線生成高強(qiáng)度的數(shù)據(jù)加密公鑰,和其他算法相比,ECC算法能夠?qū)⒚荑€控制在較短位數(shù)內(nèi),且提供相同強(qiáng)度的數(shù)據(jù)安全保障。
AES算法是采用對(duì)稱密鑰體制的加密算法,其特征是用戶雙方需要使用一致密鑰進(jìn)行數(shù)據(jù)加密與解密。AES屬于迭代式的分組密碼算法,其分組的長(zhǎng)度與密鑰的長(zhǎng)度處于動(dòng)態(tài)變化之中,一般當(dāng)密鑰長(zhǎng)度為128位時(shí)對(duì)應(yīng)的加密輪數(shù)設(shè)置為10輪,密鑰長(zhǎng)度達(dá)到192位與256位時(shí),對(duì)應(yīng)的輪數(shù)分別為12輪、14輪。128位是標(biāo)準(zhǔn)AES算法明文分組方式[12]。對(duì)稱結(jié)構(gòu)特征決定了AES算法每一輪加密都要經(jīng)過(guò)輪密鑰加、字節(jié)替換、行位移、列混淆等操作[13],據(jù)此圖2詳細(xì)描述了128位密鑰AES算法加密過(guò)程。
AES算法處理計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)加密過(guò)程中,128位明文將以16個(gè)字節(jié)方式表達(dá),以狀態(tài)矩陣方式排列,矩陣規(guī)模通常為4×4字節(jié),為此矩陣的行或列成為算法加密基本單位形式[14]。算法每輪加密的過(guò)程基本一致,只有下列情形需要區(qū)別對(duì)待:末次加密輪回中無(wú)需對(duì)狀態(tài)數(shù)據(jù)實(shí)施混淆處理。
圖2 AES算法加密過(guò)程詳解
(1)輪密鑰加操作實(shí)質(zhì)是基于比特對(duì)輪密鑰與明文實(shí)施異或操作,即實(shí)現(xiàn)上一輪得到的明文值輸出與對(duì)應(yīng)的密鑰進(jìn)行異或,目的是掩蓋傳輸中的明文數(shù)據(jù)[15]。
(2)字節(jié)替換一般采用非線性S盒來(lái)完成,為避免傳統(tǒng)S盒迭代周期過(guò)短導(dǎo)致算法抗攻擊能力減弱問(wèn)題,此處為S盒更新仿射變換策略以增加迭代的周期,S盒代數(shù)性質(zhì)得到優(yōu)化,更好的發(fā)揮抵抗數(shù)學(xué)攻擊的作用,保障AES加密算法的可靠性[16]。
(3)行移位操作?;谝?guī)則位移方法處理數(shù)據(jù)加密狀態(tài)的“行”,以混淆矩陣基本處理單元的字節(jié)。
(4)列混淆操作。為提高加密算法擴(kuò)散能力,混淆狀態(tài)矩陣的“列”。
面對(duì)當(dāng)前大數(shù)據(jù)盛行的時(shí)代特征,既能保障數(shù)據(jù)傳輸?shù)陌踩杂帜芴岣邤?shù)據(jù)傳輸效率成為網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)氖滓V求[17],為此在Hadoop大數(shù)據(jù)平臺(tái)Map Reduce架構(gòu)下設(shè)計(jì)了AES算法加密流程及實(shí)現(xiàn)方式[18]。ECB加密模式不依賴上一輪加密結(jié)果,有利于并行化環(huán)境下AES數(shù)據(jù)對(duì)稱加密實(shí)現(xiàn),為此將ECB作為AES算法在大數(shù)據(jù)架構(gòu)下的加密模式。
Map Reduce分布式并行編程架構(gòu)中的Map函數(shù)與Reduce函數(shù)各有分工,前者負(fù)責(zé)AES算法加密操作;后者負(fù)責(zé)合并加密后的數(shù)據(jù)信息。AES加密算法在大數(shù)據(jù)環(huán)境下的具體實(shí)現(xiàn)流程為:第一,分片處理。計(jì)算機(jī)網(wǎng)絡(luò)傳輸數(shù)據(jù)存儲(chǔ)在HDFS文件系統(tǒng)中,成功讀取其中數(shù)據(jù)后開(kāi)始大規(guī)模數(shù)據(jù)的分片處理,此處將數(shù)據(jù)文件劃分成128MB大小的分片[19]。第二,AES加密實(shí)現(xiàn)。由Map函數(shù)讀取分片明文數(shù)據(jù),按照鍵值對(duì)的方法依次讀取,然后基于圖1所示的AES算法流程執(zhí)行數(shù)據(jù)加密。第三,Reduce函數(shù)合并處理。數(shù)據(jù)經(jīng)過(guò)AES算法加密處理后以分片數(shù)據(jù)塊的形式輸出,由Shuffle對(duì)數(shù)據(jù)塊進(jìn)行排序,隨后Reduce函數(shù)合并加密后的分片數(shù)據(jù)[20]。第四,加密輸出。Reduce函數(shù)合并加密數(shù)據(jù)后便實(shí)現(xiàn)了大數(shù)據(jù)環(huán)境下AES加密過(guò)程,輸出的結(jié)果需存儲(chǔ)在HDFS文件系統(tǒng)內(nèi)部,提高數(shù)據(jù)保存的質(zhì)量與安全系數(shù)。
為了驗(yàn)證本次研究提出的數(shù)據(jù)加密方法的安全性與執(zhí)行性能,在大數(shù)據(jù)環(huán)境下展開(kāi)數(shù)據(jù)加密測(cè)試,實(shí)驗(yàn)環(huán)境設(shè)置如下:在ARM11處理器,CPU主頻512 MHz,內(nèi)存512 MB計(jì)算機(jī)環(huán)境中借助虛擬仿真平臺(tái)布局虛擬機(jī),選用Hadoop2.7.3作為操作環(huán)境搭建Hadoop大數(shù)據(jù)傳輸平臺(tái)環(huán)境。賦予虛擬機(jī)單核CPU配置,內(nèi)存大小為1GB。本次測(cè)試選取5組2GB規(guī)模數(shù)據(jù)包作為加密算法安全性測(cè)試集,設(shè)置一個(gè)10GB數(shù)據(jù)包作為大數(shù)據(jù)環(huán)境下的數(shù)據(jù)加密測(cè)試集,以滿足不同測(cè)試目標(biāo)需求。
基于本文方法對(duì)5組2GB數(shù)據(jù)進(jìn)行加密傳輸測(cè)試,并人為設(shè)置黑客入侵對(duì)傳輸中的加密數(shù)據(jù)進(jìn)行惡意破解,當(dāng)全部數(shù)據(jù)加密傳輸完畢后,所有數(shù)據(jù)包完好無(wú)損,沒(méi)有遭到黑客的惡意破壞。記錄本文方法加密5組數(shù)據(jù)包的傳輸延遲情況如表1所示。
表1 本文方法加密傳輸數(shù)據(jù)的延遲統(tǒng)計(jì)/s
表1數(shù)據(jù)顯示,隨著加密數(shù)據(jù)傳輸量的增加,數(shù)據(jù)傳輸延時(shí)同步增長(zhǎng),但是增長(zhǎng)的幅度越來(lái)越小,傳輸1.0 GB數(shù)據(jù)包時(shí)的平均延時(shí)為0.9 s,傳輸2.0 GB數(shù)據(jù)包時(shí)的平均延時(shí)為1.11 s,延遲時(shí)間開(kāi)銷(xiāo)較短,在數(shù)據(jù)加密延遲的可接受范圍內(nèi)。
本文方法設(shè)計(jì)初衷是適應(yīng)大數(shù)據(jù)環(huán)境下數(shù)據(jù)加密處理,為此在Hadoop平臺(tái)Map Reduce并行計(jì)算框架中進(jìn)行數(shù)據(jù)加密測(cè)試,將DES算法、ECC算法作為對(duì)比加密測(cè)試方法,3種方法均以10GB數(shù)據(jù)包作為數(shù)據(jù)加密對(duì)象,記錄3種方法處理大規(guī)模數(shù)據(jù)加密的效率,結(jié)果如圖3所示。
圖3 不同加密算法的數(shù)據(jù)加密效率對(duì)比
分析圖3可知,當(dāng)集群節(jié)點(diǎn)數(shù)量為1個(gè)、2個(gè)時(shí),本文方法加密用時(shí)在DES算法和ECC算法之上,但是時(shí)間開(kāi)銷(xiāo)相差不多;隨著集群數(shù)據(jù)增加,本文方法用于大規(guī)模數(shù)據(jù)加密用時(shí)逐漸降低,而另外2種方法加密用時(shí)降低的趨勢(shì)不明顯,相比之下,本文方法加密效率提高較快。
此處本文方法發(fā)揮了其在大數(shù)據(jù)Hadoop平臺(tái)Map Reduce并行計(jì)算框架中實(shí)施數(shù)據(jù)加密的優(yōu)勢(shì),在整個(gè)加密過(guò)程中本文方法基于HDFS文件系統(tǒng)存儲(chǔ)加密數(shù)據(jù),利用Map函數(shù)執(zhí)行AES算法加密操作,利用Reduce函數(shù)合并加密后的數(shù)據(jù)信息。本文方法在并行計(jì)算框架下發(fā)揮其高性能的數(shù)據(jù)加密功能,因此可以在較短的時(shí)間內(nèi)完成大規(guī)模數(shù)據(jù)加密,相比一般的DES數(shù)據(jù)加密算法和ECC數(shù)據(jù)加密算法具有顯著的效率優(yōu)勢(shì),能夠滿足現(xiàn)代信息社會(huì)人們對(duì)高速數(shù)據(jù)加密的需求。
測(cè)試過(guò)程中以5組2GB數(shù)據(jù)包為對(duì)象測(cè)試了3種方法加密內(nèi)存占用率情況,結(jié)果見(jiàn)表2。
由表2可知,3種數(shù)據(jù)加密方法的內(nèi)存占用情況差別較大,其中本文方法占用內(nèi)存比重最為平穩(wěn)且占用量較小,約為整體運(yùn)行環(huán)境的5.38%;本文方法占用內(nèi)存量較小也要?dú)w功于其并行計(jì)算框架設(shè)計(jì),在Map Reduce計(jì)算框架模型中同時(shí)加快數(shù)據(jù)加密處理,一定程度上節(jié)省了數(shù)據(jù)加密計(jì)算量,從而降低了本文方法的內(nèi)存占用率。
表2 3種方法加密傳輸數(shù)據(jù)的內(nèi)存占用統(tǒng)計(jì)/%
DES數(shù)據(jù)加密算法內(nèi)存占用區(qū)間為[12.8%,18.6%],加密相同規(guī)模數(shù)據(jù)包情況下內(nèi)存占用情況不穩(wěn)定,波動(dòng)較大;ECC數(shù)據(jù)加密算法內(nèi)存占用區(qū)間為[15.4%,22.8%],與DES數(shù)據(jù)加密算法存在相同問(wèn)題,且該算法占用內(nèi)存最高可達(dá)22.8%,表明該方法計(jì)算量較大,加密過(guò)程復(fù)雜度較高。
維護(hù)計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)安全是一項(xiàng)長(zhǎng)期的工作,用戶不僅要具備數(shù)據(jù)使用常識(shí)、正確的計(jì)算機(jī)操作能力,更要積極運(yùn)用先進(jìn)的數(shù)據(jù)加密技術(shù)提高網(wǎng)絡(luò)通信的安全系數(shù)。AES對(duì)稱加密算法在全球范圍內(nèi)取得了良好的加密成效,本次研究在大數(shù)據(jù)環(huán)境下形成了AES數(shù)據(jù)加密方案,為信息時(shí)代計(jì)算機(jī)網(wǎng)絡(luò)大規(guī)模數(shù)據(jù)傳遞提供了安全性與便利性保障。
未來(lái)AES對(duì)稱加密算法性能提升要依賴于混合算法的設(shè)計(jì),例如AES算法與ECC算法的混合、與RSA算法的混合、超混沌加密混合技術(shù)等等,能夠滿足人們對(duì)AES算法不同角度的性能需求。另外,AES算法與數(shù)學(xué)計(jì)算的結(jié)合研究逐漸增多,試圖從數(shù)學(xué)計(jì)算角度再次突破AES算法的加密強(qiáng)度。隨著智能移動(dòng)終端技術(shù)的更新?lián)Q代,AES加密算法逐漸從計(jì)算機(jī)數(shù)據(jù)加密領(lǐng)域過(guò)渡到智能手機(jī)加密、智能卡片設(shè)備加密等多元化領(lǐng)域,AES加密技術(shù)更多潛在能力有待深度挖掘。