《第9讲VPN技术一.ppt》由会员分享,可在线阅读,更多相关《第9讲VPN技术一.ppt(59页珍藏版)》请在三一办公上搜索。
1、第9讲 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)Intranet VPN(内
2、部公文流转)(2)Access VPN(远程拨号VPN)(3)Extranet VPN(各分支机构互联)按VPN发起主体划分:(1)客户发起,也称基于客户的VPN(2)服务器发起,也称客户透明方式或基于网络的VPN,4、VPN的分类(2),按隧道协议层次划分:(1)二层隧道协议:L2F/L2TP、PPTP(2)三层隧道协议:GRE、IPSec(3)介于二、三层间的隧道协议:MPLS(4)基于Socket V5的VPN此外,根据VPN实现方式不同,还可进一步分为软件实现和硬件实现等。,二、VPN的隧道技术,1、隧道的相关知识2、隧道协议类型3、第二层隧道:PPTP4、第二层隧道:L2TP5、第三
3、层隧道技术:IPSec6、几种隧道技术的比较,1、隧道的相关知识,隧道的定义:实质上是一种封装,将一种协议(协议X)封装在另一种协议(协议Y)中传输,从而实现协议X对公用传输网络(采用协议Y)的透明性 隧道协议内包括以下三种协议乘客协议(Passenger Protocol)封装协议(Encapsulating Protocol)运载协议(Carrier Protocol)隧道协议例子,2、隧道协议类型,分类依据:被封装的数据在OSI/RM的层次第二层隧道:以PPTP,L2TP为代表第三层隧道:IPSec,3、第二层隧道:PPTP(1),PPTP由微软公司设计,用于将PPP分组通过IP网络封装
4、传输,3、第二层隧道:PPTP(2),PPTP的数据封装:,PPTP客户机或PPTP服务器在接收到PPTP数据包后,将做如下处理:处理并去除数据链路层报头和报尾;处理并去除IP报头;处理并去除GRE和PPP报头;如果需要的话,对PPP有效载荷即传输数据进行解密或解压缩;对传输数据进行接收或转发处理。,4、第二层隧道:L2TP,数据封装格式:特点:它综合了第二层转发协议(L2F)和PPTP两种协议各自的优点协议的额外开销较少,5、第三层隧道技术:IPSec,IPSec:即IP层安全协议,是由Internet组织IETF的IPSec工作组制定的IP网络层安全标准。它通过对IP报文的封装以实现TCP
5、/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、安全联盟数据库(SA
6、DB)9、数据包输出处理10、数据包输入处理11、包处理组件实现模型,1、IPSec体系结构,2、IPSec协议框架(1),综合了密码技术和协议安全机制,IPSec协议的设计目标是在IPV4和IPV6环境中为网络层流量提供灵活的安全服务。IPSec协议提供的安全服务包括:访问控制、无连接完整性、数据源鉴别、重传攻击保护、机密性、有限的流量保密等。IPSec协议主要内容包括:协议框架RFC2401;安全协议:AH协议RFC2402、ESP协议RFC2406;,密钥管理协议:IKE RFC2409、ISAKMPRFC2408、OAKLEY协议RFC2412。密码算法:HMACRFC2104/240
7、4、CASTRFC2144、ESP加密算法RFC2405/2451等。其他:解释域DOIRFC2407、IPCompRFC2393、RoadmapRFC2411。,2、IPSec协议框架(2),2、IPSec协议框架(3),ike定义了安全参数如何协商,以及共享密钥如何建立,但它没有定义的是协商内容.这方面的定义是由解释域(doi)文档来进行的,3、AH协议,4、ESP协议,5、IPSec传输模式,6、IPSec隧道模式,7、安全策略数据库(SPD)(1),SP是一个描述规则,定义了对什么样的数据流实施什么样的安全处理,至于安全处理需要的参数在SP指向的一个结构SA中存储。SP描述:对本地子网
8、和远程网关后的子网间的Telnet通信流,实施ESP通道保护,采用3DES加密算法和HMAC-SHA1验证算法。,7、安全策略数据库(SPD)(2),系统中的安全策略组成了SPD,每个记录就是一条SP,定义类似上例中的描述规则,一般分为应用IPSec处理、绕过、丢弃。从通信数据包中,可以提取关键信息填充到一个称为“选择符”的结构中去,包括目标IP、源IP、传输层协议、源和目标端口等等。然后利用选择符去搜索SPD,找到描述了该通信流的SP。,8、安全联盟数据库(SADB)(1),SA(Security Association)是两个IPSec通信实体之间经协商建立起来的一种共同协定,它规定了通信
9、双方使用哪种IPSec协议保护数据安全、应用的算法标识、加密和验证的密钥取值以及密钥的生存周期等等安全属性值。,8、安全联盟数据库(SADB)(2),安全联盟常用参数加密及验证密钥。密码算法在系统中的标识。序列号,32位的字段,在处理外出的数据包时,一个SA被应用一次,它的序列号号字段就递增一,并被填充到数据包的IPSec头中,接收方可以利用此字段进行抗重播攻击。抗重播窗口。接收方使用滑动窗口算法来进行对恶意主机重复发出的数据包进行检测。生存周期。规定了该SA的有效使用周期,可以按照建立至今的时间或者处理的流量来计算。实施模式。即通道模式还是传输模式。IPSec隧道目的地址。安全参数索引(SP
10、I)。参与唯一标识某SA。,9、数据包输出处理,数据包被从网络设备发送出去之前,截取到IP包,然后从中提取选择符信息,依据之搜索SPD,产生如下可能结果:SP决定丢弃此包,于是直接丢弃,或者还可 以向源主机发送ICMP信息;SP决定通过此包,直接将数据包投放到网络设备的发送队列;SP决定应用IPSec,此时SP要么指向一个SA,可以根据它进行安全处理,要么需要的SA不存在,则触发IKE模块协商建立SA,协商周期内数据包进入等待队列等待协商完成,若协商超时,也会丢弃该包。,10、数据包输入处理,系统收到IP包后,判断如果是IPSec包,则从头部取到,搜索SADB。若找不到SA,丢弃包;若找到,根
11、据其进行解封装,得到去通道化后的原始IP包,再从原始IP包中提取选择符,搜索到SPD中某一条目,检查收到包的安全处理是否符合描述规则,不符合则丢弃包,符合则转入系统IP协议栈进行后继处理。,11、包处理组件实现模型,四、互联网密钥交换(Internet Key Exchange),1、IKE功能2、密钥交换包格式(ISAKMP)-3、安全联盟的协商4、密钥交换的两个阶段5、Diffie-Hellman密钥交换6、交换流程,1、IKE功能,用IPSec保护数据包,必须首先建立一个IPSec的安全联盟,这个安全联盟可以手工建立,也可以动态由特定进程来创建。这个特定的进程就是Internet Key
12、 Exchange,即IKE。IKE的用途就是在IPSec通信双方之间通过协商建立起共享安全参数及验证过的密钥,也就是建立安全联盟。IKE协议是Oakley和SKEME协议的混合,在由ISAKMP规定的一个框架内运作,可以为多种需要安全服务的协议进行策略磋商和密钥建立,比如SNMPv3,OSPFv2,IPSec等。,2、密钥交换包格式(ISAKMP)-1,2、密钥交换包格式(ISAKMP)-2,安全联盟载荷,转码载荷表示协商时供对方选择的一组安全属性字段的取值,比如算法,安全联盟的存活期,密钥长度等等。密钥交换载荷,表示了实施密钥交换必需的信息。散列载荷,是一个散列函数的运算结果值。nonce
13、载荷,是一串伪随机值,用以衍生加密材料。证书载荷,在身份验证时向对方提供证书。证书请求载荷。,3、安全联盟的协商,通信双方要建立共享的安全联盟,必须进行协商。双方根据本方的实际安全需求,制定采用的算法,密钥刷新频率,密钥的长度等等策略。发起方在发送的安全联盟载荷中,根据策略的优先级顺序,将计划采用的安全参数的组合以提案载荷和转码载荷的形式级联表示出来,响应方收到后,依据策略选择最合适的一种,再构建应答的安全联盟,此时应答方只包含了选中的一种安全参数组合。这样,一个共享的安全联盟就可以获得了。在协商的进程中,双方也通过计算得到共享的密钥。,4、密钥交换的两个阶段,1.阶段一交换(phase1 e
14、xchange):在“阶段一”周期里,两个IKE实体建立一个安全的,经验证的信道进行后续通信,要建立这样的安全信道,双方会建立一对ISAKMP安全联盟。阶段一交换可以用身份保护模式(也叫主模式)或野蛮模式来实现,而这两种模式也仅用于阶段一中。2.阶段二交换(phase2 exchange):“阶段二”周期里,IKE实体会在阶段一建立起来的安全信道中,为某种进程协商和产生需要的密钥材料和安全参数,在VPN实现中,就是建立IPSec安全联盟。快速模式交换可用来实现阶段二交换并且仅用于此阶段中。,5、Diffie-Hellman密钥交换,D-H交换的安全性源于在有限域上计算离散对数比计算指数更为困难
15、。,6、交换流程(1)(阶段一身份保护模式),6、交换流程(2)阶段一说明,在消息(1)中,发起者生成他认为适当的安全提案列表,提交给响应方。消息(2)中,响应者与本地策略进行匹配和选择之后,将最终决定的安全联盟内容同样用相应载荷回送发起者。在消息(3)、(4)中,发起者和响应者交换DH公开值,和随机信息串nonce,在第四步完成时,双方已经可以经计算得出共享的DH公共值,以及各自计算出SKEYID和相关衍生密钥。消息(5)和消息(6)中,双方使用前两步得出的加密、验证算法和密钥保护传输的数据。当采用数字签名的身份验证方法时,消息(5)和(6)可以包含证书载荷,将自己的公钥证书发给对方,验证数
16、据AUTH DATA就是数字签名的运算结果,在这里数字证书也可以是从有效的远程有效的认证中心通过LDAP、DNSSEC等协议获得。,6、交换流程(3)(阶段二快速模式),6、交换流程(4)阶段二说明,所有消息从ISAKMP头之后都是加密传输的,并且在消息头之后紧跟了散列值进行验证。如果使用了完美向前加密(PFS),则消息交换中还包含一次DH交换的公开值载荷KE,身份载荷表示的是要保护的通信流的源和目的,通常是子网内的主机或主机的集合。在前两个消息交换完成后,双方可以计算出共享的密钥材料,这将是最终提供给IPSec模块的密钥信息。,六、IPSec的安全性评价及其改进,1、IPSec VPN的优势
17、2、IPSec过于复杂3、IPSec 协议存在的问题4、对IKE协议的改进5、IPSec与NAT的共处6、远程拨号接入7、支持组播8、对先加密后认证顺序的评价9、对IPSec的总体评价,1、IPSec VPN的优势(1),VPN技术虽然种类众多,但IETF下的IPSec工作组推出的IPSec协议是目前工业界IP VPN标准,以IPSec协议构建虚拟专用网已成为主流。基于IPSec构建IP VPN是指利用实现IPsec协议的安全网关(Security Gateway)充当边界路由器,完成安全的远程接入和在广域网上内部网络的“虚拟”专线互联等。,1、IPSec VPN的优势(2),为数据的安全传输
18、提供了身份鉴别、数据完整性、机密性保证等措施,并且其提供的安全功能与密钥管理系统松散耦合。端到端的IPSec VPN专线租费比PVC等物理专线的租用费低很多。远程接入IPSec VPN接入成本比长途电话费用低(只考虑本地拨号和VPN隧道占用费)。,2、IPSec过于复杂(1),举例说明。比如在IPSec中,存在两种模式,两种协议AH和ESP。若要对两台主机之间的数据包进行认证,存在以下六种方案:传送模式AH;隧道模式AH;传送模式ESP(无加密);隧道模式ESP(无加密);传送模式ESP(加密);隧道模式ESP(加密);,2、IPSec过于复杂(2)建议去掉传送模式,去掉传送模式;去掉AH协议
19、;在ESP中,数据源认证是必须的,而加密功能是可选的;先加密后认证的顺序存在问题,2、IPSec过于复杂(3)建议去掉AH协议,AH和ESP在功能上重叠AH的认证存在的问题隧道模式ESP提供和AH几乎同样强度的认证通过压缩机制来节省带宽,网络新技术不断涌现,对IPSec协议提出了新的挑战;针对IPSec协议的各种不足,IETF下的IPSec工作组正在酝酿IPSec协议的改进,包括IKEV2。国内外研究发现,IPSec协议大致存在下列问题:1.IKE协议的安全性;2.与现有网络机制的兼容性;3.缺乏对远程拨号接入的支持;4.不支持组播、多协议;,3、IPSec 协议存在的问题,1.网络新技术不断
20、涌现,对IPSec协议提出了新的挑战;针对IPSec协议的各种不足,IETF下的IPSec工作组正在酝酿对IPSec协议的改进,即IKEV2。2.J.Zhou在分析IKE协议基础上,提出HASH_I和HASH_R的计算公式存在安全隐患。3.Bruce Schneier等人认为IKE协议过于复杂,某些细节描述不够清楚,与ISAKMP协议有冲突。,4、对IKE协议的改进(1),4.J.M.Sierra等人提出利用新的协商模式-发生器模式(Generator Mode)实现IKE SA的快速更新。5.Radia Perlman等研究发现,IKE协议提供的用户身份保密功能与采用的身份认证方法直接相关,
21、对激进模式进行适当的修改也能提供身份保护。J.Zhou提出采用数字签名认证方式的主模式可能导致发起方的身份信息泄漏。,4、对IKE协议的改进(2),网络地址转换NAT技术通过修改IP包内容实现包的正常传输;而IPSec协议通过采用MAC技术保护IP包中数据完整性,因此NAT与IPSec是一对矛盾。IETF下的网络工作组提出了在隧道模式下使用IPC-NAT(IPSec Control NAT)的解决方案。对于端到端的IPSec与NAT的共处,网络工作组建议使用RSIP(Realm Specific IP)协议。,5、IPSec与NAT的共处(1),Balaji Sivasubramanian等提
22、出适用于协作IP网络的一种的端到端安全解决方案。该方案的巧妙之处在于IPSec处理预先使用NAT变换之后的数据(公共IP地址或端口),数据包经过NAT设备时,NAT设备对它的修改正好与IPSec提供的数据完整性保护相吻合。IPSec工作组提出利用UDP协议封装IPSec处理后的数据包,则NAT设备最多需要涉及对UDP头的数据修改。,5、IPSec与NAT的共处(2),IPSec协议本身只提供IP层的安全服务,无法在更高层实施更小颗粒的访问控制,这样就有必要借鉴高层机制,帮助IPSec协议改进对远程接入的支持。安全远程接入解决方案大致有:联合L2TP协议利用Mobile IP协议;修改IKE协议
23、Xauth协议、Crack协议、Hybrid 鉴别协议;PIC协议;,6、远程拨号接入,IPSec协议文件虽然指出协议支持使用组播(Multicast)地址,但实质上协议缺乏对组播的完整支持。将IPSec协议应用到组播环境中,迫切需要解决的问题包括:SA的唯一性问题;组机密性问题;单个源鉴别问题;防重传攻击服务失效;,7、支持组播(1),组播源鉴别:G_R方案基于数字签名技术和摘要技术,将对多个消息单个源鉴别分解为对第一个消息的签名和其他消息摘要的链式组合。C.K.Wong等人提出多个包的一次签名可等价转化为对每个包的摘要的集中签名;为减少每个包的尺寸,可采用树形链或星形链技术,安排每个包中携
24、带的摘要。C.Canetti等提出利用MAC技术实现组播源鉴别:发送方拥有K个密钥,每个接收方只与其共享L个密钥(LK),发送方发送每个包时同时附带K个MAC值。,7、支持组播(2),组播密钥管理方案C.K.Wong等提出分级树组密钥方案,利用密钥服务器(KS)负责产生所有密钥,并按照虚拟的分级树组织每个成员存储的密钥。A.Ballardie、H.Harney等人分别提出可扩展的组播密钥分发协议(SMKD)和组密钥管理协议(GKMP),这两种协议的共同缺点是缺乏针对组成员关系变化的密钥更新机制,SMKD依赖特殊的组播体系(CBT)。在Iolus方案中,S.Mitra采用分级架构将组播组细分为若干个独立的子组;组安全接口(GSI)负责跨组通信的转换。,7、支持组播(3),8、对先加密后认证顺序的评价,IPSec中的加密和认证顺序;Horton定理:认证协议应当基于消息本身的含义进行认证;如果出于效率考虑,应当认证解密密钥,9、对IPSec的总体评价,优点安全性明显优于其它隧道协议缺点过于复杂存在安全漏洞安全性分析困难根本的解决方案:对IPSec进行修补不能解决根本问题,必须彻底改变制定IPSec的委员会模式(committee process),