IPSecVPN技术设计与实现详细过程 Ver70.docx
- 文档编号:9886083
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:27
- 大小:292.87KB
IPSecVPN技术设计与实现详细过程 Ver70.docx
《IPSecVPN技术设计与实现详细过程 Ver70.docx》由会员分享,可在线阅读,更多相关《IPSecVPN技术设计与实现详细过程 Ver70.docx(27页珍藏版)》请在冰豆网上搜索。
IPSecVPN技术设计与实现详细过程Ver70
呼伦贝尔学院
计算机科学与技术学院
本科生毕业论文(设计)
题目:
基于IPSec的VPN技术设计与实现
学生姓名:
XXX__________
学号:
XXXXXXXXXX_________
专业班级:
信息管理与信息系统
指导教师:
XXX
完成时间:
2013年5月31日
摘要
虚拟专用网VPN作为新一代的网络安全技术,建立在传统数据网络服务和安全质量的基础之上,提供简单、廉价、安全和可靠的Internet访问,其效果越来越受到人们的青睐。
本文对基于IPSec协议的VPN技术进行了研究,首先对VPN技术研究背景及现状做了一个简要介绍,其次对研究IPSecVPN的相关技术点做了分析和概述,然后对企业VPN搭建进行分析,设计拓扑图并对网络环境做了模拟的测试。
关键词:
VPN技术,IPSec协议,网络安全
Abstract
Asanewgenerationofnetworksecuritytechnology,virtualprivatenetworkVPNisbasedontraditionaldatanetworkserviceandqualityofsecurity.Asitprovidesasimple,cheap,safeandreliableInternetaccess,itgetsmoreandmorepopularwithpeople.Therefore,inthispaper,itmainlystudiestheVPNtechnology,whichbasedonIPSecprotocol.First,thispapergivesabriefintroductiontoresearchbackgroundandthepresentsituationofVPNtechnology.Then,itanalysestherelevanttechnologypointoftheIPSecVPN.Atlast,itanalysestheenterpriseVPNsetupandcreatesatopology.Besides,asimulationtestiscarriedoutforthenetworkenvironment.
keyword:
VPNTechnology,TheIPSecprotocol,networksecurity
图表目录
第1章绪论
1.1研究背景
在全球经济一体化的发展趋势下,越来越多的公司在全球各地拥有多个分部。
这些分部之间经常需要以安全的方式交流内部机密信息,同时作为公司的整体管理,也需要以某种方式把这些分布于世界各地的子网有效的联系到一起。
但随着计算机网络开放性、共享性以及互连规模的进一步扩大,加上黑客攻击手段越来越先进,网络安全问题变得越来越严重。
为了保证企业机密信息在远距离传输过程中的安全,可以采用专线式广域网络传输数据,但是这样的方案耗资巨大,因此VPN技术应运而生。
VPN技术主要就是解决公司总部和分部之间交换数据的保密性、完整性,以及连接成本耗资巨大的问题。
这也是目前国内外研究的热点。
1.2研究现状
VPN技术发展非常迅速,目前组建技术多种多样,比较常见的有SSL、IPSec、MPLS等。
因为IPSec可以无缝地为IP引入安全特性,并为数据源提供身份验证、数据完整性以及机密性保证体制,可以防范数据受到来历不明的攻击,使“端到端”的数据安全成为可能;同时,IPSec数据包只是另外一种IP包,可以在网络中嵌套提供安全服务,并在主机之间提供“端到端”的安全验证,所以现在的很多VPN都采用IPSec协议。
国外研究IPSecVPN较早,从1995年开始,IEIF着手研究制定了一套用于保护IP通信的IPSec安全协议族,1998年制订了IP安全框架。
IPSec提供即可用于IPv4也可用于IPv6的安全性机制,它是IPv6的一个组成部分,也是IPv4的一个可选扩展协议。
通过实现和扩展IPSec协议族,国外厂商纷纷推出了面向不同市场的IPSecVPN产品。
除拥有IPSecVPN基本的加密、认证等功能外,还和防火墙、IDS等设备融合,形成了具有VPN功能的网络安全设备。
为满足不同的用户需求,各厂商还推出了拥有独特的功能的IPSecVPN,例如Cisco支持其专有的Hub-and-Spoke技术的VPN。
IPSecVPN技术的长足发展,还促使产生了许多开放源码的IPSecVPN软件。
在国内VPN市场起步比较晚,但近几年来增长势头比较快,当前,在我国IT应用市场上,VPN产品正逐渐被越来越多的行业和企业用户所熟知和采用,已经成为近年来中国市场上成长迅速的主流消费产品之一。
1.3研究意义
由于企业VPN是在互联网上使用加密隧道,将所有分支外点与总部中心端之间,建立一个私有且安全的多点互联网络,具有安全、简单、方便、省成本的特性。
通过VPN网络可让企业各分支外点、移动用户达到如同置身在中心端内网的效果,达到远程访问ERP、存取公司内部数据,快速、实时又方便。
此外,VPN另外一项特色是具有加密的功能,因此企业的所有信息通过VPN网络即可达到安全保密的效果。
整体而言,如果您的企业需要让各地外点远程达到实时同步共享中心端资源,增加企业对外竞争力,同时保证机密数据安全保密,那么您的企业就需要建构适合的VPN网络。
1.4内容安排
第一部分,对VPN技术研究背景及现状做了一个简单的介绍。
第二部分,介绍VPN的相关技术理论
第三部分,讲述了企业级IPSecVPN技术的设计与实现案例
第四部分,是测试及相关代码。
第2章IPSecVPN相关理论
2.1IPSec简介
IPSec协议是由IETF制定的一种基于IP协议的安全标准,用于保证IP数据包在Internet公共网络中或专用网络中传输时的安全性。
IPSec提供了以下几个安全服务:
访问控制:
防止没有授权的用户使用网络的资源。
保密性:
保证只有正确的接收方才能接收并识别该数据包。
数据源的可认证性:
指示接收方收到的数据包就是发送的数据包并且包中标明的发送方就是实际的发送方。
无连接的完整性:
保证IP数据包经过公共网络传送时不被修改。
可用性:
信息和通信服务在需要时允许被授权的人和实体使用。
防止重发:
接收方能够拒绝过时的或复制的数据包以防止重发的攻击。
IPsec协议由安全协议(包括AH协议和ESP协议),密钥管理协议(如IKE)以及认证和加密算法组成。
AH协议根据整个IP数据包(或上层协议数据单元)的内容产生一段让对方认证的数据,存放在IP包头中传输。
它可以保证数据来自正确的发送者、保证数据的完整性等。
ESP协议是对整个IP数据包(或一部分)进行加密,加密后的信息存放在原先的IP头部之后作为信息部分传输。
除了加密以外,ESP还具有认证功能。
密钥管理协议负责完成密钥的安全交换、安全关联的建立等工作,在整个IP层的安全结构中起到了重要的作用。
2.2VPN简介
虚拟专用网络(VPN)是利用公网来构建专用网络。
虚拟专用网不是真的专用网络,但却能够实现专用网络的功能。
在虚拟专用网中,任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是利用某种公众网的资源动态组成的。
所谓虚拟,是指用户不再需要拥有实际的长途数据线路,而是使用Internet公众数据网络的长途数据线路。
所谓专用网络,是指用户可以为自己制定一个最符合自己需求的网络。
VPN可以构建在两个端系统之间或两个组织机构之间、一个组织机构内部的多个端系统之间或跨越全局性因特网的多个组织之间,以及单个应用或组合应用之间。
2.3实现VPN的技术要求
实际应用中,虽然各VPN供应商可以采取多种不同的实现技术,但一个高效的、成功的VPN必须满足以下基本要求。
2.3.1安全保障
所有的VPN均应保证通过公用网络平台传输数据的专用性和安全性。
在安
全性方面,由于VPN构筑在公用网上,实现简单、方便、灵活,但同时其安全性问题也更为突出。
VPN用户必须保证其传送的数据不被攻击或窥视和篡改,并且要防止非法用户对网络资源或私有信息的访问。
VPN可以利用加密技术对经过隧道传输的数据进行加密,以保证数据仅被指定的发送者和接收者了解,从而保证数据的私有性和安全性。
2.3.2服务质量(QOS)保证
不同的用户和业务对服务质量要求的差别较大,VPN应当为它们提供不同等级服务的质量保证。
在网络优化方面,QOS通过流量预测和流量控制策略,可以按照优先级分配带宽资源,实现带宽管理,使得各类数据能被合理的先后发送,并能防止阻塞的发生。
2.3.3可扩展性和灵活性
VPN必须能够支持通过Intranet和Extranet的任何类型的数据流,方便增加新的节点,支持多种类型的传媒媒介,可以满足同时传输语音、图像和数据等新应用对高质量传输以及带宽增加的需求。
2.3.4可管理性
VPN的管理主要包括安全管理、设备管理、配置管理、访问控制列表管理、
QOS管理等内容。
VPN用户虽然可以将一些次要的管理任务交给服务提供商来完成,但自己仍需要完成许多的管理任务的。
所以,一个完善的VPN管理系统是必不可少的。
2.4IPSec协议体系结构
IPSec将几种安全技术结合形成一个完整的安全体系,它包括安全协议部分和密钥协商部分。
可用下图进行表示。
图2-4IPSec安全体系结构
2.4.1AH机制
IP协议本身缺乏安全性。
用来提供IP数据报完整性的认证机制是非常初级的。
IP头中的校验和域用于保证IP数据报的完整性。
然而这样并没有提供多少安全性,因为IP头很容易被修改,可以对修改过的IP头重新计算出校验和并用它代替以前的校验和。
如果对修改过的IP数据报的校验和计算正确,接收端的主机就无法获知数据报已经被修改。
设计AH协议的目的是用来增加IP数据报的安全性,其作用是为IP数据流提供高强度的密码认证,以确保被修改过的数据包可以被检查出来。
AH是一个用于提供IP数据报完整性和认证的机制。
完整性保证数据报不被无意的或恶意的方式改变。
认证则验证数据的来源(主机、用户、网络等),但AH本身其实并不支持任何形式的加密。
当全部功能实现后,它将通过认证IP包并且减少基于IP欺骗的攻击机率来提供更好的安全服务。
AH使用的包头放在标准的IPv4和IPv6包头和下一个高层协议帧(如TCP、UDP、ICMP等)之间。
IANA分配给AH的协议号为51。
这意味着紧挨在AH包头前面的IP包头必须在它的下一个协议域中包含数值51。
2.4.2ESP机制
设计封装安全载荷(ESP)的目的是用于提高Internet协议(IP)的安全性。
ESP提供数据保密、数据源认证、无连接完整性、抗重播服务和有限的数据流保密。
实际上,ESP提供和AH类似的服务,但增加了两个额外的服务:
数据保密和有限的数据流保密服务。
保密服务通过使用密码算法加密IP数据报的相关部分来实现。
IANA机构分配给ESP的协议号为50,紧接在ESP包头前面的IP包头必须在它的下一个协议域(IPv4)中包含数值50。
ESP协议是设计以两种模式工作的。
在隧道模式中,整个IP数据报都在ESP负载中进行封装和加密。
这样,真正的IP源地址和目的地址都可以被隐藏为Internet发送的普通数据。
在传输模式中,只有更高层协议帧(TCP、UDP、ICMP等)被放到加密后的IP数据报的ESP负载部分。
在这种模式中,源和目的IP地址以及所有的IP包头都是不加密发送的。
2.4.3解释域
解释域是整个IPSec协议中很重要的部分,它将所有的IPSec小组的文献捆绑在一起,通过对解释域的访问可以得到相关的协议的各字节位的含义解释。
它可以被认为是所有的IPSec安全参数的主数据库,这些参数可以被与IPSec相符的系统参考调用。
2.4.4安全联盟(SA)
安全联盟SA(SecurityAssociation)是构成IPSec的基础。
它是两个通信实体建立安全隧道前建立的一个逻辑连接,一个SA包含了IPSec协议(AH或ESP)所需要的所有相关信息,如加密算法、密钥信息以及通信双方的身份,决定了用来保护数据包安全的IPSec协议、转码方式、密钥以及密钥的有效存在时间等等。
SA是一个单向“连接”为其携带的数据包提供安全服务,由IKE建立和维护。
这种服务通过使用AH和ESP得以体现。
SA是“与协议相关”的,AH和ESP使用各自的SA。
由于SA的单向性,两台主机或两个安全网间的SA成对出现,分别用于各自的进入和外出处理。
SA用一个三元组唯一地表示:
(SecurityParameterIndex,IPDestinationAddress,SecurityProtocol)
即:
<安全参数索引,目的IP地址,安全协议>
(1)安全参数索引(SPI)
这是一个长度为32位的数据实体,用于标识有相同的IP地址和相同安全协议的不同SA。
SPI被放置在安全协议(AH或ESP)的头部中。
SPI本身是个任意数,由SA的创建者定义,它只有逻辑意义。
1到255的SPI值由因特网数字分配权威ISNA(InternetAssignedNumbersAuthority)保留,SPI的。
值被用作本地特殊实现使用。
通常情况下,SPI是在SA建立过程中(IKE交换过程)由目的方系统来选择。
(2)目的IP地址
这个地址可以是单播地址、广播地址或多播地址。
但目前的SA管理机制只支持单播地址的SA。
(3)安全协议可以是AH或ESP
安全策略(SecurityPolicy)是IPSec结构中非常重要的组件。
它指示对IP数据包提供何种保护,并以何种方式实施保护。
对于进入或外出的每一个数据包,都可能有三种处理:
丢弃、绕过或应用IPSec。
SA是安全策略的具体化和实例化。
为了确保互操作性,IPSec规定了与SA相关的两个名义性数据库——安全策略数据库和安全关联数据库。
(4)安全策略数据库(SPD)
SPD用于确立IP通信流与特定SA间的关系。
如数据流绕过IPSec,就没有SA。
最简单的SPD由一些记录组成,记录中规定IP流子集以及指向SA的指针。
对于较复杂的SPD,一个SA可能与多条SPD记录关联,或者一条SPD记录与多个SA关联。
SPD记录可通过源和目的IP地址、用户ID、数据敏感等级、传输层协议、IPSec协议、源和目的端口等选择符来匹配。
(5)安全关联数据库(SAD)
SAD中包含每一个SA的参数信息,例如AH或ESP算法和密钥、顺序号、协议模式以及SA生命周期。
对于流出数据的处理,会有一个SPD数据项中包含指向某个SAD数据项的指针。
也就是说,SPD决定了一个给定的数据包究竟使用哪一个SA。
对于流入数据的处理,由SAD来决定如何对给定数据包做处理。
通信双方要建立SA,要求通信的每一方都要具有两个与SA相关的数据库,即安全策略数据库(SPD)和安全关联数据库(SAD)。
SPD中的每一个元组是一条策略,它决定了对数据包是丢弃、绕过还是进行IPSec处理。
SAD的每一个元组则是一个SA。
对于SPD和SAD,都需要单独的输入和输出数据库。
2.5IPSec的两种运行模式
IPSec协议(包括AH和ESP)既可用来保护一个完整的IP载荷,也可用来保护某个IP载荷的上层协议。
这两方面的保护分别是由IPSec两种不同的模式来提供的。
在传输模式中,AH和ESP只对上层协议数据和IP头中的固定字段提供认证或加密保护,在这种模式中,AH和ESP会拦截从传输层到网络层的数据包,并根据具体的策略提供安全保护,适用于在端点(主机)之间实现。
隧道模式封装和加密整个IP数据包,IPSec隧道模式的数据包有两个IP头——内部头和外部头。
其中,内部头由主机创建,而外部头由提供安全服务的安全网关添加。
安全网关对收到的数据包进行处理,去除掉明文IP报头后,对其内容进行解密,并获得最初的IP报头。
这种模式适合在数据包的最终目的地不是安全终点的情况,通常应用于在外部网络和安全网关之间,内部网络的主机不负责加密工作。
图2-5数据包格式
2.6IPSec实现结构
IPSec提供了三种结构:
(1)主机到主机,客户机到服务器之间的整个连接都是加密的;
(2)主机到网关,除网关和远程服务器之间的那段外整个连接均被加密;
(3)网关到网关,两个网关之间的连接是加密的。
但从客户到客户的网关之间的连接,服务器到服务器的网关之间的连接是未加密的。
2.7IPSec的安全性研究
2.7.1窃听(Sniff)
一般的网络通信(如http,ftp等)都是以明文的形式在网络信道上进行,攻击者只要在获取数据通信的路径,就可轻易地“窃听”或“解读”明文数据流。
“窃听”型攻击方式虽然不会破坏数据,但会造成数据信息的泄漏。
IPsec协议根据IKE的方案使用经过通信双方协商好的协议,加密算法和密钥。
对安全级别不同的应用,都可以协商不同强度的加密算法来实现通信数据的加密。
它的密钥管理也十分出色,在每次连接时,先建立一个安全通道IKESA进行协商,他们采用Diffle-Hellman算法,双方在公用网上传递自己的公钥给对方,然后把对方的公钥和自己的私钥进行运算就得到双方共同拥有的密钥,而且产生的密钥是不断更新的,所以监听者即使得到了公钥也无法获得真正的密钥,因为这个密钥只对通信双方透明。
2.7.2中间人攻击(Man-in-the-MiddleAttack)
中间人攻击发生在通信双方之间,通信数据遭到第三方的监视、截取和控制,攻击者可以对数据进行重定向等。
如果通信中双方使用的是低层网络协议,两端的主机很难区分出通信对象的真伪。
IPSec协议在建立IKESA时,利用认证技术验证双方的身份,这种双向的身份验证可以杜绝抵赖性,有效地防止中间人攻击。
2.7.3“报文重放”攻击
攻击者在截获数据包后进行大量地复制,然后再发出,过多重复数据包会影响信道地通信效率,甚至会导致接受方主机拒绝服务。
而在IPSec协议中ESP和AH协议的格式都有序列号(SequenceNumber)这个字段,它是一个记录使用相同的安全参数发送包个数的计数器,当一个包用相同的地址时,每发送一次,它就增加一次。
它标识了每一个包以及有多少包用同样的参数被发送。
这样通过检查包的序列号,就可排除重复的序列号,达到防止“报文重放”攻击的目的。
2.7.4“流量数据分析”攻击
流量数据分析主要是通过检查包的未加密或未加保护的部分的属性来进行的,VPN系统提供了ESP隧道服务把原有的IP包封装在新的IP包中。
这样分析者得到的只是网关的地址,对于实际通信的地址是无法得到的。
同时在ESP中由于填充字段的使用,对分析者得到数据包的实际长度也有一定的抵抗能力。
2.8IKE协议作用
两台IPSec计算机在交换数据之前,必须首先建立某种约定,这种约定称为"安全关联",指双方需要就如何保护信息、交换信息等公用的安全设置达成一致,更重要的是,必须有一种方法,使那两台计算机安全地交换一套密钥,以便在它们的连接中使用。
2.9IKE操作机制
由于安全关联SA(SecurityAssociation)是单向的,在两个使用IPSec的实体(主机或路由器)间建立的逻辑连接,定义了实体间如何使用安全服务(如加密)进行通信。
安全关联由三部分组成,惟一标识----安全参数索引SPI,IP目的地址和安全协议。
SA是一个单向的逻辑连接,也就是说在一次通信中,IPSec需要建立两个SA,一个用于入站通信,另一个用于出站通信。
若某台主机,如文件服务器或远程访问服务器,需要同时与多台客户机通信,则该服务器需要与每台客户机分别建立不同的SA。
每个SA用唯一的SPI索引标识,当处理接收数据包时,服务器根据SP值来决定该使用哪种SA。
IKE使用了两个阶段的ISAKMP。
第一阶段SA(主模式SA,为建立信道而进行的安全关联)
IKE建立SA分两个阶段。
第一阶段,协商创建一个通信信道(IKESA),并对该信道进行认证,为双方进一步的IKE通信提供机密性、数据完整性以及数据源认证服务;第二阶段,使用已建立的IKESA建立IPSecSA,分两个阶段来完成这些服务有助于提高密钥交换的速度。
第一阶段协商(主模式协商)步骤:
(1)策略协商,在这一步中,就四个强制性参数值进行协商:
加密算法:
选择DES或3DES
hash算法:
选择MD5或SHA
认证方法:
选择证书认证、预置共享密钥认证
(2)DH交换
虽然名为“密钥交换”,但事实上在任何时候,两台通信主机之间都不会交换真正的密钥,它们之间交换的只是一些DH算法生成共享密钥所需要的基本材料信息。
DH交换可以是公开的,也可以受保护。
在彼此交换过密钥生成“材料”后,两端主机可以各自生成出完全一样的共享“主密钥”,保护紧接其后的认证过程。
(3)认证DH交换需要得到进一步认证,如果认证不成功,通信将无法继续下去“主密钥”结合在第一步中确定的协商算法,对通信实体和通信信道进行认证。
在这一步中,整个待认证的实体载荷,包括实体类型、端口号和协议,均由前一步生成的主密钥提供机密性和完整性保证。
第二阶段SA(快速模式SA,为数据传输而建立的安全关联)
第二阶段协商(快速模式协商)步骤:
(1)策略协商,即双方交换保护需求:
使用哪种IPSec协议:
AH或ESP
使用哪种hash算法:
MD5或SHA
是否要求加密,若是,选择加密算法:
3DES或DES在上述三方面达成一
致后,将建立起两个SA,分别用于入站和出站通信。
(2)会话密钥"材料"刷新或交换
在这一步中,将生成加密IP数据包的“会话密钥”。
生成“会话密钥”所使用的“材料”可以和生成第一阶段SA中“主密钥”的相同,也可以不同。
如果不做特殊要求,只需要刷新“材料”后,生成新密钥即可。
若要求使用不同的“材料”,则在密钥生成之前,首先进行第二轮的DH交换。
(3)SA和密钥连同SPI,递交给IPSec驱动程序。
第二阶段协商过程与第一阶段协商过程类似,不同之处在于:
在第二阶段中,如果响应超时,则自动尝试重新进行第一阶段SA协商。
第一阶段SA建立起安全通信信道后保存在高速缓存中,在此基础上可以建立多个第二阶段SA协商,从而提高整个建立SA过程的速度。
只要第一阶段SA不超时,就不必重复第一阶段的协商和认证。
允许建立的第二阶段SA的个数由IPSec策略属性决定。
(4)SA生命期
第一阶段SA有一个缺省有效时间,如果SA超时,或“主密钥”和“会话密钥”中任何一个生命期时间到,都要向对方发送第一阶段SA删除消息,通知对方第一阶段SA已经过期。
之后需要重新进行SA协商。
第二阶段SA的有效时间由IPSec驱动程序决定。
2.10IKE认证方法
(1)手工密钥:
配置VPN最简单的办法是使用称为手工密钥的方法。
使用这种方法时根本不需要使用IKE,在VPN通道两端直接配置加密和认证密钥以及其他参数。
(2)Pre-Shared密钥PSK是VPN端点间共享一个密钥的方法,是由IKE提供的服务,所以具有IKE的所有优点,比手工密钥灵活许多。
(3)证书:
每个VPN网关都有自己的证书,和一或多个可信任根证书。
此认证基于几种理论:
每个端点都
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IPSecVPN技术设计与实现详细过程 Ver70 IPSecVPN 技术设计 实现 详细 过程