一种利用可编程逻辑器件实现单向信息传输的装置的制作方法

文档序号:11681237阅读:209来源:国知局
一种利用可编程逻辑器件实现单向信息传输的装置的制造方法

本发明涉及网络信息安全交换技术领域,尤其涉及一种自动实现物理隔离内外网主机间单向传输信息的装置。

相关技术

国家保密局规定涉及国家秘密的计算机不得直接或间接与公共信息网络连接,因此很多涉密单位都建立了涉密网、非涉密网和专网共存的复杂网络系统,相互之间物理隔离。这种物理隔离为信息交换带来了很多不便,随着电子政务、电子商务等应用的不断推进和深入,各网络间数据交换越来越多,在内网工作的用户,经常需要到外网查询和接收信息。

应用的需求是数据传输,涉密信息保密的要求是物理隔离,如何解决两者之间的矛盾成为网络信息安全交换领域研究的主要课题。国内当前解决该问题主要通过隔离网闸和手工拷贝,而隔离网闸被国家保密局认定为逻辑隔离产品,而人工拷贝是最安全的,如通过中间机刻录光盘。但刻录光盘方式操作上很麻烦,且数据传输效率低下,因此迫切需要一个高效、安全、能够自动在物理隔离网络的主机间进行数据传输的装置。

当前也有人提出使用单向网络在不同主机间进行单向数据传输,但由于单向网络缺乏流量控制机制,可能会出现信宿计算机偶尔错过部分信息的情况,因此使用时需要实现对传输软件进行速度匹配测试并保证信宿计算机负载的稳定性,这对于用户来说相当麻烦。



技术实现要素:

针对以上技术问题,本发明提出一种可实现信源计算机单向传输数据给信宿计算机的单向信息传输装置,包括信源端接口、信宿端接口、可编程逻辑器件部件和存储部件,其特征为:

(1)所述可编程逻辑器件部件的引脚被分为信源端引脚、信宿端引脚和存储端引脚;

(2)所述信源端接口与所述信源端引脚相连,所述信宿端接口与所述信宿端引脚相连,所述存储端引脚与所述存储部件相连;

(3)在逻辑上,所述可编程逻辑器件部件将所述存储部件的存储空间固定划分为等大小的两个独立区域r1和r2,且所述可编程逻辑器件部件认为所述存储部件只存在两个逻辑状态:①r1为可写区域且r2为只读区域;②r1为只读区域且r2为可写区域;

(4)当所述可编程逻辑器件部件从所述信源端接口收到数据写入请求后,在对数据写入地址做必要变换后,将数据写入当前可写区域中与变换后地址相对应的位置;

(5)当所述可编程逻辑器件部件从所述信宿端接口收到数据读取请求后,在对数据读取地址做必要变换后,从当前只读区域中与变换后地址相对应的位置读取数据,并将数据返回给信宿端接口;

(6)所述可编程逻辑器件部件拒绝处理来自所述信宿端接口的数据写入请求;

(7)所述可编程逻辑器件部件自动或根据从所述信源端接口发送来的请求,令所述存储部件在(2)所述两个逻辑状态间进行切换,

本发明还提出一种支持使用时须插入存储卡的单向信息传输装置,包括信源端接口、信宿端接口、可编程逻辑器件部件、带插槽的读卡器模块,其特征为:

(1)所述可编程逻辑器件部件的引脚被分为信源端引脚、信宿端引脚和存储端引脚;

(2)所述信源端接口与所述信源端引脚相连,所述信宿端接口与所述信宿端引脚相连,所述存储端引脚与所述读卡器模块相连;

(3)存储卡在被插入所述读卡器模块的插槽上后,所述可编程逻辑器件部件逻辑上将该存储卡的存储空间固定划分为等大小的两个独立区域r1和r2,且所述可编程逻辑器件部件认为所述存储卡只存在两个逻辑状态:①r1为可写区域且r2为只读区域;②r1为只读区域且r2为可写区域;

(4)当所述可编程逻辑器件部件从所述信源端接口收到数据写入请求后,在对数据写入地址做必要变换后,将数据写入当前可写区域中与变换后的地址相对应的位置;

(5)当所述可编程逻辑器件部件从所述信宿端接口收到数据读取请求后,在对数据读取地址做必要变换后,从当前只读区域中与变换后地址相对应的位置读取数据,并将数据返回给信宿端接口;

(6)所述可编程逻辑器件部件拒绝处理来自所述信宿端接口的数据写入请求;

(7)所述可编程逻辑器件部件自动或根据从所述信源端接口发送来的请求,令所述存储卡在(2)所述两个逻辑状态间进行切换。

