跳到主要内容

4.4.2.1. SAD 中的数据项

SAD 中必须包含以下数据项:

安全参数索引(SPI,Security Parameter Index)

一个 32 位值,由 SA 的接收端选定,用于唯一标识该 SA。

  • 出站 SA 的 SAD 条目中,SPI 用于构造包的 AH 或 ESP 头。
  • 入站 SA 的 SAD 条目中,SPI 用于将流量映射到适当的 SA(参见第 4.1 节中关于单播/多播的说明)。

序列号计数器(Sequence Number Counter)

一个 64 位计数器,用于生成 AH 或 ESP 头中的“序列号(Sequence Number)”字段。64 位序列号是默认值,但如果经过协商,也支持 32 位序列号。

序列号计数器溢出(Sequence Counter Overflow)

一个标志,指示当序列号计数器溢出时,是应当生成一个可审计事件并阻止在该 SA 上继续传输后续的包,还是允许回绕(rollover)。该事件的审计日志条目应该(SHOULD)包含 SPI 取值、当前日期/时间、本地地址、远端地址,以及来自相关 SAD 条目的选择器。

防重放窗口(Anti-Replay Window)

一个 64 位计数器和一个位图(bit-map,或其等价结构),用于判断某个入站 AH 或 ESP 包是否为重放包。

注意:如果接收方为某个 SA 禁用了防重放(例如手动配置密钥的 SA 的情况),则该 SA 的防重放窗口被忽略。64 位序列号是默认值,但该计数器的大小也兼容 32 位序列号。

AH 认证算法(AH Authentication Algorithm)

AH 认证算法、密钥等。仅当支持 AH 时才需要。

ESP 加密算法(ESP Encryption Algorithm)

ESP 加密算法、密钥、模式、IV 等。如果使用了组合模式(combined mode)算法,这些字段将不适用。

ESP 完整性算法(ESP Integrity Algorithm)

ESP 完整性算法、密钥等。如果未选择完整性服务,这些字段将不适用。如果使用了组合模式算法,这些字段将不适用。

ESP 组合模式算法(ESP Combined Mode Algorithms)

ESP 组合模式算法、密钥等。当 ESP 使用组合模式(加密与完整性)算法时使用这些数据。如果未使用组合模式算法,这些字段不适用。

本 SA 的生存期(Lifetime of this SA)

一个时间间隔,超过该间隔后 SA 必须被一个新的 SA(以及新的 SPI)替换或终止,并指明应当执行哪种动作。这可以表达为时间或字节计数,也可以同时采用两者,以先到期的生存期为准。

要求

  • 合规的实现必须(MUST)支持两种类型的生存期
  • 必须(MUST)支持同时使用两者

证书约束:如果使用时间,并且 IKE 使用 X.509 证书来建立 SA,则 SA 生存期必须受证书有效期区间,以及用于为该 SA 进行 IKE 交换的证书吊销列表(CRL)的 NextIssueDate 所约束。发起方和响应方都有责任以这种方式约束 SA 生存期。

注意:当 SA 到期时如何处理密钥刷新的细节属于本地事项。不过,一种合理的方法如下:

(a) 字节计数

如果使用字节计数,则实现应该(SHOULD)统计应用了 IPsec 密码算法的字节数。对于 ESP,这是加密算法(包括空(Null)加密);对于 AH,这是认证算法。这包括填充字节等。注意,实现必须(MUST)能够处理 SA 两端的计数器失去同步的情况,例如由于包丢失,或 SA 两端的实现处理方式不同所致。

(b) 两类生存期

应该(SHOULD)有两类生存期:

  • 软生存期(Soft lifetime):警告实现启动相应动作,例如建立替换 SA
  • 硬生存期(Hard lifetime):当前 SA 结束并被销毁的时刻

(c) 包交付

如果整个包未能在 SA 的生存期内交付,则该包应该(SHOULD)被丢弃。

IPsec 协议模式(IPsec Protocol Mode)

隧道(tunnel)或传输(transport)。表示此 SA 上的流量应用 AH 或 ESP 的哪种模式。

有状态分片检查标志(Stateful Fragment Checking Flag)

指示有状态分片检查是否适用于此 SA。

旁路 DF 位(Bypass DF Bit,T/F)

适用于内层和外层头均为 IPv4 的隧道模式 SA。

DSCP 取值(DSCP Values)

允许在此 SA 上承载的包所使用的 DSCP 取值集合。如果未指定取值,则不应用任何 DSCP 特定的过滤。如果指定了一个或多个取值,则它们用于在匹配某出站包流量选择器的多个 SA 中选择一个 SA。注意,不会对到达该 SA 的入站流量检查这些取值。

旁路 DSCP(Bypass DSCP,T/F)或映射到未受保护的 DSCP 取值

如需限制 DSCP 取值的旁路,则旁路 DSCP(T/F)或映射到未受保护的 DSCP 取值(数组)——适用于隧道模式 SA。该功能将 DSCP 取值从内层头映射到外层头中的取值,例如用于处理隐蔽信道信令(covert channel signaling)方面的顾虑。

路径 MTU(Path MTU)

任何观测到的路径 MTU 以及老化变量(aging variables)。

隧道头 IP 源地址与目的地址(Tunnel Header IP Source and Destination Address)

两个地址必须同为 IPv4 地址或同为 IPv6 地址。地址的版本隐含了要使用的 IP 头类型。仅当 IPsec 协议模式为隧道时才使用。