9.2.2 IPsec鉴别首部

我们知道,在标准的IP数据报中没有提供安全机制。具体来讲,IP数据报的首部中没有关于数据传输安全的处理字段。如果采用IPsec,就必须为提供安全保证而在数据报中增加有关安全机制的字段和相应的处理,那么,这样就可能造成与标准的IP数据报不兼容。

为了提供数据传输的安全机制,同时又不破坏IP数据报的兼容性,IPsec使用了单独的鉴别首部(Authentication Header, AH)传送鉴别信息,如下图所示。这样,就保持了IP首部的一致性。

IPsec首部信息放在标准IP首部的后面,并将IP首部中的协议字段设置为5,用于标识鉴别首部。

既然IPsec将IP数据报首部中的协议字段设置为5,那么,接收方又如何来确定数据报中传输的信息的类型呢?例如,是TCP报文还是UDP报文呢?

原来,如下图所示,在鉴别首部中,第一个字段成为下一首部(next header)字段,该字段用于存放标准IP首部中原来存放的协议类型的代码。鉴别首部的第二个字段称为有效载荷长度(payload length),用于指定鉴别首部本身的长度。鉴别首部的其它字段均与安全性有关。其中序号(sequence)字段为每个发送的分组包含一个唯一的序号,当确定选择某个安全算法后,序号从0开始;安全参数索引(security parameters index)字段指定使用的安全方案;鉴别数据(authentication data)字段包含选定的安全方案中的数据。