ESP IP 封装安全有效载荷( 五 )


能包含不同的IP地址 , 例如安全网关地址 。ESP保护整个内部IP分组 , 其中包括整个内部IP
头 。相对于外部IP头 , 隧道模式的ESP位置与传送模式中ESP位置相同 。下面数据报图示了典
型IPv4和IPv6分组中ESP隧道模式的位置 。
-----------------------------------------------------------
IPv4新IP头*原始IP头*ESPESP
(所有选项)ESP(所有选项)TCP数据尾部验证
-----------------------------------------------------------
<---------已加密---------->
<-----------已验证---------->
------------------------------------------------------------
IPv6新*新扩展原始*原始扩展ESPESP
IP头头*ESPIP头头*TCP数据尾部验证
------------------------------------------------------------
<---------已加密----------->
<----------已验证---------->
*=假如存在 , 外部IP头/扩展的结构和内部IP头/扩展的修改在下面讨论 。
3.2算法
强制实现算法在第5节描述 , “一致性要求” 。但也可以支持其他算法 。注重尽管机密性和验
证是可选的 , 但是至少要从这两种服务中选择其一 , 因此相应的两种算法不答应同时为NULL 。
3.2.1加密算法
采用的加密算法由SA指定 。ESP使用对称加密算法 。因为到达的IP分组可能失序 , 每个分
组必须携带所有要求的数据 , 以便答应接收方为解密建立加密同步 。这个数据可能明确地装载在
有效载荷字段 , 例如作为IV(上面描述的) , 或者数据可以从分组头推导出来 。因为ESP预备了
明文填充 , ESP采用的加密算法可以显示块或者流模式特性 。注重因为加密(机密性)是可选的 ,
这个算法可以为“NULL” 。
3.2.2验证算法
ICV计算使用的验证算法由SA指定 。点对点通信时 , 合适的验证算法包括基于对称加密算
法(例如DES)的或者基于单向散列函数(例如MD5或SHA-1)的键控消息鉴别码(MAC) 。
对于多点传送通信 , 单向散列算法与不对称数字签名算法结合使用比较合适 , 虽然目前性能和空
间的考虑阻止了这种算法的使用 。注重验证是可选的 , 这个算法可以是“NULL” 。
3.3出站分组处理
传送模式中 , 发送方把上层协议信息封装在ESP头/尾中 , 保留了指定的IP头(和IPv6中所
有IP扩展头) 。隧道模式中 , 外部和内部IP头/扩展头以各种方式相关 。封装处理期间外部IP
头/扩展头的构建在安全架构文档中描述 。假如安全策略要求不止一个IPsec头扩展 , 安全头应用
的顺序必须由安全策略定义 。
3.3.1SA查找
只有当IPsec实现确定与某个调用ESP处理的SA相关联时 , ESP才应用于一个出站分组 。
确定对出站分组采取哪些IPsec处理的过程在安全架构文档中描述 。
3.3.2分组加密
在本节中 , 由于格式化的含意 , 我们依据经常采用的加密算法来讲述 。需要理解采用NULL
加密算法提供的“没有机密性” 。因此发送方:
1.封装(到ESP有效载荷字段):
-传送模式–只有原始上层协议信息 。
-隧道模式–整个原始IP数据报 。
2.增加所有需要的填充 。
3.使用SA指明的密钥 , 加密算法 , 算法模式和加密同步数据(假如需要)加密结果 。
-假如指出显式加密同步数据 , 例如IV , 它经由算法规范输入到加密算法中 , 并放在有
效载荷字段中 。
-假如指出隐式加密同步数据 , 例如IV , 它被创建并经由算法规范输入加密算法 。
构建外部IP头的确切步骤依靠于模式(传输或者隧道) , 并在安全架构文档中描述 。
假如选择验证 , 验证之前首先执行加密 , 而加密并不包含验证数据字段 。这种处理顺序易于

推荐阅读