IPSec简介

1 IPSec协议简介

针对Internet安全需求,IETF(因特网工程任务组)于1998年11月颁发了IP层安全协议IPSec。它不是一个单独的协议,而是一组协议。

IPsec是ip安全协议标准,是在IP层为ip业务提供保护的安全协议标准,其基本目的就是把安全机制引入IP协议。

IPSec在IPv6中必需支持,在IPv4中则是可选的。

IPSec简介_第1张图片


2 体系结构

IPSec简介_第2张图片

2.1 SA(安全关联)

1)SA简介

SA是IPSec提供安全服务数据流的一个单向逻辑关系。因为SA是单向的,所以对于一个双向通信,需要两个SA。

SA是通信对等方之间对某些要素的一种协定,是通过密钥管理协议在通信对等方之间协商的。协商的要素有:协议操作模式、密码算法、秘药以及用于保护他们之间数据流的密钥的生存期等。

当一个SA协商完成后,两个对等方都会在其安全关联数据库SAD中存储该SA参数。

SA具有一定的生存期,当过期之后,要么终止该SA,要么用新的SA替换。终止的SA将从SAD中删除。

2)SA三个标识参数

安全参数索引SPI:一个用来作为唯一标识一个SA的32为整数。SPI被加载在AH和ESP的首部,使得接受系统能够选择SA来处理接受的数据包。

目标地址IP:可以终端用户系统的地址,或是防火墙或安全网关等网路设备的地址。

安全协议标识符:指出SA时用的协议类型(AH或ESP)。

3)两个相关数据库

安全策略数据库(SPD):指定了用于到达的、源自特定主机的或网络的数据流的策略。数据库中每个元组定义了要保护什么通信、怎么保护等。

安全关联数据库(SAD):包含有与当前活动SA相关的参数。

IPSec简介_第3张图片

4)SAD的工作过程

对于输入或输出通信,将搜索各自的SAD来查找与数据包头域中解析出来的选择符相匹配的SPI、源或者目的地址以及IPSec协议。如果查到一个匹配的条目,则将该SA的参数与AH或ESP头中的适当域相匹配,如果一致就处理,不一致就丢弃。

在没有与SA相匹配条目的情况下,并且数据包是一个输入包,就将其丢弃。如果数据包数一个输出包,并将其存入输出SAD中。

2.2 认证报头——AH

1)AH简介

为IP包提供数据完整性、认证和抗重放保护服务。防止传输过程中对数据包内容的修改、防止地址欺骗攻击和消息重放攻击。

由于AH不能加密数据包所承载的内容,因而它不能提供机密性。

鉴别算法由SA指定

——鉴别范围:整个包

2)AH为IP数据包提供三种服务

数据完整性:通过哈希函数产生的校验来保证

数据源身份认证:通过在计算验证时加入的一个共享密钥来实现

防重攻击:AH报头中的序列号可以防止重放攻击

3)AH的两种模式

IPSec简介_第4张图片


2.3 ESP封装安全载荷

1)ESP简介

提供保密功能,包括报文内容的机密性和有限的通信量,也可以提供鉴别(可选)。

将需要保密的用户数据进行加密之后在封装到一个新的IP包中。ESP只鉴别ESP头之后的信息。

加密算法和鉴别算法由SA指定。

2)功能

除了提供AH提供的三种功能外,还提供了两种服务:

数据包加密:对一个IP数据包进行加密,可以对整个数据包进行加密,也可以只加密ip的载荷部分,一般用户客户端计算机。

数据流加密:一般用于支持IPSec的路由器,源端路由器并不关心IP包的内容,对整个包进行加密后传输,目的端路由器将该包解密后继续转发。

加密是ESP的基本功能,而身份认证、数据完整性、防止重放攻击都是可选的。

3)AH和ESP可以单独使用,也可以嵌套使用。

2.4 IKE internet密钥交换

1)IKE简介

IKE是一个混合协议,使用到三个不同协议的相关部分:

-ISAKMP:安全关联和密钥管理协议,密钥交换框架

-Oakley:密钥交换协议,基于DH密钥交换算法

-SKEME:共享和密钥更新技术

2)密钥协商

第一阶段:协商创建一个通信信道,并对该通信信道进行验证。为双方进一步的IKE通行提供机密性、完整性和消息源验证服务。

第二阶段:使用已经建立的IKE SA建立IPSec SA。

3 IPSec的运行模式

1)传输模式

传输模式要保护的是IP包的载荷,通常情况下,只用于两台主机之间的安全通信。

IPSec简介_第5张图片

2)隧道模式

隧道模式保护的是整个IP包。通常情况下,只要双方有一方是安全网关或路由器,就必需使用隧道模式。

IPSec简介_第6张图片

4 总结IPSec的功能

1)作为一个隧道协议实现VPN通信

可以在IP层上建立一个安全隧道。

2)保证数据来源可靠

在IPSec通信之前通信双方需要使用IKE认证双方身份并协商密钥。只有IKE协商成功才可以进行通信。由于第三方不可能知道验证和加密的算法以及相关密钥,因此无法冒充发送方,即使冒充也会被接受方检测出。

3)保证数据完整性

4)保证数据机密性

你可能感兴趣的:(IPSec简介)