IPSec基本概念
2013-12-09 17:32:02 阿炯

IPsec基本概念,包括安全联盟、安全联盟的协商方式/封装模式、验证算法与加密算法。

安全联盟
IPSec在两个端点之间提供安全通信,端点被称为IPSec对等体。

IPSec能够允许系统、网络的用户或管理员控制对等体间安全服务的粒度。例如,某个组织的安全策略可能规定来自特定子网的数据流应同时使用AH和ESP进行保护,并使用3DES(Triple Data Encryption Standard)进行加密;另一方面,策略可能规定来自另一个站点的数据流只使用ESP保护,并仅使用DES加密。通过SA(Security Association),IPSec能够对不同的数据流提供不同级别的安全保护。

安全联盟是IPSec的基础,也是IPSec的本质。SA是通信对等体间对某些要素的约定,例如,使用哪种协议(AH、ESP还是两者结合使用)、协议的封装模式(传输模式和隧道模式)、加密算法(DES和3DES)、特定流中保护数据的共享密钥以及密钥的生存周期等。

安全联盟是单向的,在两个对等体之间的双向通信,每个对等体最少需要两个安全联盟来分别对两个方向的数据流进行安全保护。如果希望同时使用AH和ESP来保护对等体间的数据流,则分别需要两个SA,一个用于AH,另一个用于ESP。

安全联盟由一个三元组来唯一标识,这个三元组包括SPI(Security Parameter Index)、目的IP地址、安全协议号(AH或ESP)。SPI是为唯一标识SA而生成的一个32比特的数值,它在AH和ESP报文头中传输。

安全联盟具有生存周期。生存周期的计算包括两种方式:

以时间为限制,每隔指定长度的时间就进行更新。

以流量为限制,每传输指定的数据量(字节)就进行更新。

安全联盟的协商方式

安全联盟的协商方式有两种:

手工方式(manual)

手工协商方式配置比较复杂,创建安全联盟所需的全部信息都必须手工配置,并且不支持IPSec的一些高级特性(例如定时更新密钥)。

优点是可以不依赖IKE而单独实现IPSec功能。

IKE自动协商方式(isakmp)

IKE自动协商方式相对比较简单,只需要配置好IKE协商安全策略的信息,由IKE自动协商来创建和维护安全联盟。

IPSec协议的封装模式

IPSec协议的封装模式有两种:

传输模式
在传输模式下,AH或ESP被插入到IP报文头之后但在所有传输层协议之前,或所有其他IPSec协议之前。以TCP为例。

隧道模式
在隧道模式下,AH或ESP插在原始IP报文头之前,另外生成一个新的报文头放到AH或ESP之前。以TCP为例。

选择隧道模式还是传输模式可以从以下方面考虑:

从安全性来讲,隧道模式优于传输模式。它可以完全地对原始IP数据报进行验证和加密,而且,可以使用IPSec对等体的IP地址来隐藏客户机的IP地址。

从性能来讲,隧道模式因为有一个额外的IP头,所以它将比传输模式占用更多带宽。

验证算法与加密算法

下面分别介绍验证算法和加密算法:

验证算法
AH和ESP都能够对IP报文的完整性进行验证,以判别报文在传输过程中是否被篡改。验证算法的实现主要是通过杂凑函数。杂凑函数是一种能够接受任意长的消息输入,并产生固定长度输出的算法,该输出称为消息摘要。IPSec对等体计算摘要,如果两个摘要是相同的,则表示报文是完整未经篡改的。

一般来说IPSec使用两种验证算法:

MD5
MD5通过输入任意长度的消息,产生128bit的消息摘要。

SHA-1
SHA-1通过输入长度小于2的64次方比特的消息,产生160bit的消息摘要。SHA-1的摘要长于MD5,因而是更安全的。

加密算法
ESP能够对IP报文内容进行加密保护,防止报文内容在传输过程中被窥探。加密算法实现主要通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。

一般来说IPSec使用加密算法有以下几种:
DES
使用56bit的密钥对一个64bit的明文进行加密。

3DES
使用三个56bit的DES密钥(共168bit密钥)对明文进行加密。

AES
使用AES(Advanced Encryption Standard)密钥对明文进行加密。密钥的长度分为128bit、192bit、256bit。
3DES具有更高的安全性,但其加密数据的速度要比DES慢得多。


思科IPSec建立连接的过程简介

一、对等体建立连接大体分为:
1、流量触发:IPSec建立连接是首先是由对等体直接的数据流触发的。我们通过配置这些IPSec保护的数据流,可以明确哪些数据流会触发IPSec建立连接

2、建立管理连接:IPSec使用ISAKMP/IKE阶段1来建立管理连接。管理连接不进行数据传输,只是数据传输前的准备工作。管理连接阶段需要明确对等体之间的哪种设备验证方式、加密算法、认证算法以及DH密钥组等

3、建立数据连接:基于阶段1建立的安全的管理连接之上,使用ISAKMP/IKE阶段2来完成。数据连接需要明确具体使用的安全协议的加密或者验证算法,以及数据的传输模式等

二、ISAKMP/IKE阶段1建立过程
1、交换ISAKMP/IKE传输集
ISAKMP/IKE传输集是一组用来保护管理连接的策略,包括
(1)加密算法:3des、des、aes
(2)HMAC:MD5、SHA-1
(3)设备验证类型:预共享密钥、RSA签名
(4)DH密钥组:一般思科路由支持1、2、5
(5)管理连接的生存周期

2、通过DH算法实现密钥转换

3、实现设备之间的验证

三、ISAKMP/IKE阶段2建立过程
1、安全关联(SA)
IPSec需要在对等体之间建立一条逻辑连接,这是使用了一个信令协议实现,也就是SA,因为IPSec需要无连接的IP在运行在就要成为面向连接的协议。SA由三要素定义:
(1)安全参数索引(SPI)
(2)安全协议的类型,包括AH和ESP协议
(3)目的地址

2、ISAKMP/IKE阶段2的传输集
(1)安全协议,AH和ESP协议
(2)连接模式,隧道模式、传输模式
(3)加密算法,3des,aes等
(4)验证方式:MD5、SHA-1



参考链接:
IPSec 基本概念