IPsec之IKE协商过程详解
IKE第一阶段
IKE的精髓在于它永远不在不安全的网络上直接传送密钥,而是通过一系列的计算,双方最终计算出共享密钥,并且即使第三方截获了交换中的所有数据,也无法计算出真正的密钥。其中的核心技术就是DH交换算法。
IKE协商第一阶段,参与通信的双方会生成4个秘密:
SKEYID:后续三个都建立在它的基础上,由它推算出。
SKEYID_d:用于为ipsec衍生出加密的材料。
SKEYID_a:用来为IKE消息保障数据的完整性以及对数据源的身份进行验证。
SKEYID_e:为后续的IKE协商及IPSEC SA协商进行加密。
SKEYID的生成取决于使用哪种验证算法,常用的有
1)预共享密钥
2)证书(数字签名)
主模式采用三次交换,共交换6条信息
在消息发送之前,协商发起者和响应者必须计算产生cookie,用于唯一标识每个单独的协商交换,cookie使用源/目的ip地址、随机数字、日期和时间进行MD5计算得出,并且会被放入消息1的ISAKMP头中,用于标识一个单独的协商交换。
预共享密钥
1)消息1和消息2:策略协商,交换双方的cookie和SA载荷。
消息1:协商发起者在SA载荷中携带协商IKE SA的各项参数(5元组),包括IKE的散列类型、加密算法、认证方法、DH组、SA存活期。
消息2:响应者查看IKE策略消息,在本地寻找与之匹配的策略,找到后发回一条消息去响应。
第一次交换后,通信双