IPsec详解:AH与ESP、传输模式与隧道模式的区别

IPsec在企业VPN背后默默发挥作用——这里一次讲清楚AH、ESP、传输模式、隧道模式和IKE之间的关系。

IPsec是什么——在IP层工作的一组安全协议

与HTTPS这类在应用层(浏览器)工作的安全技术不同,IPsec(IP Security)工作在更底层的IP层。这意味着无论是哪个应用产生的流量,只要以IP数据包的形式发出,就能被自动加密和认证,因此它被广泛用作企业站点到站点VPN和远程接入VPN的核心技术。

AH(认证头)——只验证完整性和来源,不加密

AH(Authentication Header)会在数据包中附加类似签名的认证信息,让接收方能够确认该数据包在传输过程中未被篡改,并且确实来自其声称的发送者。但它并不对数据内容本身进行加密,因此无法防止窃听——这也是为什么如今支持加密的ESP在实际应用中远比AH更为普及。

ESP(封装安全载荷)——包含加密功能,实际应用中的主流

ESP(Encapsulating Security Payload)在提供完整性验证的同时,还能对实际数据内容进行加密以防止窃听。由于同时具备加密和认证功能,并且在与防火墙、NAT环境的兼容性上也更实用(AH会将整个头部纳入签名范围,经过NAT后容易导致验证失败,而ESP在这方面相对更灵活),如今几乎所有的IPsec实现都默认使用ESP。

传输模式——保留原始IP头,只保护数据本身

传输模式保留原始的IP头不变,只对其中实际的数据(载荷)部分进行加密和认证。传输模式(Transport Mode)主要用于两台设备之间的直接通信,原始数据包的源地址和目的地址会保持暴露,只有其中的数据内容受到保护。它的优点是开销相对较小,但通信双方设备的真实IP地址会直接暴露。

隧道模式——用新的IP头包裹整个数据包

隧道模式会加密包括原始头部在内的整个数据包,再在外层加上一个全新的IP头,通过网关之间的新路径进行传输。隧道模式(Tunnel Mode)会加密包含原始IP头在内的整个数据包,并在外部套上一个使用两个VPN网关(例如分公司和总部的路由器)IP地址的新头部。这样一来,内部网络的真实IP地址段就不会暴露给外部,效果就像在两个地点之间打通了一条安全隧道。这是企业站点到站点VPN中最常用的方式。

IKE——双方安全协商加密密钥的过程

IKE(Internet Key Exchange,互联网密钥交换)是在开始IPsec通信之前,双方安全协商使用哪种加密方式、使用哪个密钥的过程。要通过IPsec进行加密通信,双方必须共享同一个加密密钥,而安全地生成和交换这个密钥的过程正是IKE。IKE会使用类似迪菲-赫尔曼密钥交换这样的技术,即使存在窃听者,也能安全地生成共同的密钥,随后利用这个密钥建立实际IPsec(AH、ESP)通信所需的安全关联(SA)。如今普遍使用改进版的IKEv2。

实际应用——站点到站点VPN与L2TP/IPsec

在企业环境中,用于长期安全连接分公司与总部网络的站点到站点VPN,广泛采用IPsec(通常与IKEv2搭配)。在个人VPN服务和远程接入VPN中,常见的是将本身不具备加密功能的L2TP隧道协议与IPsec结合的L2TP/IPsec方式,由IPsec负责实际的加密和认证,L2TP则负责搭建隧道本身,两者分工协作。

工作在比应用层更底层的位置,使其具有通用性

由于IPsec工作在IP层而非某个具体应用内部,无论流量是由哪个应用产生——浏览器、邮件客户端还是数据库连接——只要该连接启用了IPsec,都能自动获得同样的保护。这正是IPsec之所以成为保护整条网络连接(而非单个应用会话)的默认选择的核心原因。

ESP搭配隧道模式,已成为实际应用中的默认组合

虽然AH和传输模式同样是IPsec标准中合法的组成部分,但在实际部署中,业界已经明显收敛到ESP(兼顾加密与认证)搭配隧道模式(保护整个数据包并隐藏内部地址)这一组合——主要原因是这种组合在应对NAT、防火墙等现代网络现实问题时,比其他方案顺畅得多。

常见问题

搭建VPN时,需要自己在AH和ESP之间做选择吗?

很少需要。如今几乎所有主流VPN软硬件都默认使用ESP,因为它同时涵盖了加密和认证功能,大多数消费级或企业级VPN配置甚至根本不会把AH作为一个实际可选项呈现出来。

记住传输模式和隧道模式区别的最简单方法是什么?

可以这样理解:传输模式相当于保护信件内容,但信封本身(原始地址)仍然可见;隧道模式则是把整封信连同原来的信封一起密封进一个写着不同地址的全新信封里。