VPN技术完整版本_第1页
VPN技术完整版本_第2页
VPN技术完整版本_第3页
VPN技术完整版本_第4页
VPN技术完整版本_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9讲VPN技术(一)VPN的核心是在互联网上实现保密通信专用网的优势:高性能、高速度、高安全性一、VPN的相关知识1、VPN的定义2、VPN的构成3、VPN的实现要求1、VPN的定义VPN的定义:是指依靠ISP或其他NSP在公用网络基础设施之上构建的专用的数据通信网络,这里所指的公用网络有多种,包括IP网络、帧中继网络和ATM网络。虚拟:专用网:IETF对基于IP的VPN定义:使用IP机制仿真出一个私有的广域网。2、VPN的构成3、VPN的实现要求专用网的特点:封闭的用户群安全性高服务质量保证VPN的实现要求支持数据分组的透明传输支持安全功能提供服务质量保证4、VPN的分类(1)按VPN业务类型划分:

(1)IntranetVPN(内部公文流转)(2)AccessVPN(远程拨号VPN)(3)ExtranetVPN(各分支机构互联)按VPN发起主体划分:

(1)客户发起,也称基于客户的VPN(2)服务器发起,也称客户透明方式或基于网络的VPN4、VPN的分类(2)按隧道协议层次划分:

(1)二层隧道协议:L2F/L2TP、PPTP(2)三层隧道协议:GRE、IPSec(3)介于二、三层间的隧道协议:MPLS

(4)基于SOCKSV5的VPN此外,根据VPN实现方式不同,还可进一步分为软件实现和硬件实现等。二、VPN的隧道技术1、隧道的相关知识2、隧道协议类型3、第二层隧道:PPTP4、第二层隧道:L2TP5、第三层隧道技术:IPSec6、几种隧道技术的比较1、隧道的相关知识隧道的定义:实质上是一种封装,将一种协议(协议X)封装在另一种协议(协议Y)中传输,从而实现协议X对公用传输网络(采用协议Y)的透明性。隧道协议内包括以下三种协议乘客协议(PassengerProtocol)封装协议(EncapsulatingProtocol)运载协议(CarrierProtocol)隧道协议例子可以这样理解:乘客协议:是我们写的信;封装协议:是信封;运载协议:是信的运输方式,可以是

陆运、海运或空运2、隧道协议类型分类依据:被封装的数据在OSI/RM的层次第二层隧道:以PPTP,L2TP为代表第三层隧道:IPSec5.2

链路层

VPN

5.2.1

第二层VPN体系构建VPN最直接的方法之一是使用传输系统和网络平台形成物理和链路层连接,链路层VPN更接近于类似传统专用网络系统的功能特性。在链路层实现的VPN技术主要包括以下几个方面:(1)虚拟网络连接

传统的专用数据网络使用公共通信公司的专线电路与附加的私有通信基础设施(比如路由器)相结合的方式构造一个完全自控的网络。

当私有数据网络向专线电路私有边界延伸时,典型的情况是使用某种时分或频分多路复用在较大的公共通信基础设施上创建专线电路,这就是虚拟网络连接。在利用交换式公共网络基础设施获得规模经济和运行效益的同时,虚拟连接方式的链路层VPN仍可以维持自控网络这一基本特征。

多个VPN可以在连接上共享同一基础设施,并在网络内部共享相同的交换组件。但显而易见,无论从直接还是从推理的角度看,各VPN之间是相互不可见的。提供虚拟网络连接的公共交换式网络或广域网络的优点之一是灵活性。(2)虚拟路由器虚拟路由器通过对经过路由器本身的数据进行标记,以便将数据分组,与正确的VPN路由器的路由表进行匹配。链路层VPN的另一种模型是使用RFC

1483封装的在ATM上的多协议封装技术(MPOA,

Multi-ProtocolOverATM)

在这一模型中,边缘路由器决定ATIM交换网络中的转发路径,因为它们能判断出分组应转发到哪个出口点。在做出网络层可达性决策之后,边缘路由器将分组转发给特定的出口路由器指定的虚拟连接。由于这些出口路由器不能对跨越网际的目的地址使用地址解析协议,因而还需要依赖外部服务器实现ATM与IP地址之间的转换。这相当于在ATM上实现的虚拟路由器。(3)链路层隧道

通过隧道,安全、可靠地发送网络数据是构建VPN系统的主要方法。构建隧道可以在网络的不同协议层次上实现。层次越低,VPN系统对上层应用服务更为方便;层次越高,对应用的制约会越多。通常在网络层和链路层实现隧道技术。链路层隧道技术主要两类:一种是基于远程拨号接入的隧道协议,包括PPTP、L2F和L2TP等;另一种是基于多协议标签交换的隧道技术,其中认证技术和加密技术是建立隧道需要使用的必要手段。本节以主流协议为主,分成拨号隧道技术、标签隧道技术和加密技术3个部分系统地介绍链路层VPN相关技术。

