IKE协议简介
2013-12-16 17:26:51 阿炯

IKE协议是建立在由Internet安全联盟和密钥管理协议ISAKMP(Internet Security Association and Key Management Protocol)定义的框架上。它能够为IPSec提供了自动协商交换密钥、建立安全联盟的服务,以简化IPSec的使用和管理。

IKE协议

用IPSec保护一个IP包之前,必须先建立一个安全联盟。IPSec的安全联盟既可以通过手工方式创建,也可以动态创建。但是当网络中节点较多时,手工配置将非常困难,而且难以保证安全性。这时就要使用IKE(Internet Key Exchange)自动创建安全联盟。

IKE具有一套自保护机制,可以在不安全的网络上安全地分发密钥、验证身份、建立IPSec安全联盟。

IKE的安全机制
IKE的安全机制有:

DH(Diffie-Hellman)交换及密钥分发

Diffie-Hellman算法是一种公共密钥算法。通信双方在不传送密钥的情况下通过交换一些数据,计算出共享的密钥。加密的前提是交换加密数据的双方必须要有共享的密钥。IKE的精髓在于它永远不在不安全的网络上直接传送密钥,而是通过一系列数据的交换,最终计算出双方共享的密钥。即使第三者(如黑客)截获了双方用于计算密钥的所有交换数据,也不足以计算出真正的密钥。

完善的前向安全性

PFS(Perfect Forward Secrecy)是一种安全特性,指一个密钥被破解,并不影响其他密钥的安全性,因为这些密钥间没有派生关系。PFS是由DH算法保障的。此特性是通过在IKE阶段2的协商中增加密钥交换来实现的。

身份验证

身份验证确认通信双方的身份。对于pre-shared key验证方法,验证字用来作为一个输入产生密钥,验证字不同是不可能在双方产生相同的密钥的。验证字是验证双方身份的关键。

身份保护

身份数据在密钥产生之后加密传送,实现了对身份数据的保护。

IKE的交换阶段


IKE使用了两个阶段为IPSec进行密钥协商并建立安全联盟:

第一阶段,通信各方彼此间建立了一个已通过身份验证和安全保护的通道。此阶段的交换建立了一个ISAKMP安全联盟,即ISAKMP SA(也可称IKE SA)。

第二阶段,用在第一阶段建立的安全联盟为IPSec协商安全服务,即为IPSec协商具体的安全联盟,建立IPSec SA。IPSec SA用于最终的IP数据安全传送。

IKE和IPSec的关系如下所示。

安全联盟建立的过程解析如下:

当一个报文从某接口外出时,如果此接口应用了IPSec,会进行安全策略的匹配。

如果找到匹配的安全策略,会查找相应的安全联盟。如果安全联盟还没有建立,则触发IKE进行协商。IKE首先建立第一阶段的安全联盟,即IKE SA。

在第一阶段安全联盟的保护下协商第二阶段的安全联盟,即IPSec SA。

使用IPSec SA保护通讯数据。

IKE的协商模式


在RFC2409(The Internet Key Exchange)中规定,IKE第一阶段的协商可以采用两种模式:

主模式(Main Mode)

主模式被设计成将密钥交换信息与身份、认证信息相分离。这种分离保护了身份信息,交换的身份信息受已生成的Diffie-Hellman共享密钥的保护,但这增加了3条消息的开销。

野蛮模式(Aggressive Mode)


野蛮模式则允许同时传送与SA、密钥交换和认证相关的载荷。将这些载荷组合到一条消息中减少了消息的往返次数,但是无法提供身份保护。

虽然野蛮模式存在一些功能限制,但可以满足某些特定的网络环境需求。例如:远程访问时,如果响应者(服务器端)无法预先知道发起者(终端用户)的地址、或者发起者的地址总在变化,而双方都希望采用预共享密钥验证方法来创建IKE SA,那么不进行身份保护的野蛮模式就是唯一可行的交换方法;另外,如果发起者已知响应者的策略,或者对响应者的策略有全面的了解,采用野蛮模式能够更快地创建IKE SA。

当然IKE是有其缺陷的,所以有了IKEv2协议。

IKEv2协议保留了传统IKE协议的基本功能并针对IKE研究过程中发现的问题进行修订。

IKEv2概述

作为IPSec VPN实现中的首选密钥交换协议,IKE保证了安全关联SA建立过程的安全性和动态性。IKE协议是一个混合型协议,其自身的复杂性不可避免地带来一些安全及性能上的缺陷,已经成为目前实现的IPSec系统的瓶颈。新版的IKEv2协议保留了传统IKE的基本功能,并针对IKE研究过程中发现的问题进行修订,同时兼顾简洁性、高效性、安全性和健壮性的需要,整合了IKE的相关文档,由RFC4306单个文档替代。通过核心功能和默认密码算法的最小化规定,新协议极大地提高了不同IPSec VPN系统的互操作性。

为了解决IKE的诸多缺点,IKEv2与传统IKE相比有以下优点:

用4条消息完成一个IKE SA和一对IPSec SA的协商建立,提高了协商效率。

删除了原有协议中的DOI、SIT以及域名标识符、提交位这些功能不强且难以理解、容易混淆的数据结构。

修复了多处公认的密码学方面的安全漏洞,提高了安全性能。

定义了独立的通讯量选择载荷,分担了原有ID载荷的部分功能,增加了协议灵活性。

加入对EAP身份认证方式的支持,提高了认证方式的灵活性和可扩展性。

IKEv2的协商过程

要建立一对IPSec SA,传统IKE需要经历两个阶段:“主模式+快速模式”或者“野蛮模式+快速模式”。前者需要交换至少9条消息,后者也至少需要6条消息。而IKEv2建立一对IPSec SA,正常情况使用两次交换4条消息就可以完成一个IKE SA和一对IPSec SA的协商建立,如果要求建立的IPSec SA大于一对时,每一对SA只需额外增加一次交换,也就是两条消息就可以完成。这比传统IKE要简化很多。