跳转至

安全加密协议


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)