一种物理隔离网络间数据交换方法及系统与流程

文档序号:18267652发布日期:2019-07-27 09:19阅读:420来源:国知局
一种物理隔离网络间数据交换方法及系统与流程

本发明涉及网络通讯安全技术领域,特别涉及一种物理隔离网络间数据交换方法及系统。



背景技术:

随着计算机网络的不断发展,其安全性面临着日益加剧的威胁。在利用计算机相互交流,获取信息的同时,需确保上网计算机本身的数据安全。一般使用中间物理硬件(u盘、安全机器),分时访问不通过的计算、网络设备,完成单向的数据交换。

传统的解决方案是采用安全隔离网闸又名网闸,用以实现两个相互业务隔离的网络之间的数据交换,并提供适度可控的数据交换的软硬件系统。通用的网闸模型一般分为三个基本部分:(a)网络处理单元,(b)外网处理单元,(c)隔离与交换控制单元(隔离硬件)。其中:三个部分都要求其软件的操作系统是安全的,也就是采用非通用的操作系统,或改造后的专用操作系统。一般为unixbsd或linux的经安全精简版本,或者其他是嵌入式操作系统vxworks等,但都要对底层需要的协议、服务删除,使用的协议优化改造,增加安全特性,同时提高效率。三个基本部分的功能如下:

内网处理单元:包括内网接口单元与内网数据缓冲区,接口部分负责与内网的链接,并终止内网用户的网络连接,对数据进行病毒检测、防火墙、入侵防护等安全检测后剥离出“纯数据”,做好交换的准备,也完成来自内网对用户身份的确认,确保数据的安全通道。数据缓冲区是存放并调度剥离后的数据,负责与隔离交换单元的数据交换。

外网处理单元,其与内网处理单元的功能相同,但处理的是外网连接。

隔离与交换控制单元,是网闸隔离控制的摆渡控制,控制交换通道的开启与关闭,控制单元中包含一个数据交换区,就是数据交换中的摆渡船。对交换通道的控制的方式目前有两种技术,摆渡开关与通道控制。其中:摆渡开关是电子倒换开关,实现数据交换区与内外网在任意时刻的不同时连接,形成空间间隔gap,实现物理隔离。通道方式是在内外网之间改变通讯模式,中断了内外网的直接连接,采用私密的通讯手段形成内外网的物理隔离。该单元中还有一个数据交换区,作为交换数据的中转。

目前的安全隔离网闸一般包括两类模式:

一种模式就是在内外网处理单元中,接口处理与数据缓冲之间的通道,称内部通道1,缓冲区与交换区之间的通道,称内部通道2。对内部通道的开关控制,就可以形成内外网的隔离。模型中的用中间数据交换区摆渡数据,称为三区模型。在摆渡时,交换区的总线分别与内、外网缓冲区连接,也就是内部通道2的控制,完成数据交换。

另一种模式就是取消数据交换区,分别交互控制内部通道1与内部通道2,形成二区模型。二区模型的数据摆渡分为两次:先是连接内、外网数据缓冲区的内部通道2断开,内部通道1连接,内、外网接口单元将要交换的数据接收过来,存在各自的缓冲区中,完成一次摆渡。然后内部通道1断开,内部通道2连接,内、外网的数据缓冲区与各自的接口单元断开后,两个缓冲区连接,分别把要交换的数据交换到对方的缓冲区中,完成数据的二次摆渡。

内部通道一般也采用非通用网络的通讯连接,让来自两端的可能攻击终止于接口单元,从而增强网闸的隔离效果。安全隔离网闸涉及的目的是隔离内外网业务连接的前提下,实现安全的数据交换。但其存在的缺点主要在于:价格昂贵,且由于一直网络互联,从本质上来说,已打破了物理隔离的特性,存在一定的安全风险。



技术实现要素:

本发明的目的在于提供一种成本低廉的物理隔离网络间的数据交换方式。

为实现以上目的,一方面,本发明采用一种物理隔离网络间数据交换方法,用于对相互隔离的第一网络和第二网络进行数据交换,第一网络连接有第一计算机,第二网络连接有第二计算机,第一计算机和第二计算机均与kvm切换器连接,kvm切换器连接有存储设备,包括:

