4.4. 主要 IPsec 数据库
IPsec 实现中与处理 IP 流量相关的许多细节很大程度上属于本地事项,不受标准化约束。然而,为确保互操作性,并提供有效使用 IPsec 所必需的最低限度管理能力,处理过程的某些外部方面必须标准化。本节描述一个相对于 IPsec 功能处理 IP 流量的通用模型,以支持这些互操作性和功能性目标。下文描述的模型是名义模型;实现无需与该模型呈现的细节完全一致,但为了合规,实现的外部行为必须对应到本模型可外部观察到的特征。
此模型中有三个名义数据库:安全策略数据库(SPD)、安全关联数据库(SAD)和对等端授权数据库(PAD)。第一个数据库规定策略,用于决定从主机或安全网关入站或出站的所有 IP 流量的处置方式(第 4.4.1 节)。第二个数据库包含与每个已建立(已配置密钥)的 SA 相关联的参数(第 4.4.2 节)。第三个数据库 PAD 在 SA 管理协议(例如 IKE)与 SPD 之间提供连接(第 4.4.3 节)。
多个独立的 IPsec 上下文
如果某个 IPsec 实现作为多个用户的安接网关,它可以实现多个独立的 IPsec 上下文。每个上下文可以拥有并使用完全独立的标识、策略、密钥管理 SA 和/或 IPsec SA。这在很大程度上属于本地实现事项。但是,需要一种将入站 SA 提议与本地上下文关联的方式。为此,如果正在使用的密钥管理协议支持,上下文标识符可以在信令消息中从发起方传送到响应方,其结果是所创建的 IPsec SA 会绑定到特定上下文。例如,为多个客户提供 VPN 服务的安接网关将能够把每个客户的流量关联到正确的 VPN。
转发决策与安全决策
本文描述的 IPsec 模型体现了转发(路由)决策与安全决策之间的清晰分离,以适应 IPsec 可能被应用的广泛上下文。如果只有两个接口,转发可能很简单;如果 IPsec 实现所处的上下文采用了复杂的转发功能,转发也可能很复杂。IPsec 仅假设:已通过 IPsec 处理的出站和入站流量,会以符合 IPsec 实现所处上下文的方式进行转发。对嵌套 SA 的支持是可选的;如果需要,则要求转发表与 SPD 条目之间进行协调,以使一个包多次穿越 IPsec 边界。
“本地”与“远端”
在本文档中,对于 IP 地址和端口,术语“本地(Local)”和“远端(Remote)”用于策略规则。“本地”指由 IPsec 实现所保护的实体,即出站包的“源”地址/端口或入站包的“目的”地址/端口。“远端”指一个或多个对等端实体。术语“源(source)”和“目的(destination)”用于指明包的头部字段。
“非初始分片”与“初始分片”
在本文档中,短语“非初始分片(non-initial fragments)”用于表示不包含访问控制可能需要的全部选择器取值的分片(例如,它们可能不包含下一层协议、源端口和目的端口、ICMP 消息类型/代码、移动头类型)。短语“初始分片(initial fragment)”用于表示包含访问控制所需全部选择器取值的分片。但是应注意,对于 IPv6,哪个分片包含下一层协议和端口(或 ICMP 消息类型/代码或移动头类型)取决于所存在扩展头的种类和数量。在此上下文中,“初始分片”不一定是第一个分片。