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