“Internet 协议安全性 (IPSec)”是一种开放标准的框架结构,通过使用加密的安全服务以确保在 Internet 协议 (IP) 网络上进行保密而安全的通讯。Microsoft® Windows® 2000、Windows XP 和 Windows Server 2003 家族实施 IPSec 是基于“Internet 工程任务组 (IETF)”IPSec 工作组开发的标准。

简介

IPSec 是安全联网的长期方向。它通过端对端的安全性来提供主动的保护以防止专用网络与 Internet 的***。在通信中,只有发送方和接收方才是唯一必须了解 IPSec 保护的计算机。在 Windows XP 和 Windows Server 2003 家族中,IPSec 提供了一种能力,以保护工作组、局域网计算机、域客户端和服务器、分支机构(物理上为远程机构)、Extranet 以及漫游客户端之间的通信。

      IPsecInternet Protocol Security),是通过对IP协议互联网协议)的分组进行加密认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。

     IPsec由两大部分组成:(1)建立安全分组流的密钥交换协议;(2)保护分组流的协议。前者为互联网金钥交换(IKE)协议。后者包括加密分组流的封装安全载荷协议(ESP协议)或认证头协议(AH协议)协议,用于保证数据的机密性、来源可靠性(认证)、无连接的完整性并提供抗重播服务。

作用目标 1、保护 IP 数据包的内容。 2、通过数据包筛选及受信任通讯的实施来防御 网络***

这两个目标都是通过使用基于加密的保护服务、安全协议与动态密钥管理来实现的。这个基础为专用网络计算机、域、站点、远程站点、Extranet 和拨号用户之间的通信提供了既有力又灵活的保护。它甚至可以用来阻碍特定通讯类型的接收和发送。

3、其中以接收和发送最为重要

与IPSec 相关的几个术语

数据流:

在 IPSec 中,一组具有相同源地址/掩码、目的地址/掩码和上层协议的数据集称为数据流。通常,一个数据流采用一个访问控制列表(acl)来定义,所有为ACL 允许通过的报文在逻辑上作为一个数据流。为更容易理解,数据流可以比作是主机之间一个的TCP 连接。IPSec 能够对不同的数据流施加不同的安全保护,例如对不同的数据流使用不同的安全协议、算法或密钥。

安全策略:

由用户手工配置,规定对什么样的数据流采用什么样的安全措施。对数据流的定义是通过在一个访问控制列表中配置多条规则来实现,在安全策略中引用这个访问控制列表来确定需要进行保护的数据流。一条安全策略由“名字”和“顺序号”共同唯一确定。

安全策略组:

所有具有相同名字的安全策略的集合。在一个接口上,可应用或者取消一个安全策略组,使安全策略组中的多条安全策略同时应用在这个接口上,从而实现对不同的数据流进行不同的安全保护。在同一个安全策略组中,顺序号越小的安全策略,优先级越高。

安全联盟(Security Association,简称SA):

IPSec 对数据流提供的安全服务通过安全联盟SA 来实现,它包括协议、算法、密钥等内容,具体确定了如何对IP 报文进行处理。一个SA 就是两个IPSec 系统之间的一个单向逻辑连接,输入数据流和输出数据流由输入安全联盟与输出安全联盟分别处理。安全联盟由一个三元组(安全参数索引(SPI)、IP 目的地址、安全协议号(AH或ESP))来唯一标识。安全联盟可通过手工配置和自动协商两种方式建立。手工建立安全联盟的方式是指用户通过在两端手工设置一些参数,然后在接口上应用安全策略建立安全联盟。自动协商方式由IKE 生成和维护,通信双方基于各自的安全策略库经过匹配和协商,最终建立安全联盟而不需要用户的干预。

wps_clip_image-21646

安全联盟超时处理:

安全联盟更新时间有“计时间”(即每隔定长的时间进行更新)和“计流量”(即每传输一定字节数量的信息就进行更新)两种方式。

安全参数索引(SPI):

是一个32 比特的数值,在每一个IPSec 报文中都携带该值。SPI、IP 目的地址、安全协议号三者结合起来共同构成三元组,来唯一标识一个特定的安全联盟。在手工配置安全联盟时,需要手工指定SPI 的取值。为保证安全联盟的唯一性,每个安全联盟需要指定不同的SPI 值;使用IKE协商产生安全联盟时,SPI 将随机生成。

安全提议:

包括安全协议、安全协议使用的算法、安全协议对报文的封装形式,规定了把普通的IP 报文转换成IPSec 报文的方式。在安全策略中,通过引用一个安全提议来规定该安全策略采用的协议、算法等。

IPSec 的配置

IPSec 的配置包括:

一 创建加密访问控制列表

wps_clip_image-6463

二 定义安全提议

wps_clip_image-30575

设置安全协议对IP 报文的封装模式

wps_clip_image-7880

选择安全协议

wps_clip_image-20208

三 选择加密算法与认证算法

wps_clip_image-18452

四 创建安全策略

1. 手工创建安全策略

(1) 手工创建安全策略

wps_clip_image-2884

(2) 配置安全策略引用的访问控制列表

wps_clip_image-21649

(3) 指定安全隧道的起点与终点

wps_clip_image-17211

(4) 配置安全策略中引用的安全提议

wps_clip_image-15671

(5) 配置安全策略联盟的SPI 及使用的密钥

(A) 配置安全策略联盟的SPI 参数

wps_clip_image-31943

(B) 配置安全策略联盟使用的密钥

wps_clip_image-30522

2. 用IKE 创建安全策略联盟

(1) 用IKE 创建安全策略联盟

wps_clip_image-22378

(2) 配置安全策略引用的访问控制列表

wps_clip_image-5996

(3) 指定安全隧道的终点

wps_clip_image-2080

(4) 配置安全策略中引用的安全提议

wps_clip_image-27782

(5) 配置安全联盟的生存时间(可选)

(a) 配置全局的安全联盟生存周期

wps_clip_image-451

(b)配置单独的安全联盟生存周期(可选)

wps_clip_image-2288

启动对隧道对端路由可达性的监测

wps_clip_image-13350

五:在接口上应用安全策略组

wps_clip_image-28672

加密卡实现 IPSec 的配置包括:

 创建加密访问控制列表

配置加密卡

使能 VRP 主体软件备份

定义安全提议

选择加密算法与认证算法

创建安全策略

在接口上应用安全策略组

常见问题

一、安全特性 IPSec的安全特性主要有:

·不可否认性

"不可否认性"可以证实消息发送方是唯一可能的发送者,发送者不能否认发送过消息。"不可否认性"是采用公钥技术的一个特征,当使用公钥技术时,发送方用私钥产生一个数字签名随消息一起发送,接收方用发送者的公钥来验证数字签名。由于在理论上只有发送者才唯一拥有私钥,也只有发送者才可能产生该数字签名,所以只要数字签名通过验证,发送者就不能否认曾发送过该消息。但"不可否认性"不是基于认证的共享密钥技术的特征,因为在基于认证的共享密钥技术中,发送方和接收方掌握相同的密钥。

·反重播性

"反重播"确保每个IP包的唯一性,保证信息万一被截取复制后,不能再被重新利用、重新传输回目的地址。该特性可以防止***者截取破译信息后,再用相同的信息包冒取非法访问权(即使这种冒取行为发生在数月之后)。

·数据完整性

防止传输过程中数据被篡改,确保发出数据和接收数据的一致性。IPSec利用Hash函数为每个数据包产生一个加密检查和,接收方在打开包前先计算检查和,若包遭篡改导致检查和不相符,数据包即被丢弃。

·数据可靠性(加密)

在传输前,对数据进行加密,可以保证在传输过程中,即使数据包遭截取,信息也无法被读。该特性在IPSec中为可选项,与IPSec策略的具体设置相关。

·认证

数据源发送信任状,由接收方验证信任状的合法性,只有通过认证的系统才可以建立通信连接。

二、基于电子证书的公钥认证 一个架构良好的公钥体系,在信任状的传递中不造成任何信息外泄,能解决很多安全问题。IPSec与特定的公钥体系相结合,可以提供基于电子证书的认证。公钥证书认证在Windows 2000中,适用于对非Windows 2000主机、独立主机,非信任域成员的客户机、或者不运行Kerberos v5认证协议的主机进行身份认证。 三、预置共享密钥认证 IPSec也可以使用预置共享密钥进行认证。预共享意味着通信双方必须在IPSec策略设置中就共享的密钥达成一致。之后在安全协商过程中,信息在传输前使用共享 密钥加密,接收端使用同样的密钥解密,如果接收方能够解密,即被认为可以通过认证。但在Windows 2000 IPSec策略中,这种认证方式被认为不够安全而一般不推荐使用。 四、公钥加密 IPSec的公钥加密用于身份认证和密钥交换。公钥加密,也被称为"不对称加密法",即加解密过程需要两把不同的密钥,一把用来产生数字签名和加密数据,另一把用来验证数字签名和对数据进行解密。

使用公钥加密法,每个用户拥有一个密钥对,其中私钥仅为其个人所知,公钥则可分发给任意需要与之进行加密通信的人。例如:A想要发送加密信息给B,则A需要用B的公钥加密信息,之后只有B才能用他的私钥对该加密信息进行解密。虽然密钥对中两把钥匙彼此相关,但要想从其中一把来推导出另一把,以目前计算机的运算能力来看,这种做法几乎完全不现实。因此,在这种加密法中,公钥可以广为分发,而私钥则需要仔细地妥善保管。

五、Hash函数和数据完整性 Hash信息验证码HMAC(Hash message authentication codes)验证接收消息和发送消息的完全一致性(完整性)。这在数据交换中非常关键,尤其当传输媒介如公共网络中不提供安全保证时更显其重要性。

HMAC结合hash算法和共享密钥提供完整性。Hash散列通常也被当成是数字签名,但这种说法不够准确,两者的区别在于:Hash散列使用共享密钥,而数字签名基于公钥技术。hash算法也称为消息摘要或单向转换。称它为单向转换是因为:

1)双方必须在通信的两个端头处各自执行Hash函数计算;

2)使用Hash函数很容易从消息计算出消息摘要,但其逆向反演过程以目前计算机的运算能力几乎不可实现。

六、加密和数据可靠性 IPSec使用的 数据加密算法是DES--Data Encryption Standard( 数据加密标准)。DES密钥长度为56位,在形式上是一个64位数。DES以64位(8字节)为分组对数据加密,每64位明文,经过16轮置换生成64位密文,其中每字节有1位用于奇偶校验,所以实际有效密钥长度是56位。 IPSec还支持3DES算法,3DES可提供更高的安全性,但相应地,计算速度更慢。 七、密钥管理 ·动态密钥更新

·密钥长度

·Diffie-Hellman算法