IKE第一阶段主模式由6个ISAKMP数据包来完成:
(1) 核对收到的ISAKMP数据包的源IP地址,来确认收到的ISAKMP数据包是否来自于合法的对等体。
(2) 协商IKE策略(加密策略,散列函数,DH组,认证方式,密钥存活时间)
注:ISAKMP数据包使用UDP传输,源和目的端口都是500.
DH交换,产生用于加密感兴趣流的密钥资源。
在安全的环境下进行认证,并建立ISAKMP/IKE双向安全关联SA。这个SA维护了处理ISAKMP/IKE流量的相关策略,对等体双方会继续使用这个SA,来安全保护后续的IKE快速模式1-3包交换。
它把感兴趣流相关的IPSEC策略一起发送给接收方,并有接收方来选择适当的策略。
接收方产生SPI,并发送个发起方,建立单向IPSEC SA。
发起方产生另一个SPI,并发送给接收方,建立单向IPSEC SA。
(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