更新时间:2022-08-25 16:10
安全关联是指一组用来保护信息的策略和密钥。安全关联的概念是IPSec的基础。AH和ESP都使用了安全关联,所有AH和ESP的实现都必须支持安全关联。安全关联有两种类型:传输模式和隧道模式。传输模式安全关联是两台主机间的安全关联。隧道模式安全关联是运用于IP隧道的安全关联。
安全关联是单向的,在两个使用IPSec的实体(主机或路由器)间建立的逻辑连接,定义了实体间如何使用安全服务(如加密)进行通信。它由3个元素——安全参数索引SPI、IP目的地址和安全协议组成。
SA是一个单向的逻辑连接。也就是说,在一次通信中IPSec需要建立两个SA:一个用于入站通信,另一个用于出站通信。若某台主机,如文件服务器或远程访问服务器,需要同时与多台客户机通信,则该服务器需要与每台客户机分别建立不同的SA,每个SA用唯一的SPI索引标识,当处理接收数据包时,服务器根据SPI值来决定该使用哪个SA。
一个安全关联由下面3个参数唯一确定:
1)安全参数索引号(SPI):一个与SA相关的位串,由AH和ESP携带,使得接收方能选择合适的SA处理数据包。
2)IP目的地址:只允许使用单一地址,表示SA的目的地址。
3)安全协议标识:标识该SA是AH安全关联或ESP安全关联。
每个SA条目除了有上述参数外,还有下面的参数:
1)序列号计数器:一个32bit的值,用于生成AH或ESP头中的序号字段,在数据包的“外出”处理时使用。SA刚刚建立时,该参数的值为0,每次用SA来保护一个数据包时,序列号的值便会递增l。目标主机可以用这个字段来探测所谓的“重放”攻击。
2)序列号溢出:用于输出包处理,并在序列号溢出的时候加以设置,安全策略决定了一个SA是否仍可用来处理其余的包。
3)抗重放窗口:用于确定一个入栈的AH或ESP包是否是重放。
4)AH信息:AH认证算法、密钥、密钥生存期和其他AH的相关参数。
5)ESP信息:ESP认证和加密算法、密钥、初始值、密钥生存期和其他ESP的相关参数。
6)SA的生存期:一个SA最长能存在的时间。到时间后,一个SA必须用一个新的SA替换或终止,生存期有两种类型——软的和硬的。软生存期用来通知内核SA马上到期了,这样,在硬生存期到来之前,内核能及时协商好一个SA,从而避免了SA过期后造成的通信中断。
7)IPSec协议模式:隧道、传输、通配符(隧道模式、传输模式均可)。
8)路径MTU:在隧道模式下使用IPSec时,必须维持正确的PMTU信息,以便对这个数据包进行相应的分段。
一个SA对IP数据报不能同时提供AH和ESP保护。有时,特定的安全策略要求对通信提供多种安全保护,这就需要使用多个SA。当把一系列SA应用于业务流时,称为SA束。SA束的顺序由安全策略决定,SA束中各个SA的终点可能不同。例如,一个SA可能用于移动主机与路由器之间,而另一个可能用于移动主机与路由器内的主机。
IPSEC的实现需要维护两个与SA有关的数据库:
(1)安全策略数据库(SPD)。用于为IPSEC实现提供安全策略配置,包括源地址、目的地址、子网掩码、端口、传输层协议、动作(丢弃、绕过、应用)、进出标志等。这些数据项指定某些数据流必须绕过IPSEC的处理,某些必须丢弃,其余的必须经过IPSEC模块的处理。SPD中的数据项跟防火墙规则或包过滤器规则很相似。
(2)安全联盟数据库(SADB)。SADB是SA的集合,其中包含每一个SA的参数信息,例如目的地址、安全协议、SPI、序列号计数器、序列号溢出标志,抗重播攻击窗口、AH或ESP算法和密钥、IPSEC协议模式以及SA生命周期等。对于流出数据的处理,会有一个SPD数据项包含指向某个SADB数据项的指针。也就是说,SPD决定了一个给定的数据包究竟使用哪一个SA。对于流入数据的处理,由SADB来决定如何对给定数据包做处理。
IPSec体系结构文档列举了 IPSec主机(如工作站、服务器)和安全网关(如防火墙、路由器)必须支持的4个SA组合的例子。每种情况的下部表示元素的物理连接;上部表示一个或多个嵌套SA的逻辑连接。每个SA可以是AH或ESP对于主机对主机的SA来说,既可以是传输模式也可以是隧道模式,除此之外都是隧道模式。
情况1:实现 IPSec的终端系统提供所有的安全。对于通过SA通信的任意两个终端系统而言,它们必须共享密钥,有下面儿种组合:
a.传输模式下的AH:
b.传输模式下的ESP;
c.在传输模式下,ESP后面紧接AH( ESP SA内置于AHSA中)
d.a、b、c任何一个内置于隧道模式下的AH或ESP。
已经讨论了各种组合是如何用来支持认证、加密、先认证再加密和先加密再认证的。
情况2:仅在安全网关(比如路由器、防火墙等)之间提供安全性,主机没有实现IPSec这种情况说明了简单的虚拟专用网络支持。安全体系结构文档说明在这样的情况下仅需要单个隧道模式的SA。隧道可以支持AH、ESP或带认证选项的ESP。因为 IPSec服务被应用于整个内部包,所以不需要嵌套的隧道。
情况3:在情况2的基础上加上端对端安全。在情况1和情况2中讨论的组合在情况3中均被允许。网关对网关的隧道为终端系统间的所有流提供了认证或保密或认证加保密。当网关对网关隧道为ESP时,则对流提供了一定的保密性。个人主机可以根据特定的应用或用户的需要实现任何额外的 IPSec服务,这是通过使用端对端SA来实现的。
情况4:为通过互联网到达组织的防火墙然后获得在防火墙后面特定的工作站和服务器的访问权限的远程主机提供支持。在远程主机和防火墙之间仅需要隧道模式,如情况1提到的,在远程主机和本地主机之间可能使用一个或者多个SA。