NISE安全技术工程师培训.ppt
NISE安全技术工程师培训密码学应用之二VPN,VPN概述VPN的功能VPN的工作原理VPN的具体应用,VPN技术,什么是VPNVPN的优点现有的VPN协议,VPN概述,VPN是企业网在因特网等公共网络上的延伸,什么是VPN,VPN是VirtualPrivateNetwork即虚拟专用网,通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。,VPN的优点,利用VPN,可节省专用和拨号连接的成本基于VPN技术,能够迅速建立和重构网络简化了企业联网和广域网操作提高了网络可靠性VPN网络有很好的兼容性和可扩展性企业可以利用VPN迅速开展新的服务和连接全球的设施,现有VPN协议,PPTP1996年Microsoft和Ascend等在PPP协议上开发的。L2F1996年Cisco开发的。L2TP1997年底,Microsoft和Cisco共同开发。IPSecIETF正在完善,通过对数据加密、认证、完整性检查来保证数据传输的可靠性、私有性和保密性。IPSec由IP认证头(AH)、IP安全载荷封装(ESP)和密钥管理协议(ISAKMP),,公司内部网,拨号连接,因特网,用于该层的协议主要有L2TPLay2TunnelingProtocolPPTPPoint-to-PointTunnelingProtocolL2FLay2Forwarding,基于第二层的VPN,PPTP/L2TP,优点(1)对用Microsoft操作系统的用户很方便(2)支持多种协议。(3)支持流量控制,通过减少丢弃包来改善网络性能。缺点(1)安全性相对差。(2)不对两个节点间的信息传输进行监视或控制。(3)最多只能连接255个用户。(4)端点用户需要在连接前手工建立加密信道。,VPN概述VPN的功能VPN的工作原理VPN的具体应用,VPN技术,,,远程访问,,安全网关,安全网关,ISP接入设备,端到端数据通路的典型构成,,,拨入段,外部段(公共因特网),内部段公司的内部网络,,,,网络面临的风险,拨入段数据泄漏风险因特网上数据泄漏的风险安全网关中数据泄漏的风险内部网中数据泄漏的风险,VPN网络面临的风险,VPN的功能,数据机密性保护数据完整性保护数据源身份认证重放攻击保护,,,,,Internet,Router,,内部子网,,,,,,下属机构,DDN/FRX.25专线,,,,,,,,,密文传输,明文传输,明文传输,,,,,,,,数据机密性保护,数据完整性保护,,,,,,内部子网,,,,,,下属机构,DDN/FRX.25专线,,,,,,,原始数据包,对原始数据包进行Hash,,Hash,摘要,对原始数据包进行加密,,加密后的数据包,,,,,加密,,,,,,,,加密后的数据包,摘要,,摘要,解密,原始数据包,,Hash,原始数据包,,,,与原摘要进行比较,验证数据的完整性,,,数据源身份认证,,,,,,内部工作子网,,,,,,下属机构,DDN/FRX.25专线,,,,,,,原始数据包,对原始数据包进行Hash,,Hash,摘要,,,,,,加密,,,,,,,,摘要,,摘要,取出DSS,原始数据包,,Hash,原始数据包,,,,两摘要相比较,,,私钥,,DSS,将数字签名附在原始包后面供对方验证签名,得到数字签名,DSS,,解密,,,,相等吗,验证通过,,AH协议头,ESP协议头,,,SA建立之初,序列号初始化为0,使用该SA传递的第一个数据包序列号为1,序列号不允许重复,因此每个SA所能传递的最大IP报文数为2321,当序列号达到最大时,就需要建立一个新的SA,使用新的密钥。,,重放攻击保护,VPN概述VPN的功能VPN的工作原理VPN的具体应用,VPN技术,,VPN的工作原理,隧道基本概念IPSec协议栈组成IPSec的工作模式IPSecVPN的建立方式,隧道基本概念,隧道可在网络的任一层实现最常用的是两层数据链路层和网络层数据链路层隧道一个链路帧被放到了其它链路层的协议数据单元(PDU)中,该链路层还包括另外的链路帧,如PPTP,L2F,L2TP构成的VPN网络层隧道第三层的包被放到其它层或另外的第三层包中,如IPsec的AH和ESP隧道模式;封装当某层的PDU被放到另外一个PDU中的有效载荷时,把这种处理方式叫做封装,隧道基本概念,隧道在VPN中的三大作用是什么将一种协议封装到不同的协议是为了在IP基础设施中传输;通过公共寻址设施路由私有地址包;提供数据完整性和机密性服务。,通道将一个数据报用一个新的数据报封装,〈SecurityParameterIndex,IPDestinationAddress,SecurityProtocol〉,安全关联SASA就是两个IPSec系统之间的一个单向逻辑连接,,,,,,,32比特,用于标识具有相同IP地址和相同安全协议的不同SA。,可以是普通IP地址,也可是广播或者组播地址,可以是AH或者ESP,IP头部,,,,,,,,,,,,,IPSec概念,,身份认证报头AH协议提供数据源身份认证、数据完整性保护、重放攻击保护功能负载安全封装ESP协议提供数据保密、数据源身份认证、数据完整性、重放攻击保护功能因特网安全关联和密钥管理协议IKE以前被叫ISAKMP/Oakley提供自动建立安全关联和管理密钥的功能,IPSec框架的组成,IPsec协议栈组成,IPsec由一系列协议组成RFC2401规定了IPsec的基本结构RFC2402(验证头)RFC2406(封装安全载荷)RFC2407(用于Internet安全联盟和密钥管理协议ISAKMP的InternetIP安全解释域)RFC2408(ISAKMP)RFC2409(Internet密钥交换,IKE)RFC2411(IP安全文档指南)RFC2412(OAKLEY密钥确定协议)等。IPsec组件包括安全协议验证头(AH)和封装安全载荷(ESP)、安全关联(SA)、密钥交换(IKE)及加密和验证算法等。,,安全策略(SecurityPolicy,SP)指示对IP数据报提供何种保护,并以何种方式实施保护。安全关联(SecurityAssociation,SA)是两个应用IPsec实体(主机、路由器)间的一个单向逻辑连接,决定保护什么、如何保护以及谁来保护通信数据。SA是安全策略的具体化和实例化。为了确保互操作性,IPsec规定了与SA相关的两个名义性数据库--安全策略库(SPD)和安全关联库(SAD)。,IPsec协议栈组成,,验证头AuthenticationHeader,AH是一个安全协议头,可在传输模式下使用,为IP包提供数据完整性可判定数据包在传输过程中是否被修改验证服务终端系统或网络设备可对用户或应用进行验证,过滤通信流;还可防止地址欺骗攻击及重播攻击。AH头插在IP头和上层协议头(如TCP或UDP头)之间。,验证头AH,IPsec协议栈组成,,封装安全载荷EncapsulatingSecurityPayload也是一个安全协议头;采用加密和验证机制,为IP数据报提供数据源验证、数据完整性、抗重播和机密性安全服务;可在传输模式和隧道模式下使用;ESP头插在IP头和上层协议头(如TCP或UDP头)之间,隧道模式下,要对整个IP包封装,ESP头位于内外IP头之间。,封装安全载荷(ESP),IPsec协议栈组成,,IPsec的密钥管理包括密钥的确定和分配,有手工和自动两种方式。IPsec默认的自动密钥管理协议是IKE。IKE规定了自动验证IPsec对等实体、协商安全服务和产生共享密钥的标准。,RFC2409对Internet密钥交换即IKE进行了描述。,密钥交换(IKE),IPsec协议栈组成,,RFC2411对IPsecAH和ESP使用的加密和验证算法的规范进行了描述,并在其他一些文档中对DES、HMACMD5、HMACSHA1等算法标准进行了描述。,,IPsec加密算法用于ESP。目前的IPsec标准要求任何IPsec实现都必须支持DES。另外,IPsec标准规定可使用3DES、RC5、IDEA、3IDEA、CAST和Blowfish。,加密和验证算法,IPsec协议栈组成,,IPsec的工作模式,IPsec使用传输模式和隧道模式保护通信数据。IPsec协议和模式有4种可能的组合AH传输模式;AH隧道模式;ESP传输模式;ESP隧道模式。,传输模式,传输模式用于两台主机之间,保护传输层协议头,实现端到端的安全。它所保护的数据包的通信终点也是IPsec终点。实施点当数据包从传输层递给网络层时,AH和ESP会进行“拦截”,在IP头与上层协议头之间需插入一个IPsec头(AH头或ESP头)。实施顺序当同时应用AH和ESP传输模式时,应先应用ESP,再应用AH,这样数据完整性可应用到ESP载荷。,隧道模式,实施场景隧道模式用于主机与路由器或两部路由器之间,保护整个IP数据包。处理它将整个IP数据包(称为内部IP头)进行封装,然后增加一个IP头(称为外部IP头),并在外部与内部IP头之间插入一个IPsec头。该模式的通信终点由受保护的内部IP头指定,而IPsec终点则由外部IP头指定。如果IPsec终点为安全网关,则该网关会还原出内部IP包,再转发到最终的目的地。IPsec支持嵌套隧道,即对已隧道化的数据包再进行隧道化处理。,保留,负载长度,认证数据(完整性校验值ICV)变长,序列号,安全参数索引(SPI),下一头部,,,,,,,,,,认证数据一个变长字段,也叫IntegrityCheckValue,由SA初始化时指定的算法来计算。长度整数倍32位比特,保留,负载长度,认证数据(完整性校验值ICV)变长,序列号,安全参数索引(SPI),下一头部,,,,,,,,,,,,,下一头部8比特,标识认证头后面的下一个负载类型,负载长度8比特,表示以32比特为单位的AH头部长度减2,Default4,保留字段16比特,保留将来使用,Default0,SPI32比特,用于标识有相同IP地址和相同安全协议的不同SA。由SA的创建者定义,只有逻辑意义,序列号32比特,一个单项递增的计数器,用于防止重放攻击,SA建立之初初始化为0,序列号不允许重复,,,,,,,,,,,,,,,,,,,,,,32位,认证头部(AH),,Internet,,,,HostA,HostB,,,,,,,,,,,,,,,,VPN网关,VPN网关,,,,,,,,,,,,,,,,,经过IPSec核心处理以后,经过IPSec核心处理以后,,传输模式下的AH认证工作原理,Internet,HostA,HostB,,,,,,,,,,,VPN网关1,VPN网关2,,,,,经过IPSec核心处理以后,经过IPSec核心处理以后,,,,隧道模式下的AH认证工作原理,,认证数据一个变长字段,也叫IntegrityCheckValue,由SA初始化时指定的算法来计算。长度整数倍32位比特,下一头部8比特,标识认证头后面的下一个负载类型,填充字段8比特,大多数加密算法要求输入数据包含整数个分组,因此需要填充,负载数据包含由下一头部字段给出的变长数据,SPI32比特,用于标识有相同IP地址和相同安全协议的不同SA。由SA的创建者定义,只有逻辑意义,填充长度8比特,给出前面填充字段的长度,置0时表示没有填充,下一头部,填充长度,认证数据(变长的),序列号,安全参数索引(SPI),,,,,,,,,,,,,,,,,,,,,32位,,,,,,,,ESP头部,ESP尾部,ESP认证数据,,,,加密的,认证的,,,,,,,,,,,,,,,序列号32比特,一个单项递增的计数器,用于防止重放攻击,SA建立之初初始化为0,序列号不允许重复,,,,,,,,负载安全封装(ESP),Internet,HostA,HostB,,,,,,,,,,,,,,,,VPN网关,VPN网关,,,,,经过IPSec核心处理以后,经过IPSec核心处理以后,传输模式下的ESP工作原理,Internet,HostA,HostB,,,,,,,,,,VPN网关1,VPN网关2,,,,,经过IPSec核心处理以后,经过IPSec核心处理以后,,,隧道模式下的ESP工作原理,,Internet,HostA,HostB,,,,,,,,,,VPN网关1,VPN网关2,,,,,经过IPSec核心处理以后,经过IPSec核心处理以后,组合IPSec协议,ESP认证,ESP尾,负载,ESP头,IP头,,,,,负载,IP头部,,认证数据,,,,AH头部,,认证数据,,,,,,AH协议,ESP协议,,身份认证数据加密数据完整性校验重放攻击保护,身份认证数据完整性校验重放攻击保护,,,ESP可以取代AH吗,,,AH与ESP协议区别,Host对HostHost对VPN网关VPN对VPN网关RemoteUser对VPN网关,VPN隧道的建立方式,,,,,Internet,VPN网关A,VPN网关B,,,,HosttoHost模式该模式要求两边主机都支持IPSecVPN网关可支持也可不支持IPSec,安全通道,,安全通道,,安全通道,,主机必须支持IPSec,主机必须支持IPSec,Gateway可支持也可不支持IPSec,Gateway可支持也可不支持IPSec,,HosttoHost,,,,,,Internet,VPN网关A,VPN网关B,,,HosttoVPN模式该模式要求一边的主机都支持IPSec另一边的VPN网关必须支持IPSec,安全通道,,安全通道,,主机必须支持IPSec,主机可以不支持IPSec,Gateway可支持也可不支持IPSec,Gateway必须支持IPSec,,非安全通道,,HosttoVPN,HosttoVPNGateway,,,,,Internet,VPN网关A,VPN网关B,,,VPNtoVPN模式该模式不要求主机支持IPSec两边的VPN网关必须都支持IPSec,非安全通道,,安全通道,,主机可以不支持IPSec,主机可以不支持IPSec,Gateway必须支持IPSec,Gateway必须支持IPSec,非安全通道,,,VPNGatewaytoVPNGateway,,,,,Internet,ISP接入服务器,VPN网关B,,安全通道,,安全通道,,主机必须支持IPSec,Gateway必须支持IPSec,,非安全通道,,PSTN,,,RemoteUsertoVPNGateway,,,,,,,Internet,VPN网关B,,192.168.1.25,,双方使用ISAKMP/Oakley密钥交换协议建立安全关联,产生或者刷新密钥,,,,,,,192.168.2.34,,,,,,,,,,,,,,,,,,,,VPN网关A,查找SPD数据库决定为流入的IP数据提供那些安全服务,查找对应SA的参数,要求建立安全相应的关联,对原有数据包进行相应的安全处理,建立SAD,建立相应的SA,,一个完整的VPN工作原理图,,VPN概述VPN的功能VPN的工作原理VPN的具体应用,VPN技术,VPN应用,用VPN连接分支机构用VPN连接业务伙伴用VPN连接远程用户,,,,,,Internet,VPN网关A,VPN网关B,,,通道只需定义在两边的网关上,,Gateway必须支持IPSec,Gateway必须支持IPSec,,,,数据在这一段是认证的,数据在这一段是加密的,ISP,ISP,用VPN连接分支机构,,,,,Internet,VPN网关A,VPN网关B,,,,主机必须支持IPSec,主机必须支持IPSec,,,,,,,,通道建立在两边的主机之间,因为业务伙伴内的主机不是都可以信任的,数据在这一段是加密的,数据在这一段是认证的,数据在这一段是认证的,数据在这一段是加密的,数据在这一段是认证的,数据在这一段是加密的,ISP,ISP,用VPN连接合作伙伴,,,,,,Internet,ISP接入服务器,VPN网关B,,主机必须支持IPSec,Gateway必须支持IPSec,,PSTN,,,,,,,,,数据在这一段是加密的,数据在这一段是认证的,数据在这一段是加密的,数据在这一段是认证的,通道建立在移动用户与公司内部网的网关处,用VPN连接远程用户,,VPN概述VPN的功能VPN的工作原理VPN的具体应用,总结,课程结束,思考练习题隧道模式和传输模式的区别实现VPN的隧道协议有哪些AH提供什么安全功能能对抗什么攻击如何实现这些功能其使用模式是什么样的ESP提供什么安全功能能对抗什么攻击如何实现这些功能其使用模式是什么样的,