您的位置:首页 > 理论基础 > 计算机网络

TCP-IP详解:AH(Authentication Header)

2016-09-29 08:22 1026 查看
参考教材:TCP-IP Guide

IPSec核心协议是AH和ESP,本文主要介绍下AH协议的数据封装与传输

AH(Authentication Header)

这个协议主要是用来提供数据完整性校验和源校验,即只提供校验功能,并没有提供加密功能,我们知道对于这种虚拟的私有网络,实际上是公网上虚拟出来的隧道,核心在于要对对应协议的数据包进行IP层的封装,让其仍然变成IP包,然后在公网上传输,所以先看下AH协议不同模式下封装的数据

可以看到下图,传输模式下IPv4的AH协议封装的数据包,原始的数据包是一个IP header 紧接着一个TCP header,然后就是data,AH协议封装的数据包,会在IP Header 和TCP Header之间增加一个AH header,IP header的协议变成51 AH协议,AH header下一个header协议为 6 TCP header



隧道模式下的AH 数据包封装,这种模式把整个数据包都进行封装,然后再源的IP header之前增加AH header,然后再增加一个新的IPV4 header完成封装



AH的头



1. Next Header : AH header的下一个头部的协议号
2. Payload Length:AH header的长度
3. Reserverd: 保留
4. SPI : 安全的参数,目的地址和安全协议类型的组合,用于识别对这个包进行验证的安全联盟
5. Sequence Number:  单调增加的32位无符号整数,利用该域抵抗重发攻击(Replay Attack)

6. Authentication Data: 是一个长度可变的域,长度为32比特的整数倍。具体格式因认证算法而异 。该认证数据也被称为数据报的完整性校验值(ICV)
数据流程认证流程,从图中可以看出是对整个数据包进行认证,使用一个密钥通过单项散列函数输出认证后的数据,这些认证后的数据都会放到AH的header
中。下图是传出模式



隧道模式下认证,同样也是对整个数据包进行认证。



输出处理

1.使用相应的选择符(目的IP地址,端口号和传输协议)查找安全策略数据库获取策略。如需要对分组进行IPSec处理,且到目的主机的SA已经建立,那么符合分组选择符的SPD将指向外出SA数据库的一个相应SA束。如果SA还未建立,IPSec将调用IKE协商一个SA,并将其连接到SPD条目上。
2. 产生或增加序列号,当一个新的SA建立时,序列号计数器初始化为0,以后每发一个分组,序列号加1
3.计算ICV(完整性校验值)
4.转发分组到目的节点

输入处理

1.若IP分组采用了分片处理,要等到所有分片到齐后重组

2.使用IP分组头中的SPI、目的IP地址以及IPSec协议在进入的SA数据库中查找SA,如果查找失败,则抛弃该分组,并记录事件。
3.使用已查到的SA进行IPSec处理
4.使用分组中的选择符进入SPD查找一条域选择符匹配的策略,检查策略是否相符

5.检查序列号,确定是否为重放分组
6.使用SA指定的MAC算法计算ICV,并与认证数据域中的ICV比较,如果两值不同,则抛弃分组
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  network ipsec 安全 加密