Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IPsec 概述

安全关联概述

要使用 IPsec 安全服务,请在主机之间创建 SA。SA 是一种简单的连接,允许两个主机通过 IPsec 安全地相互通信。SA 有两种类型:手动和动态。

  • 手动 SA 无需协商;所有值(包括密钥)均为静态值,并在配置中指定。手动 SA 静态定义安全参数索引 (SPI) 值、算法和要使用的密钥,并且需要隧道两端的匹配配置。每个对等方都必须有相同的配置通信选项。

  • 动态 SA 需要额外配置。借助动态 SA,您先配置 IKE ,然后配置 SA。IKE 创建动态安全关联;协商 IPsec 的 SAIKE 配置定义用于与对等方安全网关建立安全 IKE 连接的算法和密钥。然后,此连接用于动态同意动态 IPsec SA 使用的密钥和其他数据。IKE SA 先协商,然后用于保护确定动态 IPsec SA 的谈判。

  • 设置用户级隧道或 SA,包括隧道属性协商和密钥管理。这些隧道还可以在同一安全通道上刷新并终止。

IPsec 的 Junos OS 实施支持两种安全模式(传输模式隧道模式)。

IKE 密钥管理协议概述

IKE 是创建动态 SA的关键管理协议;协商 IPsec 的 SAIKE 配置定义用于与对等安全网关建立安全连接的算法和密钥。

IKE 执行以下操作:

  • 协商和管理 IKE 和 IPsec 参数

  • 认证安全密钥交换

  • 通过共享密钥(非密码)和公共密钥提供对等方互认证

  • 提供身份保护(主模式)

IKE 分两个阶段进行。在第一阶段,它将协商安全属性并建立共享密钥,以形成双向 IKE SA。在第二阶段,将建立入站和出站 IPsec SA。IKE SA 可在第二阶段保护交换。IKE 还会生成密钥材料、提供完全向前保密和交换身份。

注意:

从 Junos OS 版本 14.2 开始,当您在 jnxIkeTunnelTable 表中执行 jnxIkeTunnelry 对象的 SNMP 步行时, Request failed: OID not increasing 可能会生成错误消息。只有在同时创建互联网密钥交换安全关联 (IKE SA) 时,才会发生此问题,当 SA 的两端同时启动 IKE SA 协商时才会发生。执行 SNMP MIB 步行以显示 IKE SA 时,snmpwalk 工具会期望对象标识符 (OID) 以增加顺序。但是,在同时使用 IKE SA 的情况下,SNMP 表中的 OID 可能不会增加。之所以发生此行为,是因为作为 OID 一部分的通道 ID 根据 IKE SA 的发起方进行分配,IKE SA 可位于 IKE 隧道的两侧。

以下是在 IKE 同步 SA 上执行的 SNMP MIB 步行示例:

当 SNMP 步行是隧道 ID(47885 和 47392)时,OID 对比会失败。执行 SNMP 步行时,无法确保通道 ID 的顺序不断增加,因为隧道可能从两侧启动。

要解决此问题,SNMP MIB 步行包含一个选项 -Cc,用于禁用检查以增加 OID。以下是在 jnxIkeTunnelry 表上执行的 MIB 步行的示例,其中包含 -Cc 选项:

Junos-FIPS 的 IPsec 要求

Junos-FIPS 环境中,带有两个 路由引擎的硬件配置必须配置为使用 IPsec 和专用路由实例来处理路由引擎之间的所有通信。还需要路由引擎与 AS II FIPS PIC之间的 IPsec 通信。

IPsec 概述

IP 安全 (IPsec) 是一个基于标准的框架,可确保通过 IP 网络进行安全的专用通信。IPsec 提供了一种安全的方式来验证发送方,并加密路由器和主机等网络设备之间的 IP 版本 4 (IPv4) 和版本 6 (IPv6) 流量。IPsec 包括数据完整性、发送方身份验证、源数据机密性和防止数据回放。

