什么是身份验证标头 (AH) 格式?

身份验证头 (AH) 用于为 IP 数据报提供完整性和身份验证。重放保护也是可能的。这些服务是无连接的,这意味着它们在每个数据包的基础上工作。

AH 用于以下两种模式 -

  • 运输方式

  • 隧道模式

AH 认证与 IP 数据报相同。在传输模式下,IP 报头中的某些字段在途中会发生变化,并且接收者无法预测它们的值。这些字段称为可变字段,不受 AH 保护。

可变 IPv4 字段

可变 IPv4 字段如下 -

  • 服务类型 (TOS)

  • 标志

  • 片段偏移

  • 生存时间 (TTL)

  • 标头校验和

为了保护这些领域,必须使用隧道。IP 数据包的有效负载被认为是不可变的,并且始终受 AH 保护。

  • AH 处理仅适用于未分段的 IP 数据包。而应用了 AH 的 IP 数据包可以被中间路由器分段。

  • 在这种情况下,目的地首先重组数据包,然后对其进行 AH 处理。

  • 如果一个看似片段的 IP 数据包被输入到 AH 处理,则它被丢弃。

  • 这可以防止重叠片段攻击,该攻击滥用片段重组算法来创建伪造的数据包并强制它们通过防火墙。

  • 未通过身份验证的数据包将被丢弃,并且永远不会传递到上层。

  • 这种操作模式大大降低了成功的拒绝服务攻击的机会。

AH 格式

AH 格式在 RFC 2402 中进行了描述。下面显示了 Authentication Header 字段在 IP 数据包中的位置。

字段如下 -

下一个标题

它是一个 8 位字段,用于标识后面内容的类型。该字段的值是从设置为 51 的 IP 头协议字段集合中选择的,而协议字段中的值将进入 AH 下一个头字段。

有效载荷长度

它是一个 8 位长的字段,包含以 32 位字表示的 AH 头的长度,减去 2。它与 IP 数据包的实际有效负载长度无关。假设如果使用默认选项,则值为 4(三个 32 位固定字加上三个 32 位认证数据字减去两个)。

预订的

它保留供将来使用。它的长度为 16 位,并设置为零。

安全参数索引 (SPI)

它的长度为 32 位。

序列号

这个 32 位字段是一个单调递增的计数器,用于重放保护。它是一个可选字段。发送方始终包含此字段,接收方可自行决定是否处理它。开始的序列号被初始化为零。使用 SA 传输的第一个数据包的序列号为 1。序列号不允许重复。

认证数据

这是一个包含完整性校验值 (ICV) 的可变长度字段,对于 IPv4 填充为 32 位,对于 IPv6 填充为 64 位。