第十章虚拟私用网络技术2019/10/21第7章VPN技术与安全协议2内容提要通过本章的学习,学生应该掌握以下内容:了解虚拟私用网络的概念和作用;理解IPSec工作原理;理解虚拟私用网络的解决方案;通过实验掌握在windows2000中配置VPN连接。3问题的提出随着Internet的增长,许多公司都开始考虑:“如何充分利用Internet为公司的业务服务?”最初,只是通过方式向用户提供公司的图片、产品及服务。现在的焦点已转移到电子商务,对于那些基于传统信息系统的关键性商务应用及数据,希望能通过无处不及的Internet来实现方便快捷的访问,且企业的信息是安全的。通过安全的虚拟专用网络的实现,可以把公司的业务安全地、有效地拓展到世界各地。41.VPN的概念虚拟专用网(VirtualPrivateNetwork,VPN)提供了一种在公共网络上实现网络安全保密通信的方法。5特征虚拟(V):并不实际存在,而是利用现有网络,通过资源配置以及虚电路的建立而构成的虚拟网络专用(P):只有企业自己的用户才可以联入企业自己的网络网络(N):既可以让客户连接到公网所能够到达的任何地方,也可以方便地解决保密性、安全性、可管理性等问题,降低网络的使用成本6VPN与逻辑等同网络VPN虚拟私用网络逻辑等同网络穿越7VPN是企业网在Internet等公共网络上的延伸,通过一个专用的通道来创建一个安全的连接。VPN通过安全的数据通道将远程用户、公司分支机构、公司的业务合作伙伴等与公司的企业网连接起来,构成一个扩展的公司企业网。Internet服务提供商(ISP)提供高性能、低价位的Internet接人(直接通过线路或本地电话号码),这样公司就可以摆脱以前使用的昂贵的租用线路。8VPN扩展的企业网络企业内联网远程用户合作伙伴分支结构9VPN应用通过Internet实现远程用户访问加密安全网关VPN认证公司内部网InternetISPISP10连接企业内部网络计算机加密安全网关VPN认证公司内部网安全网关分公司内部网InternetISPISP11业务伙伴访问公司网络加密安全网关认证公司内部网业务伙伴安全网关InternetISPISPVPN加密121100111001010001010010101001000100100100000100000011001110010100010100101010010001001001000001000000明文加密解密明文密文·#¥^&(%#%$%^&*(!#$%*((_%$@#$%%^*&**)%$#@保证数据在传输中的机密性发起方接受方密文·#¥^&(%#%$%^&*(!#$%*((_%$@#$%%^*&**)%$#@1.支持IKE密钥协商2.密钥自动刷新3.128位对称加密4.1024位非对称加密5.设备之间采用证书认证6.支持CA认证VPN的主要作用之一13发起方接受方1001000101010010100001000000110110001010100010101001000101010010100001000000110110001010HashHash100010101001000101010010100001000000110110001010是否一样?验证数据来源的完整性和真实性1.支持透明模式2.支持路由模式VPN的主要作用之二14VPN数据安全性VPN数据传输的安全需求主要通过三种基本要素来实现认证确保所连接的远程设备的正确性。加密确保所传输的数据对于第三方来说是没有任何意义的。完整性确保任何对数据的修改都可以被检测出来。152.VPN协议VPN基于隧道(Tunneling)技术普通路由选择封装(GRET)隧道点对点隧道协议(PPTP)第二层隧道协议(L2TP)IP安全协议(IPSec)16普通路由选择封装(GRET)最简单,配置方便数据在隧道上传输时,封装成GRE数据格式图中路由器A和路由器D之间建立GRE隧道路由器B和路由器C无法看到原始分组17配置路由器A和路由器D的GRE隧道RouterA#configureterminal4w5d:%SYS-5-CONFIG_I:ConfiguredfromconsolebyconsoleEnterconfigurationcommands,oneperline.EndwithCNTL/Z.RouterA(config)#interfaceFastEthernet1/0RouterA(config-if)#ipaddress130.130.130.1255.255.255.0RouterA(config-if)#noshutdownRouterA(config-if)#exitRouterA(config)#interfaceTunnel1RouterA(config-if)#ipaddress10.10.10.1255.255.255.252RouterA(config-if)#tunneldestination140.140.140.1RouterA(config-if)#tunnelsource130.130.130.1RouterA(config-if)#endRouterA#18配置路由器A和路由器D的GRE隧道RouterD#configureterminal4w5d:%SYS-5-CONFIG_I:ConfiguredfromconsolebyconsoleEnterconfigurationcommands,oneperline.EndwithCNTL/Z.RouterD(config)#interfaceFastEthernet1/0RouterD(config-if)#ipaddress140.140.140.1255.255.255.0RouterD(config-if)#noshutdownRouterD(config-if)#exitRouterD(config)#interfaceTunnel1RouterD(config-if)#ipaddress10.10.10.2255.255.255.252RouterD(config-if)#tunneldestination130.130.130.1RouterD(config-if)#tunnelsource140.140.140.1RouterD(config-if)#endRouterD#19缺点管理费用高、隧道的规模数量大等。因为GRE是由手工配置的,所以配置和维护隧道所需的费用和隧道的数量是直接相关的——每次隧道的终点改变,隧道要重新配置。隧道也可自动配置,但有缺点,如不能考虑相关路由信息、性能问题以及容易形成回路问题。一旦形成回路,会极大恶化路由的效率。不适用远程访问VPN20远程访问VPN中,多数用户是采用拨号上网。这时可以通过PPTP和L2TP来加以解决。PPTPL2TP21点对点隧道协议(PPTP)Point-to-PointTunnelingProtocol,是由微软所提议的VPN标准,PPTP运行于OSI的第二层。是PPP(点对点协议,用于串行线路上拨号访问)的扩展,将PPP帧封装成IP数据包,以便在基于IP的网上传输。认证:MS-CHAP加密:MPPE通过该协议,远程用户能够通过MicrosoftWindows操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地ISP,通过Internet安全链接到公司网络。22第二层隧道协议(L2TP)L2TP技术结合了微软的PPTP和Cisco的第二层转发(L2F)技术的优点。可以在任何提供面向分组的点对点连接上建立隧道CHAP认证IPSec数据加密和密钥管理23L2TP和PPTP当用于IP网络环境时,L2TP和PPTP非常相似。L2TP比PPTP更安全,因为L2TP接入服务器能够确定用户从哪里来的。L2TP主要用于比较集中的、固定的VPN用户PPTP比较适合移动的用户。24IP安全协议(IPSec)IPSec是由IETF(InternetEngineeringTaskForce)设计的作为基于IP通信环境下一种端到端的保证数据安全的机制。包含两个安全协议和一个密钥管理协议认证报头协议(AH)封装安全有效载荷协议(ESP)因特网密钥交换协议(IKE)25IPSec的优点:(1)IPSec比其他同类协议具有更好的兼容性。(2)比高层安全协议(如SOCKS5)性能更好,实现更方便;比低层安全协议更能适应通信介质的多样性。(3)系统开销小。(4)透明性好。(5)管理方便。(6)开放性好。26IPSec的体系结构IPSec是IP与Security的简写。IPSec联合使用多种安全技术来为IP数据包提供保密性、完整性和真实性。IPSec实际上指的是多个相关的协议,它们在RFC2401-2411和RFC2451中定义。IPSec的主要设计目标是良好和互操作性。如果得到正确的实现,IPSec对那些不支持它的主机和网络不会产生任何负面的影响,IPSec的体系结构独立于当前的密码算法,IPSec对于IPv6是必需的,而对IPv4是可选的。IPSec使用当前流行的密码学算法。27IPSec的体系结构28安全关联为正确封装及提取IPSec数据包,要将安全服务、密钥与要保护的通信数据联系到一起;同时要将远程通信实体与要交换密钥的IPSec数据传输联系起来。这样的方案称为安全关联(SecurityAssociation,SA)。SA是构成IPSec的基础。它由两个通信实体协商建立。它们决定了用来保护数据包安全的IPSec协议、密钥以及密钥的有效存在时间等。任何IPSec实施方案都会构建一个SA数据库(SAD),由它来维护保障数据包安全的SA记录。29SA是单向进行的,它仅朝一个方向定义安全服务,要么对通信实体收到的包进行“进入”保护,要么对实体外发的包进行“外出”保护。SA由一个三元组唯一标识:SPI,DST,Protocol1)安全参数索引(SPI):存在于IPSec协议头内;2)目标IP地址:它同时决定了关联方向;3)安全协议(AH、ESP)标识符。通常SA是以成对的形式存在的,每个朝一个方向。既可人工创建它,亦可采用动态创建方式。SA驻留在“安全关联数据库(SAD)”内。30SA管理若用人工方式加以创建,SA便会一直存在下去,除非再用人工方式将其删除。若用动态方式创建,则SA有一个存活时间与其关联在一起。存活时间(TTL)由IPSec通信双方在密钥管理协议中协商。TTL非常重要,因为受一个密钥保护的通信量必须加以谨慎地管理。若超时使用一个密钥,会为攻击者侵入系统提供更多的机会。31安全关联数据库SADSAD用于定义每个SA的参数值:序列号:以AH/ESP报头中32位bit值表示序列号溢出标记:防止溢出数据报的传送(外出包)抗重放窗口:收到的AH/ESP数据报是否重放AH/ESP信息:认证/加密算法、密钥、有效期SA有效期:该时间间隔之后,SA结束/被替代模式(Mode):传输模式/隧道模式路径最大传输单元(MPTU):最大数据报长度(不分段)32安全策略数据库SPDSPD(SecurityPolicyDatabase)定义了对所有出/入业务应采取的安全策略,为IP数据项提供什么服务以及以什么方式提供。对所有出/入包括非Ipsec业务的处理必须咨询SPD,处理有三种可能:1)丢弃:不允许在此主机上存在,或不允许通过此网关。2)绕过IPSec:允许通过而无需IPSec保护3)采用IPSec:对这种业务流,SPD要指明提供的安全服务,采用的协议及使用的算法等。33IPSec模式IPSec提供两种操作模式(保护内容不同)传输模式隧道模式IP头负载(TCP|DATA)IP头负载(TCP|DATA)AH/ESP头ESP尾ESP认证传输模式隧道模式IP头负载(TCP|