当前位置:文档之家› 网络安全协议课程设计-IPsec隧道协议的安全分析与改进

网络安全协议课程设计-IPsec隧道协议的安全分析与改进

《网络安全协议》课程设计题目IPsec隧道协议的安全分析与改进班级学号姓名指导老师2015年 7 月 4 日目录一、概述 (2)1.1课程设计的目的 (2)1.2课程设计的内容 (2)1.3课程设计的要求 (3)二、问题分析 (3)2.1系统需求 (3)2.2 GRE协议分析 (3)2.3 IPsec协议分析 (4)三、协议漏洞 (5)3.1协议漏洞解决措施 (5)3.2协议漏洞解决详解 (5)四、协议完善具体实现 (6)4.1实现分析 (6)4.2 GRE实现流程分析 (8)4.3简单设备设置 (10)五、案安全性分析 (11)六、程设计心得、总结 (11)七、参考文献 (12)一、概述网络如若想实现交流传输,必须以网络协议为载体进行。

而网络协议(Network Protcol)是控制计算机在网络介质上进行信息交换的规则和约定。

网络协议通常会被按OSI参考模型的层次进行划分。

OSI参考模型是国际标准化组织制定的网络体系结构参考模型,提供各种网络互联的标准,共分七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,会话层、表示层和应用层往往被合并称为高层。

当前的计算机网络的体系结构是以TCP/IP协议为主的Internet结构。

伴随着网络的诞生近几年频繁出现的安全事故引起了各国计算机安全界的高度重视,计算机网络安全技术也因此出现了日新月异的变化。

安全核心系统、VPN安全隧道、身份认证、网络底层数据加密和网络入侵主动监测等越来越高深复杂的安全技术极大地从不同层次加强了计算机网络的整体安全性。

网络安全的实现首先需要网络协议的安全,但是网络协议都是人为写的,存在先天的不足与缺陷,以至于只能慢慢实践发现并给与补充。

这里先谈一下VPN中的GRE协议。

GRE(Generic Routing Encapsulation,通用路由封装)协议是由Cisco和Net-smiths等公司于1994年提交给IETF(Internet Engineering Task Force,网络工程工作小组)的,标号为RFC1701和RFC1702。

GRE协议规定了如何用一种网络协议去封装另一种网络协议的方法,是一种最简单的隧道封装技术,它提供了将一种协议的报文在另一种协议组成的网络中传输的能力。

GRE协议就是一种应用非常广泛的第三层VPN隧道协议。

GRE隧道使用GRE协议封装原始数据报文,基于公共IP网络实现数据的透明传输。

GRE隧道不能配置二层信息,但可以配置IP地址。

本文从GRE协议的工作原理入手,从安全性角度出发,详细分析了GRE隧道协议的不足与缺陷,最后提出了相关的安全防护方案。

1.1课程设计的目的详细分析IPsec隧道协议不支持对多播和广播的加密的不足,并针对其漏洞设计实施完善可行的策略。

1.2课程设计的内容将GRE与IPsec结合使用,弥补IPsec不能保护组播数据的缺陷。

因为GRE可以封装组播数据并在GRE隧道中传输,所以对于诸如路由协议、语音、视频等组播数据需要在IPsec隧道中传输的情况,可以通过建立GRE隧道,并对组播数据进行GRE封装,然后再对封装后的报文进行IPSec的加密处理,就实现了组播数据在IPsec隧道中的加密传输。

1.3课程设计的要求GRE是传统IP网络中最常用的VPN技术;IPSec是比较常用的数据加密技术,本文要求详细介绍GRE的原理和报文封装,并且进行有效可行的GRE与IPsec的组合应用,解决组播业务在跨广域网的VPN中部署的问题,最后深刻理解GRE协议和IPsec协议的原理与作用 , 以及两者一起使用时的功能与利弊。

二、问题分析2.1系统需求实现这个需求首先要知道IPSEC协议只能对单播数据报文进行加密,我们可以设想把组播源或者组播客户端发出的组播报文,采用某种技术或者协议在组播报文的前面封装一个单播的IP报文头,构造一个普通的单播IP数据报文,组播报文可以看作是它的数据净荷,那么这个构造的报文在传输过程中,就可以使用IPsec协议对其进行加密了,这也意味着组播报文作为构造的单播IP数据报文里“数据净荷”被加密了.2.2 GRE协议分析(1) GRE协议广泛应用于建立VPN网络隧道,例如有一个大型企业需要利用VPN 将分布在两地的总部和办事处网络连接起来,在办事处网络路由器A与总部网络路由器B之间建立一个GRE隧道,则办事处网络中的主机A和总部网络中的主机B可以通过该隧道进行网络通信。

如图1所示,这就是一个非常典型的利用GRE 隧道协议来实现VPN网络的模型,本文中所描述的各种情况均以该网络拓扑结构为基础。

(2) GRE协议数据包结构GRE 协议可以实现对IP、IPX、AppleTalk 等协议数据包的封装,本文以使用最为广泛的IP 协议为例。

通过 GRE 协议封装过的数据包格式如图2 所示:在 GRE 数据包结构中,前面的IP 包头部结构是传送数据报头部,用于将其他被封装的数据包封装成IP 包并在IP 网络中传输,在本文中称之为外部IP 报头。

GRE 报头部用来传送与有效负载数据包有关的控制信息,用来在控制GRE 数据包在隧道中的传输以及GRE报文加封装和解封装过程,其结构如图3所示。

有效载荷数据包是被封装的其他协议的数据包,若被封装的协议为IP 数据包,则有效载荷数据包就是一个IP数据包。

(3) GRE协议报文处理过程GRE 协议报文在隧道中传输时,必须要经过加封装与解封装两个过程。

