网络层安全概述 IPsec的操作模式

DDoS防御 / 2025-03-25 10:33:19

虽然应用层和传输层安全有助于提供端到端安全,但在网络层添加安全机制也有好处。首先,更高层的安全机制不一定能保护组织的内部网络链路免受恶意流量的侵害。如果在终端主机上检测到恶意流量,则为时已晚,因为带宽已被消耗。第二个主要问题是前面描述的更高层安全机制(例如 TLS)不会隐藏 IP 标头。这使得窃听者可以看到通信终端主机的 IP 地址。

此外,许多组织都希望其流量在离开网络时得到完全加密。在网络发展的早期,人们使用了多个私有网络。但是,维护私有网络可能并不经济高效。另一种解决方案是利用互联网连接组织拥有的多个私有网络孤岛。此外,雇主和雇员希望拥有一个灵活的工作环境,人们可以在家工作,也可以在酒店房间或机场休息室连接,而不会危及他们的安全。我们已经确定互联网是不安全的。公共互联网上的虚拟专用网络 (VPN) 概念需要一组网络层安全机制,我们将在本节中探讨这些机制。我们从网络层 IP 协议的安全附加功能(称为 IPsec)开始讨论。图 17.4 显示,在家工作的员工访问工作中的服务器,其主机中的 VPN 客户端将 IPv4 数据报封装到 IPsec 中,并加密包含 TCP 或 UDP 段或其他控制消息的 IPv4 有效负载。企业网关检测 IPSec 数据报,解密并解封装回 IPv4 数据报,然后将其转发给服务器。

 

网关还会对服务器的每个响应进行加密。我们注意到,加密在 IPsec 中不是强制性的。图 17.4 是 IPsec 的几种操作模式之一。例如,可能有两个企业网络,每个网络都有自己的 IPsec 网关通过开放的 Internet 进行通信。

我们首先从一个简单的示例开始,展示了使用加密实现数据机密性。但是,IPsec 还提供数据完整性、来源身份验证和重放攻击预防。同样,IPsec 提供的模式/配置/标准集非常广泛;感兴趣的读者应访问相关的 IETF RFC 以了解格式和协议详细信息。

IPsec 支持隧道和传输操作模式。在传输模式下,如图 17.5 所示,使用原始 IP 标头,但其余有效负载会被加密。在图 17.4 的示例中,如果使用传输模式,则需要可路由的 IPv4 地址。如果端点位于 NAT 后面,则可以实现这一点。有关 NAT 遍历的详细信息,请参阅 RFC7296。

如果两个网络的边缘设备(路由器/网关)支持 IPsec,则其余服务器/主机无需担心 IPsec。边缘设备对包括标头在内的每个 IP 进行封装。这实际上在两个边缘设备之间创建了一个安全隧道。然后,接收边缘设备解封装 IPv4 数据报并使用标准 IP 转发在其网络内转发。隧道的其他可能配置可能涉及一个支持 IPsec 的主机和一个支持 IPsec 的网关(如图 17.4 所示)。两个支持 IPsec 的主机之间的隧道也可以不涉及边缘路由器。隧道模式由于其简单性而得到广泛使用,因为它不需要终端主机支持 IPsec 协议。此外,密钥协商也得到简化,因为两个边缘设备可以代表其各自网络中的多个主机处理连接。另一个优点是所有内容(包括 IP 源/目标地址)都经过加密,从而使流量分析更加困难。 ESPv3 允许使用流量流机密性 (TFC) 机制,该机制添加任意长度的填充来混淆流量模式并防止统计流量分析攻击。Kiral 等人报告了探索填充和其他几种技术的实验结果,例如数据包碎片化、引入人工数据包间延迟、插入虚拟数据包以避免流量分析。

IPsec 支持一组格式来实现安全性。封装安全有效负载 (ESP) 格式支持使用加密 IP 数据包的机密性、使用哈希函数的数据完整性以及源身份验证。如果应用程序不需要机密性,则可能仅使用支持数据完整性和源身份验证的身份验证标头 (AH) 格式。IETF RFC2410 定义了使用 ESP 的 NULL 加密算法来实现相同的结果。总的来说,我们有四种不同的通信选项:使用 ESP 的传输模式、使用 AH 的传输模式、使用 ESP 的隧道模式和使用 AH 的隧道模式。由于 VPN 隧道是完全加密的,因此使用 ESP 的隧道模式仍然是首选协议。

参与 IPsec 通信的两个实体为链路的每个方向建立安全关联 (SA)。本质上,许多变量记录在称为安全关联数据库 (SAD) 的数据库中,供 IPsec 协议处理期间查找,有点类似于 TCP 连接状态。一些状态信息包括使用的加密类型(例如 AES 或 3DES)、加密密钥、使用的完整性检查类型(例如 SHA-2 或 MD5)、身份验证密钥等。防重放窗口还用于确定传入的 AH 或 ESP 数据包是否为重放。

当大量端点使用 IPsec 时,分发密钥就变得具有挑战性。RFC7296 定义了 Internet 密钥交换协议 (IKEv2)。读者会发现 TLS 17.4 和 IKE 之间存在相似之处,即 IKE 也需要初始握手过程来协商加密算法和其他值(例如 nonce)并交换身份和证书。我们将跳过复杂的两阶段协议交换的细节,该过程会导致建立一个称为 SKEYSEED 的数量。这些 SKEYSEED 用于生成会话期间使用的密钥,就像我们回忆 IPsec SA 一样。我们注意到 IKEv2 是从 IKEv1、Internet 安全关联和密钥管理协议 (ISAKMP) 以及其他一些早期努力发展而来的。ISAKMP 是一个框架,它定义了对通信对等方进行身份验证、创建和管理安全关联的程序以及密钥生成技术。它还可以提供针对 DoS 和重放攻击的威胁缓解。 ISAKMP 在 RFC 2408 中定义,也是 IKEv2 的一部分,用于密钥交换。