Compare Plans

因特网协议安全(IPsec)

更新时间:2021-12-10

22.1介绍

因特网协议安全(IPsec)在IP层(包括IPv4和IPv6)提供了多种安全服务,从而为上层协议提供保护。IPsec一般用来保护主机和安全网关之间的通信安全,其提供的安全服务包括:

• 接入控制。

• 数据完整性保护。

• 数据源认证。

• 反重放攻击(replay)保护。

• 机密性。

• 有限的业务流机密性。

1-211210101355R1.png

IPsec可以工作在两种模式,即隧道模式和传送模式。传送模式主要用于给上层协议提供安全服务。隧道模式典型地用于将两个安全网关之间IP业务流放入隧道来传输。二者的不同点在于:传送模式中,IPsec仅给IP头提供有限保护;而在隧道模式中,整个IP数据包都受到保护。具体来说,在封装安全净荷(ESP)以的情况下,没有为ESP头前面的IP头提供安全服务,而认证头(AH)则会将保护扩展到IP头的某些部分。

IPsec安全体系[RFC2401]的组成成分如下:

• 安全协议——AH[RFC2402]和ESP[RFC2406]o

• 安全联盟——安全策略数据库(SPD)和安全联盟数据库(SAD)的定义,以及安全联盟的管理和使用。

• 密钥管理——加密密钥的分配,以便与安全协议(即因特网密钥交换或称IKE[RFC2409])一起使用。

• 用于加密和认证的算法。

在下面几节中,我们将对上述每一个成分进行简要介绍。

22.2 安全联盟

安全联盟的概念与IPsec关系密切。安全协议利用安全联盟(SA)来提供安全服务(密钥管理的主要责任就是建立和管理SA)。SA是两个实体间的一种关系,这种关系定义它们如何使用安全服务来保证通信的安全。它包括有关认证和/或加密算法、加密密钥和密钥长度以及在实体间共享的初始化矢量(IV)的信息。SA是单向的,因此双向业务流一般需要两个SA其中一个用于入站(inbound)的(读)业务流,另一个用于出站(outbound)的(写)业务流。SA由以下三项惟一标识:

• 安全参数索引(SPI);

• 目的IP地址;

• 安全协议(AH或ESP)。

SA的管理涉及到两个数据库,即SPD和SAD。SPD包含所有入站和出站业务流在主机或安全网关上进行分类的策略。SAD是所有激活SA与相关参数的容器。SPD使用一系列选择器将业务流映射到特定的SA,这些选择器包括IP层和上层(如TCP和UDP)协议的字段值。

22.3  因特网安全联盟和密钥管理协议(ISAKMP)

因特网安全联盟和密钥管理协议(ISAKMP)用来对SA和相关参数进行协商、建立、修改和删除。它定义了SA对等认证的创建和管理过程以及包格式,还有用于密钥产生的技术。它还包括缓解某些威胁(如拒绝服务(DOS)和反重放攻击)的机制。

在ISAKMP中,SA和密钥管理与任何密钥交换协议都是分开的。因此,在议某种程度上,ISAKMP是一种“抽象的”协议一它提供认证和密钥管理的框架,支持许多实际的密钥交换协议(如IKE)oISAKMP定义了消息头和净荷的格式,但需要实施到具体的协议集。这种实施表示为ISAKMP的解释域(DOI):IPsec/IKE中的例子就是IPsecDOI[RFC2407]。

ISAKMP分两阶段工作。第一阶段,在对等端之间建立一个ISAKMPSA——也就是它们对保证下一步通信安全所用的机制进行认证并达成一致。第二阶段,使用该ISAKMPSA用来协商进一步的协议SA(例如IPsec/ESPSA)。在初始的ISAKMPSA建立起来后,可以建立多个协议SA。

22.4因特网密钥交换(IKE)

因特网密钥交换(IKE)是一种密钥交换协议,和ISAKMP一起,为SA协商认证密钥材料。IKE可以使用两种模式来建立第一阶段的ISAKMPSA,即主模式和侵略性模式。两种模式均使用短暂的Diffie-Hellman密钥交换算法。来生成ISAKMPSA的密钥材料。两种模式间的不同点在于:主模式虽然要使用更多的消息往返次数,但能保护协商实体的身份;而在侵略性模式中,协商实体身份则暴露给外界。在第一阶段建立起ISAKMPSA以后,就可以协商协议SA了,而协议SA的协商通过使用ISAKMPSA而确保了安全。

