1、VPN工作原理-PPT课件 主要内容 1 VPN概述 2 隧道技术 3 用户认证 4 L2TP协议 5 应用IPSec构建VPN1 VPN概述概述 1.1 VPN概述 VPN(Virtual Private Network,虚拟专用网)。“虚拟”(Virtual)指的是一种逻辑连接,“专用或私有”(Private)指的是排他性的连接,“网络”(Network)指按某种协议进行通信的计算机集合。虚拟专用网络可以实现不同网络的组件和资源之间的相互连接。虚拟专用网络能够利用Internet或其它公共互联网络的基础设施为用户创建隧道,并提供与专用网络一样的安全和功能保障。VPN是对在公共通信基础设施上
2、构建的“虚拟专用或私有网”连接技术的总称。VPN与真实网络的差别在于VPN以隔离方式通过公用网,VPN外的节点不能与VPN内的节点通信。VPN的技术特点的技术特点 采用加密、认证和隧道技术,利用公共通信网络设施的一部分来发送专用网络信息。为相互通信的节点建立一个相对封闭的、逻辑上的专用网络。只允许特定的利益集团内(VPN内部)建立对等连接,保证在网络中传输的数据的保密性。能灵活利用多种公用远程通信网络来实现VPN内容不通信。PSTN/N-ISDN,PSPDN,FR/ATM,或公用IP网等 实现不同内部局域网之间、网络与主机之间的远程信息交换。VPN的技术特点的技术特点 性价比高 具有服务质量保
3、障措施 能够提供强大的接入控制和入侵保护,保证内部信息交换的保密性。1.2 VPN分类分类 根据网络类型的差异,IP VPN可分为两种类型:Client-LAN和LAN-LAN类型。Client-LAN类型的VPN Client-LAN类型的VPN也称为Access VPN,即远程访问方式的VPN。它提供了一种安全的远程访问手段,例如,出差在外的员工,有远程办公需要的分支机构,都可以利用这种类型的VPN,实现对企业内部网络资源进行安全的远程访问。VPN设备INTERNETVPN隧道网络AClient-LAN类型示意图 LAN-LAN类型的VPN 为了在不同局域网之间建立安全的数据传输通道,例如
4、在企业内部各分支机构之间或者企业与其合作者之间的网络进行互联,可以采用LAN-LAN类型的VPN。而采用LAN-LAN类型的VPN,可以利用基本的Internet和Intranet网络建立起全球范围内物理的连接,再利用VPN的隧道协议实现安全保密需要,就可以满足公司总部与分支机构以及合作企业间的安全网络连接。VPN设备INTERNETVPN隧道网络网络A ALAN-LAN类型示意图VPN设备网络网络B B1.3 VPN基本原理基本原理 VPN的基本思想很容易理解,假设公司有两个网络,相距很远,要用VPN连接,由两个VPN设备建立专用通道,数据传输过程如下图所示:VPN设备INTERNET网络V
5、PN设备网络主机主机V1V2A B B 用户数据A B 用户数据新增头部原分组VPN设备1封装后的分组V1V2A B B 用户数据A B 用户数据新增头部VPN设备2拆封后的分组VPN设备2拆封前的分组VPN基本原理示意图(1)主机A建立分组,将其IP地址作为源地址,将主机B的IP地址作为目标地址,将分组发送到VPN设备1,通常是网关。(2)分组到达VPN设备1,VPN设备1在分组中增加一新头。在此分组中,将分组的源IP地址写为自己的IP地址V1,目标地址写为对等VPN设备2的IP地址V2,然后发送。(3)分组通过Internet到达VPN设备2,VPN设备2能够识别新增的头部,对其进行拆除,
6、从而得到第1步由主机A生成的原分组,然后根据分组的IP地址信息,进行正常的转发。1.4 实现实现VPN的关键技术的关键技术 实现VPN的关键技术有:隧道化协议(Tunneling Protocol)隧道技术是将分组封装(Capsule)的技术,它是VPN实现以内部网地址通信与多协议通信的重要功能,PPTP、L2TP、IPSec、GRE和GTP被广泛采用。认证协议 在远程访问VPN中,使用了用户名及口令,它们被用来判断用户名是否有权访问。PPP采用了PAP(Password Authentication Protocol)及CHAP(Challenge Handshake Authenticat
7、ion Protocol)等规程进行认证。PPTP及L2TP等隧道协议采用这种PPP的认证协议。加密技术 加密技术由IPSec ESP(Encapsulating Secutity Payload)。2 隧道技术隧道技术 隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其它协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达
8、网络终点,数据将被解包并转发到最终目的地。注意隧道技术是指包括数据封装,传输和解包在内的全过程。封装化和加密方式多种多样。一般来说,只将数据加密的通信路径不能称作隧道。在一个分组上再加上一个头标才称作封装化。对封装化的数据分组是否加密取决于隧道协议。例如IPSec的ESP是加密封装化的协议,L2TP则不对分组加密,保持原样地进行封装。现有的封装协议主要包括两类:一类是二层隧道协议,由于隧道协议封装的是数据链路层的数据包,即OSI开放系统互联模型中的第2层的数据包,所以称之为第2层隧道协议,如PPTP,L2F,L2TP主要用于构建远程访问型的VPN;另一类是三层隧道协议,如IPSec、GRE等,
9、它把第3层隧道协议即网络层的各种协议直接封装到隧道协议中进行传输,由于被封装的是第3层的网络协议,所以称为第3层隧道协议。它主要应用于构建LAN-LAN型的VPN。2.1 二层隧道协议二层隧道协议2.2 三层隧道协议三层隧道协议3 用户认证用户认证 用户认证是VPN的特点之一。在远程访问只有通过认证的远程用户才能穿越Internet不受限制地利用内部网资源。这种认证机制主要由PPP功能实现,方法也有多种。RADIUS是为接入服务器开发的认证系统,具有统一管理多个访问用户的用户数据库功能。3.1 PPP认证方式认证方式主要的主要的PPPPPP认证方式认证方式 在链路建立的第2个阶段进行用户验证,
10、最常用的认证协议有口令验证协议PAP和挑战-握手协议CHAP。(1)口令验证协议PAP。口令验证协议PAP是一种简单的明文验证方式。网络接入服务器NAS(Network Access Server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。因此PAP无法提供避免受到第三方攻击的保障措施。(2 2)挑战)挑战-应答验证协议应答验证协议CHAPCHAPA=fmd5(S,口令)B=fmd5(S,口令)比较比较A A和和B B挑战挑战 生成挑战码(生成挑战码(S
11、S)应答应答 计算出应答值(计算出应答值(A A)成功成功/失败失败CHAP是安全性比PAP更高的认证协议,在网上传递的不是口令而是一次性的随机数。CHAP采取了挑战应答认证方式,下图显示了认证流程。认证者认证者(Authenticator)被认证者被认证者(peer)(3 3)PPPPPP扩展认证协议扩展认证协议EAPEAP PPP扩展认证协议(EAP)是一个用于PPP认证的通用协议,可以支持多种认证方法。EAP并不在链路建立阶段指定认证方法,而是把这个过程推迟到认证阶段。这样认证方就可以在得到更多的信息以后再决定使用什么认证方法。这种机制还允许PPP认证方简单地把收到的认证报文透传给后方的
12、认证服务器,由后方的认证服务器来真正实现各种认证方法。3.2 基于服务器的认证方式基于服务器的认证方式RADIUS RADIUS(Remote Authentication Dial In User Service)由朗讯开发,1997年1月以RFC2085公布了第一版规范。原先的目的是为拨号用户进行认证和计费,后来经过多次改进,形成了一项通用的认证计费协议。RADIUS是为了接入服务器开发的认证系统,它具有集中管理远程访问“拨号用户”的数据库功能。换句话说,RADIUS是存放使用者的“用户名”及“口令”的数据库。接受远程用户访问请求的接入服务器向RADIUS服务器查询该用户是否为合法用户。拨
13、号用户拨号用户拨号用户拨号用户电话网电话网NASNAS认证数据库认证数据库权限认可数据库权限认可数据库计费信息数据库计费信息数据库RADIUSRADIUS客户(接入客户(接入服务器)服务器)RADIUSRADIUSRADIUSRADIUS用户认证的体系结构用户认证的体系结构RADIUS的基本工作原理的基本工作原理 用户接入NAS,NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行校验,必要时可以提出一个challenge,
14、要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Require数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问。4 L2TP协议协议1、拨号PPP连接电话网LACLNS服务器L2TP隧道L2TP服务器拨号用户PPP控制数据2、隧道建立IP2 UDP L2TP PPP控制数据4PPP控制数据IP2 UDP L2TP PPP控制数据356、PPP通信PPP用户数据IP1IP2 UDP L2TP PPP用户数据IP178基于基于L2TPL2TP的远程终端与内部网通信原理的远程终端与内部网通信原理4.2 L2TP两种实现模式
15、两种实现模式 可以将L2TP安装于不同的位置:一种是将L2TP集成到远程用户主机。此时的用户主机将充当LAC。这种配置称为自愿模式。在这种模式中,用户自主地对L2TP进行配置和管理。另一种是将L2TP安装于NAS,这种配置称为强制模式。在这种模式下,对L2TP实现的配置和管理都被委托于NAS,用户能透明地得到L2TP服务。4.3 L2TP协议工作流程协议工作流程 L2TP将PPP分组进行隧道封装并在不同的传输媒体上传输,首先要在传输的两端建立隧道,即建立控制连接,建好隧道后,在隧道内再建立会话连接,会话连接建立完毕,就可以进行数据传输了,此时的用户数据是以PPP帧封装的,该PPP帧再被L2TP
16、帧封装。会话结束后,先拆除会话连接,再拆除隧道。至此,就完成一次数据传输的全过程。(1)建立隧道(2)建立会话(3)传输用户数据(PPP帧)(4)拆除会话(5)拆除隧道4.4 L2TP头头 L2TP协议需传送用户数据和控制消息两种类型帧,依据封装的具体内容不同,L2TP头的格式将有所不同,有两种L2TP头:一种是数据帧头;另一种是控制帧头。二者由帧头第一位T位即类型位区分,为0表示数据帧,为1表示控制帧。(1)控制帧)控制帧 建立、维护、拆除隧道和会话时使用。L2TP控制消息由一个L2TP头加上一个或多个AVP构成。AVP,Attribute Value Pair指属性类型及属性值,L2TP所
17、有的命令都以AVP表示。L2TPL2TP的控制帧格式的控制帧格式(2)数据帧)数据帧 传输数据时使用。L2TP对PPP分组进行封装,格式如图:L2TPL2TP的数据帧格式的数据帧格式5 5 应用应用IPSecIPSec构建构建VPNVPN 5.1 概述 IPSec是IETF以RFC形式公布的一组安全IP协议集,是在IP层提供保护的安全协议标准,IPSec将几种安全技术结合形成一个比较完整的安全体系结构,它通过在IP协议中增加两个基于密码的安全机制认证头(AH)和封装安全载荷(ESP)来支持IP数据项的可认证性、完整性和机密性。IPSec工作涉及一个核心概念:安全关联(SA)。若要深刻理解安全关
18、联,还需要对密钥管理IKE(Internet Key Exchange)协议有初步的了解。5.2 IKE概述概述 IKE用于协商IPSec安全关联(SA)。这一过程要求IPSec系统首先互相验明自己的身份,并且建立ISAKMP或IKE共享密钥。在阶段1,IKE在两个对等体间创建一个认证过的安全通道,它被称为IKE安全关联。Diffie-Hellman密钥协定在这个阶段中总要被执行。在阶段2,IKE协商IPSec安全关联,并产生IPSec所要求的密钥材料。发送端发送一变换集,接收端选择其中一个。IKEIKE协商安全关联步骤协商安全关联步骤ISAKMPAliceAliceAlice的电脑的电脑IS
19、AKMPAliceISAKMPBobBob的电脑的电脑会话会话1 1、从、从AliceAlice到到BobBob的的外出数据包无外出数据包无SASA2 2、AliceAlice的的IKEIKE(ISAKMPISAKMP)开始与)开始与BobBob的进行协商的进行协商3 3、协商结束,现在、协商结束,现在AliceAlice与与BobBob已具有已具有IKEIKE和和IPSecSAIPSecSAIKEIKE协商中全关联协商中全关联5.3 IPSec5.3 IPSec是如何工作的是如何工作的 IPSec的操作可分为5个主要的步骤:步骤1:确定IPSec过程的感兴趣的数据流,确定需要IPSec安全保
20、护的数据流;步骤2:IKE阶段1在这个阶段中,IKE鉴别IPSec对等体并协商IKE安全关联,为阶段2中的IPSec安全关联协商建立安全通道;步骤3:IKE阶段2IKE协商IPSec安全关联参数,并在对等体中建立相匹配的IPSec安全关联;步骤4:数据传送基于保存在安全关联数据库中的IPSec参数和密钥,在IPSec对等体间传送数据;步骤5:IPSec隧道终止IPSec安全关联因被删除或超时而终止。IPSecIPSec工作的工作的5 5步过程步过程主机主机A A主机主机B B路由器路由器A A路由器路由器B B1、主机A向主机B发送触发性数据流2、路由器A和B协商一个IKE阶段1会话IKE S
21、AIKE phase 1IKE SA3、路由器A和B协商一个IKE阶段2会话IPSec SAIKE phase 2IPSec SA4、信息被通过IPSec隧道交换IPSec IPSec 隧道隧道5、IPSec 隧道被终止5.4 IPSec安全关联(安全关联(SA)每个每个IPSecIPSec连接能够提供加密、完整性、认证或连接能够提供加密、完整性、认证或三者全部。三者全部。IPSecIPSec的安全关联是单向的。一个的安全关联是单向的。一个IPSecIPSec变换指定一种变换指定一种AHAH或或ESPESP协议,及相应的算法协议,及相应的算法与模式。与模式。IPSecIPSec安全关联示例安全关联示例谢谢谢谢