网络安全隔离GAP技术探析

2010-09-08 06:44郑挺
中国新技术新产品 2010年10期
关键词:网闸处理单元数据包

郑挺

(杭州师范大学钱江学院电气与机械工程系,浙江 杭州 310012)

1 GAP技术的概念及原理

1.1 GAP概念的提出

GAP技术是在1997年左右,最早由以色列的Whale,Spearhead等公司研制开发。2000年1月,为满足国内信息化建设及电子政务的需求,国内专业从事网络与信息安全研究开发、技术支持、产品销售和安全服务的北京天行网安信息技术有限责任公司率先提出从物理隔离技术发展出GAP概念,并且与公安部信息通信局联合研制完成国内第一款GAP产品一一天行安全隔离与信息交换系统,与此同时获得了国内网闸行业第一个销售许可证,标志着完全由我国自主研发的国内第一台网闸诞生。

1.2 GAP技术的原理

GAP技术的基本原理是在内网和外网的系统之间架构“安全隔离网闸”,保证内网连通时,断开与外网的连接;外网连通时,断开与内网的连接,分时地使用内外网中的数据通路进行数据交换,以达到隔离与交换的目的。也就是单个用户在同一时间、同一空间不能同时使用内网和外网两个系统。只要使两个系统在空间上物理隔离,在不同的时间运行,就可以得到两个完全物理隔离的系统。在数据交换过程中要进行防病毒、防恶意代码等信息过滤,以保证信息的安全。切断网络之间的通用协议连接;将数据包进行分解或重组为静态数据;对静态数据进行安全审查,包括网络协议检查和代码扫描等;确认后的安全数据流入内部单元;内部用户通过严格的身份认证机制获取所需数据。

2 OSI七层模型简介

2.1 物理层

物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

2.2 数据链路层

链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。实际的物理链路是不可靠的,总会出现错误,数据链路层的作用就是通过一定的手段 (将数据分成帧,以数据帧为单位进行传输)将有差错的物理链路转化成对上层来说没有错误的数据链路。

2.3 网络层

网络层将数据分成一定长度的分组,并在分组头中标识源和目的节点的逻辑地址,这些地址就象街区、门牌号一样,成为每个节点的标识;网络层的核心功能便是根据这些地址来获得从源到目的的路径,当有多条路径存在的情况下,还要负责进行路由选择。

2.4 传输层

传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。

2.5 会话层

会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。

2.6 表示层

表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。

2.7 应用层

应用层向应用程序提供服务,这些服务按其向应用程序提供的特性分成组并称为服务元素。有些可为多种应用程序共同使用,有些则为较少的一类应用程序使用。应用层是开放系统的最高层,是直接为应用进程提供服务的。

3 系统体系结构介绍

3.1 隔离硬件

隔离模块,起到一个数据中转站和控制器的作用。隔离硬件通过USB总线与内部处理单元和外部处理单元相连,USB总线的数据线宽度为16位。数据从内部处理单元或者外部处理单元的USB端口发送至隔离硬件的数据缓冲区(双端口储存器)中,然后断开该端同隔离硬件的连接,建立与另一端的连接,将数据从数据缓冲区(双端口储存器)发送至外部处理单元或者内部处理单元。

3.2 处理单元外部

外部处理单元需完成的主要功能如下:(1)TCP/IP协议分解及专用协议封装:对TCP/IP协议类型的数据包进行分解将TCP/IP包头剥去,把从包头中提取出有用的信息和原数据包的数据部分利用专用协议进行封装。(2)附加消息认证印戳:通过MD 5算法计算出原始数据部分的消息摘要,然后对消息摘要进行加密获得密文,该密文作为消息认证印戳附加在专用协议包头中,供消息认证使用。

4 GAP技术相关软件模块实现

4.1 用户管理模块

用户管理子模块主要完成对内网用户访问外网进行管理的任务。主要包括:(1)用户管理:对用户名,密码,用户的信息进行管理,对用户的身份进行认证。(2)访问控制:设定用户能访问什么网站或不能访问什么网站,用户可使用的端口:80(HTTP),21(FTP)等。(3)用户访问历史记录管理:查询、删除、打印用户访问历史记录。

4.2 数据接受模块

数据接收模块包括下而的组件

4.2.1 监听进程:监听常见网络服务端口,不断地检查是否有新的数据包到来,当检测到新的数据包之后,接收新的TCP/IP连接。

4.2.2 工作进程:负责在套接层上异步发送和接收数据。首先需要读取待处理数据的包头内容。

数据接收模块实现主要函数为:建立Socket:SockRaw=socket(AF-NET,SOCK-AW,0)

绑定本机IP地址。首先获得本地主机名,再根据本地主机名获得本地的IP地址,最后将Socket与本机端口绑定。

捕获数据包:循环调用recv()函数捕获数据包,每捕获一个数据包就将其存储在缓冲区Buf中。

数据接收模块其实现流程如下图所示:

5 总结

作为目前安全级别最高的一种安全解决方案,网络隔离概念也越来越多的被应用在安全产品中,然而目前我们这一技术并不成熟,产品也各式各样。作者是在这种大环境下对网络隔离技术做的一些综合性探索性的研究活动,鉴于目前网络隔离产品硬件寿命周期短、支持应用少的缺点,提出一种改进的网闸实现方案,采用软件方式实现开关功能,并采用模块化的设计思想可以通过增加协议分析模块从而同时支持多种应用协议,实现系统的高可扩展性。

[1]郑海峰,浅淡网络防火墙技术,硅谷,2008年

[2]方炜炜,网络安全与网络隔离GAP技术的研究,微型电脑应用,2008年

猜你喜欢
网闸处理单元数据包
不同生物链组合对黄河下游地区引黄水库富营养化及藻类控制
城市污水处理厂设备能耗及影响因素分析研究
长填龄渗滤液MBR+NF组合工艺各处理单元的DOM化学多样性
一种高可用负载均衡网络数据采集处理的方法及系统
SmartSniff
浅谈网闸在内外网隔离中的应用
基于网闸的高速公路收费监控多网络互通解决方案
视觉注意的数据包优先级排序策略研究
移动IPV6在改进数据包发送路径模型下性能分析