IPSec的英文是Internet Protocol Security,是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
IPsec主要由以下协议组成:
一、认证头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护。
二、封装安全载荷(ESP),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性。
三、安全关联(SA),提供算法和数据包,提供AH、ESP操作所需的参数。
IPSec特性:
机密性、完整性、真实性、防重放。
IPSec安全防护场景(端到端的应用场景):
安全网关(如防火墙)之间(典型场景)、主机与安全网关之间、主机与主机之间。
IKE与AH/ESP之间的关系:
AH(Authentication Header):
报文头验证协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能;然而,AH并不加密所保护的数据报文。
ESP(Encapsulating Security Payload):
ESP是封装安全载荷协议。它除提供AH协议的所有功能外(但其数据完整性校验不包括IP头),还可提供对IP报文的加密功能。
IPSec通过AH(Authentication Header)和ESP(Encapsulating Security Payload)这两个安全协议来实现数据报文在网络上传输时的私有性、完整性、真实性和防重放。
IPSec协议封装模式:
传输模式:IPSec头被插入到IP头之后但在所有传输层协议之前,或所有其他IPSec协议之前。
隧道模式:IPSec头插在原始IP头之前,另外生成一个新的报文头放到AH或ESP之前。
提供数据源验证(真实性)、完整性校验和抗重放
不支持加密算法
提供数据真实性、数据完整性、抗重放、数据机密性
支持加密算法
IKE具有一套自保护机制,可以在不安全的网络上安全地分发密钥、验证身份、建立IPSec安全联盟。
作用:
1、降低手工配置的复杂度
2、安全联盟定时更新
3、密钥定时更新
4、允许IPSec提供反重放服务
5、允许在端与端之间动态认证
SA是通信对等体间对某些要素的约定 ,通信的双方符合SA约定的内容,就可以建立SA。
IKE的交换阶段
IKE使用了两个阶段为IPSec进行密钥协商并建立安全联盟:
第一阶段:通信各方彼此间建立了一个已通过身份验证和安全保护的隧道,即IKE SA。协商模式包括主模式、野蛮模式。认证方式包括预共享密钥、数字签名方式、公钥加密。
第二阶段:用在第一阶段建立的安全隧道为IPSec协商安全服务,建立IPSec SA。IPSec SA用于最终的IP数据安全传送。协商模式为快速模式。
IKE预共享密钥方式主模式交换过程
IKE野蛮模式预共享密钥协商过程
野蛮模式一共需要交换3个消息:
消息1交换SA载荷、密钥材料、和身份信息。
消息2在交换消息1内容的同时增加了Hash认证载荷。
消息3是响应方对发起方的认证。
IKE主模式和野蛮模式区别
交换的消息:
主模式为6个,野蛮模式为3个。
身份保护:
主模式的最后两条消息有加密,可以提供身份保护功能;而野蛮模式消息集成度过高,因此无身份保护功能。
对等体标识:
主模式只能采用IP地址方式标识对等体;而野蛮模式可以采用IP地址方式或者Name方式标识对等体。
快速模式协商过程
快速模式一共需要交换3个消息:
消息1和消息2中,交换SA、KEY、Nonce和ID。用以协商算法、保证PFS以及提供“在场证据”。
消息3是用于验证响应者是否可以通信,相当于确认信息。