IPSEC详解

1、什么是IPSec

IPSec(Internet Protocol Security)协议族是IETF(Internet Engineering Task Force)制定的一些列协议,它为IP数据包提供了高质量的、基于密码学的安全传输特性。特定的通信双方在IP层通过加密与数据源认证等方式,保证IP数据报在网络上传输的私有性、完整性和防重放

私有性:指对用户数据进行加密,用密文形式进行传送。
完整性:指对接收的数据进行认证,以判定报文是否被篡改。
防重放:指防止恶意用户通过重复发送捕获到的数据包进行攻击,接收方会拒绝旧的或重复的数据包。

2、IPSec有哪些协议组成

在这里插入图片描述
IPSec协议族示意框架如图1所示,IPSec通过认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)这两个安全协议来实现IP数据报的安全传输;因特网秘钥交换协议IKE(Internet Key Exchange)提供秘钥协商、建立和维护安全联盟的服务。以简化IPSec的部署和使用。
AH认证头协议提供数据源认证、数据完整性校验和报文防重放功能。发送端对IP头的不变部分和IP净荷进行离散运算,生成摘要字段;接收端根据接收的IP报文,对报文重新计算摘要字段 ,通过摘要字段比较,判别报文在网络传输期间是否被篡改。AH认证头协议没有对IP净荷提供加密操作
ESP封装安全载荷协议:提供了除了AH认证头协议的所有功能外,还可以对IP报文净荷进行加密。ESP协议允许对IP 报文净荷进行加密认证。ESP没有对IP头的内容进行保护
IKE因特网秘钥交换协议:完成IPSec通信对等体间的安全联盟SA(Security Association)协商,协商出对等体间数据安全传输需要的认证算法、加密算法和对应的秘钥。
【说明】:

1、AH和ESP可以单独使用,也可同时使用。AH和ESP同时使用时,报文在IPSec安全转换时,先进行ESP封装,再进行AH封装;IPSec解封装时,先进行AH解封装,再进行ESP解封装。
2、IKE秘钥交换协商不是必须的,IPSec使用的策略和算法也可直接手工配置。

3、什么是安全联盟

SA(Security Association)安全联盟定义了IPSec通信对等体间将使用哪种摘要和加密算法、什么样的秘钥进行数据的安全传输和转换
SA是单向的,在两个对等体之间进行安全通信,最少需要两个SA来分别对两个方向的数据流进行安全保护;如果两个对等体希望同时使用AH和ESP来进行安全通信,则每个对等体针对每一种协议都需要构建独立的SA。
SA由一个三元组标识,这个三元组包括安全参数索引SPI(Security Parameter Index)、目的IP地址、安全协议名(AH或ESP)。SPI是一个32比特数值,它在AH和ESP头部中出传输。

4、安全联盟生成方式有哪些

有两种方式建立安全联盟,一种是手工方式(manual),一种是IKE动态协商(isakmp)方式。
手工方式建立安全联盟比较复杂,安全联盟所需的全部信息都必须手工配置,手工方式建立的安全联盟永不老化
IKE动态协商建立的安全联盟相对简单些,只需要通信对端体间配置好IKE协商参数,由IKE协议自动协商来创建和维护SA。通过IKE协商建立的安全联盟具有生存周期
• 基于时间的生存周期
• 基于流量的生存周期
生存周期达到指定的时间或流量时,安全联盟就会失效。安全联盟失效前,IKE将为IPSec重新协商新的安全联盟。
网络中,进行通信的IPSec对等体设备数量越少时,或者在小型静态环境中,手工配置安全联盟是可行的; 对于中、大型动态网络环境,推荐使用IKE动态协商建立安全联盟。

5、IPSec封装方式

IPSec协议有以下两种封装方式:

隧道模式

在隧道模式下,AH或ESP在原始IP头前,另外生成一个新的IP 头放到AH或ESP之前,以TCP 为例,如图1所示:
在这里插入图片描述

传输模式

在传输模式下,AH或ESP被插入到IP头之后但在传输层协议之前。以TCP为例,如图2所示:
在这里插入图片描述
选择隧道模式还是传输模式可以从以下几方面考虑:
• 从安全性来讲,隧道模式优于传输模式。它可以完全地对原始IP数据报进行认证和加密。而且,可以使用IPSec对等体的IP地址来隐藏客户机的IP地址。
• 从性能来讲,隧道模式因为有一个额外的头部,所以它将比传输模式占用更多的带宽。

6、认证算法和加密算法有哪些

• 认证算法

AH和ESP都能实现对IP报文的完整性进行认证,以判别报文在传输过程中是否被篡改。认证算法的实现主要是通过杂凑函数,杂凑函数是一种能够接受任意长的消息输入,并产生固定长度输出的算法,该输出消息被称为摘要,。IPSec对等体根据IP报文内容,计算摘要,如果两个摘要是相同的,则表示报文是完整的,未经篡改的。一般来说IPSec可以使用两种认证算法:
MD5:MD5通过输入任意长度的消息,产生128bit的消息摘要
SHA-1:SHA-1通过输入长度小于2的64次方比特的消息,产生160bit的消息摘要

• 加密算法

ESP能够对IP报文内容进行加密保护,以防止报文内容在传输过程中被窥探。加密算法实现主要是通过对称秘钥系统,它使用相同的秘钥对数据进行加密和解密。一般来说IPSec使用DES、3DES以及AES三种加密算法。
DES:使用56bit的秘钥对一个64bit的明文块进行加密。
3DES:使用三个56bit的DES秘钥(共168bit)对明文进行加密
AES:使用128bit、192bit、256bit秘钥长度的AES算法对明文进行加密。
这三个加密算法的安全性由低到高依次是:AES、3DES、DES。安全性高的加密算法实现机制复杂,运算速度慢。对于普通的安全需求,DES算法就可以满足需求。

7、什么是IKE协议

IKE协议 是建立在Internet安全联盟和秘钥管理协议ISAMP定义的框架,提供了一套在不安全网络上安全地分发秘钥、验证身份、建立IPSec安全联盟的过程,简化了IPSec 的管理和使用。

8、IKE的安全机制有哪些?

IKE支持如下 安全机制:

DH(Diffie-Hellman)交换及秘钥分发:

DH算法是一种公开秘钥算法。通信双方在不传送秘钥的情况下通过交换一些数据,计算出共享的密钥。加密的前提是交换加密数据的双方必须要有共享的密钥。IKE的精髓在于它永远不会在不安全的网络上直接传输秘钥,而胡思通过一系列数据交换,最终计算出双方共享的密钥。即使第三者(黑客)截获了双方用于计算秘钥的所有交换数据,也不足以计算出真正的密钥。下面是对DH算法的形象描述:
在这里插入图片描述

完善的向前安全向FPS(Perfect Forward Secrecy):

是一种安全特性,指一个秘钥被破解,并不影响其他秘钥的安全性,因为这些秘钥没有任何派生关系。IPSec第二阶段的密钥是从第一阶段秘钥导出的,当第一阶段秘钥被窃取之后,攻击者将可能收集到足够的信息来导出第二阶段IPSec SA的密钥,PFS通过执行一次额外的DH交换。保证第二阶段秘钥的安全。
如果不使用FPS。则第二阶段的加密 秘钥会根据第一阶段的加密秘钥自动生成;使用了FPS,则第二阶段就要重新通过DH算法协商一个新的加密秘钥,从而提高数据的安全性。

身份验证

身份验证指确认通信双方的身份。对于Pre-share key(PSK)验证方法,验证字用来作为一个输入产生秘钥,验证字不同是不可能在双方产生相同的密钥的。

身份保护

身份数据在秘钥产生之后加密传送,实现了对身份数据的保护。

9、IKEv1秘钥协商和交换【重要】

