「IPSec VPN」- AH, Authentication Header(RFC 2402)

  CREATED BY JENKINSBOT

IP.Protocol == 51

验证头(Authentication Header, AH) 是 IPSec 协议集合中的另个重要安全协议, 用于为 IP 提供 数据完整保护、 数据原始身份认证、防重放服务,但不提供机密性保护。

数据原始身份认证:AH 定义保护方法、 报头的位置、 身份验证的覆盖范围以及输出和输入处理规则, 但没有对所用的身份验证算法进行定义。

防重放服务:与 ESP 一样, AH 没有硬性规定防重放保护,是否使用防重放服务由接收端自行选择。发送端无法得知接收端是否会检查其序列号,其结果是发送端必须一直认定接收端正在采用防重放服务。

数据完整保护:AH 与 ESP 提供的数据完整性稍有不同; AH 对外部 IP Header 部分也会进行身份验证。

机密性保护:由于 AH 不提供机密性保证, 所以它也不需要加密算法,所 AH 头比 ESP 头简单得多。由于不需要填充和一个填充长度指示器, 因此也不存在尾部字段。 另外, 也不需要一个初始化向量。

封装结构

原始数据:                                                       | IP Header | Data |

传输模式:                                                       | IP Header | AH | Data |	

隧道模式:        | New IP Header | AH | IP Header | Data |

进行认证的部分:
1)传输模式:验证整个 IP 报文所有不变的部分(类似 TTL 等等,在传输过程中将发生改变的字段,不会被 AH 进行验证)
2)隧道模式:验证整个 IP 报文所有不变的部分,包括 New IP Header 在内(同理,依旧验证不变的部分)

报文格式

认证部分不包括:服务类型,分段偏移,存活时间,头校验和。鉴于源末地址会被校验,所以 AH 无法穿越 NAT 服务;

参考文献

IPsec – Wikipedia/
The TCP/IP Guide – IPSec Authentication Header (AH)