王文波+唐成华
摘 要:涉密网络与外界必须物理隔离,这使其成为名副其实的信息孤岛,光闸等数据单向传输系统提供了一种有效的解决信息孤岛的方案,这源于其采用了基于无反馈的数据传输协议。在无反馈传输协议中,如何确保文件被正确传输到目标网络中,成为单向传输系统可靠性的一个重要评估标准。本文总结了目前主流的无反馈数据传输方案的利与弊,并在此基础上提出一种新的可靠性解决方案,确保文件被完整、正确地传输到目标网络。
关键词:文件传输 单向传输 可靠性
中图分类号:TP309 文献标识码:A 文章编号:1672-3791(2014)01(b)-0000-00
随着计算机网络技术的发展,网络成为人们生活发展中必不可少的工具之一。但在一些涉密网络中,由于密级要求的原因,往往需要隔离外界网络,这逐渐形成涉密网络的信息“孤岛”效应[1]。因此需要有一种手段,可以使人们可以将一些无安全风险的信息、文件等,安全、完整地从非涉密网络传输到涉密网络,同时保证涉密网络的信息绝对不会流出到外界网络。使用传统协议的文件、信息传输系统并不能满足这个需要。单向传输系统就是为解决这个问题而出现的。
单向传输系统主要由三个主要组成部分:外网服务器、单向传输模块以及内网服务器,如图1所示。
单向传输模块是单向传输系统能否达标的重要环节。如何将文件完全、完整地传输至涉密内部网络,同时形成可追溯的历史记录,成为解决这个问题的一大关键技术。本文主要针对单向传输模块的可靠性进行探讨。
1 单向传输协议的可靠性
单向传输协议的可靠性,在很早之前就已经受到业界学者的广泛关注。Saitoh提出了一种单向字节流的检错与纠错编码技术[2],Vaidya在Fault-Tolerant Computing会议上也提出了类似错误编码的思路[3],但这些仅仅局限于通用的单向协议本身的检错与纠错技术,并不能完全适合于单向文件传输本身。2004年出现的FLUTE[4]提供了一种单向文件传输协议,成为单向传输系统使用最多的协议之一,但仍有局限性,其为文件单向传输提供了完整的解决方案,使用并向纠错码解决了文件本身的完整性验证问题,但并不能完全发现信道上的问题,以及实际应用中审计与可靠性需求。Jeffrey在其专利中介绍了一种类似同步信号的机制[5],服务器定时发布同步信号,接收机器定时获取服务器发布的同步信号,以确保传输信道的通信正常,但是这种机制的提出,并不是专门为单向传输系统所设计的,且仅提供了一种检测信道正常的方案,也不能完全满足需求。之后相继出现了多种完整的解决方案,包括以下几种:
1.1 日志比对方案
该方案是最简单最直接的方案,发送模块与接收模块分别在发送成功与接收成功时,各记录一份日志,人为将两份日志文件进行人工比对或程序自动化比对。该方案的主要缺点就是需要太多的人工干预,无论是进行人工比对还是进行程序自动化比对,需要人工从外网服务器将日志带入内网服务器。
1.2 双机冗余方案
该方案是采用两个单向传输硬件冗余方式,采用两套一模一样的发送设备,发送模块与接收模块分别各自记录一份发送日志与接收日志。通过定期的人为方式,将两份发送日志与两份接收日志进行人工比对还是进行程序自动化比对,同时将发送日志与接收日志进行比对,得到遗漏清单。
该方案解决了需要人工将日志带入内网进行比对的缺点,但存在硬件资源严重浪费的问题,也不是最佳的解决方案。
1.3 分流冗余方案
该方案采用单个单向传输硬件加分流方式,通过数据包分流方式,将传输的数据复制一份,同时发给本地,将已发送的日志与分流得到的日志进行比对,得出遗漏信息,同时定时比对发送日志与接收日志,得到遗漏清单。
该方案是上一方案的一种变体,解决了硬件资源浪费的问题,但是并没有在根源上解决可靠性的问题,反而可能造成重要信息的遗漏。因为该方案只能在外网服务器保证文件已传出,但是并不能检测到传输线路上、或者接收模块上的错误,造成不必要的损失。
1.4 定时同步信号方案
该方案包括两部分内容:首先,外网服务器会定时发送一个同步信号,使得内网机器能够判断单向通信线路的连通性;同时,在文件传输时,会生成一个连续的流水号,内网服务器能够根据这个流水号的连续性,判断文件传输过程中是否产生信息丢失,若发生丢失,则产生报警。
该方案解决基本上解决了需要人工参与的缺点,但是该方案有一个使用上的局限性:由于其依赖流水号的连续性来判断文件传输的正确性,因此该方案只适用于使用单进程、单根光纤的情况。
2 方案设计
本文在总结现有的几种解决方案的基础上,提出一种无需人工参与比对过程,且适用于多进程、并发、多光纤传输线路的可靠性解决方案。
本方案主要包含四个模块,分别为发送模块、外网同步模块、接收模块、内网同步模块,如图2所示。
2.1 发送模块
外网发送模块主要负责如下任务:
(1)接收新文件,获取文件名、文件大小、文件哈希校验值(md5)等内容;
(2)发送文件;
(3)若文件发送成功,则将步骤(1)的内容添加到发送清单;
(4)否则,记录发送失败日志。
2.2 外网同步模块
外网同步模块除了具备上述1.4方案中的功能之外,还负责如下任务:
(1)新建同步文件;
(2)将上次同步时间与当前时间分别写入上一步的同步文件;
(3)从发送模块中的发送清单中,获取上次同步时间与当前时间内所有发送成功的文件信息,并写入步骤(1)的同步文件内;
(4)将同步文件交给发送模块传输到内部网络。endprint
2.3 接收模块
接收模块主要负责如下任务:
(1)接收文件;
(2)检验文件完整性;
(3)若文件正确,则获取文件名,计算文件大小、文件哈希校验值(md5)等内容,并将这些内容添加到接收清单中;
(4)否则,记录接收失败日志。
2.4 内网同步模块
内网同步模块负责如下任务:
(1)接收同步文件;
(2)解析接收到的同步文件,获取该文件指定的时间范围与对应的时间范围内成功发送的文件清单;
(3)从接收模块获取步骤(2)的时间范围内成功接收的文件清单;
(4)将步骤(2)与步骤(3)获得的两份清单进行比对,获得遗漏的文件清单与文件校验值不匹配的文件清单;
(5)若步骤(4)中发现错误,则向管理员发出报警信息(如短信、邮件通知等)。
同时,该模块还负责启动一个定时器,当超过指定时间还未接收到新的同步文件,则可认为当前传输线路存在问题,则会向管理员发出报警信息。
3 总结
表1列出了本方案与当前主流方案之间在是否需要人工比对、是否满足低成本以及是否支持并发传输三方面的对比:
本文虽然提出一个新的可靠性设计思想,但是并未涉及到传输本身数据包完整性的问题。今后工作可以将本方案与现有的数据包检验技术结合,并可结合方案1.3中的设计思想,进一步实现单向传输系统的可靠性保证。
参考文献
[1] 孔斌,杜虹,马朝斌.安全隔离与信息交换技术发展及应用.计算机安全: 2003,7:39-42.
[2] Saitoh Y, Imai H. Some codes for correcting and detecting unidirectional byte errors, IEEE Transactions on Computers, 1993, Vol 42, Issue 5.
[3] Vaidya N F. Unidirectional error control codes, The Twenty-Third International Symposium on Digest of Papers, 22-24 June 1993, pp.120-129.
[4] T Paila, M Luby, R Lehtonen, V Roca, et al. FLUTE - File Delivery over Unidirectional Transport, Internet Engineering Task Force, RFC 3926, Oct. 2004.
[5] Jeffrey C Smith, J C Bandini. Electronic document delivery system in which notification of said electronic document is sent a recipient thereof, US6487599 B1. Nov 26, 2002.endprint
2.3 接收模块
接收模块主要负责如下任务:
(1)接收文件;
(2)检验文件完整性;
(3)若文件正确,则获取文件名,计算文件大小、文件哈希校验值(md5)等内容,并将这些内容添加到接收清单中;
(4)否则,记录接收失败日志。
2.4 内网同步模块
内网同步模块负责如下任务:
(1)接收同步文件;
(2)解析接收到的同步文件,获取该文件指定的时间范围与对应的时间范围内成功发送的文件清单;
(3)从接收模块获取步骤(2)的时间范围内成功接收的文件清单;
(4)将步骤(2)与步骤(3)获得的两份清单进行比对,获得遗漏的文件清单与文件校验值不匹配的文件清单;
(5)若步骤(4)中发现错误,则向管理员发出报警信息(如短信、邮件通知等)。
同时,该模块还负责启动一个定时器,当超过指定时间还未接收到新的同步文件,则可认为当前传输线路存在问题,则会向管理员发出报警信息。
3 总结
表1列出了本方案与当前主流方案之间在是否需要人工比对、是否满足低成本以及是否支持并发传输三方面的对比:
本文虽然提出一个新的可靠性设计思想,但是并未涉及到传输本身数据包完整性的问题。今后工作可以将本方案与现有的数据包检验技术结合,并可结合方案1.3中的设计思想,进一步实现单向传输系统的可靠性保证。
参考文献
[1] 孔斌,杜虹,马朝斌.安全隔离与信息交换技术发展及应用.计算机安全: 2003,7:39-42.
[2] Saitoh Y, Imai H. Some codes for correcting and detecting unidirectional byte errors, IEEE Transactions on Computers, 1993, Vol 42, Issue 5.
[3] Vaidya N F. Unidirectional error control codes, The Twenty-Third International Symposium on Digest of Papers, 22-24 June 1993, pp.120-129.
[4] T Paila, M Luby, R Lehtonen, V Roca, et al. FLUTE - File Delivery over Unidirectional Transport, Internet Engineering Task Force, RFC 3926, Oct. 2004.
[5] Jeffrey C Smith, J C Bandini. Electronic document delivery system in which notification of said electronic document is sent a recipient thereof, US6487599 B1. Nov 26, 2002.endprint
2.3 接收模块
接收模块主要负责如下任务:
(1)接收文件;
(2)检验文件完整性;
(3)若文件正确,则获取文件名,计算文件大小、文件哈希校验值(md5)等内容,并将这些内容添加到接收清单中;
(4)否则,记录接收失败日志。
2.4 内网同步模块
内网同步模块负责如下任务:
(1)接收同步文件;
(2)解析接收到的同步文件,获取该文件指定的时间范围与对应的时间范围内成功发送的文件清单;
(3)从接收模块获取步骤(2)的时间范围内成功接收的文件清单;
(4)将步骤(2)与步骤(3)获得的两份清单进行比对,获得遗漏的文件清单与文件校验值不匹配的文件清单;
(5)若步骤(4)中发现错误,则向管理员发出报警信息(如短信、邮件通知等)。
同时,该模块还负责启动一个定时器,当超过指定时间还未接收到新的同步文件,则可认为当前传输线路存在问题,则会向管理员发出报警信息。
3 总结
表1列出了本方案与当前主流方案之间在是否需要人工比对、是否满足低成本以及是否支持并发传输三方面的对比:
本文虽然提出一个新的可靠性设计思想,但是并未涉及到传输本身数据包完整性的问题。今后工作可以将本方案与现有的数据包检验技术结合,并可结合方案1.3中的设计思想,进一步实现单向传输系统的可靠性保证。
参考文献
[1] 孔斌,杜虹,马朝斌.安全隔离与信息交换技术发展及应用.计算机安全: 2003,7:39-42.
[2] Saitoh Y, Imai H. Some codes for correcting and detecting unidirectional byte errors, IEEE Transactions on Computers, 1993, Vol 42, Issue 5.
[3] Vaidya N F. Unidirectional error control codes, The Twenty-Third International Symposium on Digest of Papers, 22-24 June 1993, pp.120-129.
[4] T Paila, M Luby, R Lehtonen, V Roca, et al. FLUTE - File Delivery over Unidirectional Transport, Internet Engineering Task Force, RFC 3926, Oct. 2004.
[5] Jeffrey C Smith, J C Bandini. Electronic document delivery system in which notification of said electronic document is sent a recipient thereof, US6487599 B1. Nov 26, 2002.endprint