RFC2409(The Internet Key Exchange)中,对 IKEv1 密钥交换和协商定义了两个阶段:第一阶段,协商和建立 IKE 本身使用的安全通道;第二阶段,利用这个已通过了验证和安全保护的安全通道,为 IPSec 协商具体的 IPSec 通信使用的 SA。
IKEv1第一阶段交换和秘钥协商定义了两种模式:主模式(Main Mode)和野蛮模式(Aggressive Mode),IKEv1第二阶段交换和密钥协商只有一种模式,快速模式(Quick Mode)
在这里插入图片描述
在这里插入图片描述
如图1所示,是IKEv1第一阶段主模式协商流程,步骤如下:
1、发起者触发IKEv1第一阶段主模式协商,发送一个封装有IKE提议(加密算法、认证算法及认证方式)的SA载荷,SA载荷中包括一个或多个IKE提议。
2、响应者发送一个SA载荷,封装响应放接受的IKE提议(只能有一个提议)。
3、发起者发送秘钥交换载荷,交换DH秘钥数据(本端的DH公共值和Nonce随机数);
4、响应者发送秘钥交换载荷,交换DH秘钥数据(本端的DH公共值和Nonce随机数);
5、发起者使用生成的DH秘钥,加密发送身份信息和HASH认证信息。
6、响应者发送验证者身份,使用生成的DH秘钥,加密发送自身的身份信息,供发起者认证。
在5、6个包里,就用前面产生的认证密钥进行相互认证,这里可以通过预共享数字签名加密临时值来实现。当相互认证通过,那么为第二阶段协商IPSEC SA策略的安全通道立即打开,两端的VPN服务器会用第一阶段协商的安全策略对第二阶段协商的IPSEC SA策略进行安全加密和认证;
同时要注意,从第5个包起,后面的所有包将会加密,只不过不同的是,第5、6个包和第二阶段用于协商的3个包都是通过第一阶段协商的安全策略进行加密的,而用户通信的数据则是用第二阶段协商的IPSEC SA策略进行加密和认证的,至于两者的密钥是否一样,就要看在第二阶段是否定义了PFS策略,如果应用了,那第二阶段的密钥将与第一阶段的不同,否则两者的密钥是一样的。

在这里插入图片描述
如图2所示,是IKEv1第一阶段野蛮模式协商流程,步骤如下:
1、发起者触发IKEv1第一阶段野蛮模式协商,发送一个包括SA载荷、秘钥交换载荷、Nonce随机数载荷和身份信息载荷。
野蛮模式将主模式中需要进行交换的数据全部进行了发送。
2、响应者发送SA载荷、秘钥交换载荷、Nonce载荷、身份信息和供发起者使用的HASH认证信息。
当响应方接收到发起方发送来的消息1后,通过查看自身SPD是否存在与发起方身份匹配的相关策略,若存在,则利用消息1中信息与自身配置进行计算,生成身份验证hash值后,将自身配置策略信息和hash值传送给发起方。
【注意】:对比消息1和消息2,可以看到消息2中增加了 hash载荷
3、发起者认证响应者的消息,发送HASH认证信息,供响应者认证。
第三条消息,需要使用前两条消息交换的秘钥信息生成的密钥进行加密。
发起方接收到应答方的策略信息和hash值后,同样进行验证,若匹配,则将自身的hash值用计算出的密钥加密后,传输给应答方。
要注意的是,包含身份信息的消息未被加密, 所以和主模式不同,野蛮模式不提供身份保护。

在这里插入图片描述
如图3所示,IKE对等体的任何一方都可以发起第二阶段协商,具体步骤如下:
1、发起者发送协商IPSec SA的各项参数,可选参数是用于确定是否进行额外的完善的前向安全性PFS协商;
2、响应者发送协商IPSec SA的各项参数,选参数是用于确定是否进行额外的完善的前向安全性PFS协商;
3、发起者应答确认
与第一阶段的过程类似,参与者交换建议,以确定在SA中采用哪些安全参数。
同时,阶段2提案还包括安全协议 - 封装安全有效载荷(ESP)或认证头(AH)以及所选的加密和认证算法。
前两条消息协商IPSec SA的各项参数,并生成IPSec使用的密钥。第二天消息还未响应放提供在场的证据。
第三条消息则是为发起方提供在场的证据
当第二阶段协商完毕之后,第一阶段的策略将暂时不会被使用,直到有新的VPN连接建立时或IPSEC SA加密密钥超时时,才会用第一阶段的策略重新生成并传递新的加密数据和认证的密钥。

主模式和野蛮模式比较:
• 主模式的交换信息有6个,而野蛮模式只有3个
• 主模式协商将秘钥交换信息与身份、验证信息相分离,这样分离保护了对等体的身份信息。
• 野蛮模式交换的3个消息没有经过加密,身份信息也是明文的,容易造成安全隐患。
• 主模式只能采用IP地址方式标识对等体,而野蛮模式可采用IP地址方式或者Name方式标识对等样。这是因为主模式在完成3、4信息交换后 ,需要使用预共享秘钥来计算SKEYID,当一个设备有多个对等体的时候,必须查找到该对等体对应的预共享秘钥,使用3,4中的iP报文源地址可找到对应的对等体。

10、IPSec实现过程是什么

