因特网密钥交换协议(IKE)是一份符合因特网协议安全(IPSec)标准的协议。它常用来确保虚拟专用网络VPN(virtual private network)与远端网络或者宿主机进行交流时的安全。对于两个或更多实体间的交流来说,安全协会(SA)扮演者安全警察的作用。每个实体都通过一个密钥表征自己的身份。因特网密钥交换协议(IKE)保证安全协会(SA)内的沟通是安全的。  因特网密钥交换协议(IKE)是结合了两个早期的安全协议而生成的综合性协议。它们是:Oakley协议和SKEME协议。因特网密钥交换协议(IKE)是基于因特网安全连接和密钥管理协议ISAKMP(Internet Security Association and Key Management Protocol)中TCP/IP框架的协议。因特网安全连接和密钥管理协议ISAKMP包含独特的密钥交换和鉴定部分。Oakley协议中指定了密钥交换的顺序,并清楚地描述了提供的服务,比如区别保护行为和鉴定行为。SKEME协议说明了密钥交换的具体方法。尽管没有要求因特网密钥交换协议(IKE)符合因特网协议安全(IPSec)的内容,但是因特网密钥交换协议(IKE)内的自动实现协商和鉴定、否则重发服务(请参考否则重发协议)、凭证管理CA(Certification Authority)支持系统和改变密码生成方法等内容均得益于因特网协议安全(IPSec)。

Intenet密钥交换协议(IKE)是用于交换和管理在VPN中使用的加密密钥的.到目前为止,它依然存在安全缺陷.基于该协议的重要的现实意义,简单地介绍了它的工作机制,并对它进行了安全性分析;对于抵御中间人攻击和DoS攻击,给出了相应的修正方法;还对主模式下预共享密钥验证方法提出了新的建议;最后给出了它的两个发展趋势:JFK和IKEv2.

Internet key exchange (IKE) is the protocol used to set up a security association in the IPsec protocol suite, which is in turn a mandatory part of the IETF IPv6 standard, which is being adopted (slowly) throughout the Internet. IPsec (and so IKE) is an optional part of the IPv4 standard. But in IPv6 providing security through IPsec is a must.

Internet密钥交换(IKE)解决了在不安全的网络环境(如Internet)中安全地建立或更新共享密钥的问题。IKE是非常通用的协议,不仅可为IPsec协商安全关联,而且可以为SNMPv3、RIPv2、OSPFv2等任何要求保密的协议协商安全参数。

