基于国密算法的跨网数据安全交换技术研究

2025-01-23 00:00:00杨芝宗欣徐晓东是建荣
中国标准化 2025年1期
关键词:数据交换数字签名

摘 要:跨网数据交换是企业和政府日常工作中极其重要的一部分。本文首先概括了现有数据交换技术和国密算法的情况,其次提出一种基于国密算法的跨网数据交换技术及设计相应算法,运用动态混合加密、数字签名、备案机制、授权和鉴权等技术或手段实现跨网数据交换,最后通过算法实验从并发、时间维度评价算法的性能,对未来的研究方向提出了建议。

关键词:数据交换,国密算法,数字签名,备案机制

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)资助。

猜你喜欢
数据交换数字签名
浅析计算机安全防护中数字签名技术的应用
XBRL在财务报表网络数据交换中的应用
基于数字签名的QR码水印认证系统
中职学校教学资源管理系统的设计与实现
数字签名简述
基于SQL语句的通用数据交换方法研究与应用
软件导刊(2015年5期)2015-06-01 13:14:00
国际物流客户服务平台架构与实现
软件导刊(2015年1期)2015-03-02 12:23:01
掌握方法用好数字签名
个人电脑(2014年12期)2014-12-29 13:29:47
基于数字签名和HSM的数据库篡改检测机制
复制数字签名,巧妙伪装病毒