针对Internet安全需求,IETF(因特网工程任务组)于1998年11月颁发了IP层安全协议IPSec。它不是一个单独的协议,而是一组协议。
IPsec是ip安全协议标准,是在IP层为ip业务提供保护的安全协议标准,其基本目的就是把安全机制引入IP协议。
IPSec在IPv6中必需支持,在IPv4中则是可选的。
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相关的参数。
4)SAD的工作过程
对于输入或输出通信,将搜索各自的SAD来查找与数据包头域中解析出来的选择符相匹配的SPI、源或者目的地址以及IPSec协议。如果查到一个匹配的条目,则将该SA的参数与AH或ESP头中的适当域相匹配,如果一致就处理,不一致就丢弃。
在没有与SA相匹配条目的情况下,并且数据包是一个输入包,就将其丢弃。如果数据包数一个输出包,并将其存入输出SAD中。
1)AH简介
为IP包提供数据完整性、认证和抗重放保护服务。防止传输过程中对数据包内容的修改、防止地址欺骗攻击和消息重放攻击。
由于AH不能加密数据包所承载的内容,因而它不能提供机密性。
鉴别算法由SA指定
——鉴别范围:整个包
2)AH为IP数据包提供三种服务
数据完整性:通过哈希函数产生的校验来保证
数据源身份认证:通过在计算验证时加入的一个共享密钥来实现
防重攻击:AH报头中的序列号可以防止重放攻击
3)AH的两种模式
1)ESP简介
提供保密功能,包括报文内容的机密性和有限的通信量,也可以提供鉴别(可选)。
将需要保密的用户数据进行加密之后在封装到一个新的IP包中。ESP只鉴别ESP头之后的信息。
加密算法和鉴别算法由SA指定。
2)功能
除了提供AH提供的三种功能外,还提供了两种服务:
数据包加密:对一个IP数据包进行加密,可以对整个数据包进行加密,也可以只加密ip的载荷部分,一般用户客户端计算机。
数据流加密:一般用于支持IPSec的路由器,源端路由器并不关心IP包的内容,对整个包进行加密后传输,目的端路由器将该包解密后继续转发。
加密是ESP的基本功能,而身份认证、数据完整性、防止重放攻击都是可选的。
3)AH和ESP可以单独使用,也可以嵌套使用。
1)IKE简介
IKE是一个混合协议,使用到三个不同协议的相关部分:
-ISAKMP:安全关联和密钥管理协议,密钥交换框架
-Oakley:密钥交换协议,基于DH密钥交换算法
-SKEME:共享和密钥更新技术
2)密钥协商
第一阶段:协商创建一个通信信道,并对该通信信道进行验证。为双方进一步的IKE通行提供机密性、完整性和消息源验证服务。
第二阶段:使用已经建立的IKE SA建立IPSec SA。
1)传输模式
传输模式要保护的是IP包的载荷,通常情况下,只用于两台主机之间的安全通信。
2)隧道模式
隧道模式保护的是整个IP包。通常情况下,只要双方有一方是安全网关或路由器,就必需使用隧道模式。
1)作为一个隧道协议实现VPN通信
可以在IP层上建立一个安全隧道。
2)保证数据来源可靠
在IPSec通信之前通信双方需要使用IKE认证双方身份并协商密钥。只有IKE协商成功才可以进行通信。由于第三方不可能知道验证和加密的算法以及相关密钥,因此无法冒充发送方,即使冒充也会被接受方检测出。
3)保证数据完整性
4)保证数据机密性