22.5封装安全净荷(ESP)

封装安全净荷(ESP)协议用来在IPv4和IPv6中提供安全服务。它可单独使用或与AH一起使用,可提供机密性(如加密)或完整性保护(如认证)或同时提供两种功能。正如前面所提到的,ESP可以工作在传送模式或隧道模式。

在传送模式中,ESP头插入到IP数据报中IP头后面、所有上层协议头前面的位置;而在隧道模式中,它位于所封装的IP数据报之前。图22-1给出了ESP数据包的格式。

因特网协议安全(IPsec)(图1)

图22-1  ESP数据包格式

ESP头中的字段如下:

• SPI——是一个惟一的随机32位数,与目的IP地址和安全协议一起,惟一地标识数据包的SA。

•序列号——单调递增的32位计数器,用来进行重放攻击保护。在SA建立时,序列号重置为0。

• 净荷数据——可变长度字段,一般包含数据净荷,其类型用下个消息头(NextHeader)字段来指示。它还可能包含加密同步数据,例如IV。

•填充——用来将净荷数据填充成特定加密算法所要求的特定块大小的整数倍,或者使净荷长度随机化,以对抗业务流分析。

•填充长度个8bit的字段,指示填充字段的长度,单位为字节。

•下个消息头——一个8bit字段,用来指示净荷数据区中的数据类型;

•认证数据一一包含一个完整性检验值(ICV)的可变长度字段,通过ESP数据包的余下部分计算得到(使用一种认证算法),以提供数据完整性保护。

为了处理出站业务,主机或安全网关首先使用SPD中的一组选择器来确定所使用的出站SA。紧接着就是一系列处理出站数据包的步骤:

• 将整个出站IP数据包原样封装在一个ESP净荷字段中(隧道模式),或者仅原样封装出站IP数据包的上层协议信息(传送模式)。

• 向净荷数据中加入适当的填充字节。

• 使用一个加密密钥和一个加密算法来对上述结果进行加密。

• 适当地进行序列号递增

• 若要进行认证,则计算ICV。

• 还有可能进行IP数据包分段。

当收到IP数据包时,接收者根据以下步骤来处理数据包:

• 可能进行IP数据报的重组。

• 根据SPI、安全协议和目的IP地址从SAD中查找相应的SA。

• 若需要进行重放攻击保护,则检查序列号。

• 若要进行认证,则验证ICV。

• 对数据包进行解密,去掉填充字节,重构初始的IP数据报。

22.6小结

IPsec在IPv4和IPv6的IP层提供安全服务,给高层协议提供保护。IKE用来进行密钥交换:创建和管理SA以及相关的安全参数,而ESP则用于提供机密性和完整性保护。

㊀若是一个新的SA所保护的第一个数据包,则序列号从0开始。

下一篇

压缩SIP消息

通信知识

压缩SIP消息

信令压缩(SigComp)是一种被应用层协议用来在消息发送到网络之前对其进行压缩的机制。从应用的角度看,它是应用协议和传输协议之间的一层。SigComp使用通用解压缩虚拟机(UDVM)来对消息进行解压缩。图12-1给出了SigComp在协议栈中的位置。SigComp在[RFC3320]中定义。使用SigComp压缩的消息被称为SigComp消息。23.1 SigComp体系SigComp体系可分为 ...

相关内容

云对讲 VS 可视对讲(功能、应用场景及安全性保障探究)

云对讲 VS 可视对讲(功能、应用场景及安全性保障探究)

一、云对讲和可视对讲的区别云对讲和可视对讲是两种不同类型的通信系统,它们在技术实......

通信知识

2025-04-01

云对讲系统如何确保通信安全?安全保障措施有哪些?

云对讲系统如何确保通信安全?安全保障措施有哪些?

​一、云对讲概述云对讲是一种基于云计算技术的实时通信系统,它通过网络将终端设备与......

通信知识

2025-04-01

云呼叫平台核心功能有哪些? 如何保障云呼叫平台安全性?

云呼叫平台核心功能有哪些? 如何保障云呼叫平台安全性?

一、云呼叫平台概述云呼叫平台是一种基于云计算技术的通信解决方案,它允许企业通过互......

通信知识

2025-04-01