IKE
第一阶段主模式由6ISAKMP数据包来完成:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1-2
个数据包主要完成两个任务:

(1)      
核对收到的
ISAKMP
数据包的源
IP
地址,来确认收到的
ISAKMP
数据包是否来自于合法的对等体。
(2)      
协商
IKE
策略(加密策略,散列函数,
DH
组,认证方式,密钥存活时间)
注:
ISAKMP
数据包使用
UDP
传输,源和目的端口都是
500.

 

3-4
个数据包的任务:

DH
交换,产生用于加密感兴趣流的密钥资源。
5-6
个数据包的任务:

  
在安全的环境下进行认证,并建立
ISAKMP/IKE
双向安全关联
SA
。这个
SA
维护了处理
ISAKMP/IKE
流量的相关策略,对等体双方会继续使用这个
SA
,来安全保护后续的
IKE
快速模式
1-3
包交换。

 

 

IKE
第二阶段快速模式由3
个数据包来完成:

1
个数据包的任务:

它把感兴趣流相关的
IPSEC
策略一起发送给接收方,并有接收方来选择适当的策略。
2
个数据包的任务:

接收方产生
SPI
,并发送个发起方,建立单向
IPSEC SA
3
个数据包的任务:

发起方产生另一个
SPI
,并发送给接收方,建立单向
IPSEC SA

 

 

 

DH
交换的过程:

(1)      
发起方
X
首先随机产生
g
p
a
g
p
是素数,他们的大小有
IKE
第一阶段
1-2
个包交换的
DH
组大小来决定,
DH
1
768
位,
DH
2
1024
位,组越大表示
DH
交换产生的密钥强度越强。
(2)      
发起方
X
使用离散对数函数计算出结果
A.(
A=ga mod p
),
并在第
3
IKE
包中把
g
p
A
发送给接受方
Y
(3)      
接收方
Y
收到后,随机产生
b
,并且使用从第
3
IKE
包中接收到的
g
p
通过离散对数函数计算出结果
B
B=gb mod p
.
然后通过第
4
IKE
包把
B
发送给发起方
A
(4)      
计算密钥
K
。发送方
X
计算的密钥
K=Ba mod p
会等于接收方
Y
计算的密钥
K=Ab mod p