5.2.2拨号隧道技术——第二层隧道PPTPPPTP由微软公司设计,用于将PPP分组通过IP网络封装传输。3、第二层隧道:PPTP(2)PPTP的数据封装:数据链路层报头IP报头GRE报头PPP报头数据链路层报尾加密PPP有效载荷PPTP客户机或PPTP服务器在接收到PPTP数据包后,将做如下处理:处理并去除数据链路层报头和报尾;处理并去除IP报头;处理并去除GRE和PPP报头;如果需要的话,对PPP有效载荷即传输数据进行解密或解压缩;对传输数据进行接收或转发处理。

PPTP通过TCP控制连接来创建、维护和终止一条隧道。PPTP控制连接建立在PPTP客户机IP地址和PPTP服务器IP地址之间,PPTP客户机使用动态分配的TCP端口号,而PPTP服务器则使用保留的TCP端口号1723。PPTP控制连接携带PPTP呼叫控制和管理信息,用于维护PPTP隧道,其中包括周期性地发送回送请求和回送应答消息,以期检测出客户机与服务器之间可能出现的连接中断。PPTP控制连接数据包包括一个IP报头、一个TCP报头和PPTP控制信息,另外还有数据链路层报头和报尾,数据包格式如图5-6所示。

数据链路层报头IP报头TCP报头PPP报头数据链路层报尾PPTP控制消息PPTP控制连接数据包格式4、第二层隧道:L2TP数据封装格式:特点:它综合了第二层转发协议(L2F)和PPTP两种协议各自的优点协议的额外开销较少

5.2.3

标签隧道技术标签隧道技术即以MPLS(MultiProtocolLabelSwithing)

为基础的VPN隧道技术。由于MPLS允许作为不同的链路层技术的交换技术,像同层VPN技术一样运行,并处于第二层的传输和交换环境当中,因此我们将MPLS看作第二层VPN隧道技术。MPLS的主要观点就是为每个包分配一个固定长度的短标签,交换机根据这些简单标签来决定数据如何进行转发。与此形成鲜明对比的是传统的IP路由,传统的第三层IP路由包含了对每个包非常复杂的转发分析,每个路由器都对第三层包头中的转发信息进行处理,然后根据路由表来决定下一步的转发目的。

在MPLS中只对第三层的信息进行一次详细的分析,这个工作在网络边缘的标签交换路由器(LSR)上进行,只有那些具有固定长度标签的数据包被发送,在网络的另一端,客户的边缘路由器从数据包头中取出正确的标签信息。转化决定可以在对固定长度标签的一次查询中得到,这就是MPLS最关键的性能增强。MPLSVPN不依靠封装和加密技术,而是依靠转发表和数据包的标签来创建一个安全的VPN。

5.2.3

标签隧道技术(续)

每个VPN对应一个VPN路由/转发实例(VRF)。一个VRF定义了同PE路由器相连的客户站点的VPN成员资格。一个VRF数据包括IP路由表,一个派生的CEF(CiscoExpressForwarding)表,一套使用转发表的接口,一套控制路由表中信息的规则和路由协议参数。一个站点可以且仅能同一个VRF相联系。客户站点的VRF中的数据包含了其所在的VPN中所有的可能连到该站点的路由。

对于每个VRF,数据包转发信息存储在IP路由表和CEF表中。每个VRF维护一个单独的路由表和CEF表。

5.2.3

标签隧道技术(续)这些表可以防止转发信息被传输到VPN之外,同时也能阻止VPN之外的数据包转发到VPN内部的路由器中。这个机制使得VPN具有安全性。在每个VPN内部,可以建立任何连接:每个站点可以直接发送IP数据包到VPN中另外一个站点,无需穿越中心站点。一个路由识别器(RD)可以识别每一个单独的VPN。一个MPLS网络可以支持成千上万个VPN。每个MPLSVPN网络的内部是由供应商(P)设备组成。这些设备构成了MPLS核,且不直接同CE路由器相连。围绕在P设备周围的供应商边缘路由器(PE)可以让MPLSVPN网络发挥VPN的作用。P和PE路由器称为标签交换路由器(LSR)。LSR设备基于标签来交换数据包。客户站点可以通过不同的方式连接到PE路由器,例如帧中继、ATM、DSL和T1方式等等。

为了让PE路由器能区分是哪个本地接口送来的VPN用户路由,在PE路由器上创建了大量的虚拟路由器,每个虚拟路由器都有各自的路由表和转发表,这些路由表和转发表统称为VRF(VPNRoutingandForwardingInstances)。一个VRF定义了连到PE路由器上的VPN成员。VRF中包含了IP路由表、IP转发表(也称为CEF表),使用该CEF表的接口集、路由协议参数和路由导入导出规则等等。

5.2.3

标签隧道技术(续)在VRF中定义的和VPN

业务有关的两个重要参数是RD(RouteDmtinguisher)和RT(Rout-Target)。RD

和RT长度都是64比特。 有了虚拟路由器就能隔离不同VPN用户之间的路由,也能解决不同VPN之间IP地址空间重叠的问题。因而,MPLS可以提供很好的VPN性能,它的LSP可以隔离从不同地点流出的数据,从而保证数据流的私密性。5.2.3

