验证头 (Authentication Header, AH)
封装安全有效负荷 (Encapsulating Security Payload, ESP)
AH 使用验证算法来保护数据。ESP 使用加密算法来保护数据。ESP 还可以使用验证算法来保护数据。算法的每种实现方式称为机制。
authentication header(验证头)为数据报提供了数据验证、高完整性以及重放保护。AH 保护 IP 数据报的更为重要的部分。如下图所示,AH 插在 IP 数据包头和传输头之间。
传输头可以是 TCP、UDP、SCTP 或 ICMP。如果使用的是 tunnel(隧道),则传输头可以是另一个 IP 数据包头。
encapsulating security payload, ESP(封装安全有效负荷)模块为 ESP 所封装的内容提供了保密性。ESP 也提供 AH 提供的服务。但是,ESP 仅为 ESP 所封装的数据报部分提供保护。ESP 提供可选的验证服务以确保受保护的包的完整性。因为 ESP 使用启用了加密的技术,因此提供 ESP 的系统可能会受进出口控制法制约。
由于 ESP 封装其数据,因此 ESP 仅保护数据报中跟在其后的数据,如下图所示。
在 TCP 包中,ESP 仅封装 TCP 数据包头及其数据。如果包是 IP-in-IP 数据报,则 ESP 会保护内部的 IP 数据报。由于每个套接字的策略允许自封装,因此,ESP 可以在需要时封装 IP 选项。
如果设置了自封装,会生成 IP 数据包头的副本来构建 IP-in-IP 数据报。例如,如果未在 TCP 套接字上设置自封装,会以下列格式发送数据报:
[ IP(a -> b) options + TCP + data ] |
如果在 TCP 套接字上设置了自封装,则会以下列格式发送数据报:
[ IP(a -> b) + ESP [ IP(a -> b) options + TCP + data ] ] |
有关进一步介绍,请参见IPsec 中的传输模式和隧道模式。
IPsec 安全协议使用两种类型的算法,即验证和加密。AH 模块使用验证算法。ESP 模块可以使用加密算法以及验证算法。您可以使用 ipsecalgs 命令获取系统上的算法及其属性的列表。有关更多信息,请参见 ipsecalgs(1M) 手册页。您也可以使用 getipsecalgbyname(3NSL) 手册页中介绍的功能来检索算法属性。
Solaris 系统上的 IPsec 利用 Solaris 加密框架来使用算法。此框架提供了一个主要的算法仓库,同时还提供了其他服务。使用此框架,IPsec 可以利用高性能的加密硬件加速器。此框架还提供了资源控制功能。例如,您可以使用此框架来限制在内核的加密操作中花费的 CPU 时间。
详细信息,请参见以下内容:
验证算法将生成完整性校验和值或基于数据和密钥的摘要。AH 模块使用验证算法。ESP 模块也可以使用验证算法。
加密算法使用密钥来加密数据。IPsec 中的 ESP 模块使用加密算法。算法以块大小为单位对数据进行操作。
不同的 Solaris 10 OS 发行版提供不同的缺省加密算法。
从 Solaris 10 7/07 发行版开始,将不会在您的系统中添加 Solaris 加密工具包。该工具包降低了您系统上加密的修补程序级别。此工具包与系统上的加密不兼容。
从此 Solaris 10 7/07 发行版开始,Solaris 加密工具包的内容由 Solaris 安装介质安装。此发行版会添加以下 SHA2 验证算法:sha256、sha384 和 sha512。SHA2 实现符合 RFC 4868 规范。此发行版还会添加较大的 Diffie-Hellman 组:2048 位(组 14)、3072 位(组 15)和 4096 位(组 16)。请注意,采用酷线程 (CoolThreads) 技术的 Sun 系统仅会加速 2048 位组。
在Solaris 10 7/07 以前的发行版中,Solaris 安装介质会提供基本的算法,并且可以从 Solaris 加密工具包添加更强大的算法。
缺省情况下,将安装 DES-CBC、3DES-CBC、AES-CBC 和 Blowfish-CBC 算法。AES-CBC 和 Blowfish-CBC 算法支持的密钥大小限制在 128 位。
安装 Solaris 加密工具后,IPsec 可以使用支持多于 128 位的密钥大小的 AES-CBC 和 Blowfish-CBC 算法。但是,在美国国外并非所有的加密算法都可用。不属于 Solaris 10 安装包的单独 CD 上提供此工具包。《Solaris 10 Encryption Kit Installation Guide》说明了如何安装该工具包。有关详细信息,请参见 Sun Downloads Web 站点。要下载该工具包,请单击 "Downloads A-Z" 选项卡,然后单击字母 S。Solaris 10 加密工具包位于前 20 项中。