趙 迪,劉 晨
(國網(wǎng)天津市電力公司,天津 300010)
隨著網(wǎng)絡技術的不斷進步,信息傳遞方式也在不斷升級進化,分布式網(wǎng)絡逐漸被廣泛應用。在各種企業(yè)中,分布式網(wǎng)絡面臨的安全威脅種類有很多,在這種情況下信息加密技術得到了較好地發(fā)展。加密技術主要由密碼編碼技術和密碼分析技術組成,最早被人們接受的加密技術是使用64位的密鑰加密信息[1]。但是現(xiàn)階段常規(guī)的加密系統(tǒng)已經(jīng)不能滿足需求,因此提出了設計基于經(jīng)驗模態(tài)分解的分布式網(wǎng)絡可篡改信息數(shù)據(jù)加密系統(tǒng),用于解決常規(guī)加密系統(tǒng)中存在的問題。
綜合考慮加密系統(tǒng)速度、功耗以及存儲測試等方面問題,在系統(tǒng)硬件設計部分,利用FPGA和ASIC專用集成電路芯片實現(xiàn)加密算法。其中,F(xiàn)PGA設計的評價標準是面積和速度,在滿足系統(tǒng)需求下,占用最少的資源使系統(tǒng)工作效率達到最高。硬件設計中選用的FPGA芯片為EP2C8AF256,將工作時所有的配置數(shù)據(jù)存儲在SRAM單元中,用于控制FPGA工作[2]。正常工作中使用FPGA中的JTAG模型來配置,用戶在使用時通過MSEL引腳設置配置方式,在配置過程中,配置數(shù)據(jù)通過FPGA中的DATA引腳接收,釋放引腳CONF_DONE驅動至高電平,表明配置完成。
在FPGA中嵌入Flash芯片可直接寫入地址和指令。在寫操作期間,通過輸入命令加載串行數(shù)據(jù)和地址,在接收到發(fā)送命令后開始編程。編程結束后,利用I/O端口判斷編程是否成功,向端口發(fā)送讀取狀態(tài)命令。Flash芯片可以擦除異常數(shù)據(jù),在輸入擦除確認命令后,數(shù)據(jù)信號保持低電平,F(xiàn)lash芯片不再響應外部讀取,以確保不會因外部干擾而意外擦除[3]。I/O接口的第0位用于確定擦除是否成功。擦除操作完成后,若判斷為0時,則表示擦除成功,否則表示擦除失敗,在這種存儲模式下,可進一步確保分布式網(wǎng)絡信息數(shù)據(jù)的安全可靠。
由于加密數(shù)據(jù)實時變化是不穩(wěn)定的,產(chǎn)生的原始加密信號內部有不同的振蕩成分和波動特征,并含有一定的噪聲,因此需要采用經(jīng)驗模態(tài)分解技術分解原始加密信號去除噪聲[4]。原始加密信號由有限個參與分量和一個趨勢項組成。在經(jīng)驗模態(tài)分解過程中,先搜索原始加密信號x(t)的極大值點和極小值點,然后從中減掉第一階固有模態(tài)分量vi(t),從而得到殘余項A(t)。涉及的計算公式如下:
式中,N表示分量個數(shù)。經(jīng)過經(jīng)驗模態(tài)分解后的各個分量和趨勢項除去計算誤差外可以無損重構出原始數(shù)據(jù)。在重構過程中,使用高波數(shù)分量來抑制噪聲,去除原始加密信號中的噪聲干擾。在完成以上操作后,對可篡改信息數(shù)據(jù)加密處理。
系統(tǒng)內的數(shù)據(jù)加解密過程主要通過系統(tǒng)的客戶端完成。加密過程中是用戶不可見模式,明文信息不會在網(wǎng)絡中傳播,不會影響用戶正常管理分布式網(wǎng)絡信息。加密系統(tǒng)的加解密在硬件基礎上實現(xiàn),F(xiàn)PGA內部加密原理如圖1所示。
圖1 FPGA內部加密原理圖
從圖1可以看出,加解密整個時序的開始和結束主要由控制模塊控制,通過控制模塊控制數(shù)據(jù)的輸入和輸出,實現(xiàn)子密鑰的選取[5]。加密算法主要包括乘法逆運算和仿射變換組成字節(jié)替換,行移位變換是通過循環(huán)移位操作實現(xiàn)的,其中不同的行使用不同的移位量,并且通過邏輯電路實現(xiàn),列混合變換通過查找表實現(xiàn),輪密鑰添加通過異或操作實現(xiàn)。在解密階段,將解密模塊的流水線級數(shù)設置為兩級,并使用5輪轉換作為外部流水線結構的第1級,內部流水線結構用于每輪轉換內,分為兩個流水線站。其中一個由逆列混合變換和逆移位變換組合而成,另一個由逆字節(jié)替換和密鑰加法組合而成。當數(shù)據(jù)解密進行到最后一輪變換時,跳過逆列混合完成解密。在分布式網(wǎng)絡可篡改信息數(shù)據(jù)加密中,采用非并行擴展方法,通過密鑰擴展模塊生成所有的輪子密鑰,在執(zhí)行加密任務時,根據(jù)實際需求直接選擇合適的輪子密鑰。至此,基于經(jīng)驗模態(tài)分解的分布式網(wǎng)絡可篡改信息數(shù)據(jù)加密系統(tǒng)設計完成。
在分布式網(wǎng)絡可篡改信息數(shù)據(jù)加密系統(tǒng)性能測試中,使用4臺計算機組成集群。其中,1臺計算機模擬密鑰管理服務器,另外3臺模擬3個接收端。系統(tǒng)測試主要以對比測試為主,分為兩個部分,第一部分是測試可篡改信息數(shù)據(jù)加密對系統(tǒng)效率的影響,根據(jù)數(shù)據(jù)大小的不同,分析不同加密系統(tǒng)加密前后系統(tǒng)速率的變化,第二部分是測試不同加密系統(tǒng)使用的元器件,在執(zhí)行加密任務時系統(tǒng)吞吐量的變化和邏輯單元的占用情況,根據(jù)這兩組測試對比分析不同加密系統(tǒng)的實際性能。測試中選用的加密系統(tǒng)分別是基于密碼學的加密系統(tǒng)、基于AES加密算法的加密系統(tǒng)以及提出的基于經(jīng)驗模態(tài)分解的加密系統(tǒng)。
測試中,設定系統(tǒng)一次最多處理1 024 000個字節(jié),使用的測試樣本分別是1K、100K、500K、1M、5M以及10M的可篡改信息數(shù)據(jù)。記錄沒有執(zhí)行加密任務的測試系統(tǒng)對樣本數(shù)據(jù)進行測試的結果,然后采用不同加密系統(tǒng)對樣本數(shù)據(jù)執(zhí)行相同的加密任務并記錄結果,對比數(shù)據(jù)進行分析。測試結果如表1所示。
從表1中數(shù)據(jù)可以看出,基于AES加密算法的加密系統(tǒng)執(zhí)行加密任務后的平均傳輸速率為1 054.69 K/s,基于密碼學的加密系統(tǒng)執(zhí)行加密任務后的平均傳輸速率為1 157.28 K/s,基于經(jīng)驗模態(tài)分解的加密系統(tǒng)執(zhí)行加密任務后的平均傳輸速率為6 741.39 K/s。由此可知,在使用常規(guī)的加密系統(tǒng)執(zhí)行加密任務時,任務執(zhí)行后系統(tǒng)效率變?yōu)樵瓉淼?~7倍,這是因為執(zhí)行了比較復雜的數(shù)據(jù)操作,使得數(shù)據(jù)傳輸增加了額外的時間。而設計的基于經(jīng)驗模態(tài)分解的加密系統(tǒng)在執(zhí)行加密任務前后系統(tǒng)效率沒有出現(xiàn)大幅度的變化,說明該系統(tǒng)在使用中不會降低多少性能。
吞吐量測試針對的是系統(tǒng)中的元器件,在第三方軟件QuartusII上進行性能評估。對3個系統(tǒng)進行相同的編譯,通過綜合編譯后,穩(wěn)定系統(tǒng)的頻率變化輸出測試結果,并根據(jù)測試結果評估系統(tǒng)硬件設計上的優(yōu)劣。3個系統(tǒng)的橫向對比結果如表2所示。
表1 不同加密系統(tǒng)效率測試結果
表2 不同系統(tǒng)吞吐量測試結果
通過對比表2中數(shù)據(jù)可知,對于不同加密系統(tǒng)而言,在執(zhí)行相同的加密任務時設計的基于經(jīng)驗模態(tài)分解的加密系統(tǒng)吞吐量更高,使用的邏輯單元較少,系統(tǒng)在吞吐量和資源占用量之間可以達到很好的平衡。此外,結合系統(tǒng)效率測試結果可知,設計的基于經(jīng)驗模態(tài)分解的分布式網(wǎng)絡可篡改信息數(shù)據(jù)加密系統(tǒng)在資源利用上也具有明顯優(yōu)勢。
目前,分布式網(wǎng)絡可篡改信息數(shù)據(jù)加密系統(tǒng)作為保證信息安全的有效手段,廣泛應用于不同領域,也是目前研究的熱點。本文圍繞著分布式網(wǎng)絡可篡改信息數(shù)據(jù)的加密,結合軟件和硬件設計了基于經(jīng)驗模態(tài)分解的數(shù)據(jù)加密系統(tǒng),通過多項對比測試驗證了該系統(tǒng)的可行性和優(yōu)越性,進一步提高了系統(tǒng)的應用性能。