您需要了解的主要概念如下:

支持 IPsec 的线卡

在基于 Junos OS 的路由器上实施 IPsec 时,您需要做出的第一选择是希望使用的线卡类型。术语线卡包括物理接口卡 (PIC)、模块化接口卡 (MIC)、密集端口集中器 (DPC) 和模块化端口集中器 (MPC)。以下线卡支持 IPsec 实施。

注意:

请参阅路由器的特定硬件文档,以确定该路由器上的线卡是否支持 IPsec。

以下线卡支持 IPsec:

  • 加密服务 (ES) PIC 为 IPsec 提供加密服务和软件支持。

  • 自适应服务 (AS) PIC 和自适应服务 (AS) II PIC 提供 IPsec 服务和其他服务,如网络地址转换 (NAT) 和有状态防火墙。

  • AS II 联邦信息处理标准 (FIPS) PIC 是 AS PIC 的特殊版本,通过使用内部 IPsec 与路由引擎安全通信。在路由器上启用 FIPS 模式时,必须在 AS II FIPS PIC 上配置 IPsec。有关在 FIPS 模式中配置的路由器中安装的 AS II FIPS PIC 上实施 IPsec 的详细信息,请参阅 通用标准和 Junos-FIPS 安全配置指南

  • 多服务 PIC 为一系列数据包处理密集型服务提供硬件加速。这些服务包括 IPsec 服务和其他服务,例如状态防火墙、NAT、IPsec、异常检测和隧道服务。

  • 多服务密集端口集中器 (DPC) 提供 IPsec 服务。

  • 多服务模块化端口集中器 (MS-MPC) 支持 IPsec 服务。

  • 多服务模块化接口卡 (MS-MIC) 支持 IPsec 服务。

注意:

Junos OS 扩展提供商软件包(包括 IPsec 服务包)在 MS-MPC 和 MS-MIC 上预安装和预配置。

身份验证算法

认证是验证发送方身份的过程。认证算法使用共享密钥验证 IPsec 设备的真实性。Junos OS 使用以下身份验证算法:

  • 消息摘要 5 (MD5) 使用单向散列功能将任意长度的消息转换为 128 位的固定长度消息摘要。由于转换过程,通过从生成的消息摘要向后计算原始消息在数学上是不可行的。同样,对消息中单个字符的更改也会导致其生成截然不同的消息摘要编号。

    要验证消息未被篡改,Junos OS 会将计算到的消息摘要与使用共享密钥解密的消息摘要进行比较。Junos OS 使用 MD5 散列消息认证代码 (HMAC) 变体,可提供额外级别的散列。MD5 可用于认证标头 (AH)、封装安全有效负载 (ESP) 和互联网密钥交换 (IKE)。

  • 安全散列算法 1 (SHA-1) 使用比 MD5 更强大的算法。SHA-1 的长度小于 264 位,并生成 160 位消息摘要。大消息摘要可确保数据未更改且源自正确的源。Junos OS 使用 SHA-1 HMAC 变体,可提供额外级别的散列。SHA-1 可用于 AH、ESP 和 IKE。

  • SHA-256、SHA-384 和 SHA-512(有时分组为 SHA-2 名称)是 SHA-1 的变体,使用更长的消息摘要。Junos OS 支持 SHA-256 版本,可处理所有版本的高级加密标准 (AES)、数据加密标准 (DES) 和三重 DES (3DES) 加密。

加密算法

