




已阅读5页,还剩84页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要人类社会已经进入21世纪,计算机信息网络已深入到世界的各个角落,地域、国家、政府、企业甚至家庭。计算机网络的飞速发展给人来带来了诸多便利,而然其潜在的网络信息安全威胁也弥漫在各个领域。本课题设计与论述的是关于网络安全中常用的一种技术虚拟专用网(VPN)技术。该技术的主要作用:将不在同一区域的内网之间,通过在互联网中建立一种安全隧道,使得内网数据流安全地穿越互联网,而不被外网用户获悉,从而保证内网之间的数据通信安全地穿越互联网。本课题所探讨的VPN技术则是建立在GRE over IPSec技术之上,并通过合肥百大集团的网络拓扑对其进行设计与仿真。GRE over IPSec VPN技术是通过GRE与IPSec相结合,而形成的一种安全性更好VPN技术,其主要借用IPSec的安全加密和GRE支持多播的优点,从而使得VPN网络更加安全。该项技术的主要工作原理:将一个完整的组播、广播数据包或非IP数据包封装在一个单播数据包(IPSEC)里,以处理如OSPF的组播或 RIP的广播数据流,以完成在IPSec隧道里通信实体之间的动态路由学习。关键字:网络安全,VPN,IPSec,GRE,动态路由协议(具体是OSPF协议)AbstractThe human society has entered the 21st century, and the computer information network has penetrated every corner of the world, regional, state, government, businesses and even families. The rapid development of computer networks has brought much convenience to people, and then the potential security threat network information filled in the various fields. Design and discussion of the topic is about a kind commonly used in network security technologies - virtual private network (VPN) technology. The main function of the technology: the network is not within the same region between the Internet by establishing a secure tunnel so that data flows within the network through the Internet safely without the user was informed by external network, thus ensuring the network between secure data communications through the Internet. The topics are discussed in VPN technology is built on top of GRE over IPSec technology, and through Hefei Baida Group to design their network topology and simulation. GRE over IPSec VPN technology is through the combination of GRE and IPSec, and the formation of a better VPN security technology, its main borrowing GRE IPSec encryption and security advantages of multicast support, which makes the network more secure VPN. The main working principle of the technology: a complete multicast, broadcast packets or IP packets are encapsulated in a unicast packet (IPSEC) in order to deal with, such as OSPF or RIP broadcast multicast data streams to complete the communication entities in the IPSec tunnel between the dynamic routing study. Keywords: Network Security, VPN, IPSec, GRE, Dynamic Routing Rrotocols (specifically, the OSPF protocol)目 录摘 要IAbstractII第一章 网络安全与VPN简介11.1网络安全简介11.2 VPN技术简介2第二章 GRE over IPSec VPN相关技术描述52.1 GRE隧道协议52.2 IPSec概述62.3 AH和ESP92.4 IKE协议12第三章 系统VPN分析与概要设计173.1系统VPN需求分析173.2系统VPN规划与概要设计183.3系统VPN规划与概要设计20第四章 GRE over IPSec VPN相关技术分析224.1 GRE基本配置与分析224.1.1 配置网络环境224.1.2 配置GRE VPN234.2 IPSec基本配置与分析244.2.1 IPSec VPN基本配置步骤244.2.2 IPSec VPN安利配置与分析264.3 IPSec over GRE VPN和GRE over IPSec VPN基本配置与分析364.3.1 IPSec over GRE VPN配置与分析364.3.2 GRE over IPSec VPN配置与分析424.3.3 GRE over IPSec VPN与IPSec over GRE VPN的区别46第五章 基于GRE over IPsec VPN设计与仿真的实现475.1 GRE over IPsec VPN配置与实现475.2 查看本系统GRE over IPsec VPN配置文件545.3 网络系统调试与分析59结 论66一、技术要点和难点66(一)技术要点66(二)技术难点69二、设计中遇到的问题71三、毕业设计总结73(一)个人体会73(二)专业和技术总结74(三)方案总结75参考文献76致 谢78附 录79IV第一章 网络安全与VPN简介1.1网络安全简介随着互联网的深入发展和应用,在其带给人类越来越多的利益之时,网络中的各种威胁也随之而来,并且日积月累,已经发展成为威胁各种网络的重大因素,其中涉及到国家信息机密安全、企业信息安全以及家庭甚至个人的网络信息安全。1、网络安全的由来网络安全可分为三个基本类型:网络策略定义中的弱点,包括业务和安全策略弱点,而这些策略则是网络正常运行的先决条件。计算机技术弱点,包括网络信息运行协议和操作系统等的安全弱点。设备配置中的弱点,包括网络设备的设定、配置和管理。 2、网络安全的威胁类型安全威胁主要来自两个方面,即网络外部用户和内部用户。绝大多数的网络的安全威胁来自于内部,所以在进行网络安全设计时,必须通过内部措施处理这个问题,以保护重要资源。安全威胁的基本方式分为无组织的和有组织的两种威胁类型,其中无组织的威胁是指由于缺乏经验而崇拜黑客的人试图获得对网络的访问时形成的安全威胁。任何人均可以通过互联网获得很多工具用来发现网络中的安全弱点,这些工具包括端口扫描工具、地址扫描工具以及其他很多工具。另一方面,有组织的威胁是由技术训练有素的人试图获得对网络访问时实施的。这些黑客建立和使用很高级的工具攻入网络或者干扰网络中正常运行的各种服务。以上描述了网络安全威胁的基本组件,谈到威胁的分类,则通常通过以下术语进行分类:勘测攻击:黑客试图获得相关网络的信息,包括网络拓扑、网络中的设备、在设备上运行的软件以及应用到设备上的配置。访问攻击:黑客企图获得对网络和网络资源的未授权的或者非法的访问。拒绝访问攻击,即DoS攻击:黑客企图拒绝到特定资源的合法流量和用户访问,或者至少降低对资源的服务质量。3、网络安全解决方案一个较好的网络安全解决方案应该具备以下基本条件:易于使用和实施、应该使公司能够在网络中开发和部署新的应用;应该使公司能以一个安全的方式使用Internet。思科在网络安全设计方面则有一套安全轮形图,其中包含四个步骤,即:保护网络安全、监控网络安全、测试网络安全和改进网络安全。其安全轮形图如下图1.11:图1.1 网络安全轮形图1.2 VPN技术简介1、VPN技术的由来众所周知,计算机网络发展之初,随着计算机科技的飞速发展,以及计算机互联给人民所带来的便利逐步得到人类的认可,计算机网逐步演化到世界的各个角落,随之诞生的各种网络安全犹如前文所述。但是在当今经济腾飞、科技发达的世界里,地域之间、企业之间以及个体之间无时无刻不需要互联,而这必然也面临诸多问题。于是,人类逐步想了诸多解决办法。首先,如果不同区域间的计算机内网相互通信,必然会穿越互联网,这很显然会将自己的内部局域网在互联网上公之于众,必然面临诸多网络安全威胁。网络设计之初,很多网络设计者解决上述问题的最简单直接的办法就是在不同区域间的内部局域网之间铺设自己的专用物理链路,这样就会增加网络建设的开支。同时随着自身发展需求的不断增大,自身的内部局域网也逐步壮大和扩散,这样将会使得自身铺设的物理链路剧增,会使得自身的网络建设费用随之剧增。面对这样的难题,一般的区域网络建设者和使用者,是无法承受得起这么一笔高额费用。显而易见,这种解决上述难题的办法在当今互联网世界里是不切合实际的。其次,后来随着网络运营商的发展及其不断壮大,很多区域内部网之间的互联,便通过租用运营商的网络链路来成为自身不同区域内部网络之间互联的专用链路,这样就必须向运营商提供费用不菲的链路租费。虽然这种解决办法相对于前者来说更加经济便捷,但是这种费用也不是一笔小的开支,也会使得相当大规模的网络使用者无法承受。同时运营商只将自己的这部分物理链路租用给一家网络,这显然使得运营商的物理链路没有得到更高的使用效率,浪费运营商的物理网络资源。后来,人们便又逐渐想出很多种办法来弥补上述的不足,比如远程拨入,这种网络互连方法只能满足那些在流量需求相对比较小、覆盖范围比较小的情况,对于覆盖范围大、流量需求大的网络互联则体现出远程拨入的弱势。在当今互联网的应用当中,有一种虚拟的隧道技术穿越互联网,以达到内部网络之间,以及其他一些不需要外部网络知晓的网络通信之间相互互联的目的。首先,这种虚拟隧道技术不需要铺设实际的物理链路,也不需要租用运营商的物理链路,当然也就不必支付高额的费用;其次,此技术在达到比前面所述解决方案更加优越的效果,还带来了更加宽泛的网络互连域,提供了更加安全的互联通信,因为很多虚拟隧道技术采用了安全加密技术进行数据通信。以上所最终演变出来的虚拟隧道技术所形成的互联互通的网络技术,就是今天众口皆碑的虚拟专用网技术,即VPN技术。 2. VPN技术简介虚拟专用网(VPN)是通过互联网来临时建立一个临时的、安全的网络连接,是一种穿越互联网的安全、稳定的虚拟隧道。VPN是内部网络通过互联网的一种扩展,可以帮助远程用户、分支机构、业务伙伴以及自身与供应商之间建立可信的安全连接,来保障安全的数据通信与互联。VPN可以根据需要提供可加密、可认证、可防火墙的功能,是穿越互联网而虚拟隧道化的一种技术,因此可见,VPN是通过四项安全保障技术来保障安全数据传输的,四项安全保障技术为:隧道技术、加解密技术、密钥管理技术以及发送方与接收方之间的相互认证技术。VPN同实际物理链路网络一样,其中有时根据需要也要运行某种网络协议,VPN常用的协议有以下几种:IPSec协议:IPSec是保护IP协议安全通信的标准,它主要对IP协议分组进行加密和认证,后续章节将对其进行详细论述,此处不再深入。GRE协议:GRE协议是VPN的第三层隧道协议,后续章节将对其进行详细论述,此处不再深入。SSL协议:SSL(Secure Sockets Layer 安全套接层)协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。MPLS2:多协议标签交换(MPLS)是一种用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由、转发和交换等能力。MPLS 独立于第二和第三层协议,看似属于第2.5层协议。它提供了一种方式,将 IP 地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。基于MPLS的VPN就是通过LSP将私有网络的不同分支联结起来,形成一个统一的网络,传统的VPN一般是通过GRE(Generic Routing Encapsulation)、L2TP(Layer 2 Tunneling Protocol)、PPTP(Point to Point Tunneling Protocol)、IPSec协议等隧道协议来实现私有网络间数据流在公网上的传送。MPLS VPN相对于其他VPN,采用MPLS组建的VPN具有更好的可维护性及可扩展性,MPLS VPN更适合于组建大规模的复杂的VPN。PPTP:Point to Point Tunneling Protocol,即点到点隧道协议,其功能由两部分构成:访问集中器PAC和网络服务器PNS,而PPTP则是在二者之间实现,而且二者之间并不包括其他系统。其工作原理很简单:第一步,具有PAC的远程计算机用户拨号接入使用PPP的本地ISP的网络访问服务器(NAS);第二步,PAC通过PPP连接建立一条控制信道,并且通过互联网连接到属于本地网络的PNS;第三步,通过控制隧道协商PPTP隧道参数,建立PPTP隧道;第四步,通过PAC与PNS之间的PPTP隧道,从远程用户建立进入专用NAS的PPP连接;第五步,完成以上四个步骤之后,一个PPTP VPN就建立起来,进而进行相应的网络数据通信。适用于远程拨号连接的VPN网络环境。L2F协议:Layer 2 Forwarding,即第二层转发协议。它允许通信载体和其他服务提供商提供远程拨号接入,其在某些方面和PPTP有些相似。L2TP:Layer 2 Tunneling Protocol,即第二层隧道协议,与PPTP和L2F相似,三者只是基于不同的网络设备和设备生产商基于不同的目的而开发的。3、VPN的分类根据VPN运行的协议来划分:由1.2.2节几种协议的介绍,VPN按照上述协议则可结合相应的协议形成一种VPN,同时集中协议相互结合后再集合VPN技术又形成多种VPN技术。根据VPN的加密特别可以划分为三种,即:加密VPN、非加密VPN和混合VPN。其中所为混合VPN则是加密VPN和非加密VPN结合的产物1。以上两种划分方式并非没有关联,相反则是相互包含,比如加密VPN有IPSec VPN和SSL VPN等,非加密VPN则有非数据严格加密的GRE VPN等,混合VPN则如本课题所涉及到的GRE over IPSec VPN和IPSec over GRE VPN,等等。第二章 GRE与IPSec相关技术概述2.1 GRE概述1、GRE引入20GRE(Generic Routing Encapsulation),中文译为通用路由封装,该协议在IP头中的协议号是47。GRE是一种最传统的隧道封装协议,提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输。其根本功能就是要实现隧道功能,通过隧道连接的两个远程网络就如同直连,GRE在两个远程网络之间模拟出直连链路,从而使网络间达到直连的效果。 2、GRE的主要特性如下:n(1)将原始数据包被包裹在外层协议之内;n(2)GRE需要在原IP报头之外增加新的IP报头;n(3)GRE是一种无状态协议,不提供可靠地流控传输机制;n(4) GRE支持IP协议和非IP协议;n(5)GRE支持单播、组播和广播;n(6)GRE不具备安全加密功能。3、GRE工作原理及流程概述由上述可见,GRE中的IP数据包是一层套一层,总共有3个IP地址。GRE在实现隧道时,需要创建虚拟直连链路,GRE实现的虚拟直连链路可以认为是隧道,隧道是模拟链路,所以隧道两端也有IP地址,但隧道需要在公网中找到起点和终点,所以隧道的源和终点分别都以公网IP地址结尾,该链路是通过GRE协议来完成的,隧道传递数据包的过程分为3步:(1)将接收原始IP数据包中的协议当作乘客协议,原始IP数据包包头的IP地址为私有IP地址。 (2)将原始IP数据包封装进GRE协议,GRE协议称为封装协议(Encapsulation Protocol),封装的包头IP地址为虚拟直连链路两端的IP地址。(3)将整个GRE数据包当作数据,在外层封装公网IP包头,也就是隧道的起源和终点,从而路由到隧道终点。GRE隧道对传输数据进行加封装与解封装的主要过程如下:一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过加封装与解封装两个过程,下面以下图2.1为例说明这两个过程:图2.1 X协议网络通过GRE隧道连接(1)加封装过程1) Router A 连接Group 1 的接口收到X 协议报文后,首先交由X 协议处理;2)X 协议检查报文头中的目的地址域来确定如何路由此包;3)若报文的目的地址要经过 Tunnel 才能到达,则设备将此报文发给相应的Tunnel接口;4) Tunnel 口收到此报文后进行GRE 封装,在封装IP 报文头后,设备根据此IP包的目的地址及路由表对报文进行转发,从相应的网络接口发送出去。(2)GRE解封装的过程解封装过程和加封装的过程相反。1) Router B 从Tunnel 接口收到IP 报文,检查目的地址;2) 如果发现目的地是本路由器,则 Router B 剥掉此报文的IP 报头,交给GRE协议处理(进行检验密钥、检查校验和及报文的序列号等);3)GRE 协议完成相应的处理后,剥掉GRE 报头,再交由X 协议对此数据报进行后续的转发处理。2.2 IPSec概述1、加密学概述加密算法:当不同的远程网络通过Internet连接时,网络之间直接通过私有地址进行互访只是需求之一,除此之外,还有个非常重要的需求,那就是数据安全。在远程网络之间布置的VPN除了实现隧道功能之外,还必须在隧道中实现对数据的加密。隧道与加密是一个安全可靠的VPN技术兼备的元素,两者缺一不可,否则就不算是完整的、安全的VPN。目前,加密算法多种多样,加密算法分为加密和解密两个过程:加密是指将明文数据换算成密文数据;解密是对加密的反运算,将密文数据转变为明文数据。根据在对数据进行解密时使用的密钥和加密使用的密钥是否完全相同,可将加密算法分为两类:对称加密算法和非对称加密算法。在对数据进行解密时使用的密钥和加密使用的密钥是完全相同的,这种加密算法称为对称加密算法,也叫做私钥算法;同时在对数据进行解密时使用的密钥和加密使用的密钥是完全不相同的,这种加密算法称为非对称加密算法,也叫做公钥算法。当前涉及到的各种加密算法有:(1)对称加密算法(私钥算法)DES(Data Encryption Standard)DES加密共有三种形式,分为DES(40-bit长度加密),DES(56-bit长度加密)以及3DES(3倍的56-bit长度加密,即168-bit长度加密);由于3DES加密长度够长,安全性够高,所以推荐使用3DES。AES(Advanced Encryption Standard)AES加密共有三种形式,分为AES 128(128-bit长度加密),AES 192(192-bit长度加密)以及AES 256(256-bit长度加密);由于AES 256加密长度够长,安全性够高,所以推荐使用AES 256。(2)对称加密算法(公约加密算法)RSA公钥加密算法的名字是发明者的人名:Rivest, Shamir and Adleman,该算法的长度位数不定,由人手工定义。注:在硬件方面,当采用公钥加密算法时,速度明显慢于私钥加密算法。虽然使用公钥加密算法似乎更安全,但通常都使用私钥加密算法,而使用私钥加密算法的重点就是要保证密钥的安全传递与交换,所以该工作就由公钥加密算法来完成。最后的过程就是先使用公钥加密算法安全地交换私钥算法的密钥,然后再使用私钥算法对数据进行加密,这样既保证了私钥算法的密钥安全,同时又获得了数据加密的速度,两者兼得。HMAC(Hashed Message Authentication Code):Hash算法的特征在于任何大小的数据通过Hash计算后,得到的Hash值都是固定长度的,所以如果仅仅是根据Hash值,是无法推算出数据内容的,包括将数据内容还原。在正常的数据传输中,数据在发送之前先计算出相应的Hash值,当接收者收到数据后也要对数据计算Hash值,如果发现自己计算的Hash值与数据附带的值不匹配,便认为数据在传输过程中遭到了篡改,从而拒绝不正确的数据包。基于Hash的以上特征, Hash多用于认证,而认证对等体双方在相互认证时,只需要交换密码的Hash值即可,而无需交换密码,从而防止了密码被窃取。目前Hash算法有:MD5(Message Digest 5):将任何数据通过计算后输出128-bit长度的Hash值。SHA-1(Secure Hash Algorithm 1):160-bit digest,将任何数据通过计算后输出160-bit长度的Hash值。显然SHA-1拥有着比MD5更高的安全性。2、IPSec的引入IPsec协议是一种开放标准的框架结构,通过使用加密的安全服务以确保在 Internet 协议 (IP) 网络上进行保密而安全的通讯。然而IPsec本身并不是一个协议,而是一个协议簇,包含着为之服务的各种协议,以实现IPsec要完成的各个功能。IPsec所提供的主要安全服务有:(1)数据机密性(Confidentiality):IPsec 发送方在通过网络传输包前对包进行加密。(2)数据完整性(Data Integrity):IPsec 接收方对发送方发送来的包进行认证,以确保数据在传输过程中没有被篡改。(3)数据来源认证(Data Authentication):IPsec 在接收端可以认证发送IPsec 报文的发送端是否合法。(4)防重放(Anti-Replay):IPsec 接收方可检测并拒绝接收过时或重复的报文。3、IPSec的封装模式IPsec 有如下两种工作模式:(1)隧道(tunnel)模式:用户的整个IP 数据包被用来计算AH或ESP 头,AH或ESP 头以及ESP加密的用户数据被封装在一个新的IP 数据包中。通常,隧道模式应用在两个安全网关之间的通信,此时加密点不等于通信点。(2) 传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP 包头后面。通常,传输模式应用在两台主机之间的通讯,或一台主机和一个安全网关之间的通信,此时加密点等于通信点。不同的安全协议在tunnel和transport模式下的数据封装形式如下图2.2所示,Data为传输层数据。图2.2 数据封装形式4、IPSec协议的实现之所以说IPsec协议不是一个单独的协议,则是因为它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议AH(Authentication Header,认证头)、ESP(Encapsulating Security Payload,封装安全载荷)、IKE(Internet Key Exchange,因特网密钥交换)和用于网络认证及加密的一些算法等。其中,AH协议和ESP协议用于提供安全服务,IKE协议用于密钥交换。在实际进行 IP 通信时,可以根据实际安全需求同时使用这两种协议或选择使用其中的一种。AH和ESP 都可以提供认证服务,不过,AH 提供的认证服务要强于ESP。同时使用AH 和ESP 时,备支持的AH 和ESP 联合使用的方式为:先对报文进行ESP 封装,再对报文进行AH 封装,封装之后的报文从内到外依次是原始IP 报文、ESP 头、AH 头和外部IP 头。以上介绍的便是为IPSec服务的三种协议,即:IKE、ESP和AH。后续将分别对这三种协议进行详细探讨。对于IPSec数据流处理而言,有两个必要的数据库:安全策略数据库SPD和安全关联数据库SADB。其中SPD指定了数据流应该使用的策略,SADB则包含了活动的SA参数,二者都需要单独的输入输出数据库。IPSec协议要求在所有通信流处理的过程中都必须检查SPD,不管通信流是输入还是输出。SPD中包含一个策略条目的有序列表,通过使用一个或多个选择符来确定每一个条目。IPSec选择符包括:目的IP地址、源IP地址、名字、上层协议、源端口和目的端口以及一个数据敏感级别。5、SA(Security Association,安全关联)IPsec的所有会话都是在通道中传输的,SA则是IPSec的基础,但SA并不是隧道,而是一组规则,是通信对等方之间对某些要素的一种协定,如IPSec安全协议、协议的操作模式、密码算法、密钥、用于保护它们之间的数据流密钥的生存期,等等。SA由3个部分内容唯一标识,即SPI、IP目的地址和安全协议标识符。根据IPSec的封装模式同样也可以将SA分为传输模式SA和隧道模式SA,二者的应用机理则根据IPSec的实际实施来决策。SA可以创建也可以删除,可由手工进行创建和删除操作,也可通过一个Internet标准密钥管理协议来完成,如IKE。SA的创建份两步进行:协商SA参数,然后用SA更新SADB。如果安全策略要求建立安全、保密的连接,但又找不到相应的SA,IPSec内核便会自动调用IKE,IKE会与目的主机或者途中的主机/路由器协商具体的SA,而且如果策略要求,还需要创建这个SA。SA在创建好且加入SADB后,保密数据包便会在两个主机间正常地传输。SA的删除有诸多情况:(1)存活时间过期;(2)密钥已遭破解;(3)使用SA加密/解密或验证的字节数已经超过策略设定的某一个阀值;(4)另一端请求删除相应SA。同SA创建一样,SA的删除也有手工删除和通过IKE删除两种方式。为了降低系统被破解的威胁,系统经常需要定期定量更新密钥,而IPSec本身没有提供更新密钥的能力,为此必须先删除已有的SA,然后再去协商并建立一个新SA。为了避免耽搁通信,在现有的SA过期之前,必须协商好一个新的SA。2.3 AH和ESPIPsec 提供了两种安全机制:认证和加密。认证机制使IP 通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。加密机制通过对数据进行加密运算来保证数据的机密性,以防数据在传输过程中被窃听。IPsec 协议中的AH 协议定义了认证的应用方法,提供数据源认证和完整性保证;ESP 协议定义了加密和可选认证的应用方法,提供数据可靠性保证。21221、AH(Authentication Header,认证头)AH用于为IP提供无连接的数据完整性、数据源认证和一些有限的(可选的)抗重放服务,但不提供任何加密服务,故而不需要任何加密算法,但需要一个认证器,用于进行后续的认证操作。AH 的工作原理是在每一个数据包上添加一个身份验证报文头,此报文头插在标准IP 包头后面,对数据提供完整性保护。AH定义了保护方法、头的位置、认证范围以及输入输出的处理机制,且没有定义要用的具体认证算法, 可选择的认证算法有MD5(Message Digest)、SHA-1(Secure Hash Algorithm)等。AH作为一种IP协议,其在IPv4数据报中的协议字段值为51,表明IP头之后是AH头。AH的头格式如下图2.3所示:图2.3 AH头格式下一个头字段:8bit长度,表示AH头之后的下一个载荷的类型。在传输模式下,是受保护的上层协议的值,如UDP或TCP。而在隧道模式下,是受保护的IP协议的值。SPI字段:SPI(任意制定的32bit整数值)、源地址或者外部IP头的目的地址和安全协议(AH或ESP)三者共同构成的一个三元组,来唯一标识这个包的安全关联SA。序列号:序列号包含一个单向递增的计数器,是一个32bit的唯一的无符号整数值。当建立SA时,发送方和接收方的序列号初始化为0。通信双方每使用一个特定的SA发出一个数据报,就将它们相应的序列号加1。而序列号的主要作用就是用来防止重放数据报。AH规范强制发送方发送序列号给接收方,而接收方有权选择是否使用抗重放特性,这时接收方可以不管数据流中的数据报序列号。如果接收方启动了抗重放功能,它便使用滑动接收窗口机制检测重放包。认证数据字段:包含完整性校验值(ICV),采用的转码方案则决定了ICV的长度,而SA指定生成ICV的算法。计算ICV的算法因IPSec实施的不同而不同,然而为了保证互操作性,AH有2个默认强制执行的认证器:HMAC-SHA-96和HMAC-MD5-96。2、ESP(Encapsulating Security Protocol,封装安全载荷)23IPsec 封装安全负载(IPsec ESP)是 IPsec 体系结构中的一种主要协议,保证为通信中的数据提供机密性和完整性。ESP 的工作原理是在每一个数据包的标准IP 包头后面添加一个ESP 报文头,并在数据包后面追加一个ESP 尾。与AH 协议不同的是,ESP 将需要保护的用户数据进行加密后再封装到IP 包中,以保证数据的机密性。常见的加密算法有DES、3DES、AES 等。同时,作为可选项,用户可以选择MD5、SHA-1 算法保证报文的完整性和真实性。同AH一样,ESP是否启用抗重放服务也是由接收方来决定。ESP 头可以放置在 IP 头之后、上层协议头之前 (传送层),或者在被封装的 IP 头之前 (隧道模式)。IANA 分配给 ESP 一个协议数值 50,在 ESP 头前的协议头总是在“next head”字段(IPv6)或“协议”(IPv4)字段里包含该值 50。ESP 包含一个非加密协议头,后面是加密数据。该加密数据既包括了受保护的 ESP 头字段也包括了受保护的用户数据,这个用户数据可以是整个 IP 数据报,也可以是 IP 的上层协议帧(如:TCP 或 UDP)。ESP头格式如下图2.4所示:图2.4 ESP头格式这里需要注意的是SPI和序列号均没有被加密。(1)ESP处理对于ESP来说,密文是得到认证的,认证的明文则是未加密的。其间的含义在于对于外出包来说,先进行加密;对于进入的包来说,认证是首先进行的。1)处理外出数据包当某IPSec实现接收一个外出的数据包时,它使用相应的选择符(目的IP地址端口、传输协议等)查找SPD并且确认哪些策略适用于数据流。如果需要IPSec处理并且SA已经建立,则与数据包选择符相匹配的SPD项将指向SADB中的相应SA。如果SA未建立,IPSec实现将使用IKE协议协商一个SA并将其链接到SPD选项,接下来SA将用于进行以下处理:I生成序列号;II加密数据包;III计算ICV:IV分段。2)处理进入数据包当接收方收到ESP包后的第一件事就是检查处理这个包的SA,如果查找失败,则丢弃此包,并重新审核该事件。而一旦确认了一个有效的SA,就可以用它对包进行相应处理,处理步骤如下:I用查到的SA对ESP包进行处理。首先检验已确定IP头中的选择符是否和SA中的匹配,如果不匹配则抛弃该数据包并审核事件;如果匹配,IPSec应用跟踪SA以及它相对于其他SA的应用顺序并重复查找SA和步骤I,直到遇到一个传输层协议或者一个非IPSec扩展头。II使用包中的选择符进入SPDB中查找一条和包选择符相匹配的策略。III检查所找到的SA是否和步骤II找到的策略相匹配,如果匹配失败,则重复步骤III和IV,直到所有的策略匹配完成或者匹配成功。IV如果启用了抗重放服务,使用抗重放窗口来决定某个包是否是重放包,如果是重放包,抛弃该数据包并审核事件。V如果SA指定需要认证服务,应用SA指定的认证算法和密钥生成数据包的ICV,将其和ESP认证数据域中的值相比较,如果二者不同,则抛弃该数据包并审核事件。VI如果SA指定需要加密服务,应用SA指定的加密算法和密钥解密数据包。一般加密处理对CPU和内存的占用很大,如果允许IPSec系统进行不必要的数据包加密/解密,系统很容易受到拒绝服务攻击,所以需要加密/解密时,只有成功认证数据包后才进行加密和解密。2.4 IKE协议在使用IPSec保护IP包之前必须建立一个SA,而IKE(Internet Key Exchange,Internet密钥交换)则可以动态地创建SA,并组装和管理SADB。IKE是一种混合协议(如下图2.5),是基于由Internet安全关联和密钥管理协议(ISAKMP)2425定义的一个框架,并执行了两个密钥管理协议Oakley和SKEME的一部分。因此,ISAKMP、Oakley和SKEME这三个协议为IKE的基础,IKE沿用了ISAKMP的基础、Oakley的模式以及SKEME的共享和密钥更新技术,并定义了自己独特的密钥素材导出方式,以及协商共享策略的方法。另外IKE定义了它自身的两种密钥交换方式。1、IKE的相关概述对于IPSec而言,IKE则定义了其需要的密钥交换技术。IKE交换的结果就是一个已经认证的密钥以及建立在双方协议基础上的服务,即IPSec SA。 图2.5 IKE协议簇图IKE使用了两个阶段的ISAKMP,其中第1阶段建立一个保密的和已认证无误的通信信道,即IKE SA,以及建立通过认证的密钥,为双方的IKE通信提供机密性、消息完整性以及消息源认证服务。第2阶段则利用第1阶段的IKE SA来协商建立IPSec 具体的SA。在IKE定义的两个阶段中,如图2.6 IKE体系结构图所示,阶段1包含两种模式,笔者称之为主模式和主动模式,而阶段2只有一种模式,称之为快速模式。 图2.6 IKE体系结构图在上述所说的阶段1为IKE建立的IKE SA提供了一套保护套件,其中包括各种实践中所需的参数,包括加密算法、散列算法、认证方法以及Diffie-Hellman组,其在协商过程中是作为整个套件进行协商。IKE的以上交换均属于信息方面的交换。在这种交换中,IKE通信双方可相互间传达有关错误信息和状态咨询,而且一种新的组交换模式可是各方协商如何在它们之中使用一个新的Diffie-Hellman组(以下简称DH组)。DH组决定了在进行一次DH交换时通信双方需要采用的参数。IKE中定义了5个组,并为每个组分配了独有的值。而对IKE影响最大的当属认证方法,通过通信双方协商的认证方法,可以改变一次IKE交换,常用的认证方法有:预共享密钥(Pre-shared Keys,简称PSK)、PKI(系统默认)、使用RSA或者DES得到的数字签名、使用交换加密的Nonce。在通信双方第一条信息时,通信各方在向对方发送一部分外部可见的特征外,彼此都会保留一些私密信息,用于认证和保护IKE消息,以及为其他的安全服务衍生出相应的密钥。这些私密信息包括以下四种:1)SKEID:经过交换密钥信息后得到的共享密钥ID,后面三种均是建立它之上的。2)SKEYID_d:用于为IPSec和其他协议的SA衍生出加密的材料;3)SKEYID_a:用来为IKE消息保障数据的完整性以及对数据源的身份认证;4)SKEYID_e:用于对IKE消息进行加密。SKEID的生成取决于使用何种认证方法,其他的以SKEID为基础的私密信息都是以相同方式衍生出来。对于SKEID的生成,通信各方都要分别提供一个Cookie和Nonce。(2)主模式前文中笔者提到,IKE分为两个阶段,其中第1阶段有两种模式,分别为主模式和主动模式,第2阶段只有一种模式,则为快速模式。主模式主要应用于协商阶段1的ISAKMP SA,其将密钥交换信息与身份认证信息分离开来,保护了身份信息,而交换的身份信息受到了前面生成的DH共享密钥的保护,因此这些增加了3个消息的开销。而在整个主模式下共有3个步骤并包含6条消息,三个步骤分别为SA协商、1次DH交换和1次Nonce交换以及对ISAKMP协商能力的完全利用。、由于本课题方案中采用的是预共享密钥认证方式,所以下面以预共享密钥认证为例,来讲述主模式的体系结构,而其他认证方式的主模式交换体系结构与此类似。图2.7 主模式交换结构图图2.8 IKE协商会话主模式交换的结构图如上图2.7所示,下面将针对图中的6条消息进行阐述。消息1和消息2发起者首先向响应者发送其所有的SA载荷信息,响应者收到发起者的消息1之后,将向发起者发送1个SA载荷,用于说明它所接受的正在协商的SA。在本次交换中通信双方需要协商IKE SA的各项参数,并对交换的其余部分拟定规范。消息3和消息4发起者和响应者交换DH公开值和辅助数据,如Nonce,Nonce是计算共享秘密(用来生成加密密钥和认证密钥)所必需的。本次交换中通信双方会交换DH公开值以及伪随机Nonce,并生成SKEYID状态。消息5和消息6发起者和响应者交换标识数据并认证DH交换。这两条消息中传递的信息是经过加密的,而用于加密的密钥来自于消息3和消息4中交换的密钥信息,因此身份信息受到了保护。本次交换中通信双方各自标定自己的身份,并相互交换认证散列摘要,交换过程中,用SKEYID_e进行加密。对于各种认证方式的主模式交换,可用一个比较形象且易于理解的图示来说明,如上图2.8所示。(3)主动模式主动模式和主模式的作用相同,都是建立一个已认证的SA和密钥,随后IKE可用它们为其他协议建立SA。二者的主要差别在于主动模式只需用到主模式一半的消息。由于对消息的数量进行了限制,主动模式同时也限制了它的协商能力,而且不会提供身份保护。主动模式允许同时传送与SA、密钥交换和认证相关的载荷,而将这些载荷组合到一条信息中,减少了信息的交换次数,但这样正如前述而无法提供身份保护。主动模式运用的场合很少,但在实际应用当中也能碰到,比如在需要运行远程访问的环境下,由于发起者的地址是响应者无法预先知晓,而且双方都打算使用预共享密钥认证方法,则要想建立IKE SA,主动模式便是唯一可行的交换方式。另外,如果发起者已知响应者的策略,或者对策略有着非常全面的理解,此时发起方没有必要利用IKE和响应者协商全部功能,则此时也可以用主动模式交换,这样它们可以更加快捷地建立IKE SA。(4)快速模式在经过阶段1建立好IKE SA之后,可用这些IKE SA为其他安全协议生成相应的SA,而这些SA则是通过快速模式交换建立起来的。同时,在单独一个IKE SA的保护下,可以执行一次甚至并发地执行多次快速模式交换。在本模式交换中,通信双方需要协商拟定IPSec SA的各项特征,并为其生成密钥。IKE保护快速模式的方式主要是对其进行加密,并对消息进行认证。其中消息的认证时通过相关散列函数进行,来自IKE SA的SKEYID_a的值作为一个密钥,对快速模式进行相关认证,这样除了保障了快速模式下数据的完整性之外,还能提供对数据源的身份认证。因为在消息收到之后,只有来自通过认证的实体,而且消息在传输过程中并未发生改变。至于加密则是通过使用SKEYID_e的值来完成的。快速模式交换结构图如下图2.9所示:图2.9快速模式交换结构图1)消息1如上图2.9所示,发起者向接收者分别发送散列载荷、SA载荷、Nonce载荷各一个,以及可选的密钥交换信息和标识信息。如果需要PFS,则此消息中必须包含密钥交换信息。散列载荷中包含信息摘要,它是使用前面协商好的伪随机函数对头中的消息ID连同散列载荷后面的全部消息部分(包括所有载荷头)进行计算的结果。2)消息2消息2中的载荷和消息1中的载荷类型。散列2中包含指纹的生成和散列1中的类似,只是除去了载荷头的发起者Nonce,Ni插入在消息ID之后、其他部分之前。3)消息3消息3是用于对前面的交换进行认证,仅由ISAKMP和散列载荷组成。本章简要地介绍了GRE与IPSec相关技术,下一张将结合前一章和本章内容,来对本课题案例的系统进行分析和概要设计。第三章 系统VPN分析与概要设计前面两章介绍了VPN的基本概念,以及GRE与IPSec相关技术,后续内容将从本章开始,结合合肥百大集团网络拓扑,开始本课题的设计与仿真。随着合肥百大集团不断的壮大发展,不但在合肥拥有众多百货大楼,同时在安徽蚌埠、芜湖、淮南、黄山等多个县市拥有业务分支。根据业务的需要,为了更好更稳定的保证总部与分支的数据通讯,分支和中心之间采用OSPF动态路由协议。由于网络接入形式的多样化,在考虑使用VPN对专线备份,来满足业务延展性的需要,对网络的实现形式也增加了限制条件。如何在开放的Internet网络上建立私有数据传输通道,将远程的分支连接起来,同时又要保证数据传输的安全性?以下将根据实际需求和相关技术的优胜劣汰进行阐述,以最终选择出适合本课题的最佳技术方案。3.1系统VPN需求分析由于合肥百大集团已经发展到全省的各个市县区均有业务分支机构,分支机构与合肥总部中心之间的数据交互密不可分,这样就需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加强动物疫苗管理制度
- 公共管理设施管理制度
- 包装公司运营管理制度
- 学校教师人员管理制度
- 嵌入式开发工具链试题及答案
- 多种规划联合管理制度
- 公司印刷质量管理制度
- 测试策略在多项目环境中的应用试题及答案
- 中医二试题及答案解析
- 信息系统监理师资格考试准备试题及答案
- (高清版)DZT 0319-2018 冶金行业绿色矿山建设规范
- 体检中心医护培训课件
- 2024年中国人保财险全系统陕西分公司招聘笔试参考题库含答案解析
- 深度学习技术在医学图像识别中的应用
- 医院培训课件:《护患沟通技巧》
- 空调风道改造技术方案
- 《卡诺循环演示》课件
- 前悬挂整秆式甘蔗收割机双刀盘切割与喂入装置设计与试验的中期报告
- 《林业科普知识》课件
- 国开电大操作系统-Linux系统使用-实验报告
- 大班拼音活动《6个单韵母》课件
评论
0/150
提交评论