在以上两种单向信息传输装置中,信源和信宿并不直接访问共享的存储部件,而是通过共享的可编程逻辑器件来间接访问存储部件,这样做的原因是:当不可信的信宿和不可信的信源可以直接访问存储部件时,若存储部件不可信,则信源、信宿和存储部件三方可以合作,通过隐秘通道传输敏感信息(如:①信宿采取异常的方式从存储部件读取数据,从而令存储部件获知某敏感信息;②存储部件通过改变“写操作”的延迟,向信源传递此敏感信息)。本发明所述可编程逻辑器件的作用就是:使得信宿对于存储部件的访问符合预定义的规律(如:按照地址递增的顺序、以固定周期访问存储部件),从而使得信宿无法通过“改变对于存储部件的访问规律”来向存储部件传递敏感信息,进而保证了信息传输的单向性。

对于以上两种单向信息传输装置,可编程逻辑器件部件要对数据读取/写入地址做必要变换的原因是:当信源/信宿设备不能感知到存储部件逻辑状态的改变时,信源/信宿设备无法根据可写/可读区域的变化而调整写入/读取请求中所包含的地址参数。

如果可编程逻辑器件通过时间戳或事件通知等机制,使信源/信宿设备感知到了存储部件逻辑状态的改变,则可编程逻辑器件不必再具有数据读取/写入地址的变化功能。

当所述可编程逻辑器件部件能通过信源端接口/信宿端接口直接与信源计算机/信宿计算机通信时,它一般要实现较复杂的功能,比如支持usb传输协议或支持ip网络协议,这样会造成很难保证fpga部件的可信性。为此,在工程上,可以在单向信息传输装置中设置不必可信的通信接口模块(如usb设备控制器、支持有线或无线网络协议的单片机系统等),利用此通信接口模块来实现比较复杂的逻辑功能,从而使所述可编程逻辑器件部件只负责“对低级读写请求进行处理”这样比较容易以可信方式实现的逻辑功能(即:对于通信接口模块来说,可编程逻辑器件体现为一个存储模块),比如:所述可编程逻辑器件从所述信源端引脚接收到的电信号遵从spi通信协议,且这些电信号直接包含了存储器地址和被写入的数据。

最后,在实现中,本发明所述可编程逻辑器件可能是fpga、cpld等。当可以相信dsp器件的可信性时,本发明所述可编程逻辑器件也可以是dsp。在后面的文字说明和说明书附图中,均以“可信fpga部件”来指代本发明所述的可编程逻辑器件。

附图说明

图1为一种用于连接到信源计算机和信宿计算机usb接口上的单向信息传输装置。此时, 通信接口模块为信源usb转spi模块和信宿usb转spi模块,信源端接口为usb接口1,信宿端接口为usb接口2,存储模块为spi串行存储器1和spi串行存储器2,信源计算机和信宿计算机通过usb接口访问此单向信息传输装置。信源计算机软件通过操作信源usb转spi模块,向可信fpga部件发送数据写入请求;信宿计算机软件通过操作信宿usb转spi模块,向可信fpga部件发送数据读取请求。在图示方式中,采用两个独立的spi串口flash存储器分别作为r1和r2,从而对存储器的读写访问不会相互干扰,有助于提升系统数据传输性能。

若信源usb转spi模块还能从信源计算机接收“切换存储卡逻辑状态”命令的功能,则信源usb转spi模块应在收到此命令后,通过io端口或spi通信协议,要求可信fpga执行存储器逻辑状态的切换。

图2为一种既连接到非涉密网、又连接到涉密网的单向信息传输装置,信源计算机和信宿计算机均通过网络访问此单向信息传输装置。此时通信接口模块为含网卡的单片机1和含网卡的单片机2,信源端接口为单片机1的网络接口,信宿端接口为单片机2的网络接口,存储模块为sram或并行flash存储器。通信接口模块与可信fpga模块通过并行或串行协议进行通信;可信fpga部件与存储模块之间的通信方式遵从所选用存储模块的要求进行。使用时,含网卡的单片机1监听发送给它的包含写数据请求的网络报文,并使用并行或串行通信协议将该网络报文包含的写数据请求发送给可信fpga部件;含网卡的单片机2定时通过并行或串行协议向可信fpga部件发送对可读区域的读请求,并将结果发送到网络上。在有的实现中,含网卡的单片机2不能自行产生对可读区域的读请求,而是从涉密网络上接收读请求,并将读请求通过并行或串行协议转发给可信fpga部件,最后再将可信fpga返回的结果发送到网络上。

图3是一种不具有内部数据存储功能的单向信息传输装置,用户在使用此种单向信息传输装置前,需要首先在其中插入sd存储卡。在图示的情形中,单向信息传输装置在使用前应同时与信源计算机和信宿计算机通过usb连接。此时选用usb转spi模块作为通信接口模块,通信接口模块与可信fpga部件之间通过spi协议进行通信,单向信息传输装置内部集成了spi接口的sd读卡器模块,可信fpga部件可通过spi协议与sd读卡器模块进行通信。此时,信源计算机软件通过操作信源usb转spi模块向可信fpga部件发送写数据请求;信宿计算机软件通过操作信宿端usb转spi模块向可信fpga部件发送数据读取请求,并接收反馈结果。

