IPSecVPN详解(深入浅出简单易懂).docx

上传人:Che****ry 文档编号:4550761 上传时间:2021-09-29 格式:DOCX 页数:32 大小:2.30MB
返回 下载 相关 举报
IPSecVPN详解(深入浅出简单易懂).docx_第1页
第1页 / 共32页
IPSecVPN详解(深入浅出简单易懂).docx_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《IPSecVPN详解(深入浅出简单易懂).docx》由会员分享,可在线阅读,更多相关《IPSecVPN详解(深入浅出简单易懂).docx(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品word 可编辑资料 - - - - - - - - - - - - -IPSec VPN详解1. IPSec概述IPSec(ip security) 是一种开放标准的框架结构,特定的通信方之间在IP 层通过加密和数据摘要 (hash)等手段,来保证数据包在Internet网上传输时的私密性(confidentiality)、完整性(data integrity) 和真实性 (origin authentication) ;IPSec只能工作在IP 层,要求 乘客协议 和承载协议 都是 IP 协议1.1. 通过加密保证数据的私密性私密性:防止信息泄漏给未经授权的个人通过加密把数据从明文变成

2、无法读懂的密文,从而确保数据的私密性1.2. 对数据进行hash运算来保证完整性完整性:数据没有被非法篡改通过对数据进行hash 运算,产生类似于指纹的数据摘要,以保证数据的完整性第 1 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -对数据和密钥一起进行hash 运算攻击者篡改数据后,可以依据修改后的数据生成新的摘要,以此掩盖自己的攻击行为;通过把数据和密钥一起进行hash 运算,可以有效抵挡上述攻击;DH 算法的基本原理第 2 页,共 32 页 - - - - - - - - - -精品word 可编辑资料

3、 - - - - - - - - - - - - -1.3. 通过身份认证保证数据的真实性真实性:数据的确是由特定的对端发出通过身份认证可以保证数据的真实性;常用的身份认证方式包括:Pre-shared key,预共享密钥 RSA Signature,数字签名1.3.1. 预共享密钥预共享密钥,是指通信双方在配置时手工输入相同的密钥;第 3 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -1.3.2. 数字证书RSA密钥对,一个是可以向大家公开的公钥,另一个是只有自己知道的私钥;用公钥加密过的数据只有对应的私钥

4、才能解开,反之亦然;数字证书中储备了公钥,以及用户名等身份信息;第 4 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -2. IPSec框架结构2.1. IPSec 安全协议IPSec安全协议描述了如何利用加密和hash来爱护数据安全AH (Authentication Header)网络认证协议,只能进行数据摘要(hash) ,不能实现数据加密ah-md5-hmac 、ah-sha-hmacESP (Encapsulating Security Payload)封装安全载荷协议, 能够进行数据加密和数据摘要

5、(hash)esp-des、esp-3des、esp-md5-hmac 、esp-sha-hmac2.2. IPSec 封装模式IPSec支持两种封装模式:传输模式和隧道模式传输模式:不转变原有的IP 包头,通常用于主机与主机之间;第 5 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -隧道模式:增加新的IP 头,通常用于私网与私网之间通过公网进行通信;第 6 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -3. IPSec与

6、NAT3.1. AH模式AH 模式无法与NAT一起运行, 由于 AH 对包括 IP 地址在内的整个IP 包进行 hash 运算,而 NAT 会转变 IP 地址,从而破坏AH 的 hash 值;3.2. ESP 模式只进行地址映射时,ESP可与 NAT 一起工作;进行端口映射时,需要修改端口,而ESP已经对端口号进行了加密和/ 或 hash,所以将无法进行;启用 IPSec NAT穿越后,会在ESP头前增加一个UDP 头,就可以进行端口映射;第 7 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -4. IPSec

7、 安全通道协商过程需要爱护的流量流经路由器,触发路由器启动相关的协商过程;启动 IKE (Internet key exchange, 密钥治理协议 )阶段 1,对通信双方进行身份认证,并在两端之间建立一条安全的通道;启动 IKE 阶段 2,在上述安全通道上协商IPSec参数;按协商好的IPSec参数对数据流进行加密、hash 等爱护;4.1. IKE密钥交换协议Internet密钥交换( IKE)解决了在担心全的网络环境(如Internet )中安全地建立或更新共享密钥的问题;IKE 是特别通用的协议,不仅可为IPsec 协商安全关联,而且可以为SNMPv3、RIPv2、OSPFv2等任何要

8、求保密的协议协商安全参数;一、 IKE的作用当应用环境的规模较小时,可以用手工配置SA;当应用环境规模较大、 参加的节点位置不固定时,IKE 可自动地为参加通信的实体协商SA,并对安全关联库 ( SAD)爱护,保证通信安全;二、IKE的机制 IKE 属于一种混合型协议,由 Internet 安全关联和密钥治理协议( ISAKMP)和两种密钥交换协议OAKLEY与 SKEME组成; IKE 创建在由ISAKMP 定义的框架上,沿用了OAKLEY的密钥交换模式以及 SKEME的共享和密钥更新技术,仍定义了 它自己的两种密钥交换方式 ;IKE使用了两个阶段的ISAKMP:第一阶段, 协商创建一个通信

9、信道( IKE SA),并对该信道进行验证,为双方进一步的IKE通信供应隐秘性、消息完整性以及消息源验证服务;其次阶段,使用已建立的IKE SA建立 IPsec SA;IKE共定义了 5 种交换;阶段1 有两种模式的交换:对身份进行爱护的“主模式”交换 以及依据基本ISAKMP 文档制订的“野蛮模式”交换;阶段2 交换使用“快速模式”交换;IKE 自己定义了两种交换:1 为通信各方间协商一个新的Diffie - Hellman组类型的“新组模式”交换; 2 在 IKE 通信双方间传送错误及状态消息的ISAKMP信息交换;1主模式交换主模式交换供应了身份爱护机制,经过三个步骤,共交换了六条消息;

10、三个步骤分别是策略协商交换、Diffie - Hellman共享值、 nonce 交换以及身份验证交换(如图 2 所示);第 8 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -2野蛮模式交换野蛮模式交换也分为三个步骤,但只交换三条消息:头两条消息协商 策略,交换Diffie - Hellman 公开值必需的帮助数据以及身份信息;其次条消息认证响应方;第三条消息认证发起方,并为发起方供应在场的证据(如图3 所示);第 9 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - -

11、- - - - - - - - - - -3快速模式交换快速模式交换通过三条消息建立IPsec SA:头两条消息协商IPsec SA的各项参数值,并生成IPsec 使用的密钥;其次条消息仍为响应方供应在场的证据;第三条消息为发起方供应在场的证据(如图4 所示);第 10 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -4新组模式交换通信双方通过新组模式交换协商新的Diffie Hellman 组;新组模式交换属于一种恳求/ 响应交换;发送方发送提议的组的标识符及其特点,假如响应方能够接收提议,就用完全一样的消息

12、应答(如图5 所示);5ISAKMP信息交换参加IKE 通信的双方均能向对方发送错误及状态提示消息;这实际上并非真正意义上的交换,而只是发送单独一条消息,不需要确认(如图6 所示);第 11 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -4.2. IKE阶段 1协商建立IKE 安全通道所使用的参数,包括:加密算法、 Hash 算法、 DH 算法、身份认证方法、存活时间上述IKE 参数组合成集合,称为IKE policy ;IKE 协商就是要在通信双方之间找到相同的policy ;第 12 页,共 32 页 -

13、 - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -4.3. IKE阶段 2双方协商IPSec安全参数,称为变换集transform set ,包括:加密算法、 Hash 算法、安全协议、封装模式、存活时间IKE与 IPSec安全参数的比较第 13 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -4.4. IPSec SA IPSec SA 安( 全关联, Security Association) :SA 由 SPD (security policy

14、 database)和 SAD(SA database组) 成;IPSec SA 安( 全关联, Security Association) : SPI (Security Parameter Index),由 IKE自动安排发送数据包时,会把SPI插入到 IPSec头中接收到数据包后,依据SPI值查找 SAD和 SPD,从而获知解密数据包所需的加解密算法、 hash 算法等;一个 SA只记录单向的参数,所以一个 IPSec连接 会有两个 IPSec SA;使用 SPI可以标识路由器与不同对象之间的连接;第 14 页,共 32 页 - - - - - - - - - -精品word 可编辑资料

15、 - - - - - - - - - - - - -达到 lifetime 以后,原有的IPSec SA就会被删除假如正在传输数据,系统会在原SA超时之前自动协商建立新的SA,从而保证数据的传输 不会因此而中断;4.5. IPsec SA 示例第 15 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -5. Ipsec phase1 and phase2(一) IPSec VPN隧道的建立过程分为两个阶段:第一个阶段: 分为两种模式主模式( Main Mode 和野蛮模式 (又称主动模式Aggressive) 其

16、次个阶段:快速模式(Quick Mode ) 区分:主模式与野蛮模式的区分:( 1)野蛮模式协商比主模式协商更快;由于主模式需要交互6 个消息,而野蛮模式只需要交互3 个消息;( 2)主模式协商比野蛮模式协商更严谨、更安全;由于主模式在“消息5& 消息 6”中对 ID 信息进行了加密;而野蛮模式由于受到交换次数的限制, ID 消息在“消息1& 消息 2”中以明文的方式发送给对端;即主模式对对端身份进行了爱护,而野蛮模式就没有;(二) 两个阶段分别完成任务:( 1)第一个阶段IKE 设置,有三个任务需要完成:(a)协商一系列算法和参数(这些算法和参数用于爱护隧道建立过程中的数据);(b )必需运

17、算出两边使用的加密KEY值,例如,两边使用3DES 算法加密, 3DES算法就需要一个密码,这个密码两端必需一样,但又不能在链路上传递;(c)对等体的验证,如何才能知道对端就是我要与之通信的对端;这里验证有三种方法:预共享、数字签名和加密暂时值;上 面 一 系 列 过 程 都 是IKE( Internet密 钥 交 换 协 议 , 大 多 数 厂 商 都 把 这 个 叫 做VPNs Gateway)这个协议来实现;对于第一阶段需要留意以下几点:(a1)只有 remote vpn 和 easy vpn 是积极模式的,其他都是用主模式来协商的;(a2)让 IKE对等体彼此验证对方并确定会话密钥,这

18、个阶段用DH 进行密钥交换,创建完 IKE SA后,全部后续的协商都将通过加密和完整性检查来爱护;(a3)第一阶段帮忙在对等体之间创建了一条安全通道,使后面的其次阶段过程协商受到安全爱护;( 2)其次阶段: 协商 IPSec SA使用的安全参数,创建 IPSec SA(SA 可以加密两个对等体之间的数据,这才是真正的需要加密的用户数据) ,使用 AH 或 ESP来加密 IP 数据流;至此 IPSec VPN隧道才真正建立起来;(三) 综上,有如下结论:第一阶段作用:对等体之间彼此验证对方,并协商出IKE SA,爱护其次阶段中IPSec SA协商过程;其次阶段作用:协商IPSec单向 SA,为爱

19、护IP 数据流而创建;第 16 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -(四) 举例验证:以主模式,AH 协议来简洁分析一下IPSec VPN链接建立的过程(附带报文):第一个阶段三个任务,分别用 6 个消息来完成, 每两个为一组, 这些消息的详细格式取 决于使用的对等体认证方法,使用预共享密钥进行验证的主模式( 6 条)协商过程使用ISAKMP 消息格式来传递(基于UDP,端口号为500);6 条消息如下:( 1)预备工作:在前 2 条消息发送之前,发送者和接受者必需先运算出各自的cookie (可以

20、防重放和DOS 攻击),这些 cookie 用于标识每个单独的协商交换消息;cookie RFC建议将源目的IP、源目的端口、本地生成的随机数、日期和时间进行散列操作; Cookie 成为留在IKE 协商中交换信息的唯独标识,实际上cookie 是用来防止DOS攻击的,它把和其他设备建立IPSec所需要的连接信息不是以缓存的形式包存在路由器里, 而是把这些信息HASH成个 cookie 值;( 2) 1&2 消息:消息 1 :由发送方(协商发起端)发起,携带一些参数,发送方向接收方发送一条包含一组或多组策略提议(Raisecom 工业路由器中是多组) ,在策略提议中包括5 元组信息:加密算法D

21、ES;散列算法MD5-HMAC; DH Diffie-Hellman 组-2;第 17 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -认证方式预共享;IKE SA寿命;如下是 Raisecom 中高级选项配置的策略:(认证方式采纳“预共享”方式)(对于 DPD,详细作用不知道,默认是关闭) 下面简要介绍一下上述五元组信息:( a)协商模式:可以挑选主模式(Main Mode )或者野蛮模式(Aggressive);当挑选主 模式时, 只能使用IP 地址作为ID 的类型;当用户端设备的IP 地址为动态猎取的情形

22、时,需 要挑选野蛮模式;IKE野蛮模式相对于主模式来说更加敏捷,可以挑选依据协商发起端的IP 地址或者ID 来查找对应的身份验证字,并最终完成协商;( b)验证方法AH( Authentication Header ): 身份验证确认通信双方的身份;目前在 IKE提议中,仅可用pre-shared-key (预共享密钥)身份验证方法,使用该验证方法时必需配置身份验证字,并且两端的密钥要完全一样;( c)加密算法: 包括 DES和 3DES加密算法; DES算法采纳 56bits 的密钥进行加密, 3DES算法采纳 112bits 的密钥进行加密; AES128( Advanced Encryp

23、tion Standard ,即高级加密标准)采纳 128bits 的密钥进行加密; AES192( Advanced Encryption Standard ,即高级加密标准)采纳 192bits 的密钥进行加密; AES256( Advanced Encryption Standard ,即高级加密标准)采纳 256bits 的密钥进行加密; 一般来说,密钥越长的算法强度越高,受爱护数据越难被破解,但消耗的运算资源会更多;( d) Diffie-Hellman组标识( DH): 用户可以挑选Group 1即 768bit 或 Group 2即1024bit ;( e)ISAKMP-SA生存

24、周期: IKE使用了两个阶段为IPSec进行密钥协商并建立安全联盟; 第一阶段,通信各方彼此间建立了一个已通过身份验证和安全爱护的通道,即ISAKMP安全联盟( ISAKMP SA);其次阶段,用在第一阶段建立的安全通道为IPSec协商安全服务,即为IPSec协商详细的安全联盟,建立 IPSec SA,IPSec SA用于最终的IP 数据安全传送; ISAKMP-SA生存周期可以设定为60-604800 之间的一个整数;( f)定时发送keepalive 报文(不是必需携带) : IKE 通过 ISAKMP SA向对端定时发送KeepAlive 报文爱护该条ISAKMP SA 的链路状态;当对

25、端在配置的超时时间内未收到此KeepAlive 报文时,如该ISAKMP SA带有 timeout标记,就删除该ISAKMP SA及由其协商的 IPSec SA;否就,将其标记为timeout ;如下是抓包猎取到的信息(设备为Raisecom 工业路由器) :第 18 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -由上图可知,模式为主模式,载荷类型为SA;SA的数目和内容详见下图:将载荷类型SA 绽开如下:由下图可知,该SA 中携带了三组策略,正好Raisecom 中web 页面配置的三组策略:第 19 页,

26、共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -第一组 Type Payload: Transform( 3) # 0 绽开如下:SA生存时间为10800; 加密机制为DES;认证算法为SHA;认证方法挑选PSK(预共享密钥) ;DH 为 Group 2 ;其次组 Type Payload: Transform( 3) # 1 绽开如下:第三组 Type Payload: Transform(3 )# 2 绽开如下:报文中的组次序和web 页面上组次序不一样,这个无所谓,只要能对上即可,由于实际中只要这三个组能匹配

27、上即可;第 20 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -消息 2 :由响应者(即对端设备)回应,内容基本一样,主要与发起者比较,是否与发起者的IKE 策略匹配,不匹配就进行下一组比较,假如最终都找不到匹配,隧道就停止建立;( note :发起者将其全部IKE 策略发给接受者,接受者就在自己的策略中查找与之匹配的策略; 对比次序从优先级号小的到大的;默认策略实际就是个模板没作用,假如认证只配置预共享的话,其他参数就会copy 默认策略里的)报文如下:由上图可知,接受端回应的消息中,匹配了发送端的一条策略

28、,假如有一条匹配,就不需要匹配其他策略;在消息 1 和消息 2 中报错可能显现的缘由:( a) peer 路由不通(即,外层的IP 地址不通,这里对应的是发送发10.1.1.3 和接收方10.1.1.2 这两个地址不通,这里配置简洁属于直连,而实际大型组网中,中间会有很多其他网元,往往是通过配置动态路由);( b) crypto iskmp key 没有设置(即,没有配置预共享密钥);( c)一阶段的策略不匹配(这时需要检查两端设备的策略有不一样地方么)第 21 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -

29、( 3) 3&4 消息:密钥交换过程消息 3 :由发起者(即,隧道建立的发起者)发出,但是在发出消息3 之前,有个过程必需要完成,就是Diffie-Hellman 算法过程;Diffie-Hellman算法过程目的:在消息1 和消息 2 中所协商的算法,它们必需需要一个 KEY(即,共享密钥中设置的密码),这个KEY 在两个对等体上必需一样,但同时这个KEY 不能在链路中传递,由于传递KEY是一个担心全的手段;所以, 该过程的目的是分别在两个 对等体间独立地生成一个DH 公共值,该公共值有什么作用?由于两个对等体上都生成该 DH 公共值后,它们会在接下来的消息3 和消息 4 中传送给对方,打个

30、比方,A 收到了 B 的DH 公共值, B 收到了 A 的 DH 公共值;当A、B 都收到了对方的该公共值后,问题就好解决了;由于有一个公式在数学中被论证成立,那么现在借助公式,就可以在两个对等体上生成一个只有它们两个对等体知道的相同的KEY,该公式为:发起者密钥 =(Xb)amod p = (Xa)bmod p= 响应者密钥note :这个密钥不是最终算法中使用的KEY,但两个对等体通过该KEY材料来生成另外 三个密钥,分别是:SKEYID_d此密钥被用于运算后续 IPSec密钥资源; SKEYID_a此密钥被用于供应后续IKE 消息的数据完整性以及认证; SKEYID_e此密钥被用于对后续

31、IKE消息进行加密;所以,由发起者发起的第三条消息主要是向对等体发送自己的DH 公共值和Nonce 随机数;实际报文如下:由上述报文可知,发送方开头向接收方发送自己的DH 公共值以及随机数;对端收到后,可以依据“消息1& 消息 2”中协商的DH 算法,以及发送端在消息3 中给出的 DH 和 nonce 值来生成SKEYID_d、 SKEYID_a、SKEYID_e三个密钥;第 22 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -消息 4 :同消息 3,告知发送端自己的DH 公共值和 Nonce 随机数;报文如

32、下:由上述报文可知,接受方开头向发送方发送自己的DH 公共值以及随机数;对端收到后,可以依据“消息1& 消息 2”中协商的DH 算法,以及接受端在消息4 中给出的 DH 和 nonce 值来生成SKEYID_d、 SKEYID_a、SKEYID_e三个密钥;第 23 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -( 3) 5&6 消息:用于双方彼此验证;由“于消息1&消息 2”的算法,以及“消息3& 消息 4”生成的三个KEY,所以在后续的“消息5& 消息 6”就能被加密传送,这个过程是受 SKEYID_e加

33、密爱护的;预共享密钥的作用:为了正确生成密钥,每一个对等体必需找到与对方相对应的预共享 密钥, 当有很多对等体连接时,每一对对等体两端都需要配置预共享密钥,每一对等体都必须使用 ISAKMP分组的源IP 来查找与其对等体对应的预共享密钥(此时,由于ID 仍没到,彼此先用HASH 来彼此验证对方)HASH 认证成分SKEYID_a、 cookieA 、 cookieB 、 preshare_key、SA payload、转换集和策略;消息 5 :由发起者向响应者发送,主要是为了验证对端自己就是自己想要与之通信的对端;这可以通过预共享、数字签名、加密暂时值来实现;消息 6 :由响应者向发起者发送,

34、主要目的和第五条一样:在消息 5 和消息 6 中报错可能显现的缘由:( 1) crypto iskmp key 设置错了;(即,两端的预共享密钥值设置的不一样)第 24 页,共 32 页 - - - - - - - - - -精品word 可编辑资料 - - - - - - - - - - - - -(五) 其次阶段:第 2阶段用三个消息来完成,目标是协商IPSec SA, 而且只有一种模式,快速模式(Quick Mode ),快速模式的协商是受第1 阶段建立的IKE SA爱护的;对应设备上需要配置的参数(以R202i-VM 为例)( 1) 1&2 消息:发送IPSec SA的属性,协商IPS

35、ec SA消息 1 :发起者会在第一条消息中发送IPSec SA的转换属性;其中包含:HASH、IPSec策略提议、 Nonce 可可选的DH 以及身份ID;( a) HASH:是用于给接受方作为完整性检验的,用于再次认证对等体(必需)HASH的成分和 5-6 阶段一样;( b)IPSec策略提议:其中包括了安全协议(AH、ESP或 AH-ESP)、SPI、散列算法、模式(隧道模式或传输模式)、IPSec SA生命周期(必选) ;( c)Nonce :用于防重放攻击,仍被用作密码生成的材料,仅当启用PFS时用到;( d) ID:描述 IPSec SA是哪些地址、协议和端口建立的,即感爱好流中的IP 地址;( e)PFS(利用 DH 交换,可选) :用了 PFS后,就会在其次阶段重新DH 出一个数据加 密 KEY,这个 KEY和以前 IKE协商出来的KEY没有任何关系, 然后由这个新KEY来加密数据, 只有到这个IPSec SA的生命周期后,会再次DH 出新的 KEY,这样,安全性就提高了(一般I

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