在图1 所描述的网络中,办事处网络中主机A 与总部网络中主机B 的通信过程如下所述:1、A 发送的IP 报文首先到达路由器A,路由器A 连接内部网络的接口收到该IP 报文后首先交由IP 报文处理进程处理,其检查IP 报头中的目的地址域来确定如何路由该IP 报文。

由于其目的地址为总部网络中的IP 地址,则开始进行数据包的加封装,即在该IP报文前加上新的IP 报头即外部IP 报头和GRE 报头。

之后将封装好的报文通过GRE 隧道接口发送出去。

2、器B从GRE 隧道接口收到路由器A发送的经过封装的GRE报文后,检查目的地址,发现目的地就是此路由器时,先去掉外部IP 报头,将剩下的报文交由GRE 协议处理。

GRE 协议进行检查校验和、序列号等处理,之后进行GRE 解封装,即将GRE 报头部去掉。

再将解封装之后的IP 报文交由IP 报文处理进程象对待一般IP 报文一样对此报文进行处理,即将该IP 数据包交给连接内部网络的接口,按照目的地址发送给主机B。

由上述的 GRE 协议处理过程可以看出,GRE 协议只提供了数据包的封装,并没有提供增强安全性的加密功能。

2.3 IPsec协议分析IPsec协议是目前用于所有Internet_通信的唯一的一种安全协议。

IPSec保护IP数据包的安全,主要包括:数据起源地验证、无连接数据的完整性验证、保证数据内容机密性、抗重播保护和保护有限数据流的机密性等。

提供了一种标准的、健壮的以及包容广泛的机制,为运行于IP顶部的任何一种协议(如 TCP,U DP,IC MP等)提供保护。

IPSec确保端到端的数据安全。

IPSe。

在网络内部实施时,即构成了虚拟专用网。

IPSe。

运行在网络层上,所以属于第三层隧道协议。

IPSec是一组协议套件,包括 AH(验证头),ESP(封装安全载荷)、IKE (Internet 密钥交换)、ISAKMP/Oakley以及转码。

各组件之间的交互方式如图1所示:IPSec策略由安全策略数据库(SecurityPolicyD atabase,SP D)加以维护。

在SPD 数据库中,每个条目都定义了所要保护的通信类别、保护方法以及与谁共享这种保护。

进人或离开IP堆栈的每个数据包都必须检索SPD数据库,调查可能的安全应用。

每一个SPD条目定义的行为是丢弃、绕过或应用中的一种。

行为是“应用的”PD条目,会指向一个或一套安全联盟(Security AssociationSA),表示对数据包实施应用安全保护。

实施方案都要构建一个安全联盟数据库(Security Association Database,SADB)来维护SA记录。

SA是两个通信实体经协商建立起来的一种协定,该协定决定了用来保护数据包安全的IPSec协议、转码方式、密钥及密钥的有效存活时间等。

SA是单向的,对于一个主机分别有SA (in)和SA(out)处理进人和外出的数据包。

SA具有协议相关性,若某一主机同时使用AH 和ESP两种协议进行安全通信,那么该主机会针对每一个协议构建一个独立的SA, SA是以成对的形式存在的,既可人工创建,也可动态创建。

在进人通信时,若SA不存在,则丢弃数据包;对于外出通信,若SA不存在,则通过Internet 密钥交换动态创建。

三、协议漏洞3.1协议漏洞解决措施GRE over IPsec,是将整个已经封装过的GRE数据包进行加密,于IPsec不支持对多播和广播数据包的加密,这样的话,使用IPsec的隧道中,动态路由协议等依靠多播和广播的协议就不能进行正常通告,所以,这时候要配合GRE隧道,GRE 隧道会将多播和广播数据包封装到单播包中,再经过IPsec加密。

3.2协议漏洞解决详解我们知道,最初,某大客户的总部网络和分支机构网络之间的业务主要局限于一些传统的FTP,HTTP等,网络结构如下:使用IPsec协议,对总部和分支机构之间传送的数据报文进行加密,客户已经成功部署了这方面的业务。

随着企业规模的扩大,现在需要开启大量新业务,比如:语音、视频等组播业务,组播服务器放在公司总部,组播客户端位于分支机构,网络结构如下:当总部向分支机构提供语音、视频等组播业务时,组播数据流要通过Internet 进行传输,出于安全的需要,也要求使用IPSEC技术对客户在Internet上传送的语音、视频等组播数据包进行加密,保证组播数据报文在Internet上传输时的私有性、完整性和真实性。

但是由于IPSEC协议目前只能对单播报文进行加密和保护,不能对组播报文进行加密和保护,所以人么迫切希望能不能采用其他的方法来实现这方面的需求。

四、协议完善具体实现4.1实现分析既然IPSEC协议只能对单播数据报文进行加密,我们可以设想把组播源或者组播客户端发出的组播报文,采用某种技术或者协议在组播报文的前面封装一个单播的IP报文头,构造一个普通的单播IP数据报文,组播报文可以看作是它的数据净荷,那么这个构造的报文在传输过程中,就可以使用IPsec协议对其进行加密了,这也意味着组播报文作为构造的单播IP数据报文里“数据净荷”被加密了。

如图所示:(1) 组播客户端发出一个组播报文,在NE16A上使用上面提到的某种技术,在组播报文前面封装一个单播IP头,目的地址是NE16B;(2) 在NE08A和NE08B之间建立一条IPSEC隧道,当构造的IP单播报文进入到隧道时,在NE08上A对其数据净荷进行加密;在NE08B上对其数据净荷进行解密;(3) 当这个报文到达NE16B时,去掉封装的IP头,还原出组播报文,这样组播报文就可以到达组播服务器了。

相关主题