跨网络安全数据通信模式

时间:2022-10-26 01:42:08

跨网络安全数据通信模式

在两个通讯服务器之间实现通讯,首先需要在服务器之间建立相应的连接,通过自定义的通讯协议在两台服务器之间进行数据交互。由于只是针对特定的业务,为了保障数据交互的安全,在PCI接口硬件之间所采用的交互协议要尽可能简单并带有严格的数据加密保护措施,对数据通讯服务器实行接收指令的限定,通过特定的指令返回相应的数据处理结果。在数据处理服务端定义相应的指令集用于接收固定的指令,再针对特定的指令返回处理结果。对于非法的指令直接丢弃。基于PCI接口连接的数据交互原理,见图1。该交互方式实现了物理隔离网络之间的通讯,在最大限度地提高通讯效率的前提下,保证了物理隔离网络之间的安全性。在安全保障方面,通过硬件的方式实现传输加密;非标准协议握手验证和加密通讯在不同操作系统是通过操作系统本身的权限控制机制,限制客户端与服务器端的访问权限。

1硬件准备

硬件端主要由PCI总线接口芯片CH365、USB接口芯片CH375、逻辑控制芯片ATF16V8B组成。其中,CH365是一种32位转8位、数据传输速率可达7Mbit的计算机PCI(或PCI-E)总线接口芯片;CH375是一个具有8位数据总线和读、写、片选控制线以及中断输出的USB总线通用接口芯片,并且里面带有2个可用于数据交换的64字节收发双向缓冲区;ATF16V8B是可写入控制逻辑的控制芯片。硬件通信原理,见图2。由图2可见,驱动软件通过PCI总线向CH365芯片发起64字节的数据传输请求,并通过ATF16V8B芯片知CH375芯片并查询相应状态直到当CH375芯片可写时,CH365芯片向CH375芯片写完数据并产生中断告知CH375芯片;CH375芯片收到此中断信号,则通过USB协议向对方的卡发送待传输的64字节数据。对方的CH375芯片收到数据后将数据存放在64字节接收缓冲区,同时向ATF16V8B芯片发出中断信号并等待CH365芯片接收数据,待数据接收完毕后关闭中断信号。由于CH375芯片具有2个64字节缓冲区,可以将2个缓冲区分别设置为接收缓冲区和发送缓冲区,由此构成数据收发的全双工链路。

2通讯协议

2.1通讯链路的建立通信卡虽然不建立标准的TCP/IP链接,但是为了保证数据收发的同步,建立链接时仍然使用类似于TCP/IP的“3次握手”协议和“4次分手”协议。所谓的“3握手”就是对每次发送的数据量怎样跟踪、协商,使数据段的发送和接收同步;当数据发送、接收完毕后何时撤消联系,并建立虚拟连接。为了提供可靠的传送信息,TCP在发送新的数据之前,以特定的顺序号将数据打包并传送给目标机。TCP总是用于发送大批量数据。当应用程序在收到数据后做出确认时也要用到TCP。握手时序通信原理,见图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后仍能发送数据,首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。

2.2数据帧格式通讯卡采用有限数据通信模式,即数据服务器所能接收的指令事先定义并保存在相应的请求指令集。数据处理服务器端接收到的数据首先需要进行解密,再进行有效性判断,不符合的数据一律被认为是无效数据(丢弃);对于符合指令处理程序的数据,根据指令的要求加密后返回给客户端。这样,即使黑客掌握通信协议向PCI硬件卡发送的信息,也无法进行正确的加密、解密,其指令也是数据处理服务器不认可的。CH375芯片里面带有2个可用于数据交换的64字节收发双向缓冲区,在通信协议设计时,协议的帧头固定占用4个字节,帧数据区占用60个字节。4个字节的帧头又分为握手区和指令区,第1个字节用来存放上位机的通讯信道和握手协议信号;第2~4这3个字节用来存放具体的通讯指令。第1字节握手区的8bit又分为两部分。第一部分为前3bit,用来存放通讯信道,支持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数值、表示数据传输的加密标准(数据加密标准涉及通信卡通信安全,此处不展开说明)。由此构成的帧格式示意图,见图4。

3通信端配置

在准备好硬件与定义相应的通讯协议后,基于不同的操作系统还要进行相应权限分配的设置。本通讯方式在数据传输时,在请求客户端服务器与数据处理服务器间并没有相应的标准协议,而是分别在两个服务器的操作系统中定义了通讯双方所能够访问的目录。该目录通过操作系统用户的权限来设定,只具备读、写的功能,并限定存储文件类型为文本类型。这样的限定将会极大降低服务器间传递恶意程序的可能性,从而提高服务器的安全性。

4通讯设备的使用

经过硬件、通讯协议以及通讯两端之间的安全配置后,只需在通讯的服务器上安装相应的上位机驱动程序,并进行简单的配置,即可为通讯的双方提供相应的安全数据通讯。在数据处理服务端,需要配置可接收的指令集,并设置接收数据的加密机制。当请求客户端发起正确加密的指令后,服务器通过监控指定目录接收的指令,从数据库或者其他存储介质中获取到处理的结果数据,并通过加密的方式传输到请求客户端。请求客户端接收到的数据同样放在指定的目录下,请求客户端通过将返回的数据格式与相应的发送请求进行匹配,形成相应的结果数据,返回给最终用户。由于通讯卡内部CH365数据传输速率可达7Mbit并且采用全双工通信链路,去除协议包的数据流量损耗,实际的通信速率可以达到6.4Mbit。在给医保、农保和互联网提供查询应用时,其速率已和普通互联网接入的下行带宽相当。在实际使用中,应用程序并未有明显的网络隔离中断等待。对用户和黑客也实现了网络透明,让恶意程序无法进入可信端窃取和破坏数据,实现理想的隔离,使数据高速率、安全地进行通信。

5结语

本文提出了一种利用PCI接口作为多个网络之间物理隔离方案的通讯机制,使通讯双方在同一机房实现交互数据量小、并发量不大的单链路多信道业务通讯。在本文中涉及到的硬件、软件配置,并不需要很高的成本,只是利用了最基本的服务器的已有接口,并配合简单的传输配件,即可组成1个便捷的跨网络安全数据传输设备。该机制从硬件层面、软件层面都对物理隔离网络之间的数据通讯设置了相应的安全保障,能够实现物理隔离网络之间高效率、实时、安全的数据交换,并减少了病毒传输的可能性,在特定的业务方面有较强的可用性。

作者:吴雅云庄绍燕洪瑞安单位:中国人民第一八零医院信息科软件研发室

上一篇:PB的C/S模式数据通信软件的开发 下一篇:信息系统数据通信的安全