IKE学习笔记2(IKE交换第一阶段)
2007-08-14 22:34
281 查看
IKE第一阶段目的是建立一个保密和验证无误的通信信道(IKE SA),以及建立验证过的密钥。为双方的IKE通信提供机密性,消息完整性以及消息验证服务。
参与通信双方会生成四种秘密:SKEYID(后续所有秘密建立在他之上);SKEYID_d(用于为其他协议,如ipsec,生成加密密钥提供材料);SKEYID_a(用于为IKE消息保障数据的完整性以及对数据源的身份进行验证);SKEYID_e(用于对IKE消息进行加密)。
对于预共享密钥:SKEYID = PRF(预共享密钥,Ni|Nr);
对于数字签名:SKEYID = PRF(Ni|Nr,qxy);
其他秘密:
SKEYID_d = PRF(SKEYID,qxy|Ci|Cr|0);
SKEYID_a = PRF(SKEYID,SKEYID_d|qxy|Ci|Cr|1);
SKEYID_e = PRF(SKEYID,SKEYID_a|qxy|Ci|Cr|2);
主模式(图1):
交换1,用于IKE提议和转换方式协商
交换2,用于IKE DH和NONCE交换
交换3,用于通信双方身份验证
使用主模式可以使用IP来区分不同的对象,但在发起者IP为动态分配的时候,发起者的IP不能被提前知道,所以可以使用野蛮模式。
野蛮模式(图2):因为野蛮模式由于在第一个消息中带了身份信息,因此其本身无法对身份信息进行加密保护,但也使其不用依赖用IP地址标志身份。
野蛮模式与主模式的比较:
1,对等体标志,主模式只能采用IP地址方式标志对等体,而野蛮模式可以使用IP地址或Name方式。
2,NAT支持,主模式不支持,而野蛮模式支持。
3,野蛮模式效率高,但安全性低。
参与通信双方会生成四种秘密:SKEYID(后续所有秘密建立在他之上);SKEYID_d(用于为其他协议,如ipsec,生成加密密钥提供材料);SKEYID_a(用于为IKE消息保障数据的完整性以及对数据源的身份进行验证);SKEYID_e(用于对IKE消息进行加密)。
对于预共享密钥:SKEYID = PRF(预共享密钥,Ni|Nr);
对于数字签名:SKEYID = PRF(Ni|Nr,qxy);
其他秘密:
SKEYID_d = PRF(SKEYID,qxy|Ci|Cr|0);
SKEYID_a = PRF(SKEYID,SKEYID_d|qxy|Ci|Cr|1);
SKEYID_e = PRF(SKEYID,SKEYID_a|qxy|Ci|Cr|2);
主模式(图1):
交换1,用于IKE提议和转换方式协商
交换2,用于IKE DH和NONCE交换
交换3,用于通信双方身份验证
使用主模式可以使用IP来区分不同的对象,但在发起者IP为动态分配的时候,发起者的IP不能被提前知道,所以可以使用野蛮模式。
野蛮模式(图2):因为野蛮模式由于在第一个消息中带了身份信息,因此其本身无法对身份信息进行加密保护,但也使其不用依赖用IP地址标志身份。
野蛮模式与主模式的比较:
1,对等体标志,主模式只能采用IP地址方式标志对等体,而野蛮模式可以使用IP地址或Name方式。
2,NAT支持,主模式不支持,而野蛮模式支持。
3,野蛮模式效率高,但安全性低。
相关文章推荐
- node第一阶段学习笔记
- 大数据课程体系-学习笔记-第一阶段-Java Reflect
- TQ2440 学习笔记—— 30、移植U-Boot【U-Boot 的启动过程第一阶段源码分析】
- 大数据课程体系-学习笔记-第一阶段-Java IDE
- PADS菜菜鸟--第一阶段学习的笔记
- 百度前端技术学院,第一阶段学习笔记
- 我的js学习笔记之第一阶段总结即小作业贪吃蛇V0.1
- linux内核学习初笔记(5)uboot第一阶段我的分析
- 大数据课程体系-学习笔记-第一阶段-Java Collection
- PADS菜菜鸟--第一阶段学习的笔记
- 大数据课程体系-学习笔记-第一阶段-Java Socket(转载)
- ORACLE的学习笔记第一阶段总结
- 大数据课程体系-学习笔记-第一阶段-Java Base
- uboot第一阶段学习笔记(arm920t/start.S)
- 大数据课程体系-学习笔记-第一阶段-Java Thread
- IKE学习笔记(IKE第二阶段)
- u-boot 第一阶段学习笔记
- uboot分析第一阶段学习笔记
- 暑假-学习第一阶段学习笔记小结
- 大数据课程体系-学习笔记-第一阶段-Linux Base