通过IPSec,对等体之间能够对不同的数据流实施不同的安全保护(认证、加密或两种都有)。过程如下:
1、定义被保护的数据流。通过ACL来区分数据流;
2、定义安全提议。通过配置安全提议来确定安全保护所使用的安全协议、认证算法、加密算法和封装模式;
3、定义安全策略或安全策略组。通过配置安全策略或安全策略组来确定被保护的数据流和安全提议的关联(即定义对何种数据流实施何种保护)、安全通信的IKE对等体或手工SA参数。
4、在接口上实施安全策略。

定义被保护数据流

数据流是一组流量(traffic)的集合,由源地址/掩码、目的地址/掩码、IP 报文承载的协议号、源端口号、目的端口号等来规定。
设备中,数据流采用 ACL Group 来定义,一个数据流可以小到是两台主机之间单一的TCP 连接,也可以大到是两个子网之间所有的流量。IPSec 能够以 ACL Group 力度对不同的数据流划分,IPSec 配置的第一步就是定义数据流。

安全提议

安全提议规定了对要实施 IPSec 保护的数据流所采用的安全协议封装模式认证算法加密算法等。
AH 和 ESP 安全协议,两者既可单独使用,也可联合使用。其中,AH 支持 MD5 和 SHA-1 认证算法;ESP 协议支持 MD5、SHA-1 认证算法和 DES、3DES、AES 加密算法。支持的封装模式包括传输模式和隧道模式。
对同一数据流,在安全隧道两端的对等体必须设置相同的协议、算法和封装模式。另
外,如果两个安全网关之间实施 IPSec,建议采用隧道模式,以隐藏实际通信的源和目的 IP地址。

定义安全策略和安全组策略

安全策略通过引用安全提议来规定对特定的数据流采用特定的安全协议、算法和报文封
装形式。一条安全策略由“名字”和“顺序号”共同唯一确定。安全策略分为手工安全策略和IKE 协商安全策略,前者需要用户手工配置密钥、SPI 等参数,在隧道模式下还需要手工配置安全隧道两个端点的 IP 地址;后者则由 IKE 自动协商生成这些参数。
具有相同名字、不同顺序号的安全策略共同构造一个安全策略组。在一个安全策略组
中,顺序号越小的安全策略,优先级越高。

在接口上运用安全策略或安全策略组

在一个接口上应用一个安全策略组,实际上是同时应用了安全策略组中所有的安全策略,从而能够对不同的数据流使用不同的安全联盟,即采用不同的安全策略进行保护。

11、IKE实现过程是什么

IKEd实现步骤如下:
1、配置IKE协商时的本地ID
设置IKE协商过程中本段所使用的身份ID,ID是区分大小写的。
2、配置IKE安全提议
确定 IKE 协商过程所使用的验证算法、加密算法、验证方法和 DH 组,同时设置安全联
盟的生存周期,如果安全联盟生存时间达到预设置的值,需进行安全联盟的重协商。
3、配置IKE对等体
设定 IKE 对等体的一系列属性,包括:IKE 协商所使用的版本、IKE 协商使用的 ID 类
型、对端的 IP 地址或对端的名称、预共享密钥值、是否需要进行 NAT 穿越,针对 IKEv1,还需配置选用主模式还是野蛮模式进行 IKE 协商。

【说明】
当上述 IKE 配置完毕后,需要在 IPSec 的安全策略视图下引用 IKE Peer,以完成自动协
商的 IPSec 的配置

12、IPSec的NAT穿越的工作原理

NAT穿越(NAT Traversal)
IPSec 的一个主要应用是建立 VPN,但在实际组网应用中,有一种情况会对部署 IPSec
VPN 网络造成障碍:如果发起者位于一个私网内部,远端位于公网侧,而它希望在自己与远端响应者之间直接建立一条 IPSec 隧道,这就涉及到 IPSec 的 NAT 穿越问题,主要问题在于,IKE 在协商过程中如何发现两个端点之间存在 NAT 网关,以及如何使 ESP 报文正常穿越NAT 网关。
首先,建立 IPSec 隧道的两端需要进行 NAT 穿越能力协商,通过 Vendor ID 载荷指明的
一组数据来标识,该载荷数据的定义随所采用 IKE 版本的不同而不同。
而 NAT 网关发现是通过 NAT-D 载荷来实现的,该载荷用于两个目的:在 IKE Peer 之间
发现 NAT 的存在;确定 NAT 设备在 Peer 的哪一侧。NAT 侧的 Peer 作为发起者,需要定期发送 NAT-Keepalive 报文,以确保 IPSec 安全流量在 NAT 网关上不被老化删除。

