Skip to main content

4.4.1.2. SPD 条目的结构 (Structure of an SPD Entry)

本节包含对 SPD 条目的文字描述。此外,附录 C 提供了 SPD 条目的 ASN.1 定义示例。

IKE 兼容性考虑

本文以一种旨在直接映射到 IKE 载荷的方式描述 SPD,以确保 SPD 条目所需的策略可以通过 IKE 进行协商。不幸的是,与本文档同时发布的 IKEv2 版本 [Kau05] 的语义与为 SPD 定义的语义并不完全一致。具体来说,IKEv2 不支持协商将多对本地和远程地址及端口绑定到单个 SA 的单个 SA。相反,当为 SA 协商多个本地和远程地址及端口时,IKEv2 将这些地址和端口视为(无序的)本地和远程值集合,可以任意配对。

重要提示:在 IKE 提供一种能够通过选择器集(如下所述)传达 SPD 中表达的语义的功能之前,用户不得 (MUST NOT) 在单个 SPD 条目中包含多个选择器集,除非访问控制意图与 IKE 的"混合匹配"语义一致。实现可以 (MAY) 警告用户,如果用户创建具有多个选择器集的 SPD 条目,并且其语法表明可能与当前 IKE 语义存在冲突,则提醒他们注意此问题。

管理界面考虑

管理 GUI 可以为用户提供其他形式的数据输入和显示,例如,使用地址前缀和地址范围的选项,以及协议、端口等的符号名称。(不要将管理界面中符号名称的使用与 SPD 选择器"名称"混淆。)

注意:远程/本地仅适用于 IP 地址和端口,不适用于 ICMP 消息类型/代码或移动性头类型。此外,如果对给定选择器类型使用保留的符号选择器值 OPAQUE 或 ANY,则该选择器列表中只能出现该值,并且它在该选择器列表中只能出现一次。

注意:ANY 和 OPAQUE 是本地语法约定 —— IKEv2 通过以下指示的范围协商这些值:

ANY:     start = 0        end = <max>
OPAQUE: start = <max> end = 0

SPD 条目字段

SPD 是一个有序的条目列表,每个条目包含以下字段。

o 名称 (Name)

ID 列表。此准选择器是可选的。必须支持的形式在上述第 4.4.1.1 节的"名称"下描述。

o PFP 标志 (PFP flags)

每个流量选择器一个标志。给定标志(例如,用于下一层协议的标志)适用于 SPD 条目中包含的所有"选择器集"(见下文)中的相关选择器。在创建 SA 时,每个标志指定对应的流量选择器是从触发 SA 创建的数据包的相应字段实例化选择器,还是从相应 SPD 条目中的值实例化(参见第 4.4.1 节,"如何派生 SAD 条目的值")。对于例如源端口、ICMP 类型/代码和 MH 类型,是使用单个标志,还是为每个标志使用单独的标志,这是一个本地问题。

PFP 标志包括

  • 本地地址 (Local Address)
  • 远程地址 (Remote Address)
  • 下一层协议 (Next Layer Protocol)
  • 本地端口,或 ICMP 消息类型/代码或移动性头类型(取决于下一层协议)
  • 远程端口,或 ICMP 消息类型/代码或移动性头类型(取决于下一层协议)

o 一到 N 个选择器集 (One to N selector sets)

这些对应于应用特定 IPsec 操作的"条件"。每个选择器集包含:

  • 本地地址 (Local Address)
  • 远程地址 (Remote Address)
  • 下一层协议 (Next Layer Protocol)
  • 本地端口,或 ICMP 消息类型/代码或移动性头类型(取决于下一层协议)
  • 远程端口,或 ICMP 消息类型/代码或移动性头类型(取决于下一层协议)

注意:"下一协议"选择器在选择器集条目中是单个值(与本地和远程 IP 地址不同)。这与 IKEv2 协商 SA 的流量选择器 (TS) 值的方式一致。这也是有道理的,因为可能需要将不同的端口字段与不同的协议关联。通过为该 SA 指定多个选择器集,可以将多个协议(和端口)与单个 SA 关联。

o 处理信息 (Processing info)

需要哪种操作 —— PROTECT(保护)、BYPASS(绕过)或 DISCARD(丢弃)。所有选择器集只有一个操作,而不是每个集都有单独的操作。如果所需处理是 PROTECT,则条目包含以下信息。

处理信息字段(针对 PROTECT)

  • IPsec 模式 (IPsec mode) —— 隧道模式或传输模式

  • (如果是隧道模式)本地隧道地址 (local tunnel address) —— 对于非移动主机,如果只有一个接口,这很简单;如果有多个接口,则必须静态配置。对于移动主机,本地地址的规范在 IPsec 外部处理。

  • (如果是隧道模式)远程隧道地址 (remote tunnel address) —— 没有确定此地址的标准方法。参见第 4.5.3 节,"定位安全网关"。

  • 扩展序列号 (Extended Sequence Number) —— 此 SA 是否使用扩展序列号?

  • 有状态片段检查 (stateful fragment checking) —— 此 SA 是否使用有状态片段检查?(有关更多详细信息,请参见第 7 节。)

  • 绕过 DF 位 (Bypass DF bit) (T/F) —— 适用于隧道模式 SA

  • 绕过 DSCP (Bypass DSCP) (T/F) 或映射到未受保护的 DSCP 值(数组) 如果需要限制 DSCP 值的绕过 —— 适用于隧道模式 SA

  • IPsec 协议 (IPsec protocol) —— AH 或 ESP

  • 算法 (algorithms) —— 用于 AH 的算法、用于 ESP 的算法、用于组合模式的算法,按优先级递减排序

注意:当 SPD 发生更改时,保留关于处理现有 SA 的哪些信息是一个本地问题。