吴雅云,庄绍燕,洪瑞安
中国人民解放军第一八零医院 信息科软件研发室,福建 泉州 362000
基于PCI接口的跨网络安全数据通信模式
吴雅云,庄绍燕,洪瑞安
中国人民解放军第一八零医院 信息科软件研发室,福建 泉州 362000
目的 实现多个网络之间的数据安全传输。方法在两个通讯服务器的PCI插槽上安装我院自主研发的隔离通信卡,通过自定义通讯协议在两台服务器之间进行数据交互。结果在保证原物理隔离安全性的基础上,实现了通讯双方在同一机房的数据交互量小、并发量不大的单链路多信道业务通讯。结论利用PCI接口作为多个网络之间物理隔离方案的通讯机制,在特定的业务方面有较强的可用性。
PCI接口;网络技术;网络安全;物理隔离
网络技术的发展在给大众带来便利的同时,信息的安全机制也经受了越来越多的挑战。企业内部因为业务的需要,经常涉及到多个网络之间的数据传输。通常称内部主业务网为可信端网络,而非主业务网络称为非可信端网络[1]。既要实现可信端和非可信端实时、高效的通信,又要保证可信端数据不被黑客通过非可信端非法窃取或篡改,使用网络隔离是最好的解决办法[2]。网络隔离技术的目标是在确保可信端网络内部信息不外泄的前提下,与非可信端网络实现网间数据的安全、实时、高效率交换。网络隔离主要分为物理隔离和逻辑隔离,重点是物理隔离[3]。物理隔离是解决不同网络间安全问题最有效的方式,在党、政、军等基于不同网络的领域被广泛应用。网络物理隔离主要有以下3个特征:① 每一次数据交换都需要经历数据写入和数据读出两个过程[4];② 内网与外网永不连接;③内网和外网在同一时刻最多只有1个与物理隔离设备建立非TCP/IP的数据连接[5]。
传统的物理隔离的数据传输主要以光盘、U盘的单向拷贝为主,该方式在一定程度上解决了网络间的数据通讯问题,但也为物理隔离网络之间增加了通讯的难度,并间接为病毒的传输提供了可能。
物理隔离的使用,在解决网络间通讯安全问题的同时也为一些需要在网络间交换的数据的通讯带来了诸多不便。我院利用服务器已有的外设部件互连标准(Peripheral Component Interconnect,PCI)接口结合相应的安全权限机制自主研发了隔离通信卡,在不牺牲物理隔离安全性的同时,又能够针对特定的业务实现不同网络间安全、实时、高效率的数据通讯。
PCI是目前计算机使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。PCI是在CPU和原来的系统总线之间插入的一级总线,具体由1个桥接电路实现对这一层的管理,并实现上下层之间的接口、协调数据的传送。其工作频率为33 MHz/66 MHz,当PCI 总线工作在33 MHz频率时,传输带宽达可达133 MB/s。在同一个机房,具有“物理隔离”的两个网络之间的机器,通过安装PCI接口硬件进行通讯,是解决短距离、小数据量数据实时传输的便捷方式。
在两个通讯服务器之间实现通讯,首先需要在服务器之间建立相应的连接,通过自定义的通讯协议在两台服务器之间进行数据交互。由于只是针对特定的业务,为了保障数据交互的安全,在PCI接口硬件之间所采用的交互协议要尽可能简单并带有严格的数据加密保护措施,对数据通讯服务器实行接收指令的限定,通过特定的指令返回相应的数据处理结果。在数据处理服务端定义相应的指令集用于接收固定的指令,再针对特定的指令返回处理结果。对于非法的指令直接丢弃。基于PCI接口连接的数据交互原理,见图1。
图1 基于PCI接口连接的数据交互形式
该交互方式实现了物理隔离网络之间的通讯,在最大限度地提高通讯效率的前提下,保证了物理隔离网络之间的安全性。在安全保障方面,通过硬件的方式实现传输加密;非标准协议握手验证和加密通讯在不同操作系统是通过操作系统本身的权限控制机制,限制客户端与服务器端的访问权限。
1.1 硬件准备
硬件端主要由PCI总线接口芯片CH365、USB接口芯片CH375、逻辑控制芯片ATF16V8B组成[6]。其中,CH365是一种32位转8位、数据传输速率可达7 Mbit的计算机PCI(或PCI-E)总线接口芯片;CH375是一个具有8位数据总线和读、写、片选控制线以及中断输出的USB总线通用接口芯片,并且里面带有2个可用于数据交换的64字节收发双向缓冲区;ATF16V8B是可写入控制逻辑的控制芯片[7]。硬件通信原理,见图2。
由图2可见,驱动软件通过PCI总线向CH365芯片发起64字节的数据传输请求,并通过ATF16V8B芯片通知CH375芯片并查询相应状态直到当CH375芯片可写时,CH365芯片向CH375芯片写完数据并产生中断告知CH375芯片;CH375芯片收到此中断信号,则通过USB协议向对方的卡发送待传输的64字节数据。对方的CH375芯片收到数据后将数据存放在64字节接收缓冲区,同时向ATF16V8B芯片发出中断信号并等待CH365芯片接收数据,待数据接收完毕后关闭中断信号。由于CH375芯片具有2个64字节缓冲区,可以将2个缓冲区分别设置为接收缓冲区和发送缓冲区,由此构成数据收发的全双工链路。
图2 硬件通信原理图
1.2 通讯协议
1.2.1 通讯链路的建立
通信卡虽然不建立标准的TCP/IP链接,但是为了保证数据收发的同步,建立链接时仍然使用类似于TCP/IP的“3次握手”协议和“4次分手”协议[8]。
所谓的“3握手”就是对每次发送的数据量怎样跟踪、协商,使数据段的发送和接收同步;当数据发送、接收完毕后何时撤消联系,并建立虚拟连接。为了提供可靠的传送信息,TCP 在发送新的数据之前,以特定的顺序号将数据打包并传送给目标机。TCP 总是用于发送大批量数据。当应用程序在收到数据后做出确认时也要用到TCP。握手时序通信原理,见图3。
图3 握手时序图
第1次握手:建立连接时,A端发送syn 包(syn=j)到B端,并进入SYN_SEND状态,等待B端确认。
第2次握手:B端收到syn包,必须确认A端的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第3次握手:A端收到B端的SYN+ACK包,向B端发送确认包ACK(ack=k+1),此包发送完毕,A端和B端进入ESTABLISHED状态,完成3次握手。
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成数据发送任务后就发送1个FIN来终止这个方向的连接;收到1个 FIN只意味着这一方向上没有数据流动。1个TCP连接在收到1个FIN后仍能发送数据,首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
1.2.2 数据帧格式
通讯卡采用有限数据通信模式,即数据服务器所能接收的指令事先定义并保存在相应的请求指令集。数据处理服务器端接收到的数据首先需要进行解密,再进行有效性判断,不符合的数据一律被认为是无效数据(丢弃);对于符合指令处理程序的数据,根据指令的要求加密后返回给客户端。这样,即使黑客掌握通信协议向PCI硬件卡发送的信息,也无法进行正确的加密、解密,其指令也是数据处理服务器不认可的[9]。
CH375芯片里面带有2个可用于数据交换的64字节收发双向缓冲区,在通信协议设计时,协议的帧头固定占用4个字节,帧数据区占用60个字节。4个字节的帧头又分为握手区和指令区,第1个字节用来存放上位机的通讯信道和握手协议信号;第2~4这3个字节用来存放具体的通讯指令。
第1字节握手区的8 bit又分为两部分。第一部分为前3 bit,用来存放通讯信道,支持23=8种通讯信道,即已配对的1套通信卡可以支持上位机8种通讯程序;第二部分为剩下的5个bit,用于存放握手协议和分手协议的应答信号,协议支持25=32种协议握手信号。
指令区3个字节的字长支持224=1703936种有效性通信指令。内部通信指令还可区分为控制指令和数据传输指令。控制指令占用第3字节,包含3次握手和4次分手指令集合,最多可以达到28=256种指令;数据传输指令共同占用第 2、3字节,包括数据传输开始、数据帧中传输、丢弃指令、数据重发、数据结束等指令。指令集支持216=65536种指令。为了保证通信卡的通用性,协议保留第1字节给上位机自行定义。上位机用户可以根据具体的应用自行定义指令格式,指令集数量支持224-216-28=16777216-65536-256=16711424种指令。
帧数据区由缓冲区的第4字节和其他59个字节组成,其中第4字节的低4位组成的最大可表示64数值、代表59个字节的数据长度。高4位组成的最大可表示64数值、表示数据传输的加密标准[10](数据加密标准涉及通信卡通信安全,此处不展开说明)。由此构成的帧格式示意图,见图4。
图4 64字节数据帧格式
1.3 通信端配置
在准备好硬件与定义相应的通讯协议后,基于不同的操作系统还要进行相应权限分配的设置。本通讯方式在数据传输时,在请求客户端服务器与数据处理服务器间并没有相应的标准协议,而是分别在两个服务器的操作系统中定义了通讯双方所能够访问的目录。该目录通过操作系统用户的权限来设定,只具备读、写的功能,并限定存储文件类型为文本类型。这样的限定将会极大降低服务器间传递恶意程序的可能性,从而提高服务器的安全性。
1.4 通讯设备的使用
经过硬件、通讯协议以及通讯两端之间的安全配置后,只需在通讯的服务器上安装相应的上位机驱动程序,并进行简单的配置,即可为通讯的双方提供相应的安全数据通讯。
在数据处理服务端,需要配置可接收的指令集,并设置接收数据的加密机制。当请求客户端发起正确加密的指令后,服务器通过监控指定目录接收的指令,从数据库或者其他存储介质中获取到处理的结果数据,并通过加密的方式传输到请求客户端。请求客户端接收到的数据同样放在指定的目录下,请求客户端通过将返回的数据格式与相应的发送请求进行匹配,形成相应的结果数据,返回给最终用户。
由于通讯卡内部CH365数据传输速率可达7Mbit并且采用全双工通信链路,去除协议包的数据流量损耗,实际的通信速率可以达到6.4 Mbit。在给医保、农保和互联网提供查询应用时,其速率已和普通互联网接入的下行带宽相当。在实际使用中,应用程序并未有明显的网络隔离中断等待。对用户和黑客也实现了网络透明,让恶意程序无法进入可信端窃取和破坏数据,实现理想的隔离,使数据高速率、安全地进行通信。
本文提出了一种利用PCI接口作为多个网络之间物理隔离方案的通讯机制,使通讯双方在同一机房实现交互数据量小、并发量不大的单链路多信道业务通讯。在本文中涉及到的硬件、软件配置,并不需要很高的成本,只是利用了最基本的服务器的已有接口,并配合简单的传输配件,即可组成1个便捷的跨网络安全数据传输设备。该机制从硬件层面、软件层面都对物理隔离网络之间的数据通讯设置了相应的安全保障,能够实现物理隔离网络之间高效率、实时、安全的数据交换,并减少了病毒传输的可能性[11],在特定的业务方面有较强的可用性。
[1] 王洪强,詹永丰,张蔚,等.基于网闸实现物理隔离的网上预约挂号系统[J].中国数字医学,2010,5(11):71-72.[2] 王朝坤,付军宁,王建民,等.软件放篡改技术综述[J].计算机研究与发展,2011,48(6):923-933.
[3] 常建国,宫彦婷,徐京渝,等.医院HIS网络与医保网络间数据交换安全解决方案[J].中国医疗设备,2012,27(3):63-67.
[4] 张继永.网络隔离技术与信息安全[J].中国信息界,2010,(9):25-26.
[5] 陈强,付强,张勇.浅谈网络隔离技术[J].北京交通,2010,(4):195-197.
[6] 于京杰,戚仕涛.医院内网终端准入控制与测试研究[J].中国医疗设备,2012,27(6):42-44.
[7] 伊勇,李宇.PCI总线设备开发宝典[M].北京:航空航天大学出版社,2005:67-69.
[8] 何鹏举,王万诚,李高盈,等.网络隔离设计器的设计与使用[J].控制工程,2002,(6):52-53.
[9] 郭栋.加密与解密实战功略[M].北京:清华大学出版社,2003: 189-240.
[10] 余威.安全隔离系统中隔离方案与实现[D].北京:清华大学,2004.
[11] 胡道元,闵京华.网络安全[M].北京:清华大学出版社,2008.
Network-Spanned and Secure Data Communication Mode Based on PCI Interface
WU Ya-yun, ZHUANG Shao-yan, HONG Rui-an
Software Development Room of Information Department, The 180thHospital of PLA, Quanzhou Fujian 362000, China
ObjectiveTo implement the secure data transmission between multiple networks.MethodsIsolated communication card developed by our hospital is installed in the PCI slot between two communication servers so that data interaction can be implemented between two servers via custom communication protocol.ResultsThe single-link and multichannel data communication with a small amount of data interaction and concurrency between both sides of communication within the same computer room is implemented based on the original physical isolation security.ConclusionThe communication mechanism which regards PCI interface as its physical isolation scheme among various networks has strong usability in the aspect of professional work.
PCI interface; network technology; network security; physical isolation
TP393.08
A
10.3969/j.issn.1674-1633.2014.03.014
1674-1633(2014)03-0045-03
2013-08-23
2013-09-11
作者邮箱:wuyayun@163.com