抓包分析ISAKMP协商过程第一阶段主模式原理分析MM模式下:6个包1-2包:双方互相提供可以实现的Isakmp参数包括下面的内容1对端ip2authentication方式:presharekeyCA等3加密类型des3desaes4hashmd5sha-15DH1,2.73-4包通过DH算法产生可以密钥1给isakmpphase1阶段使用2给ISakmapphase2阶段使用5-6包验证对等体的身份,建立isakmpsa1共享密钥2CA3NO-nonce在MM模式下要配置参数在1cryipsecisakmpkeyciscoaddressX.x.X.X-----配置共享密钥2authentication方式:presharekeyCA等3加密类型des3desaes4hashmd5sha-15DH1,2.7第1-2个数据包1.作用(1)通过数据包源地址确认对端体的和合法性。(2)协商IKE策略2.第一个包的格式通过比较收到的数据包的源地址和本端配置的CRYPTOISAKMPKEY密码addressIP中的IP是否相等验证合法性。相等就接收设个包,不相等就丢弃。通过上图可以看出,模式是主模式,载荷类型是SA,数目是一个,内容是IKE策略。3.第二个包通过上面的图可以看出是协商后的策略。第3-4个数据包1.作用(1)通过协商DH产生第一阶段的密码。2第三个包格式从上图可看出模式主模式,载荷类型是密钥交换和厂商载荷。说明:DH是一种非对称密钥算法,基于一个知名的单项函数,A=Gamodep这个函数的特点是在G和p很多的情况下已知a求A很容易,反之基本不可能。关于这个算法详情可以参考网络上的相关文章。IPSEC就是通过这种方式,协商密钥的。有了这个秘密就可以通过衍生算法得到密钥和HMAC吃了IKE的密钥,感兴趣的密钥也从这个密钥衍生出来的,所以说这个密钥是IPSEC的始祖。3.第四个包基本这第三个相同,在不在给出。第5-6个数据包1.作用这个过程主要任务是认证。(通过1-2和3-4的协商已经具备策略和密钥所以这个阶段已经在安全环境中进行了)2.第五个包的格式从上图可以看出,模式只主模式,载荷联系身份认证,FLAGS这个开源参考IETFIP安全标识数据的特定细节。(这些已经比较难了)3.第六个包格式说明此文档只是验证了共享密钥的验证方法,证书验证在以后的文章中给出。第二阶段快速模式3个包1对MM模式的IKE参数做加密验证2交换IPSEC转换集—transformer-set3接受者确认发起者提出的参数,并建立ipsecsa1.作用在安全的环境中协商处理感兴趣流的策略。主要包括:(1)感兴趣流(2)加密策略(3)散列函数(4)封装协议(5)封装模式(6)密钥的有效期2.第一个包发送方会把感兴趣流和相关的IPSEC策略发给对方,有对方选择合适的策略。从上图可以看出模式是快速模式,类型是HASH载荷,已经是安全环境了。由于是加密的数据,所以在这里看不出具体的内容。3.第二三个包由于是加密数据包在此看不出什么。其实在第二三包中已经有了个SPI,说明:SPI简单的说就是一个字段,用于唯一标识一个IPSECSA。另外第一阶段的SA是双向的,这个阶段(快速模式)的SA是单向的。也就是说进入和出去使用不同SA。还有一点就SPI是由目的设备决定,以为发送方接收的SPI是接收方产生的。后记:2个阶段有什么联系和区别:1MM模式成功建立一个可以信赖的isakmpsa并利用DH算法产生用于1.2需要使用的密钥,实际上位2阶段做准备2实际在加密中使用的SA是2阶段的ipsecsa而不是1阶段的sa3MM模式的salifetime24h在Qm模式下是1h4在MM阶段并未使用AHESP只有在QM模式才使用AHESP因此IPSEC的实际应有在2阶段5主模式MM_SA,为建立信道而进行的安全关联快速模式QM_SA,为数据传输而建立的安全关联安全关联SA(SecurityAssociation)是单向的,在两个使用IPSec的实体(主机或路由器)间建立的逻辑连接,定义了实体间如何使用安全服务(如加密)进行通信。它由下列元素组成:安全参数索引SPI;IP目的地址;安全协议