IPSec协议产生的背景

    ? 用户在互联网上传输的数据容易遭受窃取

? 需要安全手段保证通信的机密性 ,即使被截获,黑客也无法知道真实内容

    ? 用户在互联网上传输的数据容易遭受篡改

? 需要安全手段保证通信的完整性 ,接收端能够检测出数据受到了篡改

    ? 用户在互联网上传输的数据容易遭受身份欺骗

? 需要安全手段保证通信的合法性 ,接收端能够判断通信对方的身份

 

? IPSec的相关概念

    ? IPSec (IP Security )是一种由IETF设计的端到端的确保IP层通信安全的机制。

? IPSec协议可以为IP网络通信提供透明的安全服务,保护TCP/IP通信免遭窃听和篡改,保证数据的完整性和机密性,有效抵御网络攻击。

    ? IPSec不是一个单独的协议,而是一组协议,IPSec协议的定义文件包括了12个RFC文件和几十个Internet草案,已经成为工业标准的网络安全协议。

 

? IPSec协议使用下面两种协议对IP报文进行保护

    ? AH协议(Authentication Header ,IP协议号51 ):

        可以同时提供数据完整性确认、数据来源确认防重放等安全特性;AH常用摘要算法HMAC-MD5和HMAC-SHA1实现该特性。

    ? ESP协议(Encapsulating Security Payload ,IP协议号50 )

        可以同时提供数据完整性确认、数据加密防重放等安全特性;ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用HMAC-MD5或HMAC-SHA1来实现

数据完整性。

 

SA概述

? 安全关联(Security Association ,简称SA )是两个IPSec实体(主机、安全网关)之间经过协商建立起来的一种协定,内容包括采用何种IPSec协议(AH还是ESP )、运行模式(传输模式还是隧道模式)、验证算法、加密算法、加密密钥、密钥生存期、抗重放窗口,从而决定了保护什么、如何保护以及谁来保护。可以说SA是构成IPSec的基础。

? AH和ESP都使用SA中的参数来对IP数据进行保护。

? SA是单向的,入方向(inbound )SA负责处理接收到的数据包,出方向(outbound )SA负责处理要发送的数据包。因此每个通信方必须要有两种SA , 一个入方向SA ,一个出方向SA ,这两个SA构成了一个SA束(SA Bundle )。

 

两个IPSec实体之间的IKE协商分为两个阶段

    ? 第一阶段:建立ISAKMP SA (也可称为IKE SA )

? 两种模式:

主模式(main mode ):6条ISAKMP消息交互

积极模式(aggressive mode ):3条ISAKMP消息交互

 ISAKMP SA可以用来保护多个第二阶段IPSec SA协商的通信过程

 

    ? 第二阶段:建立IPSec SA

? 一种模式:

快速模式(quick mode ):3条ISAKMP消息交互

IPSec SA是为IP数据提供安全保护,即前面概念中介绍的SA

 

? IKE协商第一阶段(主模式)

    ? 第一阶段无论是使用main mode还是aggressive mode ,目的都是产生ISAKMP/IKE SA ,用ISAKMP/IKE SA为产生第二阶IPSec SA的ISAKMP消息交互过程进行保护。

? 第1、2个ISAKMP报文

  IPSec实体双方交互SA载荷,选择相同ISAKMP消息的保护策略及认证方式,双方必须达成一致,否则第一阶段协商失败

? 第3、4个ISAKMP报文

  IPSec实体双方交互DH算法的公共值及密钥计算材料,从而双方计算出一系列相同的密钥

? 第5、6个ISAKMP报文

第5、6个报文使用第3、4个报文交互后产生的相关密钥进行验证及加密处理。IPSec实体双方分别对对方进行验证,若使用pre-share key的验证方式,即判断对方是否拥有与本地相同的pre-share key。双方的Key配置必须一致,否则第一阶段协商失败。

 

? IKE协商第二阶段总结(快速模式 )

? 第二阶段交互的ISAKMP消息均被第一阶段产生的ISAKMP/IKE SA保护。

? 确定IPSec SA的保护策略,使用AH还是ESP、传输模式还是隧道模式、被保护的数据是什么等等,IPSec通信实体双方对于这些安全策略必须达成一致,否则IKE第二阶段协商将无法通过。

? 为降低密钥之间的关联性,第二阶段采用PFS重新进行DH交换,并计算出新的共享密钥,从而计算出IPSec SA中用于加密和验证的密钥。

? 第二阶段协商的目标就是产生真正用于保护IP数据的IPSec SA。

 

IPSec协议工作流程及配置命令总结