标签隧道技术(续)另外,MPLS综合了BGP协议,分发BGP在对等体间的可达性信息,并且允许每个BGP带点通过学习了解相同VPN里直接连接于用户端的对等体的信息。由于BGP对等体为每个VPN端点交换标签,每个BGP端点可以自动建立MPLS隧道(LSP),包含相同VPNs里直接隶属于用户端对等体的VPN专用ISPs。

因此,MPLS可以在一个共享的IP网络中自动提供一个完全网状的VPN连接。当结合MPLS的流量工程的特性后,MPLS

VPN也可为用户提供不同等级的服务。5.2.3

标签隧道技术(续)

使用MPLS的VPN可以提供基于PVC(永久性虚电路)模式的许多有利条件。客户可以选择自己的定址计划,这些计划可能会也可能不会与其他客户或服务提供商的计划重叠。每个客户都可以相信,数据只会被发送到该客户的VPN内的站点上。正因如此,加密常常是不需要的。这点不同于许多隧道方式。5.2.3

标签隧道技术(续)不过,和PVC模式不同,MPLSVPN模式随着站点和客户的不断增加,可以达到很高的可伸缩性。它也支持一个VPN内的站点中任意两点之间的通信模式,而无需安装一个完整的PVC网格,或者在服务提供商网络上将流量往回传输。对于每一个MPLSVPN客户,服务提供商的网络似乎提供了一个虚拟专用骨干网,客户可以通过它与机构内的其他站点取得联系,而不能与任何其他客户的站点取得联系。5.2.3

标签隧道技术(续)5.2.4

第二层加密技术加密和认证实现的是两种完全不同的安全需求,链路层VPN技术可以使用其中的一种,也可以两者结合使用。MPPE和微软DES加密(DESE,MicrosoftDESEncrypt)是两个常见的第二层加密技术,为链路层提供机密性保护。1.MPPEMPPE协议是由微软公司设计的,通过对PPP链接中PPP分组的加密以及PPP封装处理,实现数据链路层的杭密性保护。MPPE协议提供了一种将PPP分组进行密文变换并进行PPP封装的方案。MPPE协议采用固定的RSARC4算法对PPP分组进行加密,支持密钥长度为128、56和40位的加密强度。PPP链接通过PPPCCP(CompressionControlProtocol)协商,在链接两端实现MPPE加密。启动CCP协议协商的目的,是在PPP链接的两端协商一种压缩算法,实现对PPP通信进行保护;这种压缩算法中包括了数据加密功能。 为协商压缩算法,PPP链接双方必须交换CCP分组。每一个CCP分组都被封装到一个PPP分组之中。PPP协议通过PPP协议类型来区分信息部分包含的协议数据类型。

5.2.4

第二层加密技术(续)如果PPP协议类型取值Ox80FD时,表明信息字段中封装的协议分组为CCP分组。PPP链接一端可以通过在配置请求CCP分组中的数据部分附上一系列配置选项,表明本地的配置企图,以及对链接对端的配置要求。CCP有一个专有的配置选项集,每一个配置选项都对应一种压缩算法及其附加参数。PPP链接的一端通过发送附有配置选项的配置请求CCP分组,向链接的对方表示本端能处理的压缩算法,对方可以对PPP分组选择实施这些压缩算法中的一种。5.2.4

第二层加密技术(续)假如在配置请求分组中给出了配置选项18(MicrosoftPPC)时,表明该CCP分组的发送者支持MPPE协议,能使用MPPE协议对MPPP分组进行解密。如果链接的另一端对此配置请求应答了配置确认分组,则在随后的通信中,一定范围内的分组(PPP协议号介于0x0021~0x00FD之间的分组)从PPP链接的一端(对配置请求进行确认的一端)发送到另一端(发出配置请求的一端)时,将进行MPPE加密保护。5.2.4

第二层加密技术(续)不足之处:在MPPE协议中,没有规定RC4加密的初始密钥的产生方式。目前的一些解决方案包括:微软的依据"对端信任状(peercredential)"产生初始密钥的方案以及采用其他密钥协商方案。随着加密的不断进行,数据加密密钥表要发生变化。MPPE协议规定了密钥变化的规则。其规则如下:对初始密钥、当前会话密钥以及必要的填充结果进行SHA散列,并将散列结果作为中间密钥对当前RC4key表进行初始化;然后用得到的RCA4key表对中间密钥进行加密处理,得到当前的会话密钥;最后使用当前的会话密钥初始化当前的加密密钥表RC4key.

5.2.4

第二层加密技术(续)MPPE一般不单独用于构建VPN,它往往是和别的隧道协议(如L2TP)一起使用。CCP协议协商MPPE的过程没有受到任何形式的保护,主动攻击者可能通过修改配置请求或回应中的支持位,降低加密保护强度。在发送MPPE分组的时候,主动攻击者可以通过修改连续计数器的值,从而破坏加密同步。MPPE协议没有给出得到初始密钥的方式,这一方面给MPPE的密钥协商带来了灵活性;另一方面也百能因为采用的密钥协商方式的不安全,影响孔MPPE协议的安全性。由此可见,MPPE协议尚待进一步的完善。5.2.4

第二层加密技术(续)2.DESE

DESE协议在PPP链接的两端进行DES-CBC数据加密保护,从而为PPP通信提供机密性保护。DESE的协商和激活是由PPPECP协议完成的。PPP协议给出了可扩展的链路控制协议(LCP)协商机制,即使用LCP协议对PPP链接进行配置和测试,并协商其他的扩展功能。在PPPECP阶段,PPP协议使用PPPLCP(PPP加密控制协议)协商链接两端的数据加密协议。必须在PPP链接达到NCP阶段时才能发送PPPECP分组。每一个ECP分组都被封装入一个PPP分组之中进行传递。PPP协议使用协议号Ox8053来区分PPPECP分组。PPP链接一端可以通过在配置请求ECP分组中的数据部分附上一系列配置选项。ECP有一个专有的配置选项集,每一个配置选项都对应一种加密算法及其附加参数。

PPP链接的一端通过发送附有配置选项的配置请求CCP分组,向连接的对方表示本端能处理的加密算法,对方可以对PPP分组选择实现这些压缩算法中的一种。如果不能就双方可支持的加密算法,达成一致,则应当关闭相应的PPP链接(之所以协商加密算法,是因为策略需要数据必须受到保护)。如果最终达成一致,则PPPECP协议进入开(Opened)状态,这时的加密功能启动,通信双方的数据将被加密处理。5.3

网络层

VPN

5.3.1

第三层VPN体系TCP/IP协议的网络层实现了互联网上任何两个主机之间的点对点通信,因此在第三层实现VPN技术可以兼顾用户的透明需求和技术实现的简单性。在第三层实现VPN的最主要、最成功的技术就是基于IPSec协议体系的技术,GRE和IP/IP是另外两个有特点的第三层VPN解决方案。

GRE给出了如何将任意类型的网络层分组封装入另外任意一种网络层分组的协议。它忽略了不同网络之间的细微差别,因此具有通用性。GRE的另一种特点是它是一种基于策略路由的轻型封装。5.3.1

第三层VPN体系(续)GRE在RFC1701/RFC1702中定义,它规定了怎样用一种网络层协议去封装另一种网络层协议的方法,GRE的隧道由其源IP地址和目的IP地址来定义。它允许用户使用IP去封装IP、IPX、AppleTalk,并支持全部的路由协议,如RIP、0SPF、IGRP和EIGRP。通过GRE封装,用户可以利用公用IP网络去连接IPX网络、AppleTalk网络,以及使用保留地址进行网络互联,或者对公网隐藏企业网的IP地址。GRE只提供了数据包的封装,并没有加密功能来防止网络侦昕和攻击。所以在实际环境中,它常和IPSec在一起使用,由IPSec提供用户数据的加密,给用户提供更好的安全性。为方便理解,将运载GRE分组的网络层协议称递交协议,相应的分组称为递交分组。而受GRE封装的网络协议被称为载荷协议,相应的协议分组称载荷分组。

GRE封装属于网络层封装,可以用图5-10来描述。5.3.1

第三层VPN体系(续)GRE封装能将任何类型的网络层分组封装成为GRE分组,从而成为几乎任何类型网络都可以识别的协议数据。但是,这种通用性降低了GRE协议的实用性。比如,将IP分组封装入IP分组时,GRE分组所能提供的功能和灵活性显然不能与IPSec相媲美。

载荷分组

GRE头

递交协议书

图5-10GRE封装示意图

但GRE封装所提供的思路是极其有用的,PPTP正是借用了GRE的思想,将网络层的GRE封装扩展到数据链路层,完成对PPP分组的运载。

GRE封装只是一种运载工具,它对载荷协议分组提供的保护是有限的。如果希望对通信进行完整性保护和机密性保护,GRE封装显然不是一个好的选择。5.3.1

第三层VPN体系(续)IP/IP(有时记为IP-In-IP)协议给出了将IP分组作为载荷数据封装于另一IP分组之中的方法。这种封装将提供原IP分组的不透明传输,使得在隧道中间节点的分组路由与原IP分组的地址信息无关。IP/IP的这一特点使得封装前IP分组能够使用私有IP地址,还可以利用外部IP头影响传输路径,从而为通信提供一定程度的通信安全。IP/IP封装适合于IPv4和IPv6。它是一种最简单的隧道技术,也是提供移动IP功能的节点必须实现的一种封装机制。它就是将一个IP数据包作为另外一个IP数据包的净荷,从而形成具有两个IP报头的新的数据包。具体封装格式如图5-11所示。

其中,原IP划头中的IP地址和目的IP地址表明了分组的原发送者和最终接收者的IP地址,外部头的源IP地址为封装者的

IP地址,目的IP地址为解封者的IP地址。

IP载荷原IP头原IP头IP载荷外部IP头图5-11IP/IP封装格式示意图

在IP/IP封装机制下,作为净荷的原始IP数据包不需要做任何的改动,只要对新的IP报头按照现有的IP协议做适当的设置就可以了。大部分的设置可以从原始数据包拷贝而得,比如版本VER、服务类型ToS等。源地址和目的地址分别设置为隧道的入口和出口,即入口设为移动节点的家乡代理的地址,出口设为移动节点的转交地址,可以是外地代理转交地址也可以是配置转交地址。因特网的报头长度、总长度和校验和都要根据新的IP包来进行重新计算。标签域设置为一个惟一的值,标识域和片偏移域要根据是否对原始数据包进行了分片而设置。

