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