IPsec是什么——在IP层工作的一组安全协议
与HTTPS这类在应用层(浏览器)工作的安全技术不同,IPsec(IP Security)工作在更底层的IP层。这意味着无论是哪个应用产生的流量,只要以IP数据包的形式发出,就能被自动加密和认证,因此它被广泛用作企业站点到站点VPN和远程接入VPN的核心技术。
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则负责搭建隧道本身,两者分工协作。