一、IKE的作用当应用环境的规模较小时,可以用手工配置SA;当应用环境规模较大、参与的节点位置不固定时, IKE可自动地为参与通信的实体协商SA,并对安全关联库(SAD)维护,保障通信安全。二、IKE的机制IKE属于一种混合型协议,由Internet安全关联和密钥管理协议(ISAKMP)和两种密钥交换协议OAKLEY与SKEME组成。IKE创建在由ISAKMP定义的框架上,沿用了OAKLEY的密钥交换模式以及SKEME的共享和密钥更新技术,还定义了它自己的两种密钥交换方式。IKE使用了两个阶段的ISAKMP:第一阶段,协商创建一个通信信道(IKE SA),并对该信道进行验证,为双方进一步的IKE通信提供机密性、消息完整性以及消息源验证服务;第二阶段,使用已建立的IKE SA建立IPsec SA(如图1所示)。 IKE共定义了5种交换。阶段1有两种模式的交换:对身份进行保护的“主模式”交换以及根据基本ISAKMP 文档制订的“野蛮模式”交换。阶段2 交换使用“快速模式”交换。IKE 自己定义了两种交换:1为通信各方间协商一个新的DiffieHellman 组类型的“新组模式”交换;2在IKE 通信双方间传送错误及状态消息的ISAKMP信息交换。1.主模式交换主模式交换提供了身份保护机制,经过三个步骤,共交换了六条消息。三个步骤分别是策略协商交换、DiffieHellman共享值、nonce交换以及身份验证交换(如图2所示)。2.野蛮模式交换野蛮模式交换也分为三个步骤,但只交换三条消息:头两条消息协商策略,交换DiffieHellman公开值必需的辅助数据以及身份信息;第二条消息认证响应方;第三条消息认证发起方,并为发起方提供在场的证据(如图3所示)。 3.快速模式交换快速模式交换通过三条消息建立IPsec SA:头两条消息协商IPsec SA的各项参数值,并生成IPsec 使用的密钥;第二条消息还为响应方提供在场的证据;第三条消息为发起方提供在场的证据(如图4所示)。 4.新组模式交换通信双方通过新组模式交换协商新的Diffie-Hellman组。新组模式交换属于一种请求/响应交换。发送方发送提议的组的标识符及其特征,如果响应方能够接收提议,就用完全一样的消息应答(如图5所示)。 5.ISAKMP信息交换参与IKE通信的双方均能向对方发送错误及状态提示消息。这实际上并非真正意义上的交换,而只是发送单独一条消息,不需要确认(如图6所示)。 三、IKE的安全1.机密性保护IKE使用DiffieHellman组中的加密算法。IKE共定义了五个DiffieHellman组,其中三个组使用乘幂算法(模数位数分别是768、1024、1680位),另两个组使用椭圆曲线算法(字段长度分别是155、185位)。因此,IKE的加密算法强度高,密钥长度大。2.完整性保护及身份验证在阶段1、2交换中,IKE通过交换验证载荷(包含散列值或数字签名)保护交换消息的完整性,并提供对数据源的身份验证。IKE列举了四种验证方法:1预共享密钥;2数字签名;3公钥加密;4改进的公钥加密。3.抵抗拒绝服务攻击对任何交换来说,第一步都是cookie交换。每个通信实体都生成自己的cookie,cookie提供了一定程度的抗拒绝服务攻击的能力。如果在进行一次密钥交换,直到完成cookie交换,才进行密集型的运算,比如DiffieHellman交换所需的乘幂运算,则可以有效地抵抗某些拒绝服务攻击,如简单使用伪造IP源地址进行的溢出攻击。4.防止中间人攻击中间人攻击包括窃听、插入、删除、修改消息,反射消息回到发送者,重放旧消息以及重定向消息。ISAKMP的特征能阻止这些攻击成功。5.完美向前保密完美向前保密(PFS),指即使攻击者破解了一个密钥,也只能还原这个密钥加密的数据,而不能还原其他的加密数据。要达到理想的PFS,一个密钥只能用于一种用途,生成一个密钥的素材也不能用来生成其他的密钥。我们把采用短暂的一次性密钥的系统称为“PFS”。如果要求对身份的保护也是PFS,则一个IKE SA只能创建一个IPsec SA。四、IKE的实现IKE是一个用户级的进程。启动后,作为后台守护进程运行。在需要使用IKE服务前,它一直处于不活动状态。可以通过两种方式请求IKE服务:1当内核的安全策略模块要求建立SA时,内核触发IKE。2当远程IKE实体需要协商SA时,可触发IKE。1.IKE与内核的接口内核为了进行安全通信,需要通过IKE建立或更新SA。IKE 同内核间的接口有:1同SPD通信的双向接口。当IKE得到SPD的策略信息后,把它提交给远程IKE对等实体;当IKE收到远程IKE对等实体的提议后,为进行本地策略校验,必须把它交给SPD。2同SAD通信的双向接口。IKE 负责动态填充SAD,要向SAD发送消息(SPI请求和SA实例),也要接收从SAD返回的消息(SPI 应答)。2.IKE 对等实体间接口IKE为请求创建SA的远程IKE对等实体提供了一个接口。当节点需要安全通信时,IKE与另一个IKE对等实体通信,协商建立IPsec SA。如果已经创建了IKE SA,就可以直接通过阶段2 交换创建新的IPsec SA;如果还没有创建IKE SA,就要通过阶段1、2交换创建新的IKE SA及IPsec SA。