5.3.1

第三层VPN体系(续)封装中要特别注意的问题是防止递归封装。递归封装是这样一个过程,由予路由的循环使得数据包在离开隧道之前又重新进入了这个隧道,即数据包在这一个隧道中兜圈子。这样每次封装都会在数据包外加封一个报头,每个报头又都有自己的生存时间,数据包越来越大,并且不停地在网络内部循环,永远都出不丁隧道,在网络内部造成虚假流量。

协议类型域设置为4表示新的数据包的净荷仍然是IP数据包。设置一个合适的生存时间,以保证数据包可以到达隧道的出日。在隧道的出口接收到封装过的数据包后,将外层IP包头剥除后恢复出原始数据包。可以通过两种方法来判断数据包是否已经封装过。第一种方法是判断要进行封装的IP数据包的源IP地址是否和隧道入口的地址(即家乡代理的IP地址)相同,若相同,则认为数据包已经被封装过,此时丢弃接收到的数据包;第二种方法是如果要进行封装的数据包的源IP地址与隧道入口处路由表指示的隧道出口地址相同,则认为出现了递归封装,丢弃该分组。如果不是这两种情况,则认为没有出现递归封装。5.3.1

第三层VPN体系(续)5.3.2

IPSec架构

IPSec是IETFIPSec工作组为了在IP层提供通信安全而制定的一套协议簇,是一个应用广泛、开放的VPN安全协议体系。IPSec适应向IPv6迁移,它提供所有在网络层上的数据保护,进行透明的安全通信。IPSec提供了如何使敏感数据在开放的网络中传输的安全机制。IPSec工作在网络层,在参加IPSec的设备(如路由器)之间为数据的传输提供保护,主要是对数据的加密和数据收发方的身份认证。

IPSec不是某种特殊的加密算法或认证算法,也没有在它的数据结构中指定某种特殊的加密算法或认证算法,它只是一个开放的结构,定义在IP数据包格式中,为目前流行的数据加密或认证的实现提供了数据结构,为这些算法的实现提供了统一的体系结构,这有利于数据安全方面的措施进一步发展和标准化。同时,不同的加密算法都可以利用IPSec定义的体系结构在网络数据传输过程中实施。IPSec协议包括安全协议部分和密钥协商部分。安全协议部分定义了对通信的各种保护方式;密钥协商部分定义了如何为安全协商保护参数,以及如何对通信实体的身份进行认证。IPSec用密码技术提供以下安全服务:接入控制、无连接完整性、数据源认证、防重放、加密、防传输流分析。IPSec协议定义了两种通信保护机制:封装安全载荷(ESP,EncapsulatingSecurityPayload)和认证头(AH,AuthenticationHeader)。其中ESP机制为通信提供机密性、完整性保护;AH机制为通信提供完整性保护。ESP机制和AH机制都能为通信提供抗重放(Antireplay)攻击。IPSec协议可以设置成在两种模式下运行:一种是隧道模式,一种是传输模式。在隧道模式下,IPSec把IPv4数据包封装在安全的IP帧中;传输模式是为了保护端到端的安全性,即在这种模式下不会隐藏.路由信息。隧道模式是最安全的,但会带来较大的系统开销。

IPSec利用预共事密钥、数字签名或公钥加密实现通信实体身份相互认证,并对通信提供基于预共享密钥的分组级源认证:IPSec通过ESP机制为通信提供机密性保护,通过AH和ESP机制为通信提供完整性保护和抗重放攻击。IPSec协议实际上是一套协议包而不是一个单个的协议,这一点对于我们认识IPSec是很重要的。自从1995年IPSec的研究工作开始以来,现在已经积累了大量的标准文件集。IETFIPSec工作组在它的主页上发布了35个互联网草案文献和7个RFC文件。尽管并不是所有这些文献都是协议,但它们在定义IPSecc这样一个非常强大而又灵活的Internet安全设施方面都起着一定的作用。5、第三层隧道技术:IPSecIPSec:即IP层安全协议,是由Internet组织IETF的IPSec工作组制定的IP网络层安全标准。它通过对IP报文的封装以实现TCP/IP网络上数据的安全传送。数据封装格式:6、几种隧道技术的比较应用范围:PPTP、L2TP:主要用在远程客户机访问局域网方案中;IPSec主要用在网关到网关或主机方案中,不支持远程拨号访问。安全性:PPTP提供认证和加密功能,但安全强度低L2TP提供认证和对控制报文的加密,但不能对传输中的数据加密。IPSec提供了完整的安全解决方案。QoS保证:都未提供对多协议的支持:IPSec不支持三、基于IPSec的VPN的体系结构1、IPSec体系结构2、IPSec协议框架3、AH协议4、ESP协议5、IPSec传输模式6、IPSec隧道模式7、安全策略数据库(SPD)8、安全联盟数据库(SADB)9、数据包输出处理10、数据包输入处理11、包处理组件实现模型1、IPSec体系结构2、IPSec协议框架(1)

