5.3.7 IPSec协议处理过程
1.外出处理
对于外出数据包,不论是本机产生的还是转发的,IPSec协议要先查询SPD,确定为数据包应使用的安全策略。根据指示,对该数据包作出3种可能的处理:
(1)丢弃——丢弃数据包,并记录出错信息。
(2)绕过IPSec——给数据包添加IP头,然后发送。
(3)应用IPSec——查询SAD,确定是否存在有效的SA。
①存在有效的SA,则取出相应的参数,将数据包封装(包括加密、验证,添加IPSec头和IP头等),然后发送。具体如下:
i)AH输出包处理过程:
● AH头定位:在传输模式下,AH头插在IP头和上层协议头之间;在隧道模式下,AH头在整个原IP数据包之前。
● 发送方对IP包计算认证数据ICV,并将结果放入输出包的认证数据字段随包发送。
ii)ESP输出包处理过程:
● ESP头定位:在传输模式下,ESP插在IP头和上一层协议头之间;在隧道模式下,ESP头在整个原IP数据包之前。
● 包加密:a)封装:把数据封装到ESP的有效负载字段
传输模式——只封装上层协议数据;
隧道模式——封装整个原IP数据包。
b)加密:使用由SA指定的密钥和加密算法对上述结果加密。
● 如果在ESP中选定了认证选项,发送方对IP包计算认证数据ICV,并将结果放入输出包的认证数据字段随包发送。
● 必要时进行分段。
②尚未建立SA,策略管理模块启动或触发IKE协商,协商成功后按①中的步骤处理,不成功则应将数据包丢弃,并记录出错信息。
③存在SA但无效,策略管理模块将此信息向IKE通告。请求协商新的SA,协商成功后按①中的步骤处理,不成功则应将数据包丢弃,并记录出错信息。
2.进入处理
对于进入数据包,IPSec协议先根据包中目的IP地址、安全协议和SPI查询SAD,如得到有效的SA,则对数据包进行解封(或还原),再查询SPD,验证为该数据包提供的安全保护是否与策略配置的相符。如相符,则按SA中指定的算法进行解密(用ESP协议时)并重新构造原IP数据包格式,然后将还原后的数据包交给TCP层或转发。如不相符,或要求应用了IPSec但没有用于此会话的SA存在,若SA无效,则将数据包丢弃,并记入日志。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。