《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 下一代密钥交换协议分析
下一代密钥交换协议分析
张 江,张海燕,李大双
(中国电子科技集团第30研究所, 四川 成都610041)
摘要: 介绍了第一代密钥交换协议,并分析了它的缺点。同时介绍了第二代交换协议IKEv2和JFK,并做了对比。
Abstract:
Key words :

摘  要: 介绍了第一代密钥交换协议,并分析了它的缺点。同时介绍了第二代交换协议IKEv2和JFK,并做了对比。
关键词: IPSec  密钥交换协议  JFK  安全关联  拒绝服务

  TCP/IP互联网的先天缺陷主要源自IP协议的无连接、完全开放、无任何安全措施等特性上,所以必须对IP协议进行安全处理。在此背景下,1992年年底,IETF针对Internet的安全问题,成立了IP安全小组,着手对IP安全协议(IPSec)和Internet密钥管理协议(IKMP)进行标准化。1998年IETF对IPSec进行了复审,并将其纳入下一代IP即IPv6中。从此IPSec协议作为IP安全标准规范被确定下来。IPSec作为一种协议套件可以“无缝”地为IP引入安全特性,并提供数据源/目的身份鉴别、数据完整性检查以及机密性保护机制,保证协议和数据的安全。
  由于IPSec提供的安全服务如源认证和完整性等都需要用到共享密钥,所以协议还强制了一种机制,即能够为这些服务手工地添加密钥。同时,还定义了一种添加密钥的标准方式,用来动态地鉴别IPSec通信参与方的身份和协商所需的安全服务以及生成共享密钥。这种密钥管理协议称为IKE(Internet密钥交换协议)。
1  第一代密钥交换协议
  现有的IPsec中采用的第一代密钥交换协议IKE,即RFC2409-IKEv1。ESP、AH协议根据SA规定的参数为IP数据报提供安全服务。IKE就是IPsec规定的用来自动管理SA的协议,包括建立、协商、修改和删除SA等。
1.1 IKE的交换模式
  IKE使用了两个阶段的ISAKMP。第一阶段建立IKE安全关联,第二阶段利用这个安全关联,为IPSec协商具体的安全关联。有两种阶段1交换、一种阶段2交换以及一个新组交换(用于对安全关联的正确维护)。对阶段1交换来说,IKE采用的是身份保护交换,以及根据基本ISAKMP文档制定的野蛮交换。对此,分别叫做“主模式”和“野蛮模式”。对阶段2来说,IKE则定义了一种快速交换模式,其作用是为除IKE之外的其他协议协商安全服务(特别是IPSec)。
  为了最终建立IKE SA,主模式有三个往返(共使用六条消息),分别是模式协商、一次Diffie-Hellman交换和nonce交换以及对对方身份的鉴别。主模式的特点包括身份保护和对ISAKMP协商能力的完全利用。由于在Diffie-Hellman交换之后,双方建立了一个共享的密钥,只是没有通过验证,因此必须对共享的密钥进行认证。IKE规定了四种认证方式:基于数字签名的认证、基于公开密钥的认证、基于修正过的公开密钥的认证以及预共享认证。所以就有四种类型的主模式交换。
  野蛮模式只需用到主模式一半的步骤。由于对消息的数量进行了限制,野蛮模式同时也限制了它的协商能力,而且不提供身份保护功能。
  当通过阶段1建立好IKE SA之后,可以用快速模式为其他安全协议(如IPSec)生成相应的SA,并将其填入SADB。对一次快速模式交换来说,它是在以前建立好的IKE SA的保护下完成的,这些保护包括对快速模式交换的加密和对交换的鉴别。
1.2 IKEv1的缺点
  IKEv1的主要缺点是:
  (1)算法复杂。(2)往返消息数目太多(多达9条消息),不安全。(3)易受DoS攻击。这是因为响应者具有有限的内存和计算能力。攻击者可以通过随机IP地址发送虚假连接请求,用尽响应者进程中用于连接的内存,以及用于加密的计算能力。这样响应者就无法为合法的用户提供服务。
2  下一代IKE协议
  IKE协议用于交换和管理密钥,但是IETF安全专家担心IKEv1过于复杂,以至于难以证明它是安全的。因此推荐新的协议来代替IKEv1,并将其称为下一代IKE(Son of IKE)。现在专家正在研究的有IKEv2和JFK(Just Fast Keying)。
2.1 IKEv2
  IKEv2是在IKEv1的基础之上进行改进的结果。它保留了版本1中的大部分特性,如身份隐藏、PFS、两个阶段协商,同时重新设计了强壮性、高效性、安全性。
2.1.1 IKEv2的特点
  IKEv2的特点包括:(1)简单性。基于IKEv1的协议复杂度及安全性而提出。取消了阶段1中的野蛮模式。(2)减少了潜伏期。阶段1交换只需要2个往返的消息对,如图1所示。建立IPsec SA不是通过阶段2来协商,而是搭载阶段1的消息而建立。(3)允许无状态cookie。这样可以预防DoS的攻击,响应者在没有接收到合法的cookie之前,将不保留cookie的任何状态,也不做任何耗时的计算。(4)增强了灵活性。增加了选择符TS和“紧要”比特的概念。