综合了密码技术和协议安全机制,IPSec协议的设计目标是在IPV4和IPV6环境中为网络层流量提供灵活的安全服务。IPSec协议提供的安全服务包括:访问控制、无连接完整性、数据源鉴别、重传攻击保护、机密性、有限的流量保密等。IPSec协议主要内容包括:●协议框架-RFC2401;●安全协议:AH协议-RFC2402、ESP协议-RFC2406;密钥管理协议:IKE-RFC2409、ISAKMP-RFC2408、OAKLEY协议-RFC2412。●密码算法:HMAC-RFC2104/2404、CAST-RFC2144、ESP加密算法-RFC2405/2451等。●其他:解释域DOI-RFC2407、IPComp-RFC2393、Roadmap-RFC2411。2、IPSec协议框架(2)IPSec架构密钥管理ESP协议AH协议解释域(DOI)加密算法鉴别算法IPSec协议文件框架图2、IPSec协议框架(3)ike定义了安全参数如何协商,以及共享密钥如何建立,但它没有定义的是协商内容.这方面的定义是由"解释域(doi)"文档来进行的3、AH协议AH是IPSec另外一种重要的数据封装方式,它为IP数据包提供数据完整性、数据源身份验证以及抗重放攻击服务,但不提供数据的机密性保护。与ESP一样,发送方总会使用序列号,接收方则根据抗重放攻击选项来决定是否对接收包的序列号进行判断。AH和ESP联合使用时,应该先实施ESP,然后再实施AH,这样能最大程度地提供数据完整性的验证。值得一提的是,AH的数据验证和ESP的数据验证有所不同,ESP的数据验证不包括外部的IP头,而址AH验证则包括外部IP头。

4、ESP协议ESP机制主要为通信提供机密性保护。依据建立安全关联时的选择,它也能为通信提供认证保护。ESP机制通过将整个IP分组或上层协议部分(即传输层协议数据,如TCP、UDP或ICMP协议数据)封装到一个ESP载荷之中,然后对此载荷进行相应的安全处理,如加密处理、认证处理等,实现对通信的机密性或(和)完整性保护。因为ESP封装的载荷内容不同,可将ESP分为两种模式:l

传输模式:将上层协议部分封装到ESP载荷之中;2隧道模式:将整个IP分组封装到ESP载荷之中。4、ESP协议(续)传输模式具有如下优点:

·即使是内网中的其他用户,也不能理解传输于主机A和主机B之间的数据; ·分担了IPSec处理负荷,避免了IPSec运行瓶颈。

传输模式也存在如下缺点:

由于每一个希望实现传输模式的主机都必须安装并实现ESP协议,因此不能实现对端用户的透明服务,用户为获得ESP提供的安全服务,必须付出内存、处理时间等方面的代价; ·不能使用私有IP地址,必须使用公有地址资源; ·暴露了子网内部拓扑。4、ESP协议(续)5、IPSec传输模式ESP隧道模式实现模型

在ESP隧道的实施模型中,IPSec处理模块安装在安全网关(或路由器)1和安全网关(或路由器)2,用它们来实现ESP处理。位于安全网关1和安全网关2之后的子网被认为是内部可信的,因此分别称其为网关1和网关2的保护子网。保护子网内的通信都以明文方式进行。但当两个子网之间的通信流经网关1和2之间的公网时,将受到ESP机制的安全保护。在传输模式中,ESP不对整个数据包加密,而是只加密IP包的有效载荷部分,不包括IP头。ESP报头插在IP报头之后,TCP或UDP等传输层协议报头之前。如果已经有其他IPSec协议使用,则ESP报头应插在其他任何IPSec协议报头之前。ESP认证报尾的完整性检查部分包括ESP报头、传输层协议报头、应用数据和ESP报尾,但不包括IP报头,因此ESP不能保证IP报头不被篡改。

ESP加密部分包括上层传输协议信息、数据和ESP报尾。ESP隧道模式实现模型(续)

隧道模式的优点是:·保护子网中的所有用户都可以透明地享受由安全网关提供的安全保护;

·子网内部可以使用私有IP地址,无需公有IP地址;·子网内部的拓扑结构被保护。隧道模式的缺点是:·增大了网关的处理负荷,容易形成通信瓶颈;·对内部的诸多安全问题将不可控。ESP隧道模式实现模型

6、IPSec隧道模式5.3.4

