1、IPSec VPNVPN概述VPN的功能VPN的工作原理VPN的配置VPN技术技术什么是VPNVPN的优点现有的VPN协议 VPN概述VPNVPN是企业网在因特网等公共网络上的延伸是企业网在因特网等公共网络上的延伸 什么是VPNVPNVPN是是Virtual Private NetworkVirtual Private Network即虚拟专用网即虚拟专用网通过一个公用网络(通常是因特网)建立一个临时的、安全通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。远程访问Internet内部网合
2、作伙伴分支机构虚拟私有网虚拟私有网虚拟私有网VPN通过一个私有的通道来创建一个安全的连接,将远程用户、公司分支机构、公司的业务伙伴等跟企业网连接起来,形成一个扩展的公司企业网。VPN的优点l利用VPN,可节省专用和拨号连接的成本l基于VPN技术,能够迅速建立和重构网络l简化了企业联网和广域网操作 l提高了网络可靠性lVPN网络有很好的兼容性和可扩展性 l企业可以利用 VPN 迅速开展新的服务和连接全球的设施现有现有VPNVPN协议协议lPPTP:1996年Microsoft 和Ascend等在PPP协议上开发的。lL2F:1996年Cisco开发的。lL2TP:1997年底,Microsoft
3、 和Cisco共同开发。lIPSec:IETF正在完善,通过对数据加密、认证、完整性检查来保证数据传输的可靠性、私有性和保密性。IPSec由IP认证头(AH)、IP安全载荷封装(ESP)和密钥管理协议(ISAKMP)公司内部网拨号连接因特网L2 T P 通道用于该层的协议主要有:用于该层的协议主要有:v L2TP:Lay 2 Tunneling Protocolv PPTP:Point-to-Point Tunneling Protocolv L2F:Lay 2 ForwardingL2 T P 通道基于第二层的基于第二层的VPNPPTP/L2TPPPTP/L2TPl优点:(1)对用Micro
4、soft操作系统的用户很方便(2)支持多种协议。(3)支持流量控制,通过减少丢弃包来改善网络性能。l缺点:(1)安全性相对差。(2)不对两个节点间的信息传输进行监视或控制。(3)最多只能连接255个用户。(4)端点用户需要在连接前手工建立加密信道。VPN概述VPN的功能VPN的工作原理VPN的具体应用VPN技术技术远程访问Internet内部网分支机构分支机构安全网关安全网关ISP接入设备端到端数据通路的典型构成拨入段外部段(公共因特网)内部段公司的内部网络网络面临的风险 拨入段数据泄漏风险拨入段数据泄漏风险 因特网上数据泄漏的风险因特网上数据泄漏的风险 安全网关中数据泄漏的风险安全网关中数据
5、泄漏的风险 内部网中数据泄漏的风险内部网中数据泄漏的风险VPN网络面临的风险VPN的功能的功能l数据机密性保护l数据完整性保护l数据源身份认证l重放攻击保护Router管理子网一般子网内部WWW重点子网DMZ区域区域WWW Mail DNS密文密文传输明文传输明文传输 数据机密性保护数据机密性保护数据完整性保护数据完整性保护管理子网一般子网内部WWW重点子网原始数据包对原始数据包进行Hash加密后的数据包加密后的数据包摘要摘要Hash摘要摘要对原始数据包进行加密加密后的数据包加密后的数据包加密加密后的数据包加密后的数据包摘要摘要加密后的数据包加密后的数据包摘要摘要摘要摘要解密原始数据包Hash
6、原始数据包与原摘要进行比较,验证数据的完整性数据源身份认证数据源身份认证管理子网一般子网内部WWW重点子网原始数据包对原始数据包进行HashHash摘要摘要加密摘要摘要摘要摘要取出DSS原始数据包Hash原始数据包两摘要相比较私钥原始数据包DSSDSS将数字签名附在原始包后面供对方验证签名得到数字签名原始数据包DSS原始数据包DSSDSS解密相等吗?验证通过 保留负载长度认证数据(完整性校验值ICV)变长序列号安全参数索引(SPI)下一头部填充(0255字节)下一头部填充长度认证数据(变长的)负载数据(变长的)序列号安全参数索引(SPI)AH协议头ESP协议头SA建立之初,序列号初始化为0,使
7、用该SA传递的第一个数据包序列号为1,序列号不允许重复,因此每个SA所能传递的最大IP报文数为2321,当序列号达到最大时,就需要建立一个新的SA,使用新的密钥。重放攻击保护重放攻击保护IPSec防止了数据包被捕捉,并重新投放到网上,即目的地会拒绝老的或重复的数据包,它通过报文的序列号实现。VPN概述VPN的功能VPN的工作原理VPN的具体应用VPN技术技术VPN的工作原理的工作原理隧道基本概念 IPSec协议栈组成IPSec的工作模式IPSecVPN的建立方式隧道隧道基本概念基本概念l隧道可在网络的任一层实现l最常用的是两层:数据链路层和网络层l数据链路层隧道:一个链路帧被放到了其它链路层的
8、协议数据单元(PDU)中,该链路层还包括另外的链路帧,如:PPTP, L2F, L2TP 构成的VPNl网络层隧道:第三层的包被放到其它层或另外的第三层包中,如IPsec 的AH和ESP隧道模式;l封装:当某层的PDU被放到另外一个PDU中的有效载荷时,把这种处理方式叫做封装隧道基本概念隧道基本概念l隧道在VPN中的三大作用是什么?将一种协议封装到不同的协议是为了在IP基础设施中传输;通过公共寻址设施路由私有地址包;提供数据完整性和机密性服务。IPSec 概念概念 IPSecIPSec协议不是一个单独的协议,它给出了应用于协议不是一个单独的协议,它给出了应用于IPIP层上网层上网络数据安全的一
9、整套体系结构。络数据安全的一整套体系结构。 v身份认证报头身份认证报头AHAH协议协议 提供数据源身份认证、数据完整性保护、重放攻击保提供数据源身份认证、数据完整性保护、重放攻击保护功能护功能v 负载安全封装负载安全封装ESPESP协议协议提供数据保密、数据源身份认证、数据完整性、重放攻提供数据保密、数据源身份认证、数据完整性、重放攻击保护功能击保护功能v 因特网安全关联和密钥管理协议因特网安全关联和密钥管理协议IKE(IKE(以前被叫以前被叫ISAKMP/Oakley)ISAKMP/Oakley) 提供自动建立安全关联和管理密钥的功能提供自动建立安全关联和管理密钥的功能IPSec 框架的组成
10、框架的组成验证头验证头(Authentication Header,AH)是一个安全是一个安全协议头,可在传输模式和隧道模式下使用,为协议头,可在传输模式和隧道模式下使用,为IP包提供:包提供:数据完整性:可判定数据包在传输过程中是数据完整性:可判定数据包在传输过程中是否被修改否被修改验证服务:终端系统或网络设备可对用户或验证服务:终端系统或网络设备可对用户或应用进行验证,过滤通信流;还可防止地应用进行验证,过滤通信流;还可防止地址欺骗攻击及重播攻击。址欺骗攻击及重播攻击。AH头插在头插在IP头和上层协议头(如头和上层协议头(如TCP或或UDP头)头)之间。之间。验证头验证头(AH)(AH)I
11、Psec协议栈组成封装安全载荷封装安全载荷(Encapsulating Security Payload)也是一也是一个安全协议头;个安全协议头;采用加密和验证机制,为采用加密和验证机制,为IP数据报提供数据源验证、数数据报提供数据源验证、数据完整性、抗重播和机密性安全服务;据完整性、抗重播和机密性安全服务;可在传输模式和隧道模式下使用;可在传输模式和隧道模式下使用;ESP头插在头插在IP头和上层协议头(如头和上层协议头(如TCP或或UDP头)之间,头)之间,隧道模式下,要对整个隧道模式下,要对整个IP包封装,包封装,ESP头位于内外头位于内外IP头头之间。之间。封装安全载荷(封装安全载荷(E
12、SPESP)IPsec协议栈组成IPsecIPsec的密钥管理包括密钥的确定和分配,的密钥管理包括密钥的确定和分配,有有手工手工和和自动自动两种方式。两种方式。IPsecIPsec默认的自默认的自动密钥管理协议是动密钥管理协议是IKEIKE。IKEIKE规定了自动规定了自动验证验证IPsecIPsec对等实体、协商安全服务和产对等实体、协商安全服务和产生共享密钥的标准。生共享密钥的标准。对对InternetInternet密钥交换即密钥交换即IKEIKE进行了描述进行了描述。密钥交换(密钥交换(IKEIKE)IPsec协议栈组成 对对IPsec AHIPsec AH和和ESPESP使用的加密和
13、验证算法使用的加密和验证算法的规范进行了描述,并在其他一些文档中对的规范进行了描述,并在其他一些文档中对DESDES、HMACHMACMD5MD5、HMACHMACSHASHA1 1等算法标准进行了描述。等算法标准进行了描述。 IPsec IPsec加密算法用于加密算法用于ESPESP。目前的。目前的IPsecIPsec标准要求任何标准要求任何IPsecIPsec实现都必须支持实现都必须支持DESDES。另外,。另外,IPsecIPsec标准规定可使用标准规定可使用3DES3DES、RC5RC5、IDEAIDEA、3IDEA3IDEA、CAST CAST 和和Blowfish Blowfish
14、 。加密和验证算法加密和验证算法IPsec协议栈组成IPsecIPsec的工作模式的工作模式 IPsec IPsec使用传输模式和隧道模式保护通使用传输模式和隧道模式保护通信数据。信数据。IPsecIPsec协议和模式有协议和模式有4 4种可能的种可能的组合:组合: AHAH传输模式;传输模式; AHAH隧道模式;隧道模式; ESPESP传输模式;传输模式; ESPESP隧道模式。隧道模式。 传输模式传输模式l传输模式用于两台主机之间,保护传输层协议头,实现端到端的安全端到端的安全。l它所保护的数据包的通信终点也是IPsec终点。l实施点:当数据包从传输层递给网络层时,AH和ESP会进行“拦截
15、”,在IP头与上层协议头之间需插入一个IPsec头(AH头或ESP头)。l实施顺序:当同时应用AH和ESP传输模式时,应先应用ESP,再应用AH,这样数据完整性可应用到ESP载荷。隧道模式隧道模式l实施场景:隧道模式用于主机与路由器或两部路由器之间,保护整个IP数据包。l处理:它将整个IP 数据包(称为内部IP头)进行封装,然后增加一个IP头(称为外部IP头),并在外部与内部IP头之间插入一个IPsec头。l该模式的通信终点由受保护的内部IP头指定,而IPsec终点则由外部IP头指定。如果IPsec终点为安全网关,则该网关会还原出内部IP包,再转发到最终的目的地。lIPsec支持嵌套隧道,即对
16、已隧道化的数据包再进行隧道化处理。保留负载长度认证数据(完整性校验值ICV)变长序列号安全参数索引(SPI)下一头部负 载AH头部IP头部v认证数据:一个变长字段,也叫Integrity Check Value,由SA初始化时指定的算法来计算。长度=整数倍32位比特保留负载长度认证数据(完整性校验值ICV)变长序列号安全参数索引(SPI)下一头部v 下一头部:8比特,标识认证头后面的下一个负载类型v 负载长度:8比特,表示以32比特为单位的AH头部长度减2,Default=4v保留字段:16比特,保留将来使用,Default=0vSPI:32比特,用于标识有相同IP地址和相同安全协议的不同SA
17、。由SA的创建者定义,只有逻辑意义v序列号:32比特,一个单项递增的计数器,用于防止重放攻击,SA建立之初初始化为0,序列号不允许重复32位认证头部(认证头部(AH)Internet负 载IP头部Host AHost BVPN网关VPN网关负 载AH头部IP头部负 载AH头部IP头部负 载IP头部经过IPSec 核心处理以后经过IPSec 核心处理以后负 载AH头部IP头部传输模式下的传输模式下的AHAH认证工作原理认证工作原理Internet负 载IP 头Host AHost BVPN网关1VPN网关2负 载IP 头经过IPSec 核心处理以后经过IPSec 核心处理以后负 载IP头AH头新
18、IP头负 载IP头AH头新IP头负 载IP头AH头新IP头Source IP=VPN网关1Destination IP=VPN网关2Source IP=Host ADestination IP=Host B隧道模式下的隧道模式下的AH认证工作原理认证工作原理v认证数据:一个变长字段,也叫Integrity Check Value,由SA初始化时指定的算法来计算。长度=整数倍32位比特v 下一头部:8比特,标识认证头后面的下一个负载类型v 填充字段:8比特,大多数加密算法要求输入数据包含整数个分组,因此需要填充v负载数据:包含由下一头部字段给出的变长数据vSPI:32比特,用于标识有相同IP地址
19、和相同安全协议的不同SA。由SA的创建者定义,只有逻辑意义ESP认证ESP尾负 载ESP头IP头填充(0255字节)下一头部填充长度认证数据(变长的)负载数据(变长的)序列号安全参数索引(SPI)v 填充长度:8比特,给出前面填充字段的长度,置0时表示没有填充下一头部填充长度认证数据(变长的)填充(0255字节)负载数据(变长的)序列号安全参数索引(SPI)32位ESP头部ESP尾部ESP认证数据加密的认证的v序列号:32比特,一个单项递增的计数器,用于防止重放攻击,SA建立之初初始化为0,序列号不允许重复负载安全封装(负载安全封装(ESP)Internet负 载IP头部Host AHost
20、BVPN网关VPN网关负 载IP头部经过IPSec 核心处理以后经过IPSec 核心处理以后ESP认证ESP尾负 载ESP头IP头加密数据认证数据ESP认证ESP尾负 载ESP头IP头ESP认证ESP尾负 载ESP头IP头加密数据认证数据传输模式下的传输模式下的ESP工作原理工作原理Internet负 载IP 头Host AHost BVPN网关1VPN网关2负 载IP 头经过IPSec 核心处理以后经过IPSec 核心处理以后Source IP=VPN网关1Destination IP=VPN网关2Source IP=Host ADestination IP=Host B负载ESP认证ESP
21、尾IP头ESP头新IP头负载ESP认证ESP尾IP头ESP头新IP头负载ESP认证ESP尾IP头ESP头新IP头隧道模式下的隧道模式下的ESP工作原理工作原理 Internet负 载IP 头Host AHost BVPN网关1VPN网关2负 载IP 头经过IPSec 核心处理以后经过IPSec 核心处理以后Source IP=VPN网关1Destination IP=VPN网关2Source IP=Host ADestination IP=Host B内IP头ESP尾负 载ESP头AH头外IP头内IP头ESP尾负 载ESP头AH头外IP头内IP头ESP尾负 载ESP头AH头外IP头组合组合IP
22、Sec 协议协议ESP认证ESP尾负 载ESP头IP头 负 载IP头部认证数据AH头部认证数据AH协议ESP协议v 身份认证v 数据加密v 数据完整性校验v 重放攻击保护v 身份认证v数据完整性校验v 重放攻击保护AH与与ESP协议区别协议区别1. Host 对对 Host2. Host 对对 VPN 网关网关3. VPN 对对 VPN 网关网关4. Remote User 对对 VPN 网关网关 VPN隧道的建立方式隧道的建立方式Internet公司BVPN网关AVPN网关B公司BHost to Host 模式:v 该模式要求两边主机都支持IPSec v VPN网关可支持也可不支持IPSec
23、安全通道安全通道安全通道主机必须支持IPSec主机必须支持IPSecGateway 可支持也可不支持IPSecGateway 可支持也可不支持IPSec Host to HostInternet公司BVPN网关AVPN网关B公司BHost to VPN 模式:v 该模式要求一边的主机都支持IPSec v 另一边的VPN网关必须支持IPSec安全通道安全通道主机必须支持IPSec主机可以不支持IPSecGateway 可支持也可不支持IPSecGateway 必须支持IPSec非安全通道Host to VPNHost to VPN GatewayInternet公司BVPN网关AVPN网关B公司
24、BVPN to VPN 模式:v 该模式不要求主机支持IPSec v两边的VPN网关必须都支持IPSec非安全通道安全通道主机可以不支持IPSec主机可以不支持IPSecGateway 必须支持IPSecGateway 必须支持IPSec非安全通道VPN Gateway to VPN GatewayInternet公司BISP接入服务器VPN网关B安全通道安全通道主机必须支持IPSecGateway 必须支持IPSec非安全通道PSTNRemote User to VPN GatewayInternetVPN网关B公司AAH192.168.2.34258ESP192.168.2.34259ES
25、P192.168.1.25257AH192.168.1.25256Security ProtocolDestination AddressSPI192.168.1.25公司BSPD中的数据项类似于防火墙的配置规则192.158.1.34192.168.1.25Source AddressOthers 绕过、丢弃安全Secure Service192.168.1.25192.158.1.34Destination Address 双方使用ISAKMP/Oakley密钥交换协议建立安全关联,产生或者刷新密钥内IP头ESP尾负 载ESP头AH头外IP头负 载IP 头192.168.2.34SAD中包
26、含每一个SA的参数信息,如算法、密钥等ESPAHESPAHSecurity ProtocolOthers 110001101010Key 加密SHA-12583DES CBC259DES CBC 4257加密MD5256Algorithm SPI负 载IP 头VPN网关A查找SPD数据库决定为流入的IP数据提供那些安全服务查找对应SA的参数要求建立安全相应的关联对原有数据包进行相应的安全处理建立SAD建立相应的SA 一个完整的一个完整的VPN工作原理图工作原理图VPN概述VPN的功能VPN的工作原理VPN的具体应用VPN技术技术VPN应用应用l 用VPN连接分支机构l 用VPN连接业务伙伴l
27、用VPN连接远程用户 Internet分支机构VPN网关AVPN网关B总部通道只需定义在两边的网关上Gateway 必须支持IPSecGateway 必须支持IPSec数据在这一段是认证的数据在这一段是加密的ISPISP用用VPNVPN连接分支机构连接分支机构Internet业务伙伴VPN网关AVPN网关B公司A主机必须支持IPSec主机必须支持IPSec通道建立在两边的主机之间,因为业务伙伴内的主机不是都可以信任的数据在这一段是加密的数据在这一段是认证的数据在这一段是认证的数据在这一段是加密的数据在这一段是认证的数据在这一段是加密的ISPISP用用VPN连接合作伙伴连接合作伙伴Interne
28、t公司BISP接入服务器VPN网关B主机必须支持IPSecGateway 必须支持IPSecPSTN数据在这一段是加密的数据在这一段是认证的数据在这一段是加密的数据在这一段是认证的通道建立在移动用户与公司内部网的网关处用用VPN连接远程用户连接远程用户创建IKE策略集policy,指明身份认证方式、加密算法、DH算法组、摘要算法、生存期。crypto isakmp policycrypto isakmp policy使用共享密钥进行身份认证crypto isakmp key _ address crypto isakmp key _ address 对端地址对端地址配置IPSec 参数,IPSec VPN的配置步骤的配置步骤显示显示IKEIKE策略策略show crypto show crypto isakmpisakmp policy policy显示显示IPSecIPSec变换集变换集show crypto show crypto ipsecipsec transform-set transform-set显示显示crypto mapcrypto mapshow crypto mapshow crypto map测试并验证测试并验证IPSec VPNIPSec特点特点