第一计算机获取数据迁移请求,并根据数据迁移请求获取第一网路中相应的数据作为待迁移数据;

控制kvm切换器在第一计算机和第二计算机之间进行切换,使得kvm切换器上的存储设备在第一计算机和第二计算机之间进行挂载切换,实现存储设备中数据信息的交换。

进一步地,所述控制kvm切换器在第一计算机和第二计算机之间进行切换,使得kvm切换器上的存储设备在第一计算机和第二计算机之间进行挂载切换,实现存储设备中数据信息的交换,包括:

控制kvm切换器切换至所述第一计算机,并将所属待迁移数据迁移至所述存储设备;

控制kvm切换器切换至所述第二计算机,将所述存储设备中的待迁移数据所述第二计算机。

进一步地,所述控制kvm切换器切换至所述第一计算机,并将所属待迁移数据迁移至所述存储设备,包括:

所述第一计算机将待迁移数据存入缓存队列,并持续监听所述数据迁移请求;

所述第一计算机实时监听kvm控制域切换事件,并在kvm控制域切换至本机时,等待kvm切换器上的存储设备挂载完成;

在存储设备挂载完成时,将所述缓存队列中的待迁移数据迁移至所述存储设备。

进一步地,所述控制kvm切换器切换至所述第二计算机,将所述存储设备中的待迁移数据所述第二计算机,包括:

所述第二计算机实时监听kvm控制域切换事件,并在kvm控制域切换至本机时,等待kvm切换器上的存储设备挂载完成;

在所述存储设备挂载完成时,读取所述存储设备上的待迁移数据,并存储至本地。

进一步地,在所述存储设备挂载完成时,读取所述存储设备上的待迁移数据,并存储至本地之后,还包括:

所述第二计算机调用数据发送接口,对所述待迁移数据进行即时推送。

进一步地,所述kvm切换器包括键盘、显示器和鼠标,所述控制kvm切换器在第一计算机和第二计算机之间进行切换,包括:

按照设定的移动轨迹控制鼠标移动,使显示器切换至控制第一计算机状态;

在显示器切换至控制第一计算机状态时间t1后,控制鼠标移动,使显示器切换至控制第二计算机状态;

在显示器切换至控制第一计算机状态时间t2后,重复执行按照设定的移动轨迹控制鼠标移动,使显示器切换至控制第一计算机状态。

另一方面,采用一种物理隔离网络间数据交换系统,包括与相互隔离的物理网络分别连接的第一计算机和第二计算机,以及与第一计算机和第二计算机连接的数据交换装置,所述数据交换装置包括:kvm切换器、存储设备和操作设备,存储设备和操作设备均与kvm切换器连接,其中:

存储设备用于存储待交换的数据信息;

kvm切换器用于在第一计算机和第二计算机之间进行切换,使得kvm切换器上的存储设备在第一计算机和第二计算机之间进行挂载切换,实现存储设备中数据信息的交换。

进一步地,所述kvm切换器包括鼠标、显示器和键盘,所述数据交换装置还包括控制板和驱动装置,控制板输出端连接驱动装置,驱动装置驱动端与所述鼠标连接;

驱动装置用于接收控制板输出的移动轨迹信息,并按照移动轨迹信息驱动所述鼠标移动。

进一步地,所述驱动装置包括电机和驱动杆,电机转轴与驱动杆一端连接,驱动杆另一端与所述鼠标经线绳连接。

与现有技术相比,本发明存在以下技术效果:本发明利用kvm切换器在第一计算机和第二计算机之间切换,从而使得kvm切换器上的存储设备可以在两台物理隔绝的第一计算机和第二计算机之间进行切换,在切换至控制第一计算机状态时,将需要迁移的数据转移到存储设备中,在kvm切换器切换到第二计算机上时,第二计算机获取存储设备中的数据,并发送至指定的数据接口,完成数据从第一网络到第二网络的转移。本方案中第一计算机和第二计算机的网络处于未打通状态两个网络之间仍为隔离状态,而传统的网闸方案中,两个网络是互联状态,存在大量的潜在安全威胁,本方案采用物理的方式,完成数据交换,保持两个网络的隔离性,安全性较好。同时本方案中只需采用kvm切换器等,成本低廉。

