在 Oracle® Solaris 11.2 中确保网络安全

退出打印视图

更新时间: 2014 年 9 月
 
 

封装安全有效负荷

encapsulating security payload, ESP(封装安全有效负荷)协议为 ESP 所封装的内容提供保密性。ESP 也提供 AH 提供的服务。然而,ESP 不保护外部的 IP 头。ESP 会提供验证服务以确保受保护的包的完整性。因为 ESP 使用启用了加密的技术,因此提供 ESP 的系统可能会受进出口控制法制约。

ESP 头和尾会封装 IP 有效负荷。将加密与 ESP 一起使用时,它仅应用于 IP 有效负荷数据,如下图所示。

image:图显示了 IP 数据包头和 TCP 数据包头之间的 ESP 头。TCP 数据包头由 ESP 头进行加密。

在 TCP 包中,ESP 头会接受验证,并且它可以封装 TCP 头及其数据。如果包是 IP-in-IP 包,则 ESP 会保护内部的 IP 包。由于每个套接字的策略允许自封装,因此,ESP 可以在需要时封装 IP 选项。

编写使用 setsockopt() 的程序时,可以使用自封装。如果设置了自封装,则会生成 IP 头的副本,用来构建 IP-in-IP 包。例如,如果未在 TCP 套接字上设置自封装,则会以下列格式发送包:

[ IP(a -> b) options + TCP + data ]

如果在 TCP 套接字上设置了自封装,则会以下列格式发送包:

[ IP(a -> b) + ESP [ IP(a -> b) options + TCP + data ] ]

有关进一步介绍,请参见IPsec 中的传输模式和隧道模式

使用 AH 和 ESP 时的安全注意事项

下表比较了 AH 和 ESP 提供的保护。

表 6-1  由 IPsec 中的 AH 和 ESP 提供的保护
协议
包范围
保护
防止的攻击
AH
保护包中从 IP 包头到传输数据结尾的内容
提供高完整性、数据验证:
  • 确保接收者接收到的正是发送者发送的内容

  • 在 AH 没有启用重放保护时容易受到重放攻击影响

重放、剪贴
ESP
保护包中从 ESP 头到传输数据结尾的内容
使用加密选项时,对 IP 有效负荷进行加密。保证保密性
窃听
使用验证选项时,提供与 AH 相同的有效负荷保护
重放、剪贴
同时使用两个选项时,提供高完整性、数据验证和保密性
重放、剪贴、窃听