曹士明,王宏志
(1. 吉林建筑科技學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,吉林 長(zhǎng)春 130114;2. 長(zhǎng)春工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,吉林 長(zhǎng)春 130012)
當(dāng)前社會(huì)處于一個(gè)“信息爆炸”時(shí)代,伴隨著互聯(lián)網(wǎng)的廣泛應(yīng)用與互聯(lián)網(wǎng)技術(shù)的普及,人們將內(nèi)部網(wǎng)連接至互聯(lián)網(wǎng),獲取自身所需服務(wù)[1]。網(wǎng)絡(luò)安全認(rèn)證服務(wù)器是一種網(wǎng)絡(luò)安全訪問的實(shí)體認(rèn)證,服務(wù)器內(nèi)最關(guān)鍵的配置為防火墻,防火墻是安全管理的執(zhí)行對(duì)象,是連接網(wǎng)絡(luò)與用戶的橋梁,在過濾危險(xiǎn)信息、維護(hù)用戶數(shù)據(jù)安全方面具備關(guān)鍵作用,因此,保護(hù)防火墻數(shù)據(jù)的機(jī)密性顯得十分重要。
通常情況下,防火墻設(shè)備中保存著大量的網(wǎng)絡(luò)安全數(shù)據(jù),傳輸公共信道與存儲(chǔ)計(jì)算機(jī)系統(tǒng)較為脆弱,極易遭受惡意攻擊[2],攻擊類型也形式多樣。例如:從傳輸信道內(nèi)攔截?cái)?shù)據(jù)以及從存儲(chǔ)載體上偷竊數(shù)據(jù),此種攻擊形式為被動(dòng)攻擊,直接導(dǎo)致數(shù)據(jù)泄露;還有一種攻擊形式為主動(dòng)攻擊[3],就是在傳輸時(shí)對(duì)數(shù)據(jù)實(shí)施非法刪除、更改或插入,引起數(shù)據(jù)或文件混亂,并讓認(rèn)證服務(wù)器處于失控狀態(tài)。因此,對(duì)防火墻數(shù)據(jù)進(jìn)行存儲(chǔ)加密設(shè)計(jì)勢(shì)在必行。
針對(duì)加密算法,王佳慧[4]等設(shè)計(jì)基于瀏覽器云存儲(chǔ)應(yīng)用的自動(dòng)化數(shù)據(jù)加密系統(tǒng),系統(tǒng)運(yùn)用JavaScript動(dòng)態(tài)程序分析技術(shù),自動(dòng)化識(shí)別與匹配云應(yīng)用,運(yùn)用安全網(wǎng)關(guān)執(zhí)行下的密文搜索功能,在達(dá)到數(shù)據(jù)加密保護(hù)目標(biāo)的同時(shí)維持云應(yīng)用原有功能。該方法具備一定的魯棒性,拓展性能較差,加密計(jì)算誤差很高。梁艷麗[5]等把數(shù)據(jù)所有者利用智能合約構(gòu)成的密鑰存儲(chǔ)于區(qū)塊鏈中,給數(shù)據(jù)標(biāo)記訪問時(shí)間,滿足訪問策略與訪問時(shí)間的用戶才能訪問數(shù)據(jù),加密部分?jǐn)?shù)據(jù),采用改進(jìn)布隆過濾器,將數(shù)據(jù)屬性隱藏在訪問策略。但該方法運(yùn)算過程繁雜,數(shù)據(jù)存儲(chǔ)加密耗時(shí)過多。
摒棄上述方法,本文提出一種基于混合算法的防火墻數(shù)據(jù)存儲(chǔ)加密方法。首先運(yùn)用二維離散小波變換對(duì)防火墻數(shù)據(jù)實(shí)施預(yù)處理,剔除防火墻數(shù)據(jù)中的冗余信息,保證數(shù)據(jù)實(shí)用性與應(yīng)用價(jià)值,通過超混沌系統(tǒng)與高級(jí)加密標(biāo)準(zhǔn)兩種方法實(shí)現(xiàn)高質(zhì)量數(shù)據(jù)存儲(chǔ)加密,并利用仿真結(jié)果證明所提方法的可靠性。
由于防火墻數(shù)據(jù)量龐大,還具有部分噪聲信息,倘若使用傳統(tǒng)去噪方式會(huì)導(dǎo)致數(shù)據(jù)格式損壞,本文使用二維離散小波分析策略,通過優(yōu)秀局部化頻域性質(zhì),對(duì)防火墻數(shù)據(jù)采取預(yù)處理,將數(shù)據(jù)內(nèi)展現(xiàn)的有用信息匯聚在少數(shù)二維低頻變換指數(shù)上[6],二維高頻指數(shù)會(huì)展現(xiàn)出外界噪聲對(duì)數(shù)據(jù)的影響。本文會(huì)對(duì)低頻變換指數(shù)與對(duì)應(yīng)的高頻指數(shù)實(shí)施編碼,但不剔除其它小波變換系數(shù),以達(dá)到精準(zhǔn)去噪的目的。將數(shù)據(jù)去噪過程記作圖1。
圖1 小波去噪示意圖
防火墻數(shù)據(jù)重構(gòu)過程為:對(duì)各列變換結(jié)果采取一維離散小波反向變換,同理,對(duì)變換所獲得的各行數(shù)據(jù)實(shí)施一維離散小波反向變換,得到重構(gòu)后的防火墻數(shù)據(jù)。
數(shù)據(jù)小波分解是一個(gè)把信號(hào)根據(jù)低頻向有向高頻分離的過程[7],分解時(shí)還能按照實(shí)際需求通過小波分解獲得數(shù)據(jù)分量,直至達(dá)到理想的預(yù)處理要求。小波分解流程如圖2所示。
數(shù)據(jù)重構(gòu)時(shí),要使用尺度函數(shù)進(jìn)行正交操作,完善重構(gòu)準(zhǔn)確性,將函數(shù)記作
(1)
式中,j代表幅度變量,m是延時(shí)變量,t為時(shí)間變量。
這時(shí)輸入信號(hào)會(huì)轉(zhuǎn)變?yōu)閒(n,t),轉(zhuǎn)變過程較為復(fù)雜。首先對(duì)n方位進(jìn)行高通、低通與降頻處理,設(shè)定高通濾波器是h(k),低通濾波器是g(k),則數(shù)據(jù)處理過程為
(2)
式中,n、t依次表示防火墻數(shù)據(jù)的空間變量與時(shí)間變量。
圖2 防火墻數(shù)據(jù)分解流程
防火墻數(shù)據(jù)中存在諸多異常點(diǎn),將其數(shù)據(jù)的含噪時(shí)間序列運(yùn)算公式記作
W(i,t)=S(i,t)+N(i,t)
(3)
(4)
以上就是防火墻數(shù)據(jù)預(yù)處理推導(dǎo)的全過程,最終將數(shù)據(jù)預(yù)處理過后的信噪比計(jì)算過程描述為式(5),信噪比數(shù)值越高,說明數(shù)據(jù)中的噪聲越小,數(shù)據(jù)質(zhì)量越優(yōu)[8],反之?dāng)?shù)據(jù)質(zhì)量較差。
(5)
式中,S(i,t)代表理想信號(hào),(i,t)是小波處理后的估計(jì)信號(hào),S(i,t)與(i,t)之間的差值表示噪聲。
數(shù)據(jù)存儲(chǔ)加密算法眾多,混沌系統(tǒng)是最常應(yīng)用的方法之一。和混沌系統(tǒng)相比,超混沌系統(tǒng)動(dòng)力學(xué)行為更復(fù)雜[9],在數(shù)據(jù)加密領(lǐng)域擁有更大的應(yīng)用價(jià)值。本文引入超混沌加密理念,并融合高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)策略,創(chuàng)建一種基于混合算法的防火墻數(shù)據(jù)存儲(chǔ)加密方法。
通常來看,可以生成超混沌現(xiàn)象的系統(tǒng),最低維數(shù)為四維。高維非線性系統(tǒng)一般是在低維非線性系統(tǒng)前提下,經(jīng)過添加系統(tǒng)變量與微分方程得到的[10]。將四維超混沌系統(tǒng)數(shù)學(xué)模型記作
(6)
式(6)是一個(gè)四維非線性系統(tǒng),將其標(biāo)記為系統(tǒng)1,擁有x1、y1、y1、w1四個(gè)變量和a1、b1、c1、d1四個(gè)系統(tǒng)參數(shù)。非線性系統(tǒng)運(yùn)行形態(tài)會(huì)受到系統(tǒng)參數(shù)與變量初始值的影響。
分維數(shù)展現(xiàn)混沌系統(tǒng)內(nèi)吸引子結(jié)構(gòu)的復(fù)雜水平[12],將Lyapunov指數(shù)當(dāng)作系統(tǒng)的分維數(shù),并將其運(yùn)算過程表示為
DL=3+(L1+L2+L3)/|L4|
(7)
接下來,在三維增廣系統(tǒng)基礎(chǔ)上,創(chuàng)建一個(gè)新的思維超混沌系統(tǒng),命名為系統(tǒng)2,其參數(shù)釋義與式(6)相同,記作
(8)
AES又被稱為Rijndael加密算法,是對(duì)稱密鑰加密中應(yīng)用最多的方法,具備安全性高、靈活性強(qiáng)等優(yōu)勢(shì)。AES方法在加解密時(shí)要將數(shù)據(jù)分組,各組數(shù)據(jù)長(zhǎng)度均為128bit。該算法包含非線性構(gòu)建、線性構(gòu)件與輪密鑰[13]。計(jì)算中全部都是完整的字節(jié)操作,在加密時(shí)使用輪迭代架構(gòu)。AES經(jīng)過若干次迭代計(jì)算完成數(shù)據(jù)轉(zhuǎn)換,根據(jù)迭代數(shù)量的不同,可劃分成三類不同的加密形式:
第一,通過15次迭代轉(zhuǎn)換獲得密文,密鑰長(zhǎng)度是128bit,標(biāo)記成AES-128;
第二,通過18次迭代轉(zhuǎn)換獲得密文,密鑰長(zhǎng)度是192bit,標(biāo)記成AES-192;
第三,通過21次迭代轉(zhuǎn)換獲得密文,密鑰長(zhǎng)度是256bit,標(biāo)記成AES-256。
運(yùn)用系統(tǒng)1和系統(tǒng)2具備的復(fù)雜動(dòng)力學(xué)特征,設(shè)計(jì)一種密鑰空間大、敏感性強(qiáng)的超混沌—AES數(shù)據(jù)存儲(chǔ)加密算法。離散化處理系統(tǒng)1與系統(tǒng)2,獲得8個(gè)超混沌序列,對(duì)超混沌序列交叉實(shí)施異或混淆計(jì)算,破壞相同系統(tǒng)內(nèi)不同序列之間的耦合關(guān)系[14],這樣可獲得4個(gè)混沌序列;對(duì)4個(gè)混沌序列依舊采取異或混淆計(jì)算,得到2個(gè)混沌序列S1、S2,以此增強(qiáng)密鑰的安全性能;最終將混沌序列S1當(dāng)作超混沌加密密鑰,混沌序列S2是生成AES加密密鑰的參變量。具體過程如下所示。
依次在8個(gè)超混沌序列內(nèi)截取一段長(zhǎng)度是35byte的防火墻數(shù)據(jù),截取位置可自定義,獲得8個(gè)長(zhǎng)度是35byte的序列。為了讓序列妥善地應(yīng)用在數(shù)據(jù)存儲(chǔ)加密方法內(nèi),對(duì)其進(jìn)行優(yōu)化處理:
(9)
其中,k=1、2,依次代表系統(tǒng)1與系統(tǒng)2,i是序列內(nèi)第i個(gè)數(shù)值。運(yùn)用floor函數(shù)得到一個(gè)不高于原始數(shù)值的最大整數(shù)[15],采用mod函數(shù)對(duì)256取模求余,最終使用round函數(shù)進(jìn)行四舍五入操作。混沌序列處理后的值都是0~255的整數(shù)。
為破壞相同系統(tǒng)4個(gè)形態(tài)變量間的關(guān)系,把8個(gè)超混沌序列依次采取異或混淆計(jì)算,過程為
(10)
混淆過后獲得4個(gè)序列x12、y12、z12、w12,為優(yōu)化密鑰防御性能,以上4個(gè)序列采取異或計(jì)算,獲得序列S1、S2
(11)
式中,⊕為按位異或計(jì)算。
防火墻數(shù)據(jù)存儲(chǔ)加密時(shí),首先分組明文數(shù)據(jù),分組長(zhǎng)度是18bit,分組后的數(shù)據(jù)分別采取超混沌加密與AES加密,超混沌加密是混合算法中的首次加密,對(duì)明文數(shù)據(jù)與S1采取異或計(jì)算,AES加密是混合算法中的第二次加密,最終獲得加密密文,實(shí)現(xiàn)防火墻數(shù)據(jù)存儲(chǔ)加密任務(wù)。
本文仿真軟件為MATLAB,設(shè)定網(wǎng)絡(luò)安全認(rèn)證服務(wù)場(chǎng)景,在仿真環(huán)境中規(guī)劃一個(gè)150m×150m的監(jiān)測(cè)區(qū)域,隨機(jī)產(chǎn)生200個(gè)網(wǎng)絡(luò)傳感器節(jié)點(diǎn),節(jié)點(diǎn)原始能量是110J,網(wǎng)絡(luò)拓?fù)涫请S機(jī)部署。美國信息交換標(biāo)準(zhǔn)代碼(American Standard Code for Information Interchange,ASCII)通過美國國家標(biāo)準(zhǔn)學(xué)會(huì)制定,是一種單字節(jié)字符編碼模式,現(xiàn)階段防火墻數(shù)據(jù)多是采用此種代碼模式進(jìn)行描述。
圖3為本文方法下防火墻數(shù)據(jù)加密前后的字符序列ASCII碼值分布情況。從圖3看到,加密前的字符序列具有明顯的規(guī)律與統(tǒng)計(jì)特性,加密后字符序列被擾亂,展現(xiàn)出混沌隨機(jī)形態(tài),初始信息規(guī)律得到遮蓋,有效抵抗明文攻擊、密鑰攻擊等惡意侵害,提高防火墻存儲(chǔ)數(shù)據(jù)的機(jī)密性。
圖3 本文方法數(shù)據(jù)存儲(chǔ)加密前后明文ASCII值分布圖
將本文方法和文獻(xiàn)[4]網(wǎng)關(guān)執(zhí)行法、文獻(xiàn)[5]區(qū)塊鏈法進(jìn)行仿真對(duì)比,對(duì)比指標(biāo)為算法安全性、加密數(shù)據(jù)空間占用和能耗,從而表明方法的加密可靠性。
首先分析三種方法運(yùn)算的空間占用情況,結(jié)果如圖4所示。從圖4看到,三種方法加密算法占用隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)的大小相同,而在只讀存儲(chǔ)器(Read-Only Memory,ROM)空間占用對(duì)比中,分析圖4數(shù)據(jù)看到,本文方法需要通過兩次計(jì)算實(shí)現(xiàn)最終存儲(chǔ)加密,空間占用情況比較理想,可以貼合安全認(rèn)證服務(wù)器系統(tǒng)的算法空間占用需求。
圖4 三種方法數(shù)據(jù)加密計(jì)算空間占用對(duì)比示意圖
圖5是三種方法計(jì)算的網(wǎng)絡(luò)能耗對(duì)比,由此看出,本文方法計(jì)算能耗要顯著低于網(wǎng)關(guān)執(zhí)行法和區(qū)塊鏈法,在發(fā)送、傳輸與接受狀態(tài)下的能耗最少,證明該方法計(jì)算簡(jiǎn)便,復(fù)雜度低,不會(huì)對(duì)安全認(rèn)證服務(wù)器的正常使用造成負(fù)面影響。
圖5 三種方法加密過程的能耗對(duì)比示意圖
以128位密鑰長(zhǎng)度為例,驗(yàn)證不同防火墻數(shù)據(jù)規(guī)模下,三種方法加密與解密的時(shí)間消耗,結(jié)果參照表1。表中“+”符號(hào)代表加密,“-”符號(hào)為解密。
從表1看到,在相同數(shù)據(jù)量狀況下,三種方法加密耗時(shí)差距較多,本文方法耗時(shí)最少,同時(shí)伴隨數(shù)據(jù)大小的增長(zhǎng),其性能優(yōu)越性愈發(fā)顯著。這是因?yàn)楸疚姆椒ㄊ褂贸煦缗cAES相融合的加密算法,有效分組明文數(shù)據(jù),使方法具備較好的并行性,數(shù)據(jù)加密整體效率得到極大提升。
表1 三種方法加密耗時(shí)對(duì)比/s
深入研究網(wǎng)絡(luò)安全認(rèn)證服務(wù)器特征,設(shè)計(jì)一種基于混合算法的防火墻數(shù)據(jù)存儲(chǔ)加密機(jī)制。預(yù)處理防火墻數(shù)據(jù),運(yùn)用超混沌系統(tǒng)與AES的敏感性、置亂性與隨機(jī)性特征,將其應(yīng)用在密鑰生成中,對(duì)明文信息采取雙重加密處理。仿真結(jié)果表明,本文方法不但確保了加密整體安全性,還能很好地解決傳統(tǒng)方法計(jì)算空間占比大和局限性高等問題,具備極強(qiáng)的實(shí)用性。