


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