IKEv2学习小结
IKEv2是IPsec的一部分,主要进行相互认证、建立和维护安全关联。
使用IKEv2的三个场景:
场景一:Security Gateway to Security Gateway,在Tunnel endpoint之间建立IPsec Tunnel,但是却没有实现IPsec。Note:对于Tunnel endpoint间的Tunnel来说,Protected Subnet是透明的
场景二:在protected网络内,两边均实现了IPsec
场景三:受保护的主机(通常为漫游的laptop),连接回公司网络,通过IPsec Tunnel。Note:outer IP通常是到Security Gateway,inner IP才是包的最终目的地
IPsec四步:
1.IKE_SA_INIT
2.IKE_AUTH
3.CREATE_CHILD_SA
4.THE_INFORMATIONAL_EXCHANGE
所有的IKE message都是通过request/response成对出现的
IKE_SA_INIT:
作用:协商认证参数,发起双方提供基本的SA参数和密钥交换材料。
HDR,IKE头部;SA,密钥算法;KEi,密钥交换材料;Ni,随机数。
Note:发起双方是拿最高优先级的DH组进行协商,如果接收方没有,再拿次优的DH组进行协商。
IKE_AUTH:主要任务是做认证以及创建IPsec SA
其中除了HDR,剩下的内容均是加密的,并做完整性保护(图中SK所示)。
ID,发起方的ID;CERT,发起方证书;
AUTH,发起放的认证数据;
SAi2,发起方提交的Child SA转换集(这里的SAi2是IPsec SA,而INIT中的SAi1是IKE SA);
TSi/TSr,Child SA流量选择器,主要是对流量进行一些约束性的要求和控制等。
CREATE_CHILD_SA:
主要是用来进行Rekey密钥更新的,其中又分为Rekeying IKE SAs和Rekeying Child SAs两种。分别用来进行IKE SA的密钥更新,以及IPsec SA的密钥跟新。
Note:进行密钥更新的时候,无需更改SA,即进行密钥更新时只需要更新密钥算法中的值(入参),而算法不进行更新。
Note:另一种PFS(Perfect Forward Secret)则是再进行Rekeying的时候对SA也进行更新,这样就保证的不同packet之前使用不同的SA,即使某一个包被解密出来,也能保证其他包的安全。
THE_INFORMATIONAL_EXCHANGE
主要进行一些控制信息,包括但不限于delete删除,notify通知等。