IPSec介绍

IPSec(Internet protocol security):是一组基于网络层的,应用密码学的安全通信协议族。IPSec不是具体指哪个协议,而是一个开放的协议族。

IPSec协议的设计目标:是在IPV4和IPV6环境中为网络层流量提供灵活的安全服务。

IPSec VPN:是基于IPsec协议族构建的IP层实现的安全虚拟专用网。通过在数据包中插入一个预定义头部的方式,来保障OSI上层协议数据的安全,主要用于保护TCP、udp、icmp和隧道的IP数据包

IPSec架构

ipsec vpn_VPN

1)IPSec不是一个单独的协议,它通过AH和ESP这两个安全协议来实现IP数据报的安全传送

2)IKE协议提供密匙协商,建立和维护安全联盟SA等服务

安全联盟SA

ipsec vpn_VPN_02

1)安全联盟定义了IPSec对等体间将使用的数据封装模式、认证和加密算法、密匙等参数

2)安全联盟是单向的,两个对等体之间的双向通信,至少需要两个SA

IPSec工作模式

1)传输模式(Transport mode)

在传输模式下,IPSec协议处理模块会在IP报头和高层协议报文之间插入一个IPSec报头。

IP报头域与原始IP分组中的IP报头是一致的,只是IP报文中的协议字段会被改成IPSec协议的协议号(50或51),并重新计算IP报头校验和。

主要应用场景:经常用于主机和主机之间端到端通信的数据保护。

封装方式:不改变原有的IP包头,在原数据包头后面插入IPSec包头,将原来的数据封装成被保护的数据。

ipsec vpn_IP_03

ipsec vpn_IP_04

2)隧道模式(Tunnel mode)

传输模式不同,在隧道模式下,原始IP分组被封装成一个新的IP报文,在内部报头以及外部报头之间插入一个IPSec报头,原IP地址被当作有效载荷的一部分受到IPSec的保护。

通过对数据加密,还可以隐藏原数据包中的IP地址,这样更有利于保护端到端通信中数据的安全性。

封装方式:增加新的IP(外网IP)头,其后是ipsec包头,之后再将原来的整个数据包封装。

ipsec vpn_VPN_05

原理图

ipsec vpn_IP_06


IPSec VPN配置步骤

ipsec vpn_IP_07


特别注意:IPSec VPN对等体配置的安全提议参数必须一致。