2.1.2 IKEv2协议
  阶段1交换是4条消息的交换(两个请求/响应对)。第一对消息,交换协商加密算法、(可选的)指示信任的CA名字、交换的nonce和Diffie-Hellman交换。如果响应者指示没有一个机密建议是可以接受的,或者发起者选择的Diffie-Hellman 组不是响应者选择的组,或者当响应者正在遭受攻击并且将用只包含一个合法的cookie值来响应IKE-SA请求时,这对消息可以重发。
  第二对消息,认证先前的消息,交换鉴定符和证书并且建立第一个IPsec SA。这对消息是通过第一对交换的密钥来加密,因此可隐藏身份以防止偷听。
  阶段2是一个请求/响应对,如图2,它可以用来创建或删除一个IPsec SA,删除或重新分配IKE-SA,检查IKE-SA的存活性,或者传递诸如错误条件的信息等。在创建IKE-SA过程中,使用协商的密钥来加密并对完整性加以保护。任何一方都可以发起阶段2交换,在阶段2中添加了提供ID的能力,这样可以建立进程到进程的IPsec SA。允许端口号不为500,因此协议可以通过NAT工作。

2.2 JFK
  尽管可以通过对原来的协议打补丁的方式修正存在的问题,但是一些人仍倾向于用其他的协议来替代IKE,以避免IKE中的棘手问题。由于这样的想法,从而起草了新的密钥管理协议,称为JFK(Just Fast Keying)。
2.2.1 JFK的特点
  JFK的特点包括:(1)简单性。取消了两个阶段分发密钥的概念,整个过程只有2个往返,4条消息交换。这样可能同时提高了效率。另外还取消了协商,因为一个局部的安全关联协商是在消耗资源,容易遭受DoS攻击。(2)响应者的身份在消息2中是显露的。这样同时避免了发起者受到主动的身份揭露攻击。(3)会话密钥(KE)和应用密钥从g^xy、Ni、Nr派生得出。(4)增强了安全性。提出了两种协议:JFKi和JFKr。二者在许多方面很相似,但有两个主要的区别。JFKi为发起者提供主动的身份保护,而不对响应者提供任何身份保护。同时JFKi还包含了一个分期签名。而JFKr为响应者提供主动的身份保护并为发起者提供被动的身份保护。
2.2.2 JFK协议
  为了节约篇幅,这里仅介绍JFKr协议,如图3所示。

  消息1很简单,假定发起者知道响应者可以接受的一个组。它包含了一个组信息(Diffie-Hellman值)和一个nonce。这里,nonce有两个作用。一方面允许在不同会话间使用同一个值,从而确保会话密钥是不同的,另一方面可以区分不同的并行会话。
  消息2对响应者的工作量要求很小。惟一的花费是单一的认证,同时响应者不需要产生任何状态,因为此时不知道发起者是否为一个合法的通信者。这样可以抵抗DoS攻击。 消息3包含了发起者的身份、服务请求以及在nonce和响应者身份上的签名。JFK中参与者使用共享密钥加密身份,这样保证双方身份不被窃听。首先显示身份的是发起者,响应者在查证了发起者的身份之后才显示身份,这样保护了响应者的身份不受主动的攻击。
  消息4包含应用设置的信息(例如响应者的SPI)、双方nonce和幂上的签名。与消息3一样,消息4也使用消息认证代码保护。
2.3 三种密钥交换协议的对比
   三种密钥交换协议的对比如表1~表3所示。


  IKEv2是在IKEv1的基础上发展而来,因此不可避免地具有了IKEv1的一些固有的特征,如两个阶段交换等。同时上边列出的数据还显示IKEv1和IKEv2在身份隐藏和参数协商上具有相似性。惟一的区别在于对消息的控制,IKEv2减少了消息的往返次数。

  IKEv2的阶段2交换,频繁地重新交换密钥将消耗掉Diffie-Hellman密钥的熵,因此应该限制阶段2的次数。另一个问题是它的安全性极大依赖于Diffie-Hellman幂的随机性。所以要保证它的安全性必须有一个很大的随机发生器或者合适的伪随机源。
  而JFK是一个新的协议,JFK消除了协商机制。响应者提供了一种服务,有权利设置自己的服务需求,任何由响应者提到的原始的机密是可以接受的。同样消除了响应者要保持的状态,发起者可以接受响应者的请求或者重新启动协议。
  JFK抛弃了两个不同阶段的概念。由于快速模式的作用是十分有限的,而且频繁的重新交换密钥是没有必要的,所以正确的方法应该是重新替换密钥。
  JFK以上两点的特性,使其效率有很大程度的提高。另外,通过分析协议安全性的方法分析,证明了JFKi和JFKr的安全性。
3  结束语
  IKEv2具有IKE中的特征,因此提供商开发时可以先使用IKE过渡到IKEV2的实现。同时JFK核心小,并且改进了正式的安全分析。JFK是如此简单以至于提供商能够相当快速地开发出来。JFK具有更强的抵制DoS攻击的能力。为了保护交换的消息,JFK取消了PFS,一种方法确保一个密码破解的时候不会危及到其他数据。所以,JFK要优于IKEv2。
  在我们的实验中,采用JFK来替代IKE。JFK在安全路由器中已经实现,其功能能够和IPsec无缝地协作,实现了数据包的安全传输,并且运行稳定可靠。
参考文献
1   Aiello W,Steven M,Matt B et al.http://www.ietf.org/internet-drafts/draft-ietf-ipsec-jfk-04.txt,2002
2   Harkins D.http://www.ietf.org/internet-drafts/draft-ietfipsec-ikev2-rationale-00.txt,2002
3   Dan Harkins Charlie Kaufman.http://www.ietf.org/internet-drafts/draft-ietf-ipsec-ikev2-02.txt,2002
4   Harkins D,Carrel D.The Internet Key Exchange (IKE,RFC2409).http://www.ietf.org,1998
5   Perlman R.Analysis of the IPsec Key Exchange Standard.  In:Proceedings of the 10th IEEE International Workshops  on Enabling Technologies:Infrastructure for Collaborative   Enterprises,2001

此内容为AET网站原创,未经授权禁止转载。