简单的基于PLD硬件防火墙毕业设计.docx
- 文档编号:13328889
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:19
- 大小:131.40KB
简单的基于PLD硬件防火墙毕业设计.docx
《简单的基于PLD硬件防火墙毕业设计.docx》由会员分享,可在线阅读,更多相关《简单的基于PLD硬件防火墙毕业设计.docx(19页珍藏版)》请在冰点文库上搜索。
简单的基于PLD硬件防火墙毕业设计
目录
第一章绪论1
引言1
课题设计介绍1
第二章防火墙介绍2
2.1什么是防火墙及防火墙的作用2
2.2防火墙的架构2
2.3防火墙的技术实现2
2.4防火墙的特点3
第三章硬件防火墙4
3.1硬件防火墙的基本功能4
3.2防火墙实现基础原理5
3.2.1包过滤防火墙6
3.2.2应用网关防火墙6
3.2.3状态检测防火墙7
3.2.4复合型防火墙8
第四章网络防火墙的硬件实现9
4.1 网络防火墙的硬件结构9
4.1.2USB2.0接口芯片CY7C6801310
4.2TCP/IP协议栈在UCOSII下的实现10
第五章利用PLD做一个硬件防火墙12
5.1MAX+PLUSⅡ软件安装和使用12
5.1.1概述12
5.2MAX+PLUSⅡ设计硬件防火墙程序实例14
5.2.1设计程序部分14
5.2.2波形仿真部分19
结束语20
致谢21
参考文献22
第一章绪论
引言
随着现代科学技术的迅猛发展,能源问题、环境问题的日益成为人民所关注的问题。
在电子科学领域也在以前所未有的革新速度,向着功能多样化,体积最小化、功耗最低化的方向迅速发展。
现代电子产品在设计上有了新的突破:
大量使用大规模的可编程逻辑器件,以提高产品的性能,缩小产品的体积,降低产品的消耗;广泛使用现代计算机技术,以提高电子设计的自动化程度,缩短开发周期,提高产品的竞争力。
CPLD就是这样一个例子,PLD技术的发展,将大量复杂电路缩小到一块小芯片上实现原来电路的功能。
课题设计介绍
本设计就以硬件防火墙的实现为主要内容,简单介绍各类防火墙的实现,应用、及功能。
然后就PLD为设计实例来具体说明硬件防火墙的原理实现。
1、就硬件防火墙而言,一般具备一下的基本功能要求:
(1)当设置的特真码与输入的代码相同时输出就按照防火墙的功能对其处理。
(2)当设置的特真码与输入的代码不同时输出原代码。
2、对PLD设计硬件防火墙的要求:
(1)能在MAX+PLUSII平台上设计硬件代码,并编译通过。
(2)用仿真能实现防火墙的基本功能。
第二章防火墙介绍
2.1什么是防火墙及防火墙的作用
防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。
它是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全政策控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。
它是提供信息安全服务,实现网络和信息安全的基础设施。
随着网络规模的扩大和开放性的增强,网络上的很多敏感信息和保密数据将受到很多主动和被动的人为攻击。
一种解决办法是为需要保护的网络上的每个工作站和服务器装备上强大的安全特征(例如入侵检测),但这几乎是一种不切合实际的方法,因为对具有几百个甚至上千个节点的网络,它们可能运行着不同的操作系统,当发现了安全缺陷时,每个可能被影响的节点都必须加以改进以修复这个缺陷。
另一种选择就是防火墙(Firewall),防火墙是用来在安全私有网络(可信任网络)和外部不可信任网络之间安全连接的一个设备或一组设备,作为私有网络和外部网络之间连接的单点存在。
防火墙是设置在可信任的内部网络和不可信任的外部网络之间的一道屏障,它可以实施比较广泛的安全策略来控制信息流,防止不可预料的潜在的入侵破坏.DMZ外网和内部局域网的防火墙系统。
2.2防火墙的架构
防火墙产品的三代体系架构主要为:
第一代架构:
主要是以单一cpu作为整个系统业务和管理的核心,cpu有x86、powerpc、mips等多类型,产品主要表现形式是pc机、工控机、pc-box或risc-box等;
第二代架构:
以np或asic作为业务处理的主要核心,对一般安全业务进行加速,嵌入式cpu为管理核心,产品主要表现形式为box等;
第三代架构:
iss(integratedsecuritysystem)集成安全体系架构,以高速安全处理芯片作为业务处理的主要核心,采用高性能cpu发挥多种安全业务的高层应用,产品主要表现形式为基于电信级的高可靠、背板交换式的机架式设备,容量大性能高,各单元及系统更为灵活。
2.3防火墙的技术实现
从Windows软件防火墙的诞生开始,这种安全防护产品就在跟随着不断深入的黑客病毒与反黑反毒之争,不断的进化与升级。
从最早期的只能分析来源地址,端口号以及未经处理的报文原文的封包过滤防火墙,后来出现了能对不同的应用程序设置不同的访问网络权限的技术;近年来由ZoneAlarm等国外知名品牌牵头,还开始流行了具有未知攻击拦截能力的智能行为监控防火墙;最后,由于近来垃圾插件和流氓软件的盛行,很多防火墙都在考虑给自己加上拦截流氓软件的功能。
综上,Windows软件防火墙从开始的时候单纯的一个截包丢包,堵截IP和端口的工具,发展到了今天功能强大的整体性的安全套件。
2.4防火墙的特点
一般防火墙具备以下特点:
1、控制对特殊站点的访问,广泛的服务支持:
通过将动态的、应用层的过滤能力和认证相结合,可实现浏览器、HTTP服务器、FTP等。
2、提供监视Internet安全和预警的方便端点,对私有数据的加密支持,保证通过Internet进行的虚拟私人网络和商务活动不受损坏。
3、客户端认证只允许指定的用户访问内部网络或选择服务,过滤掉不安全服务和非法用户。
4、反欺骗:
欺骗是从外部获取网络访问权的常用手段,它令数据包像是来自网络内部。
防火墙能监视这样的数据包并扔掉它们。
5、C/S模式和跨平台支持:
能使运行在一平台的管理模块控制另一平台的监视模块。
6、邮件保护:
保护网络免受对电子邮件服务的攻击。
第三章硬件防火墙
硬件防火墙是指把防火墙程序做到芯片里面,由硬件执行这些功能,能减少CPU的负担,使路由更稳定。
网络级防火墙一般根据源、目的地址做出决策,输入单个的IP包。
一台简单的路由器是“传统的”网络级防火墙,因为它不能做出复杂的决策,不能判断出一个包的实际含意或包的实际出处。
现代网络级防火墙已变得越来越复杂,可以保持流经它的接入状态、一些数据流的内容等等有关信息。
许多网络级防火墙之间的一个重要差别是防火墙可以使传输流直接通过,因此要使用这样的防火墙通常需要分配有效的IP地址块。
网络级防火墙一般速度都很快,对用户很透明。
3.1硬件防火墙的基本功能
防火墙的基本功能防火墙系统可以说是网络的第一道防线,因此一个企业在决定使用防火墙保护内部网络的安全时,它首先需要了解一个防火墙系统应具备的基本功能,这是用户选择防火墙产品的依据和前提。
一个成功的防火墙产品应该具有下述基本功能:
防火墙的设计策略应遵循安全防范的基本原则——“除非明确允许,否则就禁止”;防火墙本身支持安全策略,而不是添加上去的;如果组织机构的安全策略发生改变,可以加入新的服务;有先进的认证手段或有挂钩程序,可以安装先进的认证方法;如果需要,可以运用过滤技术允许和禁止服务;可以使用FTP和Telnet等服务代理,以便先进的认证手段可以被安装和运行在防火墙上;拥有界面友好、易于编程的IP过滤语言,并可以根据数据包的性质进行包过滤,数据包的性质有目标和源IP地址、协议类型、源和目的TCP/UDP端口、TCP包的ACK位、出站和入站网络接口等。
如果用户需要NNTP(网络消息传输协议)、XWindow、HTTP和Gopher等服务,防火墙应该包含相应的代理服务程序。
防火墙也应具有集中邮件的功能,以减少SMTP服务器和外界服务器的直接连接,并可以集中处理整个站点的电子邮件。
防火墙应允许公众对站点的访问,应把信息服务器和其他内部服务器分开。
防火墙应该能够集中和过滤拨入访问,并可以记录网络流量和可疑的活动。
此外,为了使日志具有可读性,防火墙应具有精简日志的能力。
虽然没有必要让防火墙的操作系统和公司内部使用的操作系统一样,但在防火墙上运行一个管理员熟悉的操作系统会使管理变得简单。
防火墙的强度和正确性应该可被验证,设计尽量简单,以便管理员理解和维护。
防火墙和相应的操作系统应该用补丁程序进行升级且升级必须定期进行。
正像前面提到的那样,Internet每时每刻都在发生着变化,新的易攻击点随时可能会产生。
当新的危险出现时,新的服务和升级工作可能会对防火墙的安装产生潜在的阻力,因此防火墙的可适应性是很重要的。
3.2防火墙实现基础原理
防火墙通常使用的安全控制手段主要有包过滤、状态检测、代理服务。
下面,我们将介绍这些手段的工作机理及特点。
包过滤技术是一种简单、有效的安全控制技术,它通过在网络间相互连接的设备上加载允许、禁止来自某些特定的源地址、目的地址、TCP端口号等规则,对通过设备的数据包进行检查,限制数据包进出内部网络。
包过滤的最大优点是对用户透明,传输性能高。
但由于安全控制层次在网络层、传输层,安全控制的力度也只限于源地址、目的地址和端口号,因而只能进行较为初步的安全控制,对于恶意的拥塞攻击、内存覆盖攻击或病毒等高层次的攻击手段,则无能为力。
状态检测是比包过滤更为有效的安全控制方法。
对新建的应用连接,状态检测检查预先设置的安全规则,允许符合规则的连接通过,并在内存中记录下该连接的相关信息,生成状态表。
对该连接的后续数据包,只要符合状态表,就可以通过。
这种方式的好处在于:
由于不需要对每个数据包进行规则检查,而是一个连接的后续数据包(通常是大量的数据包)通过散列算法,直接进行状态检查,从而使得性能得到了较大提高;而且,由于状态表是动态的,因而可以有选择地、动态地开通1024号以上的端口,使得安全性得到进一步地提高。
代理服务型防火墙,代表某个专用网络同互联网进行通讯的防火墙,类似在股东会上某人以你的名义代理你来投票。
当你将浏览器配置成使用代理功能时,防火墙就将你的浏览器的请求转给互联网;当互联网返回响应时,代理服务器再把它转给你的浏览器。
代理服务器也用于页面的缓存,代理服务器在从互联网上下载特定页面前先从缓存器取出这些页面。
内部网络与外部网络之间不存在直接连接。
代理服务器提供了详细的日志和审计功能,大大提高了网络的安全性,也为改进现有软件的安全性能提供了可能。
但会降低网络性能,所以在一般情况下都不使用。
3.2.1包过滤防火墙
包过滤防火墙一般在路由器上实现,用以过滤用户定义的内容,如IP地址。
包过滤防火墙的工作原理是:
系统在网络层检查数据包,与应用层无关。
这样系统就具有很好的传输性能,可扩展能力强。
但是,包过滤防火墙的安全性有一定的缺陷,因为系统对应用层信息无感知,也就是说,防火墙不理解通信的内容,所以可能被黑客所攻破。
图4.1包过滤防火墙工作原理图
3.2.2应用网关防火墙
应用网关防火墙检查所有应用层的信息包,并将检查的内容信息放入决策过程,从而提高网络的安全性。
然而,应用网关防火墙是通过打破客户机/服务器模式实现的。
每个客户机/服务器通信需要两个连接:
一个是从客户端到防火墙,另一个是从防火墙到服务器。
另外,每个代理需要一个不同的应用进程,或一个后台运行的服务程序,对每个新的应用必须添加针对此应用的服务程序,否则不能使用该服务。
所以,应用网关防火墙具有可伸缩性差的缺点。
(图4.2)
图4.2应用网关防火墙工作原理图
3.2.3状态检测防火墙
状态检测防火墙基本保持了简单包过滤防火墙的优点,性能比较好,同时对应用是透明的,在此基础上,对于安全性有了大幅提升。
这种防火墙摒弃了简单包过滤防火墙仅仅考察进出网络的数据包,不关心数据包状态的缺点,在防火墙的核心部分建立状态连接表,维护了连接,将进出网络的数据当成一个个的事件来处理。
可以这样说,状态检测包过滤防火墙规范了网络层和传输层行为,而应用代理型防火墙则是规范了特定的应用协议上的行为。
(图4.3)
图4.3状态检测防火墙工作原理图
3.2.4复合型防火墙
符合型防火墙是指综合了状态检测与透明代理的新一代的防火墙,进一步基于ASIC架构,把防病毒、内容过滤整合到防火墙里,其中还包括VPN、IDS功能,多单元融为一体,是一种新突破。
常规的防火墙并不能防止隐蔽在网络流量里的攻击,在网络界面对应用层扫描,把防病毒、内容过滤与防火墙结合起来,这体现了网络与信息安全的新思路。
它在网络边界实施OSI第七层的内容扫描,实现了实时在网络边缘布署病毒防护、内容过滤等应用层服务措施。
(图4.4)
图4.4复合型防火墙工作原理
第四章网络防火墙的硬件实现
概述
网络防火墙是一种控制用户计算机网络访问的软件或硬件。
通过对它的各种规则设置,使得合法的链路得以建立;而非法的连接将被禁止,同时通过各种手段屏蔽掉用户的隐私信息,以保障用户的对网络访问的安全。
目前一般个人电脑是用的软件防火墙,随着微电子的快速发展,我们可以完全利用嵌入式系统来实现硬件防火墙,从而提高系统的网络访问性能。
4.1 网络防火墙的硬件结构
在本系统中,主芯片采用EPF10K100QC208-3。
网络芯片采用的Realtek公司的RTL8019AS,它是一款10M的网络芯片。
PC机的通信芯片采用Cypress的USB2.0的接口芯片CY7C68013,它可以完成PC机和硬件防火墙的高速通信。
在本系统中还提供2M字节的FLASH和512K字节的RAM,它们分别由芯片SST39VF160和IS61LV25616AL来实现。
如图1:
图5.1网络防火墙系统的硬件结构
4.1.1网络通信芯片RTL8019
RTL8019AS网络芯片是REALTEK公司生产的,基于ISA接口的10M以太网通信芯片。
它采用全双工方式来进行接收以太网数据,非常容易和微处理器接口。
该芯片集成了以太网的物理层以及以太网的收发器,数据封包形式完全符合IEEE802.3标准。
4.1.2USB2.0接口芯片CY7C68013
CY7C68013是Cypress公司生产的一款USB2.0的接口芯片。
它内部集成了8051的核,可以单独对该芯片编程。
由该芯片完成USB2.0接口,跟PC机的通信速率可以高达10Mbyte/s。
我们利用该款芯片来实现一个数据FIFO,即对微处理器来讲,它只要将数据写入该FIFO,然后该芯片就会将数据按照USB2.0的协议发送
4.2TCP/IP协议栈在UCOSII下的实现
TCP/IP协议分为四层,分别为应用层、传输层、网络层,物理层。
本系统中物理层主要包括8019的驱动程序,网络层包括IP协议和ARP协议,传输层主要包括TCP协议和UDP协议,应用层主要包括FTP、HTTP、SNMP和一些用户应用程序。
由于该协议实现很复杂,这也是本系统实现的难点,下面给出该协议栈实现的函数框图:
图 5.2
箭头表示函数的调用关系,该协议栈是一个较完整的TCP/IP协议栈,它提供标准的SOCKETAPI函数,非常方便用户来实现INTERNET通信。
并集成了简单的路由协议,可以跨越网关收发数据。
TCP/TP协议栈的实现都是通过调用图5.2框图来实现的。
第五章利用PLD做一个硬件防火墙
5.1MAX+PLUSⅡ软件安装和使用
5.1.1概述
MAX+PLUSⅡ开发系统是易学易用的完全集成化的EDA设计开发环境。
该软件与LATTICE公司的iSPEXPERT及XILINX的ISE等软件一样都是CPLD/FPGA的基本开
发环境,是CPLD/FPGA开发所必须的,它包含了开发CPLD/FPGA器件的全过程。
下面将以MAX+PLUSⅡ的基本使用为基础介绍CPLD/FPGA器件的开发方法,CPLD/FPGA器件及其开发系统是极其复杂的,因此在学习使用时应注意如下特点:
1、MAX+PLUSⅡ的使用与学习一定要与CPLD/FPGA硬件的学习相结合。
2、注意学习软件与动手练习相配合,只有多动手设计与调试才能真正掌握设计思想与设计方法。
3、多参考相关的书籍或MAX+PLUSⅡ的帮助系统。
4、在学习过程中要与数字电路、计算机语言等课程进行比较,找出相同点与不同点,进行比较、类比地学习。
5、概念的区分与使用:
(1) 器件与符号:
如在数字电路中7400为一个器件,在MAX+PLUSⅡ中器件一般被CPLD/FPGA器件专用,而MAX+PLUSⅡ中调用的中小规模的器件都称为符号。
本文中有时出于习惯,也会在该使用“符号”的地方而使用“器件”名称,因此在碰到像“器件”、“符号”这样的词,一定要注意上下文的联系。
(2) 模块与符号:
传统习惯,一般是将一个电路抽象后形成模块,利用模块进行更高层次的设计。
而在MAX+PLUSⅡ中电路抽象后形成的模块依然称为“符号”。
因此在见到“模块”与“符号”这样的词语时,也要注意上下文的联系。
6)、通过本文学习,逐步掌握层次电路的设计,设计过程的功能仿真和时序
仿真,同时学会底层编辑,利用硬件实验系统进行硬件的验证。
MAX+PLUSⅡ与其它软件相比具有使用简单,操作灵活,支持的器件多,设计输入方法灵活多变等特点,掌握了MAX+PLUSⅡ后,对学习其它的EDA软件会有很大的帮助。
1.1常用的设计输入方法如下:
1.图形设计输入:
MAX+PLUSⅡ的图形设计输入是较其他软件更容易使用的,因为MAX+PLUSⅡ提供了丰富的库单元供设计者调用,尤其是在MAX+PLUSⅡ里提供的mf库几乎包含了所有的74系列的器件,在prim库里提供了数字电路中所有的分离器件。
因此只要具有数字电路的知识,几乎不需要过多的学习就可以利用MAX+PLUSⅡ进行CPLD/FPGA的设计。
MAX+PLUSⅡ还包括多种特殊的逻辑宏功能(Macro—Function)以及新型的参数化的兆功能(Mega—Function)模块。
充分利用这些模块进行设计,可以大大减轻设计人员的工作量和成倍地缩短设计周期。
2.文本编辑输入:
MAX+PLUSⅡ的文本输入和编译系统支持AHDL语言、VHDL语言、VERILOG语言三种输入方式。
3.波形输入方式:
如果知道输入、输出波形,也可以采用波形输入方式。
4.混合输入方式:
MAX+PLUSⅡ设计开发环境,可以进行图形设计输入、文本编辑输入、波形编辑输入混合编辑。
具体操作方法是:
在图形编辑、波形编辑时形成模块,在文本编辑时通过include“模块名.inc”或者采用Function(…..)Return(….)的方式进行调用。
同样,文本编辑输入形成的模块,也可以在图形编辑时调用,AHDL语言编译的结果可以在VHDL语言下使用,VHDL语言编译的结果也可以在AHDL语言或图形输入时使用。
这样灵活多变的输入方式,给设计使用者带来了极大的方便。
1.2设计与器件的结构无关
MAX+PLUSⅡ系统支持Altera公司的ACEX1K、FLEX10KE、FLEX10KB、FLEX10KA、FLEX10K、MAX9000、FLEX8000、MAX7000、FLEX6000、MAX5000、MAX3000及Classic等各种类型的可编程器件。
而在设计输入、编译逻辑功能和功能仿真时并不关心器件的结构。
只有在形成具体应用电路时,才会指定器件进行底层编辑。
1.3底层编辑方便形象
MAX+PLUSⅡ的底层编辑(FloorplanEditor)与实际CPLD器件的管脚一一对应,因此只需用鼠标简单的拖放即可完成I/O口等管脚的编辑任务。
1.4MAX+PLUSⅡ系统完全集成化
在MAX+PLUSⅡ系统环境下,可以完成所有的编辑、编译、网表提取、逻辑综合、适配、器件装配以及功能时序仿真。
这样可以加快调试、缩短开发周期。
1.5IP核丰富
MAX+PLUSⅡ对系统自带的内核具有开放的特性,即这些内核既可以使用又可以浏览。
同时,MAX+PLUSⅡ又允许设计人员将自己编辑的IPCORE添加到MAX+PLUSⅡ中。
目前在ALTERA网站上发布了许多IP核,还有第三方的IP核都可以在MAX+PLUSⅡ系统中进行综合与验证,当然有的IP核需要合适的License文件。
5.2MAX+PLUSⅡ设计硬件防火墙程序实例
5.2.1设计程序部分
根据防火墙原理我们可以想像,防火墙实际上就是一个病毒库。
当网络传送过来的数据与防火墙中病毒数据一样的时候就会被防火墙屏蔽掉,从而保障了计算机的安全。
主程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;---调用程序包;
entityktsjis
port(x,clk:
instd_logic;
y:
outstd_logic);---端口设置及端口数据类型设置;
end;
ARCHITECTUREarchOFktsjis---实体;
signalww1,ww2,ww3,ww4:
std_logic;---定义信号;
begin
process(x,clk)
begin
waituntilclk='1';---时钟控制优先
ifww1='1'andww2='1'andww3='1'andx='1'then
--定义:
当时钟信号为'1111'
ww1<='0';
else
ww1<=x;
endif;
endprocess;
process(x,clk)---第一个进程---进程敏感信号执行
begin
waituntilclk='1';
ifww1='1'andww2='1'andww3='1'andx='1'then
ww2<='0';
else
ww2<=ww1;
endif;
endprocess;
process(x,clk)---第一个进程---进程敏感信号
begin
waituntilclk='1';
ifww1='1'andww2='1'andww3='1'andx='1'then
ww3<='0';
else
ww3<=ww2;
endif;
endprocess;
process(x,clk)---第一个进程---进程敏感信号
begin
waituntilclk='1';
ifww1='1'andww2='1'andww3='1'andx='1'then
ww4<='0';
else
ww4<=ww3;
endif;
endprocess;
y<=ww4;
end;--结束
5.2.2波形仿真部分
波形输出如图:
结束语
在这次课题设计中,完成了基于PLD的硬件防火墙的设计。
在这个过程中对于防火墙、PLD的应用及设计有了较深入的了解。
可编程逻辑的价值在于其缩短电子产品制造商开发周期,以及帮助他们更快地将产品推向市场的能力。
随着PLD供应商继续致力于在可编程逻辑器件中集成更多的功能、降低其成本并提高能够节约时间的IP核心的可用性,可编程逻辑一定会在数字设计人员中进一步普及开来。
硬件防火墙通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,有选择地接受外部访问,对内部强化设备监管、控制对服务器与外部网络的访问,在被保
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 基于 PLD 硬件 防火墙 毕业设计