工作中的IPSec包含4类组件:
(1)IPSec进程本身:验证头协议AH或封装安全载荷协议ESP。
(2)Internet密钥交换协议(Internet Key Exchange,IKE):进行安全参数协商。
(3)SA数据库(SA Database,SAD):用于存储安全关联(SA,Security Association)等安全相关参数。
(4)安全策略数据库(Security Policy Database,SPD):用于存储安全策略。
IPSec的工作过程类似于包过滤防火墙。IPSec是通过查询安全策略数据库SPD来决定接收到的IP包的处理,但不同于包过滤防火墙的是,IPSec对IP数据包的处理方法除了丢弃、直接转发(绕过IPSec)外,还有进行IPSec的处理。进行IPSec处理意味着对IP数据包进行加密和认证,保证了在外部网络传输的数据包的机密性、真实性和完整性,使通过Internet进行安全的通信成为可能。
1. 出站数据包的处理
对于出站数据包,传输层的数据包进入IP层,然后按以下步骤处理(见图7-11):
(1)查找合适的安全策略。从IP包中提取出“选择符”来检索SPD,找到该IP包所对应的出站策略,然后用此策略决定对该IP包如何处理:绕过安全服务以普通方式传输此包或应用IPSec。
(2)查找合适的SA。根据策略提供的信息,在安全关联数据库SAD中查找为该IP包所应该应用的安全关联SA。如果此SA尚未建立,则会调用IKE,将这个SA建立起来。此SA决定了使用何种协议(AH或ESP),采用哪种模式(隧道模式或传输模式),以及确定了加密算法、验证算法、密钥等处理参数。
(3)根据SA进行具体处理。根据SA的内容,对IP包的处理将会有几种情况:使用隧道模式下的ESP或AH协议,或者使用传输模式下的ESP或AH协议。(www.daowen.com)
图7-11 出站数据包的IPSec处理
2. 入站数据包的处理
对于入站的数据包,按以下步骤处理(见图7-12):
(1)IP包类型判断:如果IP包中不包含IPSec头,将该包传递给下一层;如果IP包中包含IPSec头,会进入下面的处理。
(2)查找合适的SA:从IPSec头中取出SPI,从外部IP头中取出目的地址和IPSec协议,然后利用SPI、目的地址和协议在SAD中搜索SPI。如果SA搜索失败就丢弃该包。如果找到对应SA,则转入以下处理。
(3)具体的IPSec处理:根据找到的SA对数据包执行验证或解密,进行具体的IPSec处理。
(4)策略查询:根据选择符查询SPD,根据此策略检验IPSec处理的应用是否正确。最后,将IPSec头剥离下来,并将包传递到下一层。根据采用的模式的不同,下一层或者是传输层,或者是网络层。
图7-12 入站数据包的IPSec处理
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。