衍生出来的),PFS启用后,数据加密部分使用的密钥就没有了衍生的过程。 (f)DH:重新协商IPSec SA时使用的密钥(正常情况下,IPSec阶段使用的密钥都是由SKEYID_d衍生而来的,密钥之间都有一定的关系,就算IPSec SA超时,新的KEY还是和SKEYID_d有一定的关系)。
以上数据均被加密处理; 基于以上,第二阶段有几个概念需要理清: (a)封装模式:包括传输模式(Transport)和隧道模式(Tunnel)。 传输模式:不使用新的IP头部,IP头部中的源/目的IP为通信的两个实点(当通信点等于加密点时,使用传输模式); 隧道模式:需要封装一个新的IP头部,新的IP头部中源/目的IP为中间的VPN网 关设备地址(当通信点不等于加密点时使用隧道模式);
二者比较: 从安全性来讲,隧道模式优于传输模式,隧道模式可以完全地对原始IP数据报进行验证和加密以及可以使用IPSec对等体的IP地址来隐藏客户机的IP地址; 从性能来讲,隧道模式比传输模式占用更多带宽,一个额外的IP头; 因此,到底使用哪种模式需要按照实际的应用场景进行权衡。
(b)安全联盟生存周期: 所有在安全策略视图下没有单独配置生存周期的安全联盟,都采用全局生存周期。IKE(因特网密钥交换协议)为IPSec协商建立安全联盟(SA)时,采用本地设置的和对端提议的生存周期中较小的一个(即,当两端配置的生存周期不一致时,那么就用最小的那个值)。安全联盟生存周期的输入范围:30~604800; 所以,两端设备配置的生存周期不一致不会导致隧道无法建立。 (c)采用的安全协议: 安全提议中需要选择所采用的安全协议,用于为IP数据包提供安全。目前可选的安全协议有AH(验证报头)和ESP(封装安全有效负载),也可以指定同时使用AH和ESP(AH-ESP)。安全隧道两端所选择的安全协议必须一致。 所以,第二阶段协商不起来,两端协议是否一致是一个排查重点。
AH协议:类似于ICMP、TCP、UDP的IP协议,分配给它的协议号为51。提供如下 安全功能:数据完整性服务、提供抗数据回放攻击、不提供数据加密性(不加密)。
(note:AH是不提供数据的加密的,所以在报文中可以看到完整的DATA部分) AH报文头格式:
AH在两种模式下的封装:
传输模式:“除了易变字段”指的是:对IP报文中可变域以外的数据进行认证 隧道模式:“除了易变字段”指的是:对新IP报文头部中可变域以外的数据进行认证 ESP协议:协议号为50,提供如下功能:提供数据加密性(支持加密)、提供数据 完整性、提供抗回放攻击能力; ESP的数据验证和完整性服务只包括ESP的头和有效载荷(不包括外部的IP头部)( note:ESP是提供加密的,所以抓取的ESP报文,是看不到原来被封装的数据部分)
ESP在两种模式下的封装:
AH-ESP共用: 隧道模式下:
(d)ESP协议加密算法: ESP能够对IP报文内容进行加密保护,防止报文内容在传输过程中被窥探。加密算法的实现主要通过对称密钥系统,即使用相同的密钥对数据进行加密和解密。 一般来说IPSec使用两种加密算法:DES和3DES。 (e)ESP协议即AH协议的验证算法:
AH和ESP都能够对IP数据包的完整性进行验证,以判别报文在传输过程中是否被篡改。 一般来说IPSec使用两种验证算法:MD5和SHA-1 MD5:MD5输入任意长度的消息,产生128bit的消息摘要; SHA-1:SHA-1输入长度小于2的64次方比特的消息,产生160bit的消息摘要。SHA-1的摘要长于MD5,因而是更安全的。 (f)使用NAT穿越: 在IPSec/IKE组建的VPN隧道中,若存在NAT安全网关设备,则必须配置IPSec/IKE的NAT穿越功能。
消息2:响应者向发起者发送第二条消息,同意第一条消息中的属性,同时,也能 起到确认收到对端消息的作用。 在消息1和消息2中报错可能出现的原因: (1)双方的模式不匹配(即,可能一端用传输模式,另一端用隧道模式); (2)感兴趣流不对称(如上述消息1中的(d));
消息3:发送方发送第三条消息,其中包含一个HASH,其作用是确认接收方的消息以及证明发送方处于Active状态(表示发送方的第一条消息不是伪造的),这一步一旦完成,隧道就建立起来了,用户的数据就能被放入隧道中传递。