CPLD嵌入式防火墙原理设计与分析

2009-08-25 09:37
新媒体研究 2009年15期

何 燕

[摘要]阐述CPLD的嵌入式包过滤型硬件防火墙的原理,并使用MAX+PLUS II软件进行软件的编译和仿真,通过实例说明防火墙的实现方式,从实践和理论结合的角度论述其存在的可行性。

[关键词]嵌入式网络硬件防火墙 CPLD Max+plus II

中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0810041-01

一、引言

防火墙的作用主要是保护系统不受未经允许的,通过对它的各种规则设置,使得合法的链路得以建立;而非法的连接将被禁止。市面使用的防火墙大多是软件防火墙,工作于系统接口与ndis之间,用于检查过滤由ndis发送过来的数据,在无需改动硬件的前提下便能实现一定强度的安全保障,但是由于软件防火墙自身属于运行于系统上的程序,不可避免的需要占用一部分cpu资源维持工作,而且由于数据判断处理需要一定的时间,在一些数据流量大的网络里,软件防火墙会使整个系统工作效率和数据吞吐速度下降,甚至有些软件防火墙会存在漏洞,导致有害数据可以绕过它的防御体系,给数据安全带来损失,正是基于此,硬件防火墙被才越来越受人们的青睐。复杂可编程器件是随半导体工艺不断完善、用户对器件集成度要求不断提高的形式下所发展起来的产物,本文使用该器件来设计硬件级防火墙采用RJ45端口连接,支持桥模式下的透明接入,具有性价比高、安全可靠、在线可升级等诸多优点。

二、防火墙的硬件实现原理

防火墙通常使用的安全控制手段主要有包过滤、应用代理型两大类,本文所讨论的是基于包过滤型防火墙。包过滤型防火墙工作在OSI网络参考模型的网络层和传输层,它根据数据包头源地址,目的地址、端口号和协议类型等标志确定是否允许通过。只有满足过滤条件的数据包才被转发到相应的目的地,其余数据包则被从数据流中丢弃。在IEEE802.3局域网协议集的标准以太网中,甚至是引入了载波扩展技术千兆级以太网中,包过滤型防火墙以

处理运算速度快和性能安全等一系列特点一直备受个人和企业的青睐。

三、软件实现

本设计运用自顶向下的设计方法,运用GDF图形编辑法和VHDL语言混合编程,具体而言:顶层设计采用图形输入,便于直观分析信号流程走向,底层则用VHDL进行编程输入,便于数据分析和处理。

(一)sep模块

PLD芯片在接收到通讯芯片送来的信号后,首先利用SEP模块对差分输入信号进行数据时钟分离处理,该模块中包含全数字锁相环,以实现从随机的以太网信号中提取时钟的方法。采用鉴频、鉴相并置方法,同时把数字滤波器DFilter子模块融入其中,采用小数分频器FDiv构成数控振荡器,从随机以太网信号中恢复E1时钟信号。

(二)piden模块

接下来的Piden模块则对处理后的数据进行数据包分离,采用了同步数据选择过滤的手段,将不同的数据包送入不同的包代码处理模块进行并行数据筛选。

(三)TCPfilter和ICMPfilter模块

TCPfilter和ICMPfilter模块负责对应封包的安全过滤,并且每个模块均有各自不同的敏感代码。以TCPfilter为例,静态包过滤算法可简单根据TCP包头的数据段建立敏感数据过滤机制。

(四)sync模块

为保证数据过程中前后级之间的数据同步,设计中引入了sync模块。以太网数字同步方式很多,本文采用指针调整算法,根据各filter模块的延时最大值以及对来自初始NE的输入VC与本地产生的输出STM-N帧之间的相位波动进行动态补偿,确保后级输入的信号与时钟上的匹配。

(五)diff模块

最后用diff模块对过滤后的数据和时钟进行数据整合和差分调制输出。

四、器件选择和实现

核心芯片可采用EP1K100QC208-3为主芯片,它属于Altera的ACEX1K系列芯片,ACEX1K系列其间的逻辑单元(LE)数从576~4992,采用2.5V低供电电压(5),该芯片和专用配置器件EPC2,共同完成器件的初始化和在线更新,接口芯片采用CY7C64013,它能提供标准USB2.0接口,并且可以提供全速率的通讯服务,网络通讯芯片采用realtek公司的RTL8029AS它采用全双工方式来进行接收以太网数据,非常容易和微处理器接口。该芯片集成了以太网的物理层以及以太网的收发器,数据封包形式完全符合IEEE802.3标准。

五、软件仿真

在图1中,软件在模拟TCP封包特征码数据方面进行了次测试,一共发送了3个数据包,其中第一个封包的目的端口中包含敏感端口,其余2个为正常封包。由测试结果我们不难看出:在初始阶段,防火墙有一个初始化过程,这个过程在80ns以内;系统的延时相应在本例中控制在100ns以内;正常数据在经历了防火墙的最大延时后直接输出,不影响其内部任何数据和标志位;在侦测到含有敏感数据的数据包后,防火墙立即对整个数据包做出丢弃处理,并利用网络重发机制要求重发。系统的真实的延时,由各侦测模块敏感库的大小以及sep,piden,diff模块延时之和共同决定。

六、结论

该硬件防火墙,通过仿真实践证明,能有效的遏制对系统的攻击行为,并通过在线更新保证其硬件数据库的实时性,同时由CPLD器件部丰富LE资源确保其容量升级的可操作性,且其本身不受攻击包影响,不消耗客户系统资源,使用者只需进行傻瓜式连接即可完成整套系统的安装,极其方便可靠。用户还可根据其实际需要将系统调整成动态包过滤型防火墙,其性能将更加优越。

参考文献:

[1]张亚鹏,《防火墙须软硬一体》,计算机安全,2004.6.11.

[2]《Securing Your Network with the Cisco Centri Firewall》,Cisco

Systems guide,1992-2008:13.

[3]谭会生、张昌凡编著,《EDA技术与应用》,西安电子科技大学,2001(9):19.

[4]cbinews,《防火墙技术》,http://www.cbismb.com/,2005.12.12.

[5]蒋璇、臧春华,《数字系统设计与PLD应用》,电子工业出版社,2005(8):338.