摘 要:跨網(wǎng)數(shù)據(jù)交換是企業(yè)和政府日常工作中極其重要的一部分。本文首先概括了現(xiàn)有數(shù)據(jù)交換技術(shù)和國密算法的情況,其次提出一種基于國密算法的跨網(wǎng)數(shù)據(jù)交換技術(shù)及設(shè)計相應(yīng)算法,運用動態(tài)混合加密、數(shù)字簽名、備案機制、授權(quán)和鑒權(quán)等技術(shù)或手段實現(xiàn)跨網(wǎng)數(shù)據(jù)交換,最后通過算法實驗從并發(fā)、時間維度評價算法的性能,對未來的研究方向提出了建議。
關(guān)鍵詞:數(shù)據(jù)交換,國密算法,數(shù)字簽名,備案機制
DOI編碼:10.3969/j.issn.1002-5944.2025.01.002
0 引 言
跨網(wǎng)數(shù)據(jù)交換是指在不同網(wǎng)絡(luò)環(huán)境(如內(nèi)網(wǎng)和外網(wǎng))之間進(jìn)行數(shù)據(jù)交換的過程。內(nèi)網(wǎng)通常指企業(yè)或機構(gòu)內(nèi)部使用的專用網(wǎng)絡(luò),而外網(wǎng)則指公共網(wǎng)絡(luò),如互聯(lián)網(wǎng)。由于內(nèi)網(wǎng)和外網(wǎng)在安全性、訪問控制等方面存在差異,因此內(nèi)外網(wǎng)數(shù)據(jù)交換需要采取特殊的技術(shù)手段來保障數(shù)據(jù)的安全性和完整性。隨著信息技術(shù)的發(fā)展進(jìn)步以及信息安全保護形勢不斷嚴(yán)峻,內(nèi)外網(wǎng)數(shù)據(jù)交換已逐步成為企業(yè)日常運營和政府管理中至關(guān)重要的一部分。當(dāng)前跨網(wǎng)數(shù)據(jù)交換存在隱蔽通信造成信息泄露、數(shù)據(jù)安全無法得到有效保障、數(shù)據(jù)交換效率低下等各種亟待解決攻克的問題,因此研究一種高效安全可靠的跨網(wǎng)數(shù)據(jù)交換技術(shù)具有重要現(xiàn)實意義。
本文在上述背景下,提出并設(shè)計一種基于國密算法的跨網(wǎng)數(shù)據(jù)安全交換技術(shù),通過運用國密算法對請求報文進(jìn)行動態(tài)數(shù)據(jù)加密、數(shù)字簽名,進(jìn)而實現(xiàn)請求參數(shù)封裝算法和請求數(shù)據(jù)校驗算法,構(gòu)建一種權(quán)限可控、高性能的跨網(wǎng)數(shù)據(jù)交換方式,實現(xiàn)數(shù)據(jù)在跨網(wǎng)之間安全可靠的傳輸。
1 技術(shù)概述
1.1 數(shù)據(jù)交換技術(shù)
跨網(wǎng)數(shù)據(jù)交換的方式主要包括五大類[1]:移動介質(zhì)人工拷貝、雙網(wǎng)卡主機設(shè)備、FTP文件傳輸、數(shù)據(jù)加密傳輸以及網(wǎng)閘隔離交換等。
移動介質(zhì)人工拷貝指使用移動存儲設(shè)備通過人工將數(shù)據(jù)從源主機拷貝至目標(biāo)中的過程,其中源主機和目標(biāo)主機部署在不同的網(wǎng)域。該種方式在物理上完全隔離了內(nèi)外網(wǎng)環(huán)境,能夠保證數(shù)據(jù)安全;但可能存在病毒木馬程序的傳播影響數(shù)據(jù)完整性、造成核心數(shù)據(jù)泄露、不支持實時交換和效率低下等問題。
雙網(wǎng)卡主機設(shè)備指在一個主機上安裝兩個網(wǎng)卡設(shè)備負(fù)責(zé)接受處理內(nèi)外網(wǎng)的訪問請求。該種方式傳輸效率高、成本較低,但安全性不佳。
FTP文件傳輸指通過將數(shù)據(jù)打包成文件進(jìn)行數(shù)據(jù)交換,其主要負(fù)責(zé)網(wǎng)絡(luò)中主機設(shè)備之間的文件傳輸。該種方式操作簡單便捷、實施成本較低;但無法保證交換數(shù)據(jù)的完整性和機密性[2],此外進(jìn)行內(nèi)外網(wǎng)數(shù)據(jù)交換需要保證網(wǎng)絡(luò)通暢,這將帶來無法預(yù)估的安全風(fēng)險。
數(shù)據(jù)加密傳輸指在源端采集信息數(shù)據(jù)時進(jìn)行初步過濾處理,接著由系統(tǒng)對信息數(shù)據(jù)進(jìn)行加密后,通過網(wǎng)閘交換至目標(biāo)文件系統(tǒng),由系統(tǒng)對加密后的信息數(shù)據(jù)進(jìn)行解密校驗,最終分發(fā)至目標(biāo)數(shù)據(jù)源。該種方式未對請求對象進(jìn)行有效安全管控,應(yīng)對未知安全威脅的防護能力比較薄弱,存在信息數(shù)據(jù)在數(shù)據(jù)交換系統(tǒng)內(nèi)部被截取泄露的風(fēng)險[3]。
網(wǎng)閘隔離交換是指對內(nèi)外網(wǎng)進(jìn)行完全的物理隔離,在保證安全的前提下進(jìn)行有限數(shù)據(jù)交換[4],如國外Spearhead公司的netGap。網(wǎng)閘隔離交換研究眾多,如陽等[5]提出了一種基于二維碼的方式解決內(nèi)外網(wǎng)隔離環(huán)境中數(shù)據(jù)的安全交換問題,韓林等[6]提出利用Protocol Buffer格式和LZMA壓縮算法對傳輸?shù)臄?shù)據(jù)進(jìn)行簡化和壓縮,對于大型數(shù)據(jù)則通過多個二維碼進(jìn)行拼接組合的方式實現(xiàn)傳輸。網(wǎng)閘隔離交換是目前使用最廣泛的數(shù)據(jù)交換方式,其可以有效保證交換數(shù)據(jù)的完整性和安全性。
1.2 國密算法
國密算法包括SM1、SM2、SM3、SM4、SM7、SM9等多種類型的密碼算法。SM1、SM4、SM7是對稱算法,SM2、SM9是非對稱算法,SM3是哈希算法。SM1算法密鑰長度為128比特,算法安全保密強度及相關(guān)軟硬件實現(xiàn)性能與AES相當(dāng),算法不公開,需要調(diào)用加密芯片接口進(jìn)行使用;SM2算法本質(zhì)是橢圓曲線加密,其在安全性和實現(xiàn)效率方面優(yōu)于同類的ECC算法;SM3算法是一種密碼雜湊算法,采用Merkle Damgard結(jié)構(gòu),消息分組長度為512位,摘要值長度為256位,其壓縮函數(shù)與SHA-256的壓縮函數(shù)具有相似結(jié)構(gòu),但設(shè)計更加復(fù)雜;SM4算法是一種Feistel結(jié)構(gòu)的分組密碼算法,其分組長度和密鑰長度均為128位,加解密算法與密鑰擴張算法都采用32輪非線性迭代結(jié)構(gòu);SM7算法是一種分組密碼算法,其分組長度和密鑰長度均為128位,采用真隨機數(shù)發(fā)生器確保密鑰的隨機性和不可預(yù)測性,通過三重相互認(rèn)證機制增強數(shù)據(jù)交互的安全性;SM9算法是一種基于雙線性對的標(biāo)識密碼算法,由數(shù)字簽名算法、標(biāo)識加密算法、密鑰協(xié)商協(xié)議三部分組成。表1對上述幾種算法進(jìn)行了概括和總結(jié)[7]。
2 算法設(shè)計
針對跨網(wǎng)數(shù)據(jù)交換,本文基于國密算法實現(xiàn)請求報文的動態(tài)混合加密、數(shù)字簽名,綜合運用備案機制、權(quán)限鑒別等手段實現(xiàn)安全可靠的信息數(shù)據(jù)交換,本節(jié)將詳細(xì)描述兩種數(shù)據(jù)交換算法。
2.1 請求參數(shù)封裝算法
請求系統(tǒng)在發(fā)起數(shù)據(jù)交換請求時,需要對數(shù)據(jù)報文等信息進(jìn)行封裝以便生成符合規(guī)范的請求報文。首先將表示系統(tǒng)的唯一標(biāo)識、請求的接口ID、分配的加密公鑰、系統(tǒng)自身生成的私鑰和業(yè)務(wù)請求數(shù)據(jù)封裝成一個JSON字符串并對JSON字符串使用SM2算法進(jìn)行簽名,之后將上述信息作為請求輸入傳入到數(shù)據(jù)交換系統(tǒng),數(shù)據(jù)交換系統(tǒng)在收到請求參數(shù)之后,需對請求參數(shù)進(jìn)行校驗核對,詳細(xì)流程描述如下:
(1)請求系統(tǒng)在向數(shù)據(jù)交換系統(tǒng)發(fā)起請求前,由數(shù)據(jù)交換系統(tǒng)分配唯一標(biāo)識、加密公鑰給系統(tǒng);請求系統(tǒng)自身亦需生成公私鑰,且公鑰由數(shù)據(jù)交換系統(tǒng)進(jìn)行保存,并和系統(tǒng)唯一標(biāo)識進(jìn)行綁定關(guān)聯(lián);
(2)請求系統(tǒng)采用國密SM4分組密碼算法動態(tài)生成長度為128位的秘鑰m;
(3)請求系統(tǒng)按照規(guī)范要求將系統(tǒng)唯一標(biāo)識和業(yè)務(wù)請求數(shù)據(jù)組裝成業(yè)務(wù)請求信息r,并對業(yè)務(wù)請求信息r 進(jìn)行JSON格式化,最終轉(zhuǎn)換為字節(jié)流r ?;
(4)請求系統(tǒng)按照規(guī)范要求使用SM4算法的ECB模式和PKCS5Padding填充方式以及利用秘鑰m對字節(jié)流r ?進(jìn)行加密,獲得加密的報文d;
(5)對報文d 進(jìn)行Base64編碼得到參數(shù)d ?;
(6)請求系統(tǒng)利用數(shù)據(jù)交換系統(tǒng)分配的加密公鑰對秘鑰m進(jìn)行SM2算法加密,得到密文m ?;
(7)請求系統(tǒng)將接口ID、參數(shù)d ?、密文m ?組成請求報文并進(jìn)行JSON格式化后,得到待傳輸報文λ;
(8)請求系統(tǒng)使用自生成的私鑰對報文λ進(jìn)行SM2算法簽名,得到簽名字符串λ?,進(jìn)一步的將簽名字符串λ?和待傳輸報文λ組成整體對象,使用https方數(shù)據(jù)交換系統(tǒng)發(fā)起請求。
執(zhí)行完上述步驟后,可以對系統(tǒng)數(shù)據(jù)報文進(jìn)行安全加固,提高請求的可靠性。請求參數(shù)封裝算法描述如算法1(Algorithm 1)所示。
A l g o r i t h m 1: R e q u e s t D a t a G e n e r a t i o nAlgorithm(RDGA)
Input:接口標(biāo)識i、分配的加密公鑰dp 、系統(tǒng)自身生成的私鑰sp、系統(tǒng)唯一標(biāo)識ui、業(yè)務(wù)請求數(shù)據(jù)rd
begin
Step 1:采用SM4算法生成長度為128位的秘鑰m;
Step 2:將ui和rd 組裝成業(yè)務(wù)請求信息r,并對其進(jìn)行JSON格式化,得到r ?;
Step 3:使用SM4/ECB/PKCS5Padding和m 對r ?進(jìn)行加密,加密后報文為d;
Step 4:對d 進(jìn)行Base64編碼得到參數(shù)d ?;
Step 5:利用dp對m 進(jìn)行SM2加密,得到m ?;
Step 6:將i、ui、d ?、m?組成請求報文并進(jìn)行JSON格式化,得到報文λ;
Step 7:使用sp 對λ進(jìn)行SM2簽名,得到λ?;將簽名字符串λ?和報文λ組成整體對象發(fā)起https請求。
2.2 請求數(shù)據(jù)校驗算法
數(shù)據(jù)交換系統(tǒng)獲取到相關(guān)請求時,須對請求報文進(jìn)行相關(guān)校驗,以便確定報文的安全可靠性。數(shù)據(jù)交換系統(tǒng)依次校驗請求的合法性、參數(shù)完整性、系統(tǒng)配置信息、報文的安全可靠性等,詳細(xì)流程步驟描述如下:
(1)數(shù)據(jù)交換系統(tǒng)校驗請求報文是否為JSON字符串,如不是,則返回通用錯誤信息;
(2)校驗請求報文必要參數(shù)是否齊全,如缺少,則返回通用錯誤信息;
(3)從請求報文中獲取系統(tǒng)唯一標(biāo)識,判斷是否在數(shù)據(jù)交換系統(tǒng)中進(jìn)行配置,如未配置,則返回錯誤信息;
(4)根據(jù)請求報文中的接口標(biāo)識、系統(tǒng)唯一標(biāo)識判斷請求是否具有相關(guān)權(quán)限、是否超過訪問次數(shù)、是否超過訪問時間等,如不滿足條件,則返回錯誤信息;
(5)根據(jù)請求獲取來源IP,判斷是否在備案信息中,如不滿足條件,則返回錯誤信息;
(6)根據(jù)系統(tǒng)唯一標(biāo)識獲取請求系統(tǒng)在數(shù)據(jù)交換系統(tǒng)中備案的公鑰,使用公鑰對請求報文進(jìn)行SM2驗簽,如驗簽不通過,則返回錯誤信息;
(7)根據(jù)系統(tǒng)唯一標(biāo)識獲取數(shù)據(jù)交換系統(tǒng)分配的私鑰,使用私鑰對請求報文中的動態(tài)秘鑰進(jìn)行解密,進(jìn)一步利用解密后的動態(tài)秘鑰對業(yè)務(wù)請求報文進(jìn)行解密。
請求數(shù)據(jù)校驗算法描述如算法2(Algorithm 2)所示。
A l g o r i t h m 2 : R e q u e s t D a t a Va l i d a t i o nAlgorithm(RDVA)
Input:報文λ、簽名字符串λ?
begin
Step 1:判斷λ、λ?是否為空;
Step 2:對λ進(jìn)行反JSON化后獲取接口標(biāo)識i、系統(tǒng)唯一標(biāo)識ui、動態(tài)加密秘鑰m ?和請求報文d ?;
Step 3:根據(jù)ui查詢系統(tǒng)配置是否存在;
Step 4:根據(jù)ui和i判斷是否擁有權(quán)限;
Step 5:根據(jù)ui 計算單位時間內(nèi)的訪問頻率超過限制、請求地址是否在備案信息中;
Step 6:根據(jù)ui 獲取請求系統(tǒng)在數(shù)據(jù)交換系統(tǒng)備案的公鑰rp,使用rp 對λ、λ?進(jìn)行SM2驗簽;
Step 7:根據(jù)ui 獲取數(shù)據(jù)交換系統(tǒng)分配的私鑰dp,使用dp對m ?進(jìn)行SM2解密得到明文動態(tài)秘鑰m,利用m 對d ?進(jìn)行SM2解密。
3 實驗評價
為了對本文算法進(jìn)行有效的評價,在Intel(R)Xeon(R) CPU E5-2680 v4 @ 2.4GHz以及擁有32G內(nèi)存的Linux系統(tǒng)上進(jìn)行相關(guān)測試。
3.1 并發(fā)評價
使用Apache Jmeter共執(zhí)行50,000次請求,分別采用10、50、100、500個線程進(jìn)行壓并請求,統(tǒng)計成功率和響應(yīng)時間,結(jié)果如表2所示。從表中可以看出,當(dāng)線程數(shù)在100以下時,請求執(zhí)行成功率保持在100%,平均響應(yīng)時間低于0.5秒;當(dāng)線程數(shù)增加到500時,成功率在98%以上,平均響應(yīng)時間在2.1秒左右。從結(jié)果中可以看出,基于國密算法的數(shù)據(jù)交換算法完全能夠支撐高并發(fā)請求的需求。
3.2 時間評價
通過計算從獲取到請求到校驗結(jié)束所用時間來分析請求數(shù)據(jù)校驗算法運行時間效率。使用50個線程進(jìn)行20,000次請求得出如圖1箱線圖所示的結(jié)果,從圖1中可以看出,響應(yīng)時間離散程度較低,絕大部分集中在140~220毫秒之間,異常點非常少(幾乎可以忽略不計),說明基于國密算法的數(shù)據(jù)交換算法效率很高,對系統(tǒng)真正的請求基本沒有影響。
4 結(jié) 語
隨著信息技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)端采集的數(shù)據(jù)逐步需要交換至公安網(wǎng)以便保證數(shù)據(jù)的安全性,在此背景下,高效安全可靠的跨網(wǎng)數(shù)據(jù)交換技術(shù)顯得愈加重要,國密算法作為從國家安全戰(zhàn)略高度出發(fā)推出的算法,可以有效避免對國外技術(shù)產(chǎn)品過度依賴,增強國產(chǎn)系統(tǒng)的安全可控。本文基于國密算法設(shè)計的兩種數(shù)據(jù)交換算法,具有高并發(fā)、低時效特性,可以有效實現(xiàn)信息數(shù)據(jù)安全可靠的跨網(wǎng)傳輸,但隨著量子計算機、人工智能等新興技術(shù)的快速發(fā)展,上述算法將會面臨更大挑戰(zhàn)。支持視頻交換、國密算法和抗量子算法的研究將會是未來新的研究方向。
參考文獻(xiàn)
[1]FU W B. Mass internet of things data security exchangemodel under heterogeneous environment[J]. InternationalJournal of Embedded Systems, 2020, 12(4): 484-490.
[2]LI W, HU X, JIA Y, HUANG Z. Proxy-based FTP secureaudit technology[A]. IEEE Beijing Section.Proceedingsof 2014 IEEE 5th International Conference on SoftwareEngineering and Service Science[C]. IEEE Beijing Section:IEEE BEIJING SECTION, 2014: 663-666.
[3]李超,韓翔,劉釗,等.基于可信計算的跨網(wǎng)數(shù)據(jù)安全交換技術(shù)[J].計算機工程與設(shè)計,2021,42(10):2762-2769.
[4]HE X. Research on computer network security based onfirewall technology[J]. Journal of Physics, 2021, 1744(4):042037.
[5]陽恒,張巖,蔣怡,等.基于二維碼的涉密網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)設(shè)計[J].計算技術(shù)與自動化,2020,39(3):183-188.
[6]韓林,張春海,徐建良.基于二維碼的內(nèi)外網(wǎng)物理隔離環(huán)境下的數(shù)據(jù)交換[J].計算機科學(xué),2016,43(S2):520-522.
[7]諶志強,劉明星,韓文興,等.國密算法在核安全級DCS中的應(yīng)用研究[J].自動化儀表,2021,42(S1):276-281.
作者簡介
楊芝,通信作者,碩士研究生,助理研究員,研究方向為軟件工程、交通管理、數(shù)據(jù)挖掘。
宗欣,碩士研究生,助理研究員,研究方向為軟件工程、數(shù)據(jù)分析。
徐曉東,碩士研究生,副研究員,研究方向為交通管理。
是建榮,碩士研究生,副研究員,研究方向為交通管理。
(責(zé)任編輯:袁文靜)
基金項目:本文受國家重點研發(fā)計劃項目“道路交通事故數(shù)字化深度調(diào)查技術(shù)”(項目編號:2023YFC3009700)資助。