加密会将数据编码为安全格式,以便不会被未经授权的用户解密。与认证算法一样,共享密钥与加密算法一起用于验证 IPsec 设备的真实性。Junos OS 使用以下加密算法:

  • 数据加密 标准密码块链 (DES-CBC) 是一种对称密钥块算法。DES 使用 64 位密钥大小,其中 8 位用于错误检测,其余 56 位提供加密。DES 在共享密钥上执行一系列简单的逻辑操作,包括排列和替代。CBC 从 DES 获取 64 位输出的第一个块,将此块与第二个块组合在一起,将此块反馈到 DES 算法中,然后为所有后续块重复此进程。

  • 三重 DES-CBC (3DES-CBC) 是一种类似于 DES-CBC 的加密算法,但由于它使用三个密钥进行 168 位(3 x 56 位)加密,因此提供了更强大的加密结果。3DES 的工作原理是使用第一个密钥对块进行加密,第二个密钥对块进行解密,第三个键对块进行重新加密。

  • 高级加密标准 (AES) 是基于比利时密码学家 Joan Daemen 博士和 Vincent Rijmen 博士开发的 Rijndael 算法的下一代加密方法。它使用 128 位块和三个不同的密钥大小(128、192 和 256 位)。根据密钥大小,该算法执行一系列计算(10、12 或 14 轮),其中包括字节替代、列混合、行移和密钥添加。在 RFC 3602、 AES-CBC 密码算法及其与 IPsec 的配合使用中定义了 AES 与 IPsec 的使用。

  • 从 Junos OS 17.3R1 版开始,对 MS-MPC 和 MS-MIC 支持 Galois/计数器模式 (AES-GCM) 中的高级加密标准。但是,在 Junos FIPS 模式下,Junos OS 版本 17.3R1 不支持 AES-GCM。从 Junos OS 17.4R1 版开始,Junos FIPS 模式下支持 AES-GCM。AES-GCM 是一种经过验证的加密算法,旨在同时提供身份验证和隐私。AES-GCM 通过二进制 Galois 字段使用通用散列来提供身份验证加密,并允许以数十 Gbps 的数据速率进行身份验证加密。

IPsec 协议

IPsec 协议可确定应用于由路由器保护的数据包的身份验证和加密类型。Junos OS 支持以下 IPsec 协议:

  • AH — AH 在 RFC 2402 中定义,可为 IPv4 和 IPv6 数据包提供无连接完整性和数据源身份验证。它还提供了防止回放的保护。AH 会对尽可能多的 IP 报头以及上层协议数据进行验证。但是,某些 IP 报头字段可能会在传输过程中更改。由于发送方可能无法预测这些字段的值,因此它们无法受到 AH 的保护。在 IP 报头中Protocol,AH 可以识别为 IPv4 数据包字段和 Next Header IPv6 数据包字段中的值51图 1 中显示了 AH 提供的 IPsec 保护示例。

    注意:

    T 系列、M120 和 M320 路由器不支持 AH。

图 1:AH 协议 AH Protocol

 

  • ESP — ESP 在 RFC 2406 中定义,可以提供加密和有限的流量机密性,或者提供无连接完整性、数据源身份验证和反重放服务。在 IP 报头中,可识别 IPv4 数据包字段和 Next Header IPv6 数据包字段中的Protocol一个值50图 2 中显示了 ESP 提供的 IPsec 保护示例。

图 2:ESP 协议 ESP Protocol
  • 捆绑包 — 将 AH 与 ESP 进行比较时,两种协议都有一些优势和缺点。ESP 提供了相当级别的身份验证和加密,但仅针对部分 IP 数据包提供。相反,尽管 AH 不提供加密,但它确实为整个 IP 数据包提供身份验证。因此,Junos OS 提供了第三种称为协议包的 IPsec 协议形式。捆绑选项提供 AH 身份验证与 ESP 加密的混合组合。

发布历史记录表
释放
描述
17.4R1
从 Junos OS 17.4R1 版开始,Junos FIPS 模式下支持 AES-GCM。
17.3R1
从 Junos OS 17.3R1 版开始,对 MS-MPC 和 MS-MIC 支持 Galois/计数器模式 (AES-GCM) 中的高级加密标准。
14.2
从 Junos OS 版本 14.2 开始,当您在 jnxIkeTunnelTable 表中执行 jnxIkeTunnelry 对象的 SNMP 步行时, Request failed: OID not increasing 可能会生成错误消息。