附图说明

下面结合附图,对本发明的具体实施方式进行详细描述:

图1是一种物理隔离网络间数据交换方法的流程示意图;

图2是第一计算机的工作流程示意图;

图3是第二计算机的工作流程示意图;

图4是鼠标移动控制过程示意图;

图5是一种物理隔离网络间数据交换系统的结构视图;

图6是驱动装置与鼠标的连接示意图。

具体实施方式

为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。

如图1所示,本实施例公开了一种物理隔离网络间数据交换方法,用于对相互隔离的第一网络和第二网络进行数据交换,第一网络连接有第一计算机,第二网络连接有第二计算机,第一计算机和第二计算机均与kvm切换器连接,kvm切换器连接有存储设备,包括如下步骤s1至s2:

s1、第一计算机获取数据迁移请求,并根据数据迁移请求获取第一网路中相应的数据作为待迁移数据;

其中,第一计算机通过服务接口与第三方应用完成数据交换,使得第三方应用可通过服务接口向第一计算机发送数据迁移请求,该数据迁移请求携带有需向第二网络进行转移的数据信息。

s2、控制kvm切换器在第一计算机和第二计算机之间进行切换,使得kvm切换器上的存储设备在第一计算机和第二计算机之间进行挂载切换,实现存储设备中数据信息的交换。

其中,kvm切换器包括鼠标、键盘和显示器,存储设备与显示器均与kvm连接,计算机上的显示接口接入kvm的input端,然后显示器接入到kvm的output端。在高安全需求下,kvm切换器无法开放接口用于编程控制切换,可通过手动人工切换。还可以自动控制鼠标移动,如图4所示,过程如下:

1)控制板输出按照设定的移动轨迹控制鼠标移动,使显示器切换至控制第一计算机状态;

2)在显示器切换至控制第一计算机状态时间t1后,控制鼠标移动,使显示器切换至控制第二计算机状态;

3)在显示器切换至控制第一计算机状态时间t2后,重复执行步骤1)。

进一步地,上述步骤s2具体包括如下步骤s21至s22:

s21、控制kvm切换器切换至所述第一计算机,并将所属待迁移数据迁移至所述存储设备;

s22、控制kvm切换器切换至所述第二计算机,将所述存储设备中的待迁移数据所述第二计算机。

需要说明的是,通过控制鼠标的移动,完成鼠标在第一计算机和第二计算机之间的控制切换,使得kvm控制器上的存储设备在第一计算机和第二计算机之间不停切换,第一计算机在空闲时间t1内将从第一网络中获取的待迁移数据转移到存储设备中,第二计算机在空闲时间t2内将从存储设备获取的数据转移到第二计算机。应当理解的是,空闲时间t1和空闲时间t2均为常数且t1和t2可以相等也可不相等。

进一步地,上述步骤s21:控制kvm切换器切换至所述第一计算机,并将所属待迁移数据迁移至所述存储设备,包括如下步骤s211至s213:

s211、所述第一计算机将待迁移数据存入缓存队列,并持续监听所述数据迁移请求;

s212、所述第一计算机实时监听kvm控制域切换事件,并在kvm控制域切换至本机时,等待kvm切换器上的存储设备挂载完成;

s213、在存储设备挂载完成时,将所述缓存队列中的待迁移数据迁移至所述存储设备。

需要说明的是,如图2所示,第一计算机主要存在两个服务,数据迁移请求接收服务和数据迁移服务,其中,数据迁移请求接收服务过程包括:

a)启动监听数据迁移请求接收服务,并测试本机服务的可用性;

b)实时监听数据迁移请求,并判断是否监听到数据迁移请求,若监听到数据迁移请求则执行步骤c),若未监听到数据迁移请求,则重复执行步骤b);

c)根据数据迁移请求服务从第一网络中获取相应的数据作为待迁移数据,并将待迁移数据按照一定的格式存入缓存队列,然后重复执行步骤b)。其中,按照一定的格式,例如,文本信息写入成txt,照片写入成jpg等

数据迁移服务过程包括:

d)判断是否监听kvm切换器控制域切换到本机的事件,若是则执行步骤e),若否则执行步骤d);

e)当监听到kvm切换器控制域切换到本机的事件,等待存储设备挂载完成;

f)存储设备挂载完成后,对缓存队列的数据进行迁移,将数据迁移到特定的位置path;

g)等待kvm切换器控制域切换,当控制域切换离开本机后,返回步骤d)继续监听后续事件。

进一步地,上述步骤s22:控制kvm切换器切换至所述第二计算机,将所述存储设备中的待迁移数据所述第二计算机。包括如下步骤s221至s222:

s221、第二计算机实时监听kvm控制域切换事件,并在kvm控制域切换至本机时,等待kvm切换器上的存储设备挂载完成;

s222、在存储设备挂载完成时,读取存储设备上的待迁移数据,并存储至本地。

其中,如图3所示,第二计算机对存储设备中的数据进行读取的过程包括:

h)启动相关服务监听kvm切换器控制域切换至本机的事件,并判断是否监听到kvm切换器控制域切换至本机的事件,若是则执行步骤i),若否则执行步骤h);

i)等待存储设备挂载完成;

j)在存储设备挂载完成后,侦测存储设备存储内容变更的信息,并自动去约定的位置获取待迁移数据,并将读取的数据复制在本地,然后执行步骤h);

k)对获取的数据进行一定处理后,调用数据接口,将读取的数据进行异步发送。其中,数据的处理主要是将数据读出,然后按照数据接口定义的规范对数据进行格式化,然后发送到指定接口。

需要说明的是,第二计算机将第一网络中需要迁移的数据发送到第二网络的数据接口,进行自动化发布,比如通过广域网的微信发送到指定的人或群组。这里的数据接口可根据应用场景选取相应的数据接口,比如微信或其他第三方数据发布接口等。

如图5所示,本实施例公开了一种物理隔离网络间数据交换系统,包括与相互隔离的物理网络分别连接的第一计算机和第二计算机,以及与第一计算机和第二计算机连接的数据交换装置,所述数据交换装置包括:kvm切换器和存储设备,存储设备与kvm切换器连接,其中:

存储设备用于存储待交换的数据信息;

kvm切换器用于在第一计算机和第二计算机之间进行切换,使得kvm切换器上的存储设备在第一计算机和第二计算机之间进行挂载切换,实现存储设备中数据信息的交换。

其中,存储设备可采用u盘,kvm切换器包括鼠标、显示器和键盘,如图5-图6所示,所述数据交换装置还包括控制板和驱动装置,控制板输出端连接驱动装置,驱动装置驱动端与所述鼠标连接;

驱动装置用于接收控制板输出的移动轨迹信息,并按照移动轨迹信息驱动所述鼠标移动。

具体地,控制板可为ardunio、树莓派等,本实施例中的驱动装置可包括电机1、电机2和两驱动杆,开发板的输出端分别与两电机连接,电机1的转轴与一驱动杆一端连接,电机2的转轴与另一驱动杆一端连接,两驱动杆的另一端与所述鼠标经线绳连接。其中,开发板控制电机转动,电机控制驱动杆让绳子带动鼠标移动。避免存在直接用电机上的滑轮带动,导致的鼠标移动范围过短的问题,而无法将鼠标从屏幕a移动到屏幕b,因此无法完成kvm的切换。本实施例将驱动杆一段固定在电机上,一端栓一个绳子,让绳子带动鼠标的移动,可扩大鼠标的移动范围,实现kvm的切换。

下面,通过一具体实施例对本方案进行详细说明:

在本实施例中,针对硬件平台和网络连接,以arduino控制板为基础控制板,控制鼠标的轨迹控制;以普通搭载windows7的计算机为不同网络中的第一计算机和第二计算机。并且,kvm切换器上u盘在计算机中为读写模式而在第二计算机中为可读模式,其具体配置和运行时环境在后续分别做介绍;第一网络为内网环境,无法直接连接外网;第二网络为外网环境,可以连接诸如微信等的互联网服务。下面我们分别介绍各个部分的具体实施例:

