Cisco IPSec 协商过程

262阅读 0评论2011-12-06 wfeng
分类:系统运维

IPSec协商分为两个阶段:第一阶段协商对对方的身份进行认证,并且为第二阶段的协商提供一条安全可靠的通道。第二阶段主要对IPSEC的安全性能进行协商,产生真正可以用来加密数据流的密钥。
 
第一阶段主(IKE SA 阶段):
 
发送cockie包,用来标识唯一的一个IPSEC会话。
 
IKE阶段一(主模式):发送消息1     initiator====>responsor
      isakmp header
      sa payload
      proposal payload
      transform payload
 
      定义一组策略:
            加密方法:DES
            认证身份方法:预共享密钥
            认证散列:MD5
            存活时间:86400秒
            Diffie-Hellman group:1
IKE阶段二(主模式):发送消息2     initiator<====responsor
    同上
IKE阶段三(主模式):发送消息3     initiator====>responsor
    通过DH算法产生共享密钥
      KE(Key Exchang) Payload
      nonce(暂时) Payload
 
DH算法:
     A:   P(较大的质数)                          B:  P(较大的质数)
           G                                                  G
           PriA(随机产生)                             PriB(随机产生)  
           PubA=G^PriA  mod P                      PubB=G^PriB  mod P
           交换PubA和PubB
           Z=PubB^PriA mod P                        Z=PubA^PriB mod P
     Z就是共享密钥,两个自我产生的Z应相同,它是用来产生3个SKEYID的素材。
 
IKE阶段四(主模式):发送消息4     initiator<====responsor
      同上
      主模式第3、4条消息其实就是DH算法中需要交换的几个参数,然后路由器再通过DH算法计算出的公共密钥计算出以下3个参数(这是在发送第5、6个消息前完成的):
      SKEYID_d:留在在第二阶段用,用来计算后续的IKE密钥资源;
      SKEYID_a:散列预共享密钥,提供IKE数据完整性和认证;
      SKEYID_e:用来加密下一阶段的message,data, preshared key,包括第二阶段。
 
IKE阶段五(主模式):发送消息5     initiator====>responsor
      Identity Payload:用于身份标识
      Hash Payload:用来认证
      以上2个负载都用SKEYID_e加密
IKE阶段六(主模式):发送消息6     initiator<====responsor
      同上
      消息5、6是用来验证对等体身份的。至此IKE协商第一阶段完成。
 
第二阶段快速模式(IPSec SA 阶段):
 
     首先判断是否启用了PFS(完美转发安全),若启用了则重新进行DH算法产生密钥,若没有启用则是用第一阶段的密钥。
 
IPSec阶段一(快速模式):发送消息1     initiator====>responsor
    同样定义一组策略,继续用SKEYID_e加密:
            Encapsulation— ESP
            Integrity checking— SHA-HMAC
            DH group— 2
            Mode— Tunnel
 
IPSec阶段二(快速模式):发送消息2     initiator<====responsor
    同上,主要是对消息1策略的一个确认。
 
    在发送消息3前,用SKEYID_d,DH共享密钥,SPI等产生真正用来加密数据的密钥。
 
IPSec阶段三(快速模式):发送消息3     initiator====>responsor
    用来核实responsor的liveness。
 
    至此,整个IPSec协商的两个过程已经完成,两端可以进行安全的数据传输了。


CCIE Security 2009 IOS防火墙合集



上一篇:SDH系统常见故障处理及维护方法
下一篇:ospf 多区域试验脚本