Skip to content

安全加密协议 ​


IKE协商完后,实际报文将使用安全加密协议(AH/ESP)对报文进行加密。

AH ​

Authentication Header Protocol,头部认证协议
AH 提供认证和数据的完整性,但是不提供加密。
通过计算IP头部的hash值,做完整性校验(去除IP头部的异变字段,如TTL,头部校验和).
具有抗重播能力(通过序列号,滑动窗口以及丢弃旧的报文实现)。

报头格式 ​


字段说明
下一个头标识被传送数据的协议(TCP/UDP/ICMP)
载荷长度认证头包的大小
保留为将来的应用保留(目前都置为0)
安全参数索引与IP地址一同用来标识安全参数
序列号单调递增的数值,用来防止重放攻击
完整性校验值包的哈希值,接受放通过同样的计算方式,确保数据完整性

传输模式 ​



隧道模式 ​



不足 ​

AH在NAT/PAT时无法使用。
因为IP头部在计算hash值时,TTL和校验和被排除,但是ip和端口被包含在内。
但做NAT时,ip和端口会改变,导致ICV和AH校验失败。

ESP ​

与AH不同的是,ESP不对整个IP包进行认证和完整性保护,IP分组头部不被包括在内。

报头格式 ​


字段说明
安全参数索引与IP地址一同用来标识安全参数
索引号单调递增的数值,用来防止重放攻击
载荷数据实际要传输的数据
填充某些块加密算法用此将数据填充至块的长度
填充长度以位为单位的填充数据的长度
下一个头标识被传送数据所属的协议
认证数据包含了认证当前包所必须的数据

传输模式 ​



隧道模式 ​



AH和ESP组合 ​

传输模式 ​



隧道模式 ​



参考 ​

RFC 4302 - IP Authentication Header
RFC 4303 - IP Encapsulating Security Payload (ESP)