3.1. IPsec 做什么
IPsec 为某个主机或网络在不被保护的接口与受保护的接口之间创建一条边界(见下方图 1)。穿越该边界的流量受负责 IPsec 配置的用户或管理员所指定访问控制的约束。这些控制指明包是不受阻碍地穿越边界、通过 AH 或 ESP 获得安全服务,还是被丢弃。
IPsec 安全服务在 IP 层通过选择适当的安全协议、密码算法和密码密钥来提供。IPsec 可用于保护一条或多条“路径”:(a) 一对主机之间,(b) 一对安全网关之间,或 (c) 安全网关与主机之间。合规的主机实现必须(MUST)支持 (a) 和 (c);合规的安全网关必须支持全部三种连接形式,因为在某些情况下安全网关会作为主机行动。
Unprotected
^ ^
| |
+-------------|-------|-------+
| +-------+ | | |
| |Discard|<--| V |
| +-------+ |B +--------+ |
................|y..| AH/ESP |..... IPsec Boundary
| +---+ |p +--------+ |
| |IKE|<----|a ^ |
| +---+ |s | |
| +-------+ |s | |
| |Discard|<--| | |
| +-------+ | | |
+-------------|-------|-------+
| |
V V
Protected
Figure 1. Top Level IPsec Processing Model
在此图中,“unprotected(不受保护)”指也可称为“black(黑)”或“ciphertext(密文)”的接口。此处,“protected(受保护)”指也可称为“red(红)”或“plaintext(明文)”的接口。上述受保护接口可以是内部接口,例如在主机 IPsec 实现中,受保护接口可连接到操作系统提供的套接字层接口。在本文档中,术语“入站(inbound)”指通过不受保护接口进入 IPsec 实现的流量,或由该实现在边界不受保护一侧发出并指向受保护接口的流量。术语“出站(outbound)”指通过受保护接口进入该实现的流量,或由该实现在边界受保护一侧发出并指向不受保护接口的流量。IPsec 实现可以在边界任一侧或两侧支持多个接口。
注意 IPsec 边界两侧都有丢弃流量的设施、允许流量不经密码保护穿越边界的 BYPASS 设施,以及将 IKE 标为受保护侧密钥与安全管理功能。
IPsec 可选支持 IP 压缩 [SMPT01] 的协商,其部分动机源于一个观察:当 IPsec 内部使用加密时,会阻碍较低协议层进行有效的压缩。