IPSecVPN详解(深入浅出简单易懂)讲解.pdf
《IPSecVPN详解(深入浅出简单易懂)讲解.pdf》由会员分享,可在线阅读,更多相关《IPSecVPN详解(深入浅出简单易懂)讲解.pdf(32页珍藏版)》请在三一文库上搜索。
1、IPSec VPN 详解 1. IPSec概述 IPSec(ip security)是一种开放标准的框架结构,特定的通信方之间在IP 层通过加密和数 据摘要 (hash)等手段,来保证数据包在Internet 网上传输时的私密性(confidentiality) 、完整 性(data integrity) 和真实性 (origin authentication) 。 IPSec只能工作在IP 层,要求 乘客协议 和承载协议 都是 IP协议 1.1. 通过加密保证数据的私密性 私密性:防止信息泄漏给未经授权的个人 通过加密把数据从明文变成无法读懂的密文,从而确保数据的私密性 1.2. 对数据进行
2、hash 运算来保证完整性 完整性:数据没有被非法篡改 通过对数据进行hash 运算,产生类似于指纹的数据摘要,以保证数据的完整性 对数据和密钥一起进行hash运算 攻击者篡改数据后,可以根据修改后的数据生成新的摘要,以此掩盖自己的攻击行为。 通过把数据和密钥一起进行hash 运算,可以有效抵御上述攻击。 DH 算法的基本原理 1.3. 通过身份认证保证数据的真实性 真实性:数据确实是由特定的对端发出 通过身份认证可以保证数据的真实性。常用的身份认证方式包括: Pre-shared key,预共享密钥 RSA Signature ,数字签名 1.3.1. 预共享密钥 预共享密钥,是指通信双方在
3、配置时手工输入相同的密钥。 1.3.2. 数字证书 RSA密钥对,一个是可以向大家公开的公钥,另一个是只有自己知道的私钥。 用公钥加密过的数据只有对应的私钥才能解开,反之亦然。 数字证书中存储了公钥,以及用户名等身份信息。 2. IPSec框架结构 2.1. IPSec 安全协议 IPSec 安全协议描述了如何利用加密和hash 来保护数据安全 AH (Authentication Header) 网络认证协议,只能进行数据摘要(hash) ,不能实现数据加 密 ah-md5-hmac 、ah-sha-hmac ESP (Encapsulating Security Payload) 封装安全
4、载荷协议,能够进行数据加密和数据摘要 (hash) esp-des、esp-3des、esp-md5-hmac、esp-sha-hmac 2.2. IPSec 封装模式 IPSec支持两种封装模式:传输模式和隧道模式 传输模式:不改变原有的IP 包头,通常用于主机与主机之间。 隧道模式:增加新的IP头,通常用于私网与私网之间通过公网进行通信。 3. IPSec与 NAT 3.1. AH 模式 AH 模式无法与NAT一起运行, 因为 AH 对包括 IP地址在内的整个IP 包进行 hash 运算, 而 NAT会改变 IP地址,从而破坏AH 的 hash 值。 3.2. ESP 模式 只进行地址映射
5、时,ESP可与 NAT一起工作。 进行端口映射时,需要修改端口,而ESP已经对端口号进行了加密和/或 hash,所以将无 法进行。 启用 IPSec NAT穿越后,会在ESP头前增加一个UDP头,就可以进行端口映射。 4. IPSec 安全通道协商过程 需要保护的流量流经路由器,触发路由器启动相关的协商过程。 启动 IKE (Internet key exchange, 密钥管理协议 )阶段 1,对通信双方进行身份认证,并在两 端之间建立一条安全的通道。 启动 IKE阶段 2,在上述安全通道上协商IPSec参数。 按协商好的IPSec参数对数据流进行加密、hash 等保护。 4.1. IKE
6、密钥交换协议 Internet 密钥交换( IKE )解决了在不安全的网络环境(如Internet )中安全地建立或更 新共享密钥的问题。IKE 是非常通用的协议,不仅可为IPsec 协商安全关联,而且可以为 SNMPv3、RIPv2、OSPFv2等任何要求保密的协议协商安全参数。 一、 IKE的作用当应用环境的规模较小时,可以用手工配置SA ;当应用环境规模较大、 参与的节点位置不固定时,IKE可自动地为参与通信的实体协商SA, 并对安全关联库 (SAD) 维护,保障通信安全。 二、 IKE的机制 IKE属于一种混合型协议,由 Internet 安全关联和密钥管理协议(ISAKMP) 和两种
7、密钥交换协议OAKLEY与 SKEME组成。 IKE创建在由ISAKMP定义的框架上,沿用了 OAKLEY 的密钥交换模式以及 SKEME的共享和密钥更新技术,还定义了 它自己的两种密钥交 换方式 。 IKE使用了两个阶段的ISAKMP : 第一阶段, 协商创建一个通信信道(IKE SA ) ,并对该信道进行验证,为双方进一步的IKE 通信提供机密性、消息完整性以及消息源验证服务; 第二阶段,使用已建立的IKE SA建立 IPsec SA 。 IKE共定义了 5 种交换。阶段1 有两种模式的交换:对身份进行保护的“主模式”交换 以及根据基本ISAKMP 文档制订的“野蛮模式”交换。阶段2 交换
8、使用“快速模式”交换。 IKE 自己定义了两种交换:1 为通信各方间协商一个新的Diffie- Hellman 组类型的“新组模 式”交换; 2 在 IKE 通信双方间传送错误及状态消息的ISAKMP信息交换。 1主模式交换主模式交换提供了身份保护机制,经过三个步骤,共交换了六条消息。 三个步骤分别是策略协商交换、Diffie- Hellman 共享值、 nonce 交换以及身份验证交换(如 图 2 所示) 。 2野蛮模式交换野蛮模式交换也分为三个步骤,但只交换三条消息:头两条消息协商 策略,交换Diffie -Hellman 公开值必需的辅助数据以及身份信息;第二条消息认证响应方; 第三条消
9、息认证发起方,并为发起方提供在场的证据(如图3 所示)。 3快速模式交换快速模式交换通过三条消息建立IPsec SA :头两条消息协商IPsec SA 的各项参数值,并生成IPsec 使用的密钥;第二条消息还为响应方提供在场的证据;第三条 消息为发起方提供在场的证据(如图4 所示) 。 4新组模式交换通信双方通过新组模式交换协商新的Diffie Hellman 组。新组模式交 换属于一种请求/ 响应交换。发送方发送提议的组的标识符及其特征,如果响应方能够接收 提议,就用完全一样的消息应答(如图5 所示)。 5ISAKMP信息交换参与IKE通信的双方均能向对方发送错误及状态提示消息。这实际 上并
10、非真正意义上的交换,而只是发送单独一条消息,不需要确认(如图6 所示) 。 4.2. IKE 阶段 1 协商建立IKE安全通道所使用的参数,包括: 加密算法、 Hash 算法、 DH 算法、身份认证方法、存活时间 上述IKE 参数组合成集合,称为IKE policy。IKE 协商就是要在通信双方之间找到相同的 policy。 4.3. IKE 阶段 2 双方协商IPSec安全参数,称为变换集transform set ,包括: 加密算法、 Hash 算法、安全协议、封装模式、存活时间 IKE与 IPSec安全参数的比较 4.4. IPSec SA IPSec SA ( 安全关联, Securi
11、ty Association): SA由 SPD (security policy database)和 SAD(SA database) 组成。 IPSec SA ( 安全关联, Security Association): SPI (Security Parameter Index),由 IKE自动分配 发送数据包时,会把SPI插入到 IPSec头中 接收到数据包后,根据SPI值查找 SAD和 SPD ,从而获知解密数据包所需的加解密算法、 hash 算法等。 一个 SA只记录单向的参数,所以一个 IPSec连接 会有两个 IPSec SA 。 使用 SPI可以标识路由器与不同对象之间的连
12、接。 达到 lifetime 以后,原有的IPSec SA 就会被删除 如果正在传输数据,系统会在原SA超时之前自动协商建立新的SA ,从而保证数据的传输 不会因此而中断。 4.5. IPsec SA 示例 5. Ipsec phase1 and phase2 (一) IPSec VPN隧道的建立过程分为两个阶段: 第一个阶段: 分为两种模式主模式(Main Mode 和野蛮模式 (又称主动模式Aggressive) 第二个阶段:快速模式(Quick Mode ) 区别:主模式与野蛮模式的区别: (1)野蛮模式协商比主模式协商更快。 因为主模式需要交互6 个消息,而野蛮模式只需要交互3 个消息
13、; (2)主模式协商比野蛮模式协商更严谨、更安全。 因为主模式在“消息5&消息 6”中对 ID 信息进行了加密。而野蛮模式由于受到交换次 数的限制, ID 消息在“消息1&消息 2”中以明文的方式发送给对端。即主模式对对端身份 进行了保护,而野蛮模式则没有。 (二) 两个阶段分别完成任务: (1)第一个阶段IKE设置,有三个任务需要完成: (a) 协商一系列算法和参数(这些算法和参数用于保护隧道建立过程中的数据); (b)必须计算出两边使用的加密KEY值,例如,两边使用3DES算法加密, 3DES 算法则需要一个密码,这个密码两端必须一样,但又不能在链路上传递。 (c)对等体的验证,如何才能知
14、道对端就是我要与之通信的对端。这里验证有三 种方法:预共享、数字签名和加密临时值。 上 面 一 系 列 过 程 都 是IKE( Internet 密 钥 交 换 协 议 , 大 多 数 厂 商 都 把 这 个 叫 做 VPNs Gateway)这个协议来实现。 对于第一阶段需要注意以下几点: (a1)只有 remote vpn 和 easy vpn是积极模式的,其他都是用主模式来协商的; (a2)让 IKE对等体彼此验证对方并确定会话密钥,这个阶段用DH进行密钥交换, 创建完 IKE SA后,所有后续的协商都将通过加密和完整性检查来保护。 (a3)第一阶段帮助在对等体之间创建了一条安全通道,使
15、后面的第二阶段过程协 商受到安全保护。 (2)第二阶段:协商 IPSec SA使用的安全参数,创建IPSec SA (SA可以加密两个对等 体之间的数据,这才是真正的需要加密的用户数据),使用 AH 或 ESP来加密 IP数据流。至 此 IPSec VPN隧道才真正建立起来。 (三) 综上,有如下结论: 第一阶段作用:对等体之间彼此验证对方,并协商出IKE SA ,保护第二阶段中IPSec SA 协商过程; 第二阶段作用:协商IPSec单向 SA ,为保护IP数据流而创建; (四) 举例验证:以主模式,AH 协议来简单分析一下IPSec VPN链接建立的过程(附带报 文) : 第一个阶段三个任
16、务,分别用 6 个消息来完成, 每两个为一组, 这些消息的具体格式取 决于使用的对等体认证方法,使用预共享密钥进行验证的主模式(6 条) 协商过程使用ISAKMP 消息格式来传递(基于UDP,端口号为500) 。6 条消息如下: (1)准备工作: 在前 2 条消息发送之前,发送者和接受者必须先计算出各自的cookie(可以防重放和 DOS攻击) ,这些 cookie 用于标识每个单独的协商交换消息。 cookie RFC建议将源目的IP、源目的端口、本地生成的随机数、日期和时间进行散 列操作。 Cookie 成为留在IKE 协商中交换信息的唯一标识,实际上cookie 是用来防止DOS 攻击的
17、,它把和其他设备建立IPSec所需要的连接信息不是以缓存的形式包存在路由器里, 而是把这些信息HASH成个 cookie 值。 (2)1&2 消息: 消息 1:由发送方(协商发起端)发起,携带一些参数,发送方向接收方发送一条包含 一组或多组策略提议(Raisecom工业路由器中是多组) ,在策略提议中包括5 元组信息: 加密算法DES ; 散列算法MD5-HMAC; DH Diffie-Hellman 组-2; 认证方式预共享; IKE SA寿命。 如下是 Raisecom 中高级选项配置的策略: (认证方式采用“预共享”方式) (对于 DPD,具体作用不知道,默认是关闭) 下面简要介绍一下上
18、述五元组信息: (a)协商模式:可以选择主模式(Main Mode )或者野蛮模式(Aggressive ) 。当选择主 模式时, 只能使用IP地址作为ID 的类型。当用户端设备的IP地址为动态获取的情况时,需 要选择野蛮模式。IKE野蛮模式相对于主模式来说更加灵活,可以选择根据协商发起端的IP 地址或者ID 来查找对应的身份验证字,并最终完成协商。 (b)验证方法AH (Authentication Header ) :身份验证确认通信双方的身份。目前在 IKE 提议中,仅可用pre-shared-key(预共享密钥)身份验证方法,使用该验证方法时必须配置 身份验证字,并且两端的密钥要完全一
19、致。 (c)加密算法:包括 DES和 3DES加密算法; DES算法采用56bits 的密钥进行加密, 3DES算法采用112bits 的密钥进行加密;AES128 ( Advanced Encryption Standard ,即高级加 密标准)采用128bits 的密钥进行加密;AES192 ( Advanced Encryption Standard ,即高级加密 标准)采用192bits 的密钥进行加密;AES256 (Advanced Encryption Standard ,即高级加密标 准)采用 256bits 的密钥进行加密;一般来说,密钥越长的算法强度越高,受保护数据越难 被
20、破解,但消耗的计算资源会更多。 ( d) Diffie-Hellman组标识( DH) : 用户可以选择Group 1 即 768bit 或 Group 2 即 1024bit。 (e) ISAKMP-SA生存周期: IKE使用了两个阶段为IPSec进行密钥协商并建立安全联盟。 第一阶段,通信各方彼此间建立了一个已通过身份验证和安全保护的通道,即ISAKMP安全 联盟( ISAKMP SA ) ;第二阶段,用在第一阶段建立的安全通道为IPSec协商安全服务,即为 IPSec协商具体的安全联盟,建立 IPSec SA , IPSec SA用于最终的IP数据安全传送。 ISAKMP-SA 生存周期
21、可以设定为60-604800 之间的一个整数。 (f)定时发送keepalive 报文(不是必须携带) : IKE通过 ISAKMP SA向对端定时发送 KeepAlive 报文维护该条ISAKMP SA 的链路状态。当对端在配置的超时时间内未收到此 KeepAlive 报文时,如该ISAKMP SA带有 timeout 标记,则删除该ISAKMP SA及由其协商的 IPSec SA ;否则,将其标记为timeout 。 如下是抓包获取到的信息(设备为Raisecom 工业路由器): 由上图可知,模式为主模式,载荷类型为SA 。SA的数目和内容详见下图: 将载荷类型SA 展开如下:由下图可知,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IPSecVPN 详解 深入浅出 简单 易懂 讲解
链接地址:https://www.31doc.com/p-5424218.html