图4是一种网络服务器型单向信息传输装置。它的信源端接口为usb接口,它的信宿端接口为网络接口;在信源端,它的通信接口模块是usb转spi模块;在信宿端,它的通信接口模块为一个包含了磁盘和网卡的arm系统。信源计算机通过操作usb转spi模块,向可信fpga部件发送数据写入请求;arm系统定时通过并行或串行协议,从可信fpga部件读取可读区域的数据,并将读取到的数据存放在本地的磁盘上;arm系统还通过网络接口监听涉密网上传送来的数据访问请求,为涉密网上的其他设备提供数据访问服务。

图5时一种全功能网络服务器型的单向信息传输装置,它的信源端口和信宿端口都是网络接口,它的通信接口模块为两个包含了磁盘和网卡的arm系统。连接到非涉密网的arm系统对非涉密网上的设备提供数据存储服务,该arm系统将收到的数据缓存在自身的磁盘上,该arm系统还定时通过并行或串行通信协议,通过向可信fpga部件发送写请求,将缓存在本地磁盘上的数据写入存储器的可写区域;连接到涉密网的arm系统定时通过并行或串 行通信协议向可信fpga部件发送读请求,并将读取到的信息缓存到自身的磁盘上,该arm系统还监听网络上的数据访问请求,为涉密网上的其它设备提供数据访问服务。

具体实施方式

首先说明:本发明所述的实施方式均为示例性质,不能被用来限定本发明的保护范围。

实施方式1:

图1示出了此种实施方式的基本结构。单向信息传输装置外部具有两个usb接口,内部具有信源usb转spi模块、信宿usb转spi模块、支持spi协议的可信fpga部件、和两个spi串口存储器。其中一个usb接口连接信源,另外一个usb接口连接信宿;信源通过信源usb转spi模块向可信fpga部件发送数据写入请求,信宿通过信宿usb转spi模块从串口存储器中读取被传输的数据。

信源计算机上的软件通过操作信源usb转spi模块,通知可信fpga部件“将数据写入某指定存储地址”,可信fpga部件接收到此通知后,向存储模块的当前可写区域发送相应的数据写入请求。信宿计算机上的软件通过操作信宿usb转spi模块,从可信fpga部件获取存储的数据;当可信fpga部件获知信宿希望读取被传输的数据时,自动对存储器的只读区域进行批量读取操作,并将读取获得的数据通过spi协议发送给信宿,且在向信宿传输数据的过程中,不允许信宿对输入流量进行控制。

实施方式2:

图2示出了此种实施方式的基本结构。单向信息传输装置具有两个含网卡的单片机、可信fpga部件、sram或并行flash存储器。其中含网卡的单片机1从网络上接收对存储部件可写区域的访问请求,并将其转发给可信fpga部件进行处理;含网卡的单片机2从网络上接收对于存储部件中可读区域的读取请求,并将其转发给可信fpga部件,且在可信fpga给出读取结果后,将读取结果发送到指定的网络地址。

实施方式3:

图3示出了此种实施方式的基本结构。此实施方式与实施方式1的主要区别为:单向信息传输装置内部不包含存储部件,而是包含一个sd读卡器模块,可信fpga在收到对于存储部件的读写访问请求后,将读写请求转发给sd读卡器模块处理,并将sd卡读卡器处理的结果返回给请求的发送者。

实施方式4:

图4示出了此种实施方式的基本结构。此时信源通过usb接口与本单向信息传输装置连接,信源利用usb转spi模块,向可信fpga部件发送数据写入请求;按照与信源端数据写入软件约定的存储格式,arm系统通过可信fpga部件对存储器进行读取访问,并将读取的结果记录到本地的磁盘中。arm系统还运行网络数据访问服务,对涉密网计算机提供访问本地磁盘存储的服务。

实施方式5:

图5示出了此种实施方式的基本结构。此时信源通过与非涉密网连接的arm系统提供的数据存储服务,将待传输的数据写入此arm系统的本地硬盘,此arm系统定期扫描磁盘上新被放入的数据,在这些数据的开始和结束处添加标志信息,然后采用并行或串行通信协议,请求可信fpga部件将添加了标志信息的数据写入存储器;与涉密网相连的arm系 统定时向可信fpga部件发送数据读取请求,并将读取的结果连续存储到本地磁盘中,当发现了结束处的标志数据后,将此结束标志与之前第一个开始标志之间的数据提取出来,作为用户向进行单向传输的数据,存储到磁盘的共享数据区,由此arm系统上的网络数据访问服务将共享数据区中的数据共享给涉密网的其它设备。

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