(1)控制板

在控制板中,以arduino控制板为基础板,控制步进式电机,从而控制鼠标的移动。ardunio控制板编程语言以c语言为主,控制2个电机同时转动,完成鼠标的移动控制。控制板的工作流程按照图4所示的原理,其中鼠标的初始化位置为2个电机均处于0°状态,从而导致鼠标在最上方的位置;控制鼠标移动至计算机1的时候,2个电机均处于0°状态,鼠标处于最上方的位置;空闲时间t1我们采用10秒;控制鼠标移动至计算机2的时候,2个电机均处于180的状态,状态处于最下方的位置;空闲时间t2我们采用10秒。针对以上的流程,我们以循环状态进行执行,只要控制板加电后就会自动执行,无需额外指令,而要终止执行,只需要断电即可,而控制板的供电为usb接口供电。

(2)第一计算机

第一计算机在实施例中为内网的计算机,其操作系统为windows7sp1,主要用来接受内网其他服务,如报警服务的数据,并将数据在空闲时间t1间隔内转移到u盘根目录中。具体的流程如图2所示,其主要实现采用golang语言和python语言结合的方式,并采用nginx作为前置的服务,进行流量的统一管理。

其中golang语言编写的程序,对应的为迁移数据接受服务,其启动后以http服务的方式监听8080端口,并在启动后自动执行访问自身服务,测试服务的有效性。当迁移数据接受服务接受到数据时,自动发布到一个消息队列服务上,这里我们采用同样是golang编写的nsq服务(开源软件),从而完成缓存队列的转存。而为了安全性,我们采用nginx+自签证书的方式,启用https的443端口,接受数据,并将数据在本机内转发到8080端口,保证数据在内网上的匿名性和安全性。因此,从内网其他服务,如报警服务来看,其访问的是443端口,而非直接访问8080端口。

python语言编写的程序,对应的为数据迁移服务,其启动后,自动向操作系统监听u盘的变化的事件,从而可以完成在u盘插拔时,获得对应的事件通知,同时还自动监听nsq服务的特定话题,从而获得转存的待迁移数据。在kvm控制域切换的时,其上附带的u盘也会跟随自动插入第一计算机或第二计算机,或自动从第一计算机、第二计算机拔下。因此,判断kvm控制域的切换,即可通过监听u盘事件来获得。当数据迁移服务从nsq服务中获得待迁移数据时,自动的复制到特定的物理磁盘上,并在程序内部的队列中,等待u盘的插入后进行迁移。当数据迁移服务发现u盘插入后,自动从上述队列和物理磁盘位置,复制待迁移数据到u盘上。

3)第二计算机

第二计算机在实施例中为可以访问公网的计算机,其操作系统为windows7sp1,主要用来将迁移过来的数据发送到公网的服务上,即通过微信发送到特定的群组,完成数据的最终迁移。具体的流程如图4所示,其主要采用python语言作为编程语言。

第二计算机上的程序在启动后,会首先登陆微信,并且在微信需要扫描二维码的情况下,将二维码显示到界面上,供使用者扫描。当微信登陆成功后,自动向操作系统监听u盘的变化的事件,从而可以完成在u盘插拔时,获得对应的事件通知。当程序发现u盘插入后,自动从u盘中数据,并通过已经登陆的微信将数据发送到已经约定的群组,以完成最终的数据迁移。

本实施例公开的一种物理隔离网络间的数据交换方法,采用物理的方式实现数据交换,保持了网络的隔离性,使数据区迁移处于可控范围,也就是说数据接口由自身设定,只对接特定的几个服务,无法完成其他数据的迁移,避免了恶意程序及其他恶意流量。同时存储设备在不同计算机上的配置不同,比如第二计算机上为只读状态,无法写入数据,从而避免了外网上的网络流量、文件流入到内网的第一网络中,安全性较好。同时,采用本方案硬件部分只需设置kvm切换器、存储设备、控制板、驱动装置和两计算机,成本相较于传统的网闸,得到了大大的降低。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1