9.2.4 IPsec封装安全有效载荷

为了提供保密性以及鉴别的支持,IPsec使用了比鉴别首部AH 更复杂的封装安全有效载荷ESP(encapsulating Security Payload)。在IP数据报中的协议字段设置为50就标识发送方的数据采用了ESP,于是接收方应该按照ESP的结构来解析数据报的内容,如下图所示。

ESP包含了三个字段。其中ESP首部位于IP首部之后,在加密的有效载荷前面。对ESP尾部以及有效载荷进行加密,可变长度的ESP鉴别数据字段在加密部分的后面。

ESP采用了许多与AH相同的条目,但是重新排列了它们的顺序。ESP首部的结构如下图所示,其中包含有安全参数索引和序号的8个八位组。

ESP尾部包含有可选的填充项、填充长度和下一首部字段,再后面为可变数量的鉴别数据,如下图所示。

关于填充字段可选存在三个原因:

一些加密算法要求在加密的报文后加零;

下一首部字段在4个八位组的最右边。如果后面的鉴别数据要求对齐4个八位组的边界,因此需要填充零来对齐;

一些网点可能选择添加随机数量的零,这样在传输路径上的中间点上的偷听者就不容易根据数据报的大小来猜测它的用途。

另外,需要指出的是,IPsec鉴别机制要保证到达的数据报和源站发出的数据报一致,因此,在进行鉴别计算的时候,没有将IP数据报传输过程中正常变化的字段包含在鉴别的范围之内。比如TTL寿命字段、首部校验和字段。