IPSec密钥交换为以后描述方便,先给出“完美向前加密(PFS,perfectForwardSecrecy)”的概念。通过某种密钥交换协议交换得到的对称密钥,在使用一段时间后,应当丢弃,再进行新一轮交换,产生新的共享密钥,两个密钥间完全没有相关性。如果攻击者破解一个对称密钥,他能访问此密钥保护下的数据,但仍不能访问另一密钥保护下的数据。我们认为这种情况满足PFS特性。如果系统中存在一个密钥是所有对称密钥的共同衍生材料,就不能认为此系统是一个完美向前加密系统,因为根密钥被破解可能导致所有衍生的密钥也亦被破解,从而所有加密数据会被解密。在密钥刷新的一个周期内进行的DH交换会产生显著的系统开销,因此,在IPSec标准密钥交换中,PFS是作为一个选项提供的。ESP和AH协议给出了IPSec数据封装格式。数据封装过程中需要用到各种各样的安全参数,其中包括算法、密钥等,IPSec的密钥管理体系完成这些参数的协商和管理。IPSec密钥管理通过一个称为安全联盟(SA)的数据结构来描述IPSec数据封装的安全参数。SA可以手动创建,也可以通过一个进程,按一定的协议规范进行维护。这个维护SA的协议就是IPSec协议体系中互联网密钥交换协议(IKE,InternetKeyExchange)。IKE的用途就是在IPSec通信双方之间通过协商建立起共享安全参数及验证过的密钥,即建立安全联盟。IKE是Oakley和SKEME的混合,在由ISAKMP规定的一个框架内运作。ISAKMP由美国国家安全局开发,定义了包格式、重发计数器、消息构建要求等等。Oakley是一种自由形态的协议,允许各方根据本身的速度来改进协议状态。SKEME是一种密钥交换协议,定义了验证密钥交换的一种类型。通信各方利用公共密钥加密实理相互间的验证,同时共享交换的组件。IKE沿用了ISAKMP的框架、Oakley的模式、SKEME的共享和密钥更新技术,定义了独一无二的验证和加密材料的生成技术,以及协商共享策略。

7、安全策略数据库(SPD)(1)SP是一个描述规则,定义了对什么样的数据流实施什么样的安全处理,至于安全处理需要的参数在SP指向的一个结构SA中存储。SP描述:对本地子网和远程网关后的子网间的Telnet通信流,实施ESP通道保护,采用3DES加密算法和HMAC-SHA1验证算法。7、安全策略数据库(SPD)(2)系统中的安全策略组成了SPD,每个记录就是一条SP,定义类似上例中的描述规则,一般分为应用IPSec处理、绕过、丢弃。从通信数据包中,可以提取关键信息填充到一个称为“选择符”的结构中去,包括目标IP、源IP、传输层协议、源和目标端口等等。然后利用选择符去搜索SPD,找到描述了该通信流的SP。8、安全联盟数据库(SADB)(1)SA(SecurityAssociation)是两个IPSec通信实体之间经协商建立起来的一种共同协定,它规定了通信双方使用哪种IPSec协议保护数据安全、应用的算法标识、加密和验证的密钥取值以及密钥的生存周期等等安全属性值。

8、安全联盟数据库(SADB)(2)安全联盟常用参数

加密及验证密钥。密码算法在系统中的标识。序列号,32位的字段,在处理外出的数据包时,一个SA被应用一次,它的序列号号字段就递增一,并被填充到数据包的IPSec头中,接收方可以利用此字段进行抗重播攻击。抗重播窗口。接收方使用滑动窗口算法来进行对恶意主机重复发出的数据包进行检测。生存周期。规定了该SA的有效使用周期,可以按照建立至今的时间或者处理的流量来计算。实施模式。即通道模式还是传输模式。IPSec隧道目的地址。安全参数索引(SPI)。参与唯一标识某SA。9、数据包输出处理 数据包被从网络设备发送出去之前,截取到IP包,然后从中提取选择符信息,依据之搜索SPD,产生如下可能结果:SP决定丢弃此包,于是直接丢弃,或者还可以向源主机发送ICMP信息;SP决定通过此包,直接将数据包投放到网络设备的发送队列;SP决定应用IPSec,此时SP要么指向一个SA,可以根据它进行安全处理,要么需要的SA不存在,则触发IKE模块协商建立SA,协商周期内数据包进入等待队列等待协商完成,若协商超时,也会丢弃该包。10、数据包输入处理系统收到IP包后,判断如果是IPSec包,则从头部取到<dst_ip,protocol,SPI>,搜索SADB。

若找不到SA,丢弃包;若找到,根据其进行解封装,得到去通道化后的原始IP包,再从原始IP包中提取选择符,搜索到SPD中某一条目,检查收到包的安全处理是否符合描述规则,不符合则丢弃包,符合则转入系统IP协议栈进行后继处理。11、包处理组件实现模型四、互联网密钥交换

(InternetKeyExchange)1、IKE功能2、密钥交换包格式(ISAKMP)-3、安全联盟的协商4、密钥交换的两个阶段5、Diffie-Hellman密钥交换6、交换流程1、IKE功能用IPSec保护数据包,必须首先建立一个IPSec的安全联盟,这个安全联盟可以手工建立,也可以动态由特定进程来创建。这个特定的进程就是InternetKeyExchange,即IKE。IKE的用途就是在IPSec通信双方之间通过协商建立起共享安全参数及验证过的密钥,也就是建立安全联盟。

IKE协议是Oakley和SKEME协议的混合,在由ISAKMP规定的一个框架内运作,可以为多种需要安全服务的协议进行策略磋商和密钥建立,比如SNMPv3,OSPFv2,IPSec等。2、密钥交换包格式(ISAKMP)--12、密钥交换包格式(ISAKMP)--2安全联盟载荷,转码载荷表示协商时供对方选择的一组安全属性字段的取值,比如算法,安全联盟的存活期,密钥长度等等。密钥交换载荷,表示了实施密钥交换必需的信息。

