网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

互联网协议认证头

更新时间:2026年03月27日   作者:spoto   标签(Tag):

互联网协议认证头(IP Authentication Header,AH)是IPsec(互联网协议安全)组件的一部分。它负责确保数据的完整性、数据来源的真实性,以及提供可选的防重放保护功能。IP Authentication Header能够确保数据在传输过程中未被篡改,同时还能验证发送者的身份。在本文中,我们将重点讨论IP Authentication Header的相关内容。

什么是认证头?

认证头(Authentication Header, AH)是IPsec协议套件中使用的一种安全协议。它的主要作用是在消息传输过程中确保消息不会被篡改,同时确认数据的来源确实来自预期的发送方。认证头通过为IP数据包添加一个包含校验和的数据头来实现这一功能。数字签名它的主要功能包括:

  • 消息完整性——这意味着,消息在从源端传输时不会被修改。
  • 来源验证 –也就是说,这个来源正是我们预期会获得数据的那个来源。

当数据包从源A发送到目标B时,它包含了我们需要发送的数据,以及包含数据包相关信息的头部信息。 认证头用于验证数据的来源以及其中的有效载荷。同时,它还可以确认在数据从源端传输到目标端的过程中是否发生了任何修改。 不过,在传输过程中,某些IP头部字段的值可能会发生变化(比如:跳跃次数、选项、扩展头部等)。 因此,这类字段的值无法受到“Authentication Header”的保护。 认证头并不能保护IP头部中的每一个字段。 它为那些必须受到保护的领域提供保护。

认证头格式

  • 下一个标题 –Next Header是一个8位的字段,用于标识在Authentication Header之后出现的头文件的类型。如果……TCP, UDP或者,它还可以存储与目的地址相关的扩展头信息。比如,该字段中的数字4表示IPv4协议;而数字41则代表其他协议。IPv6而数字6则表示TCP协议。
  • 有效载荷长度 –有效载荷的长度,指的是“认证头”的长度。在这里,我们采用了4的缩放因子来进行计算。 无论标题的大小如何,都将其除以4,然后再减去2。 我们减去了2,因为不计算认证头中的前8个字节。如上图所示,认证头实际上包含的是前两行数据而已。 这意味着,在计算有效载荷长度时,我们并没有将Next Header、有效载荷长度、保留字段以及安全参数索引这些元素纳入计算范围。 比如,如果有效载荷的长度被设定为X的话。 那么,(X+2)*4的值就相当于原始的认证头长度了。

  • 预留的/已占用的这是一个16位的字段。由于该字段被预留用于后续使用,因此发送方会将其设置为“零”。
  • 安全参数索引(Security Parameter Index, SPI)这是一个任意设定的32位字段。它实际上是一个非常重要的字段,用于标识所有属于当前连接的数据包。如果我们正在将数据从源A传输到目标B,那么A和B都已经知道他们将要使用的算法和密钥。因此,对于认证来说,这个字段非常重要。哈希函数需要用到一种密钥,只有发送方和接收方能知道这个密钥的内容。A和B之间交换的密钥是通过某种方式来实现的。迪菲-赫尔曼算法因此,哈希算法以及连接的安全参数索引中的秘密密钥都是固定的。在数据传输开始之前,必须先建立安全关联。安全关联在数据交换之前,双方必须进行沟通。安全关联信息中包含了所使用的安全参数索引、哈希算法以及密钥等信息。
  • 序列号 –这个没有签名的32位字段中,包含了一个计数器的值。每发送一个数据包,该计数器的值就会增加1。每个数据包都需要有一个序列号。该序列号的起始值为0,并且会一直递增下去。2的32次方– 1个序列号而已,不需要进行循环处理。也就是说,如果所有的序列号都已经用完了,那么就没有更多的序列号可以使用了。因为不允许进行循环处理。所以,我们需要终止当前的连接,然后重新建立连接,以便继续传输第0个序列号之后的数据。基本上,序列号的作用就是用来防止重复攻击的。重放攻击如果同一条消息被发送了两次或更多次,接收者将无法判断这些消息是否来自同一个来源。比如,我向接收者请求100美元,而这时有入侵者又提出了另外100美元的请求。在这种情况下,接收者就无法知道到底是谁在中间插手了。
  • 认证数据(完整性检查值)认证数据是一种可变长度的字段,其中包含了数据包的完整性检查值(ICV)。 通过哈希算法和秘密密钥,发送方可以生成消息的摘要,然后将该摘要发送给接收方。 另一方面,接收方将使用相同的哈希算法和秘密密钥。 如果两条消息的摘要相匹配,那么接收方就会接受这些数据。 否则,接收方会认为该消息在传输过程中被修改了,从而将其丢弃。 基本上,认证数据被用来验证传输数据的完整性。 此外,认证数据的长度也取决于您所选择的哈希算法。

认证头是如何工作的呢?

当数据包从源A发送到目标B时,它包含了数据以及头部信息。认证头部用于验证数据的来源,并检查在传输过程中是否发生了任何修改。需要注意的是,有些情况下……IP头部在传输过程中,一些字段(如跳数、选项以及扩展头部等)可能会发生变化,而这些字段并不受Authentication Header的保护。Authentication Header的主要作用就是保护IP头部中的关键字段。

认证头部中的操作模式

  • 认证头传输模式:在认证头传输模式中,它位于两者之间。原始的IP头部和IP数据包,以及原始的TCP头部。
  • 认证头隧道模式:在这种认证头隧道模式下,原始IP数据包会被完整地进行认证处理,同时,认证头会被插入到这两个数据包之间。原始的IP头部,以及新的外部IP地址标题/头部在这里,内部IP头部包含了以下内容:最终源IP地址和目的IP地址。而外部IP头部则包含不同的IP地址,这些IP地址实际上就是防火墙或其他安全网关的IP地址。

Header Deals是如何应对重放攻击的?

  • 在重放攻击中,攻击者会复制经过身份验证的数据包,然后将其发送到目标地址。由于同一个数据包被发送了两次,目标用户可能会遇到一些问题。为了减轻这个问题,认证头部会包含一个序列号字段。
  • 在这种情况下初始阶段该字段的值被设置为0每当发送方将数据包通过相同的SA发送给同一个接收方时,该字段的值就会增加1。.如果同一时间段内传输的数据包数量继续增加,那么与接收方的通信就需要与接收方建立一个新的安全关联了。
  • 在接收端,接收器会维护一个大小为W的滑动窗口。默认情况下,W的值为64。这个窗口的右边界代表了迄今为止接收到的有效数据包中的最高序列号N。当接收器从发送方接收到数据包时,它会采取相应的操作。具体的操作方式取决于该数据包的序列号。

结论

互联网协议认证头是一种重要的安全协议,属于IPsec系列协议的一部分。该协议能够确保IP数据包的完整性、源地址的真实性,以及防止数据被重复传输。 AH能够提升IP通信的安全性,因为它能够确保数据的完整性,并确认发送者的身份。 它采用两种运行模式:公共交通模式和隧道模式。此外,该系统还使用序列号来防止重复攻击的发生。 虽然AH并不提供加密功能,但它在确保传输过程中数据的完整性和有效性方面起着至关重要的作用。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料