【说明】:
AH 协议对 IP 报文的验证范围涵盖了整个 IP 报文,对 IP 报文头的任何修改将导致 AH 检查失败,因此使用 AH 保护的 IPSec 隧道是不能穿越 NAT 的。ESP 协议支持 NAT 的穿越。

IPSec穿越NAT的处理方法
IPSec 穿越 NAT,简单来说就是在原报文的 IP 头和 ESP 头(不考虑 AH 方式)间增加一
个标准的 UDP 报头。这样,当 ESP 报文穿越 NAT 网关时,NAT 对该报文的外层 IP 头和增加的 UDP 报头进行地址和端口号转换;转换后的报文到达 IPSec 隧道对端时,与普通 IPSec 处理方式相同。在发送响应报文时也采用同样的方法。

13、IPSec的应用

站点间安全互联

在这里插入图片描述
如图1所示,企业站点间部署IPSec功能,使用IPSec建立安全传输通道,企业之间的数据流通过IPSec 隧道进行安全传送保护。

远程站点和企业总部互联

在这里插入图片描述如图所示,远程分支机构、远程用户通过IPSec动态接入企业总部网络。企业总部的IP地址是固定的,远端机构或PC需要预先配置;远程机构或者远端PC的IP地址可动态获取,总部不需要预先知道。

GRE Over IPSec

在这里插入图片描述
IPSec只支持IP协议,通过GRE Over IPSec,可以弥补IPSec协议的不足,如图1所示,在GRE Tunnel上部署路由协议,在两个Tunnel端点,针对IPSec服务,仅配置对GRE流量的保护,GRE Over IPSec可极大提升组网灵活性。

  • 66
    点赞
  • 550
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
IPsec ....................................................................................................................................................... 1 IPsec简介................................................................................................................................................... 1 IPsec的协议实现........................................................................................................................................ 1 IPsec基本概念............................................................................................................................................ 2 加密卡 ........................................................................................................................................................ 4 IPsec虚拟隧道接口..................................................................................................................................... 4 使用IPsec保护IPv6路由协议..................................................................................................................... 6 IKE .......................................................................................................................................................... 6 IKE简介...................................................................................................................................................... 6 IKE的安全机制........................................................................................................................................... 6 IKE的交换过程........................................................................................................................................... 7 IKE在IPsec中的作用.................................................................................................................................. 8 IPsec与IKE的关系...................................................................................................................................... 8
IPsec(Internet Protocol Security)是一种网络协议,可用于在Internet Protocol(IP)通信中实现安全性和保密性。以下是IPsec加密过程的详细解释。 IPsec分为两个主要部分:认证头(AH)和封装安全载荷(ESP)。 1. 认证头(AH):AH提供认证和完整性功能,确保数据的真实性和完整性。首先,源主机计算一个消息的散列值,然后将该散列值插入AH头,并根据预共享密钥对AH头进行加密和认证。接收方将使用相同的密钥对接收到的AH头进行解密和比较散列值,以验证数据的完整性和真实性。 2. 封装安全载荷(ESP):ESP提供了对数据进行加密和认证的能力。在发送数据之前,源主机使用预共享密钥对原始负载进行加密,并将加密后的负载插入到ESP头中。此外,源主机计算一个消息的散列值,并放置在ESP尾部,以用于进行认证。接收方使用相同的密钥对接收到的ESP头进行解密,并对解密后的负载进行验证。如果解密后的数据和散列值与接收方计算的值相匹配,则认为数据是安全的。 IPsec加密步骤如下: 1. 首先,源主机将应用数据传送到网络层,目标IP地址被识别。 2. 发送方在网络层将IPsec策略应用到要发送的数据。 3. IPsec协议在参与通信的源和目标主机之间建立安全通道。 4. 数据被封装在ESP头中,并进行加密和认证。 5. 加密后的数据通过互联网传输。 6. 接收方通过互联网接收到加密的数据。 7. 接收方对数据进行解密和认证,验证数据的完整性。 8. 解密后的数据被传送给目标应用程序进行处理。 通过IPsec加密过程,数据的机密性、完整性和真实性得到了保护。它提供了一种安全的通信方法,以防止攻击者对数据进行窃听、篡改和伪造。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值