h3c ×××安全协议之IPsec

IPSec协议简介 算法

  IPSec协议是一系列网络安全协议的总称,它是由IETF(Internet Engineering Task  安全

Force,Internet工程任务组)开发的,可为通信双方提供访问控制、无链接的完整性、数据来源认证、反重放、加密以及对数据流分类加密等服务。IPSec 协议不是一个单独的协议,它给出了 IP 网络上数据安全的一整套体系结构。包括AH(Authentication Header)、ESP(Encapsulating Security Payload )、IKE (Internet Key Exchange )等协议。GRE和IPSec 主要用于实现专线 ×××业务。IPSec 是网络层的安全机制。经过对网络层包信息的保护,上层应用程序即便没有实现安全性,也可以自动从网络层提供的安全性中获益。这打消了人们对×××(Virtual Private Network,虚拟专用网络)安全性的顾虑,使得×××得以普遍应用。IPSec是一个用于保证经过IP网络进行安全(保密性、完整性、真实性)的秘密通讯的开放式标准框架IPSec实现了网络层的加密和认证,在网络体系结构中提供了一种端到端的安全解决方案IPSec加密的数据包能够经过任何IP网络,而不须要对中间的网络互联设备作任何的改变须要知道加密的唯一设备是端点,大大下降了实现和管理的成本 网络

IPSec提供的服务 架构

 1)认证:报文认证,肯定接收的数据与发送的数据是否一致,同时肯定发送者是否真实 框架

 2)数据完整性验证:保证数据传送过程没有被修改 ide

 3)保密:使相应的接收者能获取发送的真正的内容,无关接收者没法获知 函数

IPSec提供的三种保护形式: 测试

  1)认证头(Authentication Header,AH) 加密

提供数据源认证无链接的数据完整性服务 spa

   2)封装安全载荷(Encapsulating Security Payload,ESP)

提供数据源认证无链接的数据完整性服务

无链接的数据保密服务:合法的接收端可以真正看到IP包中的数据AH和ESP是一套协议的两个不一样机制,可单独使用,也可组合使用,以知足不一样的安全要求AH和ESP可工做于两种模式:传输模式和隧道模式

  3)互联网密钥管理协议(IKMP)

IPSec对报文的处理过程

IPSec对报文的处理过程以下(以AH协议为例):

(1)  对报文添加认证头:从IPSec队列中读出IP模块送来的IP报文,根据配置选择的协议模式(传输或是隧道模式)对报文添加AH头,再由IP层转发。

(2)  对报文进行认证后解去认证头:IP层收到IP报文经解析是本机地址,而且协议号为51,则查找相应的协议开关表项,调用相应的输入处理函数。此处理函数对报文进行认证和原来的认证值比较,若相等则去掉添加的AH头,还原出原始的IP报文再调用IP输入流程进行处理;不然此报文被丢弃。

与IPSec相关的几个术语

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

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

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

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

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

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

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

安全协议数据封装格式:

IPsec ××× 应用

IPSec ×××的应用场景分为3种:

1. Site-to-Site(站点到站点或者网关到网关):如弯曲评论的3个机构分布在互联网的3个不一样的地方,各使用一个商务领航网关相互创建×××隧道,企业内网(若干PC)之间的数据经过这些网关创建的IPSec隧道实现安全互联。

2. End-to-End(端到端或者PC到PC): 两个PC之间的通讯由两个PC之间的IPSec会话保护,而不是网关。

3. End-to-Site(端到站点或者PC到网关):两个PC之间的通讯由网关和异地PC之间的IPSec进行保护。

×××只是IPSec的一种应用方式,IPSec实际上是IP Security的简称,它的目的是为IP提供高安全性特性,×××则是在实现这种安全特性的方式下产生的解决方案。IPSec是一个框架性架构,具体由两类协议组成:

1. AH协议(Authentication Header,使用较少):能够同时提供数据完整性确认、数据来源确认、防重放等安全特性;AH经常使用摘要算法(单向Hash函数)MD5和SHA1实现该特性。

2. ESP协议(Encapsulated Security Payload,使用较广):能够同时提供数据完整性确认、数据加密、防重放等安全特性;ESP一般使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性

IPSec封装模式

1)传输模式

对IP包的部分信息提供安全保护,即对IP数据包的上层数据(TCP、UDP、ICMP消息等)提供安全保护采用AH传输模式,主要为IP数据包(IP头中的可变信息除外)提供认证保护采用ESP传输模式,对IP数据包的上层信息提供加密和认证双重保护一种端到端的安全,IPSec在端点执行加密认证、处理,在安全通道上传输,主机必须配置IPSec

  2)隧道模式

对整个IP数据包提供保护

基本原理:构造新的IP数据包,将原IP数据包做为新数据包的数据部分,并为新的IP数据包提供安全保护采用AH隧道模式,为整个IP数据包提供认证保护(可变字段除外)

采用ESP隧道模式,为整个IP数据包提供加密和认证双重保护对IPSec的处理是在安全网关执行的,两端主机没必要知道IPSec协议

了解了IPsec的基本信息以后,下面经过一个案例来对其的工做原理进行进一步的深化。

实验拓扑

配置信息

F1

F2

F3

Sw1

测试结果:

Pc1 ping pc3

Pc2 ping pc3