IPSEC的实现方式

IPSEC的实现方式

在IPSEC通信中涉及到一个重要方面,那就是如何定义要保护的数据流(又称为感兴趣流)。这不仅涉及到IPSEC最终要保护哪部分数据,还关系到IPSEC的实现方式,因此有必要把感兴趣流的定义方式进行详细说明。

1. 感兴趣流的定义方式

“感兴趣流”指的是哪些数据可以进入IPsec隧道进行传输,哪些数据不能进入IPsec隧道传输。在现有的IPsec 实现过程中,最常用的实现方式有两种:“基于ACL”“基于虚拟隧道接口”。下面我们对这两中方式进行详细的介绍。

2. 基于ACL(访问控制)方式

​ 我们知道,高级IP ACL可以基于源/目的IP地址、源/目的端口、协议等信息对数据报文进行过滤, 而这IPsec正好可以使用ACL的方式来确定哪些数据报文需要隧道保护。

​ 当使用当采用ACL的方式来定义“感兴趣流”时,手动方式和IKE协商方式建立的IPsec 隧道是由高级ACL来指定需要保护的数据流范围,并从中过滤出需要进行IPsec隧道的报文。ACL规则允许的报文(permit)将被保护;ACL规则拒绝的报文(deny)将不会被保护。

​ 因为这里的ACL为高级IP ACL, 所以可以明确的指定数据报文中的源/目的IP地址**、源/目的端口、**协议类型等参数。但是这里的源、目的IP地址指数据发送方和接收方的主机IP地址,通常是两端内部网络中的私网地址。

​ 这种基于ACL方式定义感兴趣流的方式的优点是:

可以利用ACL配置的灵活性,根据IP地址、端口信息、协议类型(TCP, UDP, ICMP, IP等)等信息对报文进行过滤从而指定灵活的IPSec保护方法。

3. 基于虚拟隧道接口方式

​ 基于虚拟隧道接口来定义需要保护的数据流,首先需要在两端的IPsec设备创建一个虚拟的隧道接口Tunnel, 然后通过配置以该Tunnel接口为出接口的静态路由,以此来将到达某一个子网的数据流量通过IPSec隧道进行转发。因为Tunnel接口为点对点类型的接口,是运行PPP链路层协议的,因此以该接口为出接口的静态路由是可以不指定下一跳IP地址的。

​ IPsec虚拟隧道接口是一种三层逻辑接口,采用这种方式时,所有路由到IPsec虚拟隧道接口上的报文都将进行IPSec保护,而不再对数据流类型进行细分。使用IPSec虚拟隧道接口有如下诸多优点:

  • 简化配置

    只需要将IPSec保护的数据流引到虚拟隧道接口上,无需再通过ACL来定义加解密流量的特征。这使得IPSec的配置不会受到网络规划的影响,增加了网络规划的可扩展性,降低了网络维护的成本。

  • 较小开销

    在保护远程接入用户流量的组网中,只需要在IPSec虚拟隧道接口处进行IPSec报文封装,与IPSec over GRE 或者 IPSec over L2TP方式的隧道封装相比,较少了封装层次,节省了带宽。

  • 支持范围更广

    点对点IPSec虚拟隧道接口可以支持动态路由协议,同时还可以支持对组播流量的报文。另外,IPSec虚拟隧道接口在实施过程中明确的区分出“加密前”和“加密后”两个阶段,用户可以根据不同的组网需求灵活的选择其他业务(例如NAT, QoS)实施的阶段。 例如用户希望对加密前的报文进行QoS,则可以在IPSec虚拟隧道接口上应用QoS策略;如果希望对IPSec封装后的报文应用QoS,则可以在报文发送的物理接口上应用QoS策略。

4. 虚拟隧道接口

​ IPSec 虚拟隧道接口(即Tunnel接口),是一种支持路由的三层逻辑接口,它可以支持动态路由协议、所有路由到IPSec虚拟隧道接口的报文都将进行IPSec保护,同时可以支持对组播流量的保护。

​ 下面简单介绍下IPSec隧道两端的虚拟隧道接口上报文处理流程:

4.1 IPSec虚拟隧道接口上封装和加密流程

用户数据到达IPSec设备(如路由器),需要被IPSec保护的报文(感兴趣流)会被转发到IPSec虚拟隧道接口上进行封装和加密。如下图所示:
在这里插入图片描述

  • Router将从入接口上收到的明文IP报文后发送到转发模块进行处理
  • 转发模块依据路由表查询结果进行转发,如果为相应的感兴趣流,会被引到IPSec虚拟隧道接口上进行AH或ESP封装;
  • IPSec虚拟隧道接口完成对明文的封装处理后,根据建立的IPSec SA安全策略再将封装后的报文进行加密,然后再将加密后的报文交由转发模块进行处理
  • 转发模块通过第二次转发查询后,将已经封装完毕的加密IPSec报文通过相应的物理接口发送出去,最终密文到达对端的IPSec设备的虚拟隧道接口上。
4.2 IPSec虚拟隧道接口上解封装和解密流程

数据经过IPSec隧道传输到达对端IPSec设备时,需要对数据包进行解密、解封装处理。它的处理流程如下所示:
在这里插入图片描述

  • Router将从入接口上收到的加密的IP报文发送到转发模块进行处理
  • 转发模块识别到此密文的目的IP地址为本设备的隧道接口IP地址,且IP报文协议号为ESP、AH、UDP时,会将此报文发送到相应的虚拟隧道接口上进行解密和解封装处理;
  • IPSec虚拟隧道接口完成对密文的解封装处理后,再将解封装后的报文交由转发模块进行处理
  • 转发模块通过第二次转发查询后,将IP明文通过相应的物理接口发送出去,最终密文到达相应的主机上。
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
IPSec是一种网络安全协议,用于在网络通信中加密和验证数据的完整性。CSND是中国最大的技术社区之一,提供了大量的技术文章和资源。下面是对IPSec内核实现的分析。 IPSec的内核实现主要包含以下几个方面: 1. 隧道模式:IPSec支持隧道模式,即将整个IP数据报进行封装,形成一个新的IP包,然后再将封装后的报文在网络中传输。内核的实现会通过协议栈提供的功能,对封装后的IP包进行加密和认证。 2. 安全关联:安全关联是IPSec中定义的一组安全规则,用于对网络通信进行加密和验证。内核实现需要支持创建和管理安全关联,并根据配置的参数,对数据进行相应的加密和认证操作。 3. 加密算法和认证算法:IPSec支持多种加密算法和认证算法,如DES、3DES、AES、SHA-1和SHA-256等。内核实现需要支持这些算法,并通过调用相应的加密库对数据进行加密和认证操作。 4. 安全策略:IPSec中的安全策略用于指定哪些数据包需要进行安全处理(加密和认证)。内核实现需要根据配置的安全策略,对数据包进行过滤和处理,以确定是否需要应用IPSec的安全操作。 5. 密钥管理:IPSec中的密钥管理用于生成、分发和更新加密和认证所需的密钥。内核实现需要支持密钥管理协议,如IKE(Internet Key Exchange),以确保密钥的安全性和有效性。 CSDN是一个技术社区,其中包含了很多IPSec的相关文章和资源。在CSDN上,可以找到IPSec的基本原理、实现细节、使用方法以及遇到的问题和解决方案等内容。通过阅读这些文章和资源,可以更深入地了解IPSec内核实现的原理和操作方式,对IPSec的使用和调优有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叨陪鲤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值