散列载荷,是一个散列函数的运算结果值。nonce载荷,是一串伪随机值,用以衍生加密材料。证书载荷,在身份验证时向对方提供证书。证书请求载荷。3、安全联盟的协商通信双方要建立共享的安全联盟,必须进行协商。双方根据本方的实际安全需求,制定采用的算法,密钥刷新频率,密钥的长度等等策略。发起方在发送的安全联盟载荷中,根据策略的优先级顺序,将计划采用的安全参数的组合以提案载荷和转码载荷的形式级联表示出来,响应方收到后,依据策略选择最合适的一种,再构建应答的安全联盟,此时应答方只包含了选中的一种安全参数组合。这样,一个共享的安全联盟就可以获得了。在协商的进程中,双方也通过计算得到共享的密钥。4、密钥交换的两个阶段1.阶段一交换(phase1exchange):在“阶段一”周期里,两个IKE实体建立一个安全的,经验证的信道进行后续通信,要建立这样的安全信道,双方会建立一对ISAKMP安全联盟。阶段一交换可以用身份保护模式(也叫主模式)或野蛮模式来实现,而这两种模式也仅用于阶段一中。2.阶段二交换(phase2exchange):“阶段二”周期里,IKE实体会在阶段一建立起来的安全信道中,为某种进程协商和产生需要的密钥材料和安全参数,在VPN实现中,就是建立IPSec安全联盟。快速模式交换可用来实现阶段二交换并且仅用于此阶段中。5、Diffie-Hellman密钥交换D-H交换的安全性源于在有限域上计算离散对数比计算指数更为困难。6、交换流程(1)

(阶段一身份保护模式)6、交换流程(2)阶段一说明在消息(1)中,发起者生成他认为适当的安全提案列表,提交给响应方。消息(2)中,响应者与本地策略进行匹配和选择之后,将最终决定的安全联盟内容同样用相应载荷回送发起者。在消息(3)、(4)中,发起者和响应者交换DH公开值,和随机信息串nonce,在第四步完成时,双方已经可以经计算得出共享的DH公共值,以及各自计算出SKEYID和相关衍生密钥。消息(5)和消息(6)中,双方使用前两步得出的加密、验证算法和密钥保护传输的数据。当采用数字签名的身份验证方法时,消息(5)和(6)可以包含证书载荷,将自己的公钥证书发给对方,验证数据AUTHDATA就是数字签名的运算结果,在这里数字证书也可以是从有效的远程有效的认证中心通过LDAP、DNSSEC等协议获得。6、交换流程(3)

(阶段二快速模式)6、交换流程(4)阶段二说明所有消息从ISAKMP头之后都是加密传输的,并且在消息头之后紧跟了散列值进行验证。如果使用了完美向前加密(PFS),则消息交换中还包含一次DH交换的公开值载荷KE,身份载荷表示的是要保护的通信流的源和目的,通常是子网内的主机或主机的集合。在前两个消息交换完成后,双方可以计算出共享的密钥材料,这将是最终提供给IPSec模块的密钥信息。

六、IPSec的安全性评价及其改进1、IPSecVPN的优势2、IPSec过于复杂3、IPSec协议存在的问题4、对IKE协议的改进5、IPSec与NAT的共处6、远程拨号接入7、支持组播8、对先加密后认证顺序的评价9、对IPSec的总体评价1、IPSecVPN的优势(1)VPN技术虽然种类众多,但IETF下的IPSec工作组推出的IPSec协议是目前工业界IPVPN标准,以IPSec协议构建虚拟专用网已成为主流。基于IPSec构建IPVPN是指利用实现IPsec协议的安全网关(SecurityGateway)充当边界路由器,完成安全的远程接入和在广域网上内部网络的“虚拟”专线互联等。

1、IPSecVPN的优势(2)为数据的安全传输提供了身份鉴别、数据完整性、机密性保证等措施,并且其提供的安全功能与密钥管理系统松散耦合。端到端的IPSecVPN专线租费比PVC等物理专线的租用费低很多。远程接入IPSecVPN接入成本比长途电话费用低(只考虑本地拨号和VPN隧道占用费)。2、IPSec过于复杂(1)举例说明。比如在IPSec中,存在两种模式,两种协议AH和ESP。若要对两台主机之间的数据包进行认证,存在以下六种方案:传送模式+AH;隧道模式+AH;传送模式+ESP(无加密);隧道模式+ESP(无加密);传送模式+ESP(加密);隧道模式+ESP(加密);2、IPSec过于复杂(2)建议去掉传送模式去掉传送模式;去掉AH协议;在ESP中,数据源认证是必须的,而加密功能是可选的;先加密后认证的顺序存在问题2、IPSec过于复杂(3)建议去掉AH协议AH和ESP在功能上重叠AH的认证存在的问题隧道模式+ESP提供和AH几乎同样强度的认证通过压缩机制来节省带宽 网络新技术不断涌现,对IP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论