论文部分内容阅读
摘要:JFK(just fast keying)协议是一种新型的Internet密钥交换协议,具有高效、安全和较好的防DoS(denial of services)攻击的特点。但是JFK协议也有自身的缺陷,比如由于不协商安全策略的不合导致通信中断,改进后的JKF在不牺牲效率的情况下实现了对协议的改进。
关键词:密钥交换;DoS攻击;JFK
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)36-2588-02
Analysis and Improvement of JFK Protocol
HUANG Xin,WAN Zhang-mao,YANG Zhi-bin
(Computing Centre of Nanchang University, Nanchang 330031,China)
Abstract: JFK protocol is a new type of Internet key exchange protocol,it is eficient,secure and DoS-resistan. But JFK protocol Has its own defectiveness,for example:communication interruption by lack negotiation security policy. After im provement, JFK protocol has Optimized without losing efficiency.
Key words: key exchange; DoS attack; just fast keying
1 引言
VPN ( virtual private network)技术是指采用隧道技术以及加密、身份认证等方法,在公众网络上构建专用网络,使数据通过安全的“加密管道”在公众网络中传播的技术。目前已经开发了很多安全协议来支持VPN的构建,如IPSec(IP security protocol)协议[1]。在具有加密功能的安全协议开始工作以前,在工作过程中所需要的共享密钥以及所要使用的加密认证算法必须可以被安全地协商,并且在VPN运行过程当中,必须要适当地刷新加密所用的密钥,限制一个密钥所加密的数据量。在全球化的网络中,人工交换和更新密钥是不可能的,所以就需要一种能自动交换和更新密钥的方法。现在IKE(internet key exchange)协议作为IPSec协议的指定密钥交换协议标准正在被广泛使用。但是IKE有很多缺陷,主要有以下几点:交换密钥所需要交换的消息数量庞大;容易受到Dos攻击;协议的说明和实现非常复杂。鉴于IKE 的种种缺陷,人们己经开始设计一种更安全、更高效和能更好防止Dos攻击的新型的密钥交换方法来替代IKE协议,目前IKE的替代协议主要有IKEV2协议和JFK协议[2]。IKEV2是在IKE的基础上进行重新设计,保留了两个阶段交换的思想,并且通过增加了可变的前面两条消息来提高协议效率和防DoS攻击的能力。JFK提出了一种新的密钥交换体制,在JFK中取消了两个阶段交换的思想,只保留了一个阶段,并且采取了更为有效的方式来防止DoS攻击和重放攻击,相比较而言,JFK协议效率更高,更安全,实现也更为简单,但是JFK协议同样存在自身的一些缺陷,对JFK协议进行改进可以使其更加完善。
2 JFK协议介绍及交换过程
2.1 JFKr概述
JFK 协 议 是一种新型的Intenret密钥交换协议,与IKE协议相比,JFK协议效率更高、安全性更好。JFK协议只有一个阶段,取消了IKE协议两个阶段的思想,因此JFK协议实现更为简单,一次完整的JFK密钥交换只需要两个往返共4条消息。JFK协议的实现基于Difie-Helhnan交换。在Diffe-Hellman交换中Diffie-Hellman指数的计算其代价非常昂贵,为了更好地提高效率和防止DoS攻击,JFK协议并没有对不同的会话使用不同的Difie-Hellman指数值,而是规定在一个时间间隔(如30秒)内,对所有的会话连接使用同一个Dife-Hellman指数值,在时间间隔到达以后,重新计算一个新的指数值,用于以后的通信,实现了阶段性向前保密。JFK协议由两个变种协议组成,即JFKi和JFKr,二者的主要区别在于对通信双方提供的不同身份保护功能,其中JFKi为Initiator提供身份保护,使Initiator的身份能防止主动攻击,并没有对Responder的身份提供任何保护:JFKr为Responder的身份提供保护防止主动攻击,同时对Responder和Initiator的身份提供加密保护防止被动攻击。JFKi主要适用于C/S模式,在这种情况下,Initiator(Client)希望能保护自己的身份而Responder(Server)的身份通常是公开的。JFKr主要适用于Peer-to-Peer结构的情况,此时Responder可能希望保护自己的身份,本文将以JFKr为例来分析JFK协议。
JFKr协议的密钥交换过程分为两轮,共有四条消息,每条消息的具体内容如下:
1) Message 1,I->R: Ni,gi;
2) Message 2,R->I:Ni,Nr,gr,GRPINFOr,HMACHKr(gr,Nr,Ni,IPi);
3) Message 3,I->R:Ni,Nr,gi ,gr,HMACHKr(gr,Nr,Ni,IPi),EKe(Idi,Idr' ,sa,SIGi(Ni,Nr,gi,gr,GRPINFOr)),HMACKa('I',EKe(Idi,Idr',sa,SIGi(Ni, Nr,gi,gr,GRPINFOr)));
4) Message 4,R->I:Ni,Nr,EKe(Idr,sa',SIGr(gr,Nr,gi,Ni),HMACKa('R',EKe(Idr,sa',SIGr(gr,Nr,gi,Ni)));
消息中涉及到的符号含义如下:
Ni、Nr分别代表发起者和响应者选择的随机数;gi、gr代表发起者和响应者选择的Diffie—Hellman公共值;sa是发起者协商的安全关联,sa'是响应者协商的安全关联;Ke用来加密数据,Ka用来做消息认证码的密钥;Idi、Idr分别是发起者和响应者的身份信息(如公钥证书);GRPINFOr包括響应者支持的所有Diffie—Hellman组和用来保护消息3和消息4的对称密钥加密算法和产生密钥的Hash函数类型。Ek(M)表示利用对称密钥加密算法,使用密钥K来对消息M加密。SIGX(M)表示利用会话参与者x的私钥来对M进行数字签名。HMACK(M)表示使用密钥K来计算消息M的消息认证码。在Message 1中,发起者首先选择一个响应者能够接受的Diffie—Hellman组生成gi mod p,并选择一个随机数Ni,,然后将二者一起发送给响应者。
在Message 2中,响应者首先选择自己的随机数Nr,然后生成与发起者的Diffie—Hellman公共值同组的gr mod p,在GRPINFOr包含它所支持的密钥算法和Hash函数类型的信息。还要生成一个用来认证和保证完整性的消息认证码HMACHKr (gr,Nr,Ni,IPi),这个认证码在Message 3中发起者将重传给响应者,密钥HKr是只有响应方知道的一个值,因此对认证码的内容的任何篡改都将会被响应者发现。认证的内容包括了gr、Nr、Ni,这三个值可用来确定是一个特定的会话。认证的内容还包括了发起者的IP地址,它可以用来抵抗“cookie jar”DDoS攻击[3]。
在Message 3中,发起者将会传回HMACHKr (gr,Nr,Ni,IPi)(响应方收到这条消息后将首先验证它)。然后利用响应者在上一个消息的GRPINFOr中提出的认证和加密算法来对传送的一些数据进行处理。加密的数据包括发起者的身份信息、发起者选择的安全关联、Idr'(可以告诉响应者用如何来验证发起者),还有发起者对Ni、Nr、gi、gr、GRPINFOr的数据签名,数据签名一方面可以保证这些数据的完整性,另一方面可以起到数据起源认证的作用,加密的密钥Ke= HMACgir (Ni, Nr, 1)。HMACKa('I',EKe(Idi,Idr',sa,SIGi(Ni, Nr,gi,gr,GRPINFOr)))则保证了整个消息的完整性,也让中间人无法绑定自己身份信息,其中密钥Ka= HMACgir (Ni, Nr, 2)。在Message 4中,响应者又发回了发起者和响应者选择的随机数。随之,选择自己的安全關联,用自己的私钥对gr、Nr、gi、Ni进行数字签名,响应者的身份信息Idr,然后再对相关信息用密钥Ka= HMACgir (Ni, Nr, 2)生成消息认证码,以保证数据的完整性,再将以上数据用密钥Ke= HMACgir (Ni, Nr, 1)加密。发起者收到Message 4可以验证响应者的身份,并用密钥Ke解密数据得到响应者选择的最终的安全关联。
通过以上4条消息建立了双方的安全关联,同时建立了会话的密钥Kir= HMACgir (Ni, Nr, 0),它只有会话双方才能计算得出来,没有第三方可以得到[4]。
2.2消息的拒绝
Responder可以接受Initiator提出的要求,同样也可以拒绝Initiator的请求,Responder拒绝Initiator的消息1)的惟一理由是Responder不接受Initiator提出的Diffie-Hellman的组值,但是消息(2)中grpinfoR中可以指定Responder可以接受的值,所以这条消息不需要明显地拒绝消息[5]。拒绝消息(3)可以有很多理由,包括请求未授权的服务,或者是Initiator提出的用在IPSec中的加密算法不适合Responder的要求。消息4)中可以指出适用的算法或者其它的出错信息,让Initiator重新发送消息3),在未成功接受消息3)以前,Responder不会保存任何状态信息。
3 JFK协议的改进
3.1 JFK协议的改进思想
JFK 协 议 采用一个阶段的思想,取消了多种认证方式的选择,简化了密钥协商所要交换消息的内容,提高了效率。然而由于JFK协议取消了加密和认证算法的协商,由Responder指定所要使用的加密和认证算法,JFK协议认为提供服务的一方有权为其提供的服务规定加密和认证的强度,如果Initiator恰好不支持Responder所提出的加密或认证要求,那么将无法进行通信。
JFK在消息3)中并没有将grpinfoR中指定的加密认证算法传回给Responder,因为之前Responder不会保存任何和Initiator交互的状态信息,所以Responder可能不知道用什么方法去解密和验证消息3)。
本文针对JFK协议上述缺陷进行了相应的改进。为了避免出现Initiator恰好不支持Responder所提出的加密或认证算法而导致整个通信无法进行的情况,采用Internet密钥交换协议常用的方法,由Initiator在消息1)中列出其支持的加密和认证算法,让Responder在其中选择合适的算法进行通信,在实现时这一项是可选的,如果Initiator在消息1)中没有列出其支持的加密和认证算法,则由Responder在消息2)中指定后两条消息所使用的加密和认证算法。在消息3)中将消息3)和消息4)所采用的加密和认证算法传回,真正实现Initiator和Responder之间无状态的交互。本文以改进后的JFKr协议为例,在下一小节中对具体改进进行详细说明。
3.2 JFK协议的改进
1) Message 1,I->R: Ni,gi,[SPi];
2) Message 2,R->I:Ni,Nr,gr,SPr,HMACHK`r(gr,Nr,Ni,IPi);
3) Message 3,I->R:Ni,Nr,gi ,gr,SPr,HMACHKr(gr,Nr,Ni,IPi),EKe(Idi,Idr',sa,SIGi(Ni,Nr,gi,gr,SPr)),HMACKa(I,EKe(Idi,Idr',sa,SIGi(Ni, Nr,gi,gr,SPr)));
4) Message 4,R->I:Ni,Nr,EKe(Idr,sa',SIGr(gr,Nr,gi,Ni),HMACKa(R,EKe(Idr,sa',SIGr(gr,Nr,gi,Ni)));
消息 1) 中,增加一个可选项[SPi],如果此项不为空,则由Initiator列出支持的所有加密和认证算法。为了避免组合爆炸情况,并不列出所有加密认证算法的组合,而是采取IKEV2中提到的方法,分别提供加密和认证算法,由Responder
从中选择一个算法来使用。如果此项为空的话,则由Responder在消息(2)中指定采用的加密和认证算法[6]。
消息2)中SPr的意义和原JFkr中的grpinfoR的意义基本相同,用来指定后面所用的加密算法和认证算法等内容,如果消息(1)中的[SPi] 不为空,并且Responder支持其中列出的算法,则Responder选择一组算法放在SPr中回应Initiator,否则由Responder在SPr中指定相应的算法。
消息3)中,I向R传回了SPr。如果不传回SPr,由于Responder没有保存之前和Initiator连接的任何状态,因此Responder根本不知道采用什么方法对消息进行解密和认证。
4 结束语
该文对 JFK 协议进行了较为详细的分析和探讨,并且对目前JFK协议的不足和缺陷进行了改进。具体改进方法是:在消息(1)中增加可选项解决因Initiator不支持Responder指定的算法而造成无法通信的问题;在消息(3)中因为Responder没有保存grpinfoR而不知道解密算法的问题;
参考文献:
[1] KentS,Atkinson R.Security architecture for the internet protocol (IPSec)[Z].RFC2 401,IETF 1998.
[2] Aiello W,Bellovin S,Blaze M.Eficient, dos-resistant, secure key exchange for internet protocols[C].Porceedings of the 9th ACMConference on Computer and Communication security, ACM 2002.48-58.
[3] Anupa Datta,John Mitchell.Derivation of the JFK protocol.www.stanford.edu/~danupam/composition.ps,2002.
[4] 李力,张中科.快速密钥交换协议的分析与实现[J].南昌大学学报(理科版),2007,31(2):197-200.
[5] 常丽娟,沈苏彬.密钥交换协议JFK的分析与研究[J].南京邮电大学学报(自然科学版),2006,26(1):18-24.
[6] 林鹏,张玉芳.JFK协议的分析与改进[J].计算机工程与计,2006,27(13):2446-2475.
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
关键词:密钥交换;DoS攻击;JFK
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)36-2588-02
Analysis and Improvement of JFK Protocol
HUANG Xin,WAN Zhang-mao,YANG Zhi-bin
(Computing Centre of Nanchang University, Nanchang 330031,China)
Abstract: JFK protocol is a new type of Internet key exchange protocol,it is eficient,secure and DoS-resistan. But JFK protocol Has its own defectiveness,for example:communication interruption by lack negotiation security policy. After im provement, JFK protocol has Optimized without losing efficiency.
Key words: key exchange; DoS attack; just fast keying
1 引言
VPN ( virtual private network)技术是指采用隧道技术以及加密、身份认证等方法,在公众网络上构建专用网络,使数据通过安全的“加密管道”在公众网络中传播的技术。目前已经开发了很多安全协议来支持VPN的构建,如IPSec(IP security protocol)协议[1]。在具有加密功能的安全协议开始工作以前,在工作过程中所需要的共享密钥以及所要使用的加密认证算法必须可以被安全地协商,并且在VPN运行过程当中,必须要适当地刷新加密所用的密钥,限制一个密钥所加密的数据量。在全球化的网络中,人工交换和更新密钥是不可能的,所以就需要一种能自动交换和更新密钥的方法。现在IKE(internet key exchange)协议作为IPSec协议的指定密钥交换协议标准正在被广泛使用。但是IKE有很多缺陷,主要有以下几点:交换密钥所需要交换的消息数量庞大;容易受到Dos攻击;协议的说明和实现非常复杂。鉴于IKE 的种种缺陷,人们己经开始设计一种更安全、更高效和能更好防止Dos攻击的新型的密钥交换方法来替代IKE协议,目前IKE的替代协议主要有IKEV2协议和JFK协议[2]。IKEV2是在IKE的基础上进行重新设计,保留了两个阶段交换的思想,并且通过增加了可变的前面两条消息来提高协议效率和防DoS攻击的能力。JFK提出了一种新的密钥交换体制,在JFK中取消了两个阶段交换的思想,只保留了一个阶段,并且采取了更为有效的方式来防止DoS攻击和重放攻击,相比较而言,JFK协议效率更高,更安全,实现也更为简单,但是JFK协议同样存在自身的一些缺陷,对JFK协议进行改进可以使其更加完善。
2 JFK协议介绍及交换过程
2.1 JFKr概述
JFK 协 议 是一种新型的Intenret密钥交换协议,与IKE协议相比,JFK协议效率更高、安全性更好。JFK协议只有一个阶段,取消了IKE协议两个阶段的思想,因此JFK协议实现更为简单,一次完整的JFK密钥交换只需要两个往返共4条消息。JFK协议的实现基于Difie-Helhnan交换。在Diffe-Hellman交换中Diffie-Hellman指数的计算其代价非常昂贵,为了更好地提高效率和防止DoS攻击,JFK协议并没有对不同的会话使用不同的Difie-Hellman指数值,而是规定在一个时间间隔(如30秒)内,对所有的会话连接使用同一个Dife-Hellman指数值,在时间间隔到达以后,重新计算一个新的指数值,用于以后的通信,实现了阶段性向前保密。JFK协议由两个变种协议组成,即JFKi和JFKr,二者的主要区别在于对通信双方提供的不同身份保护功能,其中JFKi为Initiator提供身份保护,使Initiator的身份能防止主动攻击,并没有对Responder的身份提供任何保护:JFKr为Responder的身份提供保护防止主动攻击,同时对Responder和Initiator的身份提供加密保护防止被动攻击。JFKi主要适用于C/S模式,在这种情况下,Initiator(Client)希望能保护自己的身份而Responder(Server)的身份通常是公开的。JFKr主要适用于Peer-to-Peer结构的情况,此时Responder可能希望保护自己的身份,本文将以JFKr为例来分析JFK协议。
JFKr协议的密钥交换过程分为两轮,共有四条消息,每条消息的具体内容如下:
1) Message 1,I->R: Ni,gi;
2) Message 2,R->I:Ni,Nr,gr,GRPINFOr,HMACHKr(gr,Nr,Ni,IPi);
3) Message 3,I->R:Ni,Nr,gi ,gr,HMACHKr(gr,Nr,Ni,IPi),EKe(Idi,Idr' ,sa,SIGi(Ni,Nr,gi,gr,GRPINFOr)),HMACKa('I',EKe(Idi,Idr',sa,SIGi(Ni, Nr,gi,gr,GRPINFOr)));
4) Message 4,R->I:Ni,Nr,EKe(Idr,sa',SIGr(gr,Nr,gi,Ni),HMACKa('R',EKe(Idr,sa',SIGr(gr,Nr,gi,Ni)));
消息中涉及到的符号含义如下:
Ni、Nr分别代表发起者和响应者选择的随机数;gi、gr代表发起者和响应者选择的Diffie—Hellman公共值;sa是发起者协商的安全关联,sa'是响应者协商的安全关联;Ke用来加密数据,Ka用来做消息认证码的密钥;Idi、Idr分别是发起者和响应者的身份信息(如公钥证书);GRPINFOr包括響应者支持的所有Diffie—Hellman组和用来保护消息3和消息4的对称密钥加密算法和产生密钥的Hash函数类型。Ek(M)表示利用对称密钥加密算法,使用密钥K来对消息M加密。SIGX(M)表示利用会话参与者x的私钥来对M进行数字签名。HMACK(M)表示使用密钥K来计算消息M的消息认证码。在Message 1中,发起者首先选择一个响应者能够接受的Diffie—Hellman组生成gi mod p,并选择一个随机数Ni,,然后将二者一起发送给响应者。
在Message 2中,响应者首先选择自己的随机数Nr,然后生成与发起者的Diffie—Hellman公共值同组的gr mod p,在GRPINFOr包含它所支持的密钥算法和Hash函数类型的信息。还要生成一个用来认证和保证完整性的消息认证码HMACHKr (gr,Nr,Ni,IPi),这个认证码在Message 3中发起者将重传给响应者,密钥HKr是只有响应方知道的一个值,因此对认证码的内容的任何篡改都将会被响应者发现。认证的内容包括了gr、Nr、Ni,这三个值可用来确定是一个特定的会话。认证的内容还包括了发起者的IP地址,它可以用来抵抗“cookie jar”DDoS攻击[3]。
在Message 3中,发起者将会传回HMACHKr (gr,Nr,Ni,IPi)(响应方收到这条消息后将首先验证它)。然后利用响应者在上一个消息的GRPINFOr中提出的认证和加密算法来对传送的一些数据进行处理。加密的数据包括发起者的身份信息、发起者选择的安全关联、Idr'(可以告诉响应者用如何来验证发起者),还有发起者对Ni、Nr、gi、gr、GRPINFOr的数据签名,数据签名一方面可以保证这些数据的完整性,另一方面可以起到数据起源认证的作用,加密的密钥Ke= HMACgir (Ni, Nr, 1)。HMACKa('I',EKe(Idi,Idr',sa,SIGi(Ni, Nr,gi,gr,GRPINFOr)))则保证了整个消息的完整性,也让中间人无法绑定自己身份信息,其中密钥Ka= HMACgir (Ni, Nr, 2)。在Message 4中,响应者又发回了发起者和响应者选择的随机数。随之,选择自己的安全關联,用自己的私钥对gr、Nr、gi、Ni进行数字签名,响应者的身份信息Idr,然后再对相关信息用密钥Ka= HMACgir (Ni, Nr, 2)生成消息认证码,以保证数据的完整性,再将以上数据用密钥Ke= HMACgir (Ni, Nr, 1)加密。发起者收到Message 4可以验证响应者的身份,并用密钥Ke解密数据得到响应者选择的最终的安全关联。
通过以上4条消息建立了双方的安全关联,同时建立了会话的密钥Kir= HMACgir (Ni, Nr, 0),它只有会话双方才能计算得出来,没有第三方可以得到[4]。
2.2消息的拒绝
Responder可以接受Initiator提出的要求,同样也可以拒绝Initiator的请求,Responder拒绝Initiator的消息1)的惟一理由是Responder不接受Initiator提出的Diffie-Hellman的组值,但是消息(2)中grpinfoR中可以指定Responder可以接受的值,所以这条消息不需要明显地拒绝消息[5]。拒绝消息(3)可以有很多理由,包括请求未授权的服务,或者是Initiator提出的用在IPSec中的加密算法不适合Responder的要求。消息4)中可以指出适用的算法或者其它的出错信息,让Initiator重新发送消息3),在未成功接受消息3)以前,Responder不会保存任何状态信息。
3 JFK协议的改进
3.1 JFK协议的改进思想
JFK 协 议 采用一个阶段的思想,取消了多种认证方式的选择,简化了密钥协商所要交换消息的内容,提高了效率。然而由于JFK协议取消了加密和认证算法的协商,由Responder指定所要使用的加密和认证算法,JFK协议认为提供服务的一方有权为其提供的服务规定加密和认证的强度,如果Initiator恰好不支持Responder所提出的加密或认证要求,那么将无法进行通信。
JFK在消息3)中并没有将grpinfoR中指定的加密认证算法传回给Responder,因为之前Responder不会保存任何和Initiator交互的状态信息,所以Responder可能不知道用什么方法去解密和验证消息3)。
本文针对JFK协议上述缺陷进行了相应的改进。为了避免出现Initiator恰好不支持Responder所提出的加密或认证算法而导致整个通信无法进行的情况,采用Internet密钥交换协议常用的方法,由Initiator在消息1)中列出其支持的加密和认证算法,让Responder在其中选择合适的算法进行通信,在实现时这一项是可选的,如果Initiator在消息1)中没有列出其支持的加密和认证算法,则由Responder在消息2)中指定后两条消息所使用的加密和认证算法。在消息3)中将消息3)和消息4)所采用的加密和认证算法传回,真正实现Initiator和Responder之间无状态的交互。本文以改进后的JFKr协议为例,在下一小节中对具体改进进行详细说明。
3.2 JFK协议的改进
1) Message 1,I->R: Ni,gi,[SPi];
2) Message 2,R->I:Ni,Nr,gr,SPr,HMACHK`r(gr,Nr,Ni,IPi);
3) Message 3,I->R:Ni,Nr,gi ,gr,SPr,HMACHKr(gr,Nr,Ni,IPi),EKe(Idi,Idr',sa,SIGi(Ni,Nr,gi,gr,SPr)),HMACKa(I,EKe(Idi,Idr',sa,SIGi(Ni, Nr,gi,gr,SPr)));
4) Message 4,R->I:Ni,Nr,EKe(Idr,sa',SIGr(gr,Nr,gi,Ni),HMACKa(R,EKe(Idr,sa',SIGr(gr,Nr,gi,Ni)));
消息 1) 中,增加一个可选项[SPi],如果此项不为空,则由Initiator列出支持的所有加密和认证算法。为了避免组合爆炸情况,并不列出所有加密认证算法的组合,而是采取IKEV2中提到的方法,分别提供加密和认证算法,由Responder
从中选择一个算法来使用。如果此项为空的话,则由Responder在消息(2)中指定采用的加密和认证算法[6]。
消息2)中SPr的意义和原JFkr中的grpinfoR的意义基本相同,用来指定后面所用的加密算法和认证算法等内容,如果消息(1)中的[SPi] 不为空,并且Responder支持其中列出的算法,则Responder选择一组算法放在SPr中回应Initiator,否则由Responder在SPr中指定相应的算法。
消息3)中,I向R传回了SPr。如果不传回SPr,由于Responder没有保存之前和Initiator连接的任何状态,因此Responder根本不知道采用什么方法对消息进行解密和认证。
4 结束语
该文对 JFK 协议进行了较为详细的分析和探讨,并且对目前JFK协议的不足和缺陷进行了改进。具体改进方法是:在消息(1)中增加可选项解决因Initiator不支持Responder指定的算法而造成无法通信的问题;在消息(3)中因为Responder没有保存grpinfoR而不知道解密算法的问题;
参考文献:
[1] KentS,Atkinson R.Security architecture for the internet protocol (IPSec)[Z].RFC2 401,IETF 1998.
[2] Aiello W,Bellovin S,Blaze M.Eficient, dos-resistant, secure key exchange for internet protocols[C].Porceedings of the 9th ACMConference on Computer and Communication security, ACM 2002.48-58.
[3] Anupa Datta,John Mitchell.Derivation of the JFK protocol.www.stanford.edu/~danupam/composition.ps,2002.
[4] 李力,张中科.快速密钥交换协议的分析与实现[J].南昌大学学报(理科版),2007,31(2):197-200.
[5] 常丽娟,沈苏彬.密钥交换协议JFK的分析与研究[J].南京邮电大学学报(自然科学版),2006,26(1):18-24.
[6] 林鹏,张玉芳.JFK协议的分析与改进[J].计算机工程与计,2006,27(13):2446-2475.
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”