IPSEC详解 |
您所在的位置:网站首页 › ike是什么 › IPSEC详解 |
1、什么是IPSec
IPSec(Internet Protocol Security)协议族是IETF(Internet Engineering Task Force)制定的一些列协议,它为IP数据包提供了高质量的、基于密码学的安全传输特性。特定的通信双方在IP层通过加密与数据源认证等方式,保证IP数据报在网络上传输的私有性、完整性和防重放。 私有性:指对用户数据进行加密,用密文形式进行传送。 完整性:指对接收的数据进行认证,以判定报文是否被篡改。 防重放:指防止恶意用户通过重复发送捕获到的数据包进行攻击,接收方会拒绝旧的或重复的数据包。 2、IPSec有哪些协议组成
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所示: 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算法的形象描述: 是一种安全特性,指一个秘钥被破解,并不影响其他秘钥的安全性,因为这些秘钥没有任何派生关系。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)
通过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的应用 站点间安全互联
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |