深入解读IPsec V*N

解读IPsec VP*的原因是其使用比较广泛,技术比较成熟,比如企业互联是最常用的场景,在VXLAN那篇中提到了阿里云CPE端到端解决方案也用到了IPsec,还有SDWAN服务中IPsec是使用最多的(在underlay层面CPE与Controller、CPE之间通信几乎都是使用XXX over IPsec的方案)

一、IPSec V*N应用场景

深入解读IPsec V*N_第1张图片

  1. Site——to——Site(站点到站点或网关到网关):企业内网之间的数据通过这些网关建立的IPSEC隧道实现安全互联。例如:网关1至网关2.
  2. End——to——End(端到端或者PC到PC):两个PC之间的通信由两个PC之间的IPsec会话保护、而不是网关。例如:Server1到Server2.
  3. End——to——Site(端到站点或者PC到网关):两个PC之间的通信由网关和异地PC之间的IPSec进行保护。例如:出差员工PC到网关1

二、IPsec基础和基础架构

IPsec=IP security:目的是为IP提高安全性特性,V*N则是实现这种安全特性的方式下产生的方案。
IPsec是一个框架性架构,具体由两类协议组成:

  1. AH协议(Authentication Header,使用较少):可以同时提供数据完整性确认、数据来源性确认、防重放等安全特性。AH常使用MD5和SHA1实现该特性。
  2. ESP协议(Encapsulated Security Payload,使用较广):可以同时提供数据完整性确认、数据加密、防重放等安全特性;ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性。

三、为什么AH协议使用较少,而ESP协议使用较广?

  1. AH无法提供数据加密,所以数据在传输时以明文传输,而ESP提供数据加密。
  2. AH因为提供数据来源确认(源地址一旦改变,AH校验失败),所以AH协议无法穿越NAT。
  3. IPSec在极端情况下可以同时使用AH和ESP实现最完整的安全特性。
    备注:最大的区别在于是否能穿越NAT和是否能数据加密

四、IPsec提供的封装模式(IPsec的两种应用方式)

4.1. 传输模式下AH和ESP的封装格式、
深入解读IPsec V*N_第2张图片
4.2.隧道模式下AH和ESP的封装格式

深入解读IPsec V*N_第3张图片
4.3. 传输模式和隧道模式的区别

  1. 传输模式下AH、ESP处理前后IP头保持不变
  2. 隧道模式下AH、ESP处理之后在封装了一个外网IP头

五、两种模式使用场景图解

深入解读IPsec V*N_第4张图片
5.1. PC至PC之间IPsec保护PC之间流量可使用传输模式,也可以使用隧道模式。
PC至网关之间IPsec保护PC之间流量只能用隧道模式
网关至网关之间IPsec保护PC之间流量只能用隧道模式
总结:隧道模式适合任何场景,传输模式只适合PC到PC的场景。
但是:隧道模式虽然适合任何场景,但是隧道模式需要多加一层IP头开销,所以如果是PC至PC的场景,建议还是使用传输模式

5.2. 解析为何网关到网关场景只能使用隧道 模式
以下场景中假如使用传输模式:
深入解读IPsec V*N_第5张图片
总结:由于传输模式下AH、ESP处理前后IP头部不变,假如网关至网关的场景使用传输模式,那么企业内网发起的源IP和目的IP均为内网IP,在传输模式下IP头部不变,导致在发起放100.100.1.2就会丢弃,即便不丢弃,到了相应方200.200.1.2并不能进行解密,从而发给内网PC 10.10.1.2还是密文,所以PC也会丢弃

六、Ipsec协商原理

深入解读IPsec V*N_第6张图片
兴趣流:需要IPsec保护的流量就是兴趣流,兴趣流是发起方和相应方指定的兴趣流的交集。
eg:发起方指定兴趣流为192.168.1.0/24→10.10.0.0/8,而响应方的兴趣流为10.10.0.0/8→192.168.0.0/16,那么其交集是192.168.1.0/24←→10.10.0.0/8,这就是最后会被IPSec所保护的兴趣流。
发起方:IPSec会话协商的触发方。IPsec会话通常是由指定兴趣流触发协商,触发的过程通常是将数据包中的源、目的地址、协议、源端口、目的端口与提前指定的IPSec兴趣流匹配模板(如ACL进行匹配),如果匹配成功则属于指定兴趣流。指定兴趣流只是用于触发协商。
响应方:Ipsec会话协商的接收方。响应方是被动协商。
发起方和响应方协商内容:双方身份的确定和密钥种子刷新周期、AH/ESP的组合方式及各自使用的算法,还包括兴趣流、封装模式等。
发起方安全联盟SA(security association):双方协商的结果就是SA。包括:密钥及密钥生存期、算法、封装模式、发起方和响应方的地址、兴趣流等内容。

七、IPSec协商过程(隧道模式)

深入解读IPsec V*N_第7张图片

  1. IKE(Internet Key Exchange):原生的IPsec无身份确认等协商过程,存在缺陷(eg:无法支持发起方地址动态变化情况下的身份确认、密钥动态更新等),所以出现了IKE来弥补这些不足。
  2. 发起方定义兴趣流 源为192.168.1.0/24目的10.10.0.0/8,所以在接口发送发起方内网PC发给响应方内网的数据包,能够得以匹配。
  3. 满足兴趣条件,在转发接口检查SA(SA的三种情况——不存在、过期、不可用),出现以上三种情况进行协商,否则使用当前SA对数据包进行处理。
  4. IKE协商过程通常分为两个阶段:
    第一阶段:确认双方身份的正确性
    第二阶段:为兴趣流创建一个指定的安全套件(第二阶段中的兴趣流在会话中是密文)。

备注:IPsec中的安全性还体现在第二阶段的SA永远是单向的(在IKE协商的第二阶段SA发起方至响应方、响应方至发起方都是单向的)。
使用单向隧道设计实现更好的安全性


转载:搞网络就是一把梭

你可能感兴趣的:(CCIE,IPSec,SA,ESP,AH)