朱珺,关广东
(工业和信息化部电子第五研究所,广东 广州 511370)
随着人类社会进入信息化时代,信息技术、网络技术和通信技术的发展迅速,被广泛地应用于各行各业,无论是政府、企事业单位还是个人,对于数据、信息和知识的需求都在快速地增长[1-4]。同时,伴随着IT技术的广泛应用,一方面,各行各业都积累了大量的数据和信息,数据和信息以海量的速度增长;另一方面,企业、政府和公检法机关在信息化过程中建立的、用于存储源数据的数据库独立于不同的网络信息平台中[5-6]。由于这些数据处于不同的安全区域,造成了海量的异构数据分散于不同的网络中,难以实现广泛的共享[7-8],因此,亟需通过安全、有效的方式来对这些不同应用系统中的异构信息资源进行跨领域、跨网络和跨系统的传递与整合。
目前,常规的符合安全保密要求的跨域信息交换的方式主要有两类:1)基于一次性写入介质的物理摆渡方式,如光盘人工摆渡和通过光盘摆渡机类设备摆渡[2,5];2)基于UDP无连接传输协议的单向传输方式,在电信号连通的情况下通过控制策略来实现数据的单向传输,即单向网闸类设备[7-9],如美国鲸鱼公司的e-GAP和Spearhead公司的NETGAP,国内中网公司的X-GAP、天行网安公司的Topwalk GAP和天融信公司的TopRules等。物理摆渡交换方式的优点是没有电信号连接,实现了物理隔离,安全性较好,信息输送量较大,但其交换效率较低;而单向网闸交换方式的优点则是交换效率高、实时性好,但又因为存在电信号连接,不能实现内外网、不同网络之间的物理隔离,存在网络安全风险,无法满足企业、政府特别是公检法机关某些对网络安全要求比较高的业务系统进行数据信息安全交换的要求。
针对物理摆渡方式交换效率低和单向网闸方式无法实现物理隔离问题,本文设计了一套基于二维码技术的内外网物理隔离环境下的安全数据交换系统,可以实现跨域信息在无电信号连通下的高效安全交换。
二维码(two-dimensional bar code)是一种近年来在移动设备上超流行的编码方式,它比传统的条行码(bar code)能存储更多的信息,也能标识更多的数据类型[10-12]。二维码是用某种特定的几何图形按一定的规律在平面(二维方向)上分布的、黑白相间的、记录数据符号信息的图形,在代码编制上巧妙地利用能构成计算机内部逻辑基础的“0” “1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图形输入设备或光电扫描设备自动地识读以实现信息自动地处理。此外,二维码还具有条码技术的一些共性:拥有特定的字符集,每个字符占有一定的宽度,具有信息自动识别和校验功能。
本设计方案采用技术最成熟、应用最广泛的QR Code二维码,它是由Denso公司于1994年9月研制的一种矩阵二维码符号,具有信息容量大、识别速度高、可靠性高、可表示汉字及图像等多种文字信息和保密防伪性高等优点。QR Code二维码经过压缩处理后理论上最大可以存储7 089个数字,或4 296个字母和数字混合字符,或2 953个8位字节数据,或1 817个汉字;此外,QR Code还支持4个纠错级别,最大支持30%的信息错误纠正。
基于二维码的跨域安全数据交换系统设计在互联网侧配置防火墙、交换机、输出机、二维码显示屏和信息发送处理服务器,在内网侧配置二维码扫描仪、输入机、信息接收处理服务器和人工校验客户端等。基于二维码的跨域数据交换设计的硬件部署环境如图1所示。
图1 硬件部署图
为了实现在物理隔离条件下进行互联网与内网的跨域安全的信息传输,通过二维码数据交换技术,在互联网输出机上生成二维码图片,将需要发送的信息保存到二维码中,通过二维码扫描设备,使用计算机屏幕将信息读取并保存到内网输入机系统中。
基于成熟的二维码识别技术实现信息的跨网传递,其核心技术在于信息单向传输控制协议,即通过协议实现对信息的输入、控制和校验。协议规定了信息从输入到校验反馈的闭环过程,其中的信息输入、信息传输控制、信息校验原始代码和信息校验结果反馈为全自动过程,对于自动信息校验后结果可选择自动处理或人工复验,从而确保信息的单向传输和安全可控。
基于二维码的信息跨域安全交换系统在互联网侧部署需求处理客户端、数据处理与调度服务端和发送客户端,在内网侧部署接收客户端、同步数据处理服务端和人工纠错校验客户端。在互联网侧,由需求处理客户端负责处理来自互联网的数据交换需求,然后将同步数据交给数据处理与调度服务端处理,再由后者将待同步的数据信息进行序列化、信息编码、数据加密和信息分包后分发给各个发送客户端生成二维码;在内网侧,各个接收客户端通过定时检测机制由二维码扫描设备获取同步数据,解码后交予同步数据处理服务端进行数据信息合并和自动纠错校验处理,最后经人工纠错校验(可选)后的数据提交给内网业务信息系统使用。跨域数据安全交换系统的设计原理如图2所示。
图2 跨域数据安全交换系统的设计原理
QR Code最多存储2 953字节的数据,除二维码版本、格式信息、数据和容错秘钥等固有信息外,单个二维码所承载的数据信息只有2 kb左右,故单个二维码数据的传输能力有限,需要对安全交换的数据进行信息编码、分包、解码和合并处理。
基于二维码的跨域信息安全交换系统的数据信息编码格式由消息头和消息体两个部分组成。消息头包括用户安全验证、传输请求、传输内容控制、逻辑控制和差错校验控制等传输内容的控制,主要由流水号、数据类型、加密标识、总包数、包序号、同步时间、消息长度和校验字等信息组成;消息体即为拆分后的跨域信息安全交换的数据。
基于二维码的信息跨域安全交换系统采用二维码作为传输介质,采用摄像或者光扫描的方式实现不同级别网络之间数据的非接触式传输,由于二维码技术的自有技术特点,二维码存在携带木马和病毒的风险,为了保证传输和网络的安全,系统设计前应先对要传输的信息进行加密处理,然后再采用二维码技术进行数据交换传输。
本系统所用的加密算法用于数据传输,需要加密速度快且可逆,由于Hash加密算法是不可逆的,而非对称加密算法的加解密速度要远远地慢于对称加密,故选用对称加密算法。基于对DES、IDEA、RC4、RC5、RC6、Blowfish和AES等加密算法的分析,综合了安全性和加解密效率,在本系统的设计中选用了AES加密算法。AES是一种区块加密标准,具有秘钥建立时间短、灵活性好和内存需求低等优点,目前对AES的破解只有暴力破解方法,可以通过合理地选择秘钥的长度来提高AES加密的安全性。
为了保证二维码数据传输的正确性,基于二维码的信息跨域安全交换系统设计了单项数据可靠纠错和数据安全校验机制。
a)单项数据可靠纠错
单张二维码图片承载的数据信息的可靠性由二维码技术的容错机制、数据编解码技术和数据重传机制实现。
b)数据安全校验
一条同步数据由多张二维码图片进行传输,根据传输协议头中的数据包数量及校验字段位对单个数据分包和合并后的完整的同步数据分别进行数据安全校验。
在互联网侧,在收到跨域信息安全交换请求后,首先,对其数据进行数据加密处理;然后,将信息数据信息编码和分包;最后,将分包后的数据包逐个生成二维码在屏幕上显示并延时等待,直至所有的消息均同步完毕后再处理下调数据的同步请求。跨域信息安全交换系统互联网发送端的软件处理流程如图3所示。
图3 互联网发送端的软件处理流程图
互联网发送端的软件处理流程为:
a)启动互联网发送端软件;
b)接收跨域信息安全交换请求,对同步数据按协议进行序列化、数据加密和数据压缩等操作,生成二进制流;
c)对二进制流进行分包处理,每个包都包含消息头和消息体;
d)调用二维码生成接口将待传输的数据包转换为二维码;
e)在二维码显示屏幕展示第一个二维码图像,并根据系统配置延时等待接收端扫描二维码;
f)对后续二进制数据包逐一进行二维码图像生成并依次在屏幕展示,直至本次同步数据的所有数据包均传输完毕。
在内网接收端,定时地读取二维码扫描仪获取的同步数据包,先将收到的二维码数据信息解析,然后依据同步数据的消息头进行消息匹配,再对数据进行校验后存入同步数据缓冲区。如已经收到全部的数据同步包,则进行数据合并、信息解密和数据校验等后续处理。内网接收端的软件处理流程如图4所示。
图4 内网接收端的软件处理流程图
内网接收端的软件处理流程为:
a)启动内网接收端软件;
b)定时扫描二维码扫描仪的数据,对二维码同步数据进行实时监控;
c)解析收到的二维码图片,将其还原为数据同步包;
d)提取数据同步包的消息头,遍历同步消息缓冲区,如未找到前序同步数据包,则申请新的消息缓冲区存储新同步消息,否则将其存入前序同步数据包的消息缓冲区;
e)判断是否收到所有的同步数据包,如已全部同步完毕,则进行数据合并、数据信息解密和数据差错校验;
f)如需人工校验则提交给人工校验客户端处理,处理后提交给业务信息系统。
本文介绍了一种内外网物理隔离环境下的跨域信息安全交换解决方案,通过对二维码识别技术的巧妙运用,在数据发送端将数据交换信息转化为二维码,再经二维码识别设备在接收端进行数据还原,从而实现了无电信号连通下的跨域信息安全交换,大大地提升了内/外网或高/低网络之间的数据交换能力。这种方法特别适用于具有一定量信息交换要求,并且有较高及时性的应用场景,对于政府、公检法机关的指挥信息系统中接入气象、水文、民情、局部交通路况和社会舆情等方面的数据信息具有较大的应用市场。