商业虚拟专用网络技术五IPSec

商业虚拟专用网络技术五IPSec

  • 一、IPSec技术
  • 1、IPSec虚拟专用网概述
  • 2、IPSec体系结构
  • 2.1、IPSec体系框架
  • 2.2、IPSec工作模式
  • 2.3、IPSec安全联盟
  • 2.3.1、IPSec工作流程中的专业术语
  • 2.3.2、安全联盟建立方式
  • 3、AH验证头协议
  • 3.1、AH报文格式
  • 3.1、AH封装
  • 3.1.1、传输模式中的AH封装
  • 3.1.2、传输模式中的AH封装
  • 4、ESP安全封装载荷
  • 4.1、ESP报文格式
  • 4.2、ESP封装
  • 4.2.1、传输模式下报文封装
  • 4.2.2、隧道模式下报文封装
  • 4.2.3、AH协议和ESP协议比较
  • 5、IKE因特网密钥交换
  • 5.1、 ISAKMP报文头
  • 5.2、IKE与IPSec的关系
  • 5.3、IKEv1协商的两个阶段
  • 5.3.1、阶段1
  • 5.3.2、阶段2
  • 5.4、Cookie
  • 5.5、IKEv1的主模式
  • 5.6、IKEv1的野蛮模式
  • 5.7、IKEv1阶段2快速模式
  • 5.7、IKEv2简介

一、IPSec技术

IPSec(Internet Protocol Security):是一组基于网络层的,应用密码学的安全通信协议族。IPSec不是具体指哪个协议,而是一个开放的协议族。

1992年,互联网工程任务组(IETF)成立了IP安全工作组,以规范对IP的公开指定的安全扩展,称为IPsec。1995年,工作组批准了NRL开发的IPsec标准,从RFC-1825到RFC-1827发布,NRL在1996年USENIX会议论文集中,描述 NRL 的开放源代码IPsec,由麻省理工学院在线提供,并成为大多数初始商业实现的基础。

1、IPSec虚拟专用网概述

网络传输中,数据被窃听、篡改、伪装的问题不断发生,IP网络安全性问题已经暴露出来。IETF在RFC2401中描述了IP的安全体系结构IPSec(Internet Protocol Security),用以保证在IP网络上传输数据的安全性。IPSec协议定义了如何在IP数据包中增加字段来保证IP包的安全性、私有性和真实性,以及如何加密数据包。IPSec不是具体指哪个协议,而是一个开放的安全标准构成。IPSec不受限于任何一种特定算法,而是引入多种加密算法、验证算法和密钥管理机制。

  • 机密性:对数据进行加密,确保数据在传输过程中不被其它人员查看;
  • 完整性:对接收到数据包进行完整性验证,以确保数据在传输过程中没有被篡改;
  • 真实性:验证数据源,以保证数据来自真实的发送者(IP报文头内的源地址);
  • 抗重播:防止恶意用户通过重复发送捕获到的数据包所进行的攻击,即接收方会拒绝旧的或重复的数据包。

IPSec实现访问控制、机密性、完整性校验、数据源验证、拒绝重播报文等安全功能。IPSec是运行在IP网络层,其上层TCP、UDP以及依赖于这些协议的应用协议都受到隧道的保护。
商业虚拟专用网络技术五IPSec_第1张图片

IPSec虚拟专用网:就是利用开放的公众IP/MPLS网络建立专用数据传输通道,将远程的分支机构、移动办公人员等连接起来。这个专用数据传输通道称为IPSec隧道,位于OSI模型的第三层,传送IP包。

IPSec的中间设备,在主机、路由器、防火墙硬件设备上实现。又称为"安全网关",安全网关之间可以利用IPsec对数据进行安全保护,保证数据不被偷窥或篡改。

IPSec虚拟专用网的缺点:配置复杂难以部署、消耗运算资源较多、增加延迟、不支持组播(只能对点到点的数据保护) 、不利于语音视频实时这种要求高的应用。

2、IPSec体系结构

2.1、IPSec体系框架

商业虚拟专用网络技术五IPSec_第2张图片

IPsec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构:
1、安全协议

  • AH(Authentication Header,验证头)安全协议
  • ESP(Encapsulating Security Payload,安全载荷)安全协议

2、IKE(Internet Key Exchange,因特网密钥交换)密钥交换协议。
3、用于网络认证及加密的一些算法等。

AH或ESP安全服务的工作模式:

  • 传输模式(Transport Mode):实现端到端保护
  • 隧道模式(Tunnel Mode):实现站点到站点保护
    商业虚拟专用网络技术五IPSec_第3张图片

IPsec获取密钥的两种途径:
手工配置:管理员为通信双方预先配置静态密钥,这种密钥不便于随时修改,安全性低,不易维护。
通过IKE协商:IPsec 通信双方可以通过IKE动态生成并交换密钥,获取更高的安全性。

商业虚拟专用网络技术五IPSec_第4张图片
商业虚拟专用网络技术五IPSec_第5张图片

2.2、IPSec工作模式

1、传输模式(Transport mode):
计算机终端之间的端对端传输,AH和ESP直接用于保护上层协议,OSI的第四层传输层。传输点也是加密点。

商业虚拟专用网络技术五IPSec_第6张图片

2、隧道模式(Tunnel mode):
用于站点到站点(site-to-site)之间的安全传输,运用AH或者ESP对这些数据进行保护。传输点不等于加密点。

商业虚拟专用网络技术五IPSec_第7张图片
商业虚拟专用网络技术五IPSec_第8张图片

2.3、IPSec安全联盟

2.3.1、IPSec工作流程中的专业术语

  • Negotiate:协商,两个节点要开始安全发送数据之前,必须完成的事情。
  • IPsec对等体:IPsec的两个端点被称为是IPsec对等体,要在两个对等体(安全网关)之间实现数据的安全传输,就要在两者之间建立安全关联/联盟。
  • SA(Security Association,安全联盟):协商的结果,类似合约书。
  • SPI(Security Parameter Index,安全参数索引):SA内包含,用于区分多个SA。是一个32比特的数值,在每一个IPsec报文中都携带有该数值。
  • IKE(Internet Key Exchange,因特网密钥交换):SA协商的方法和标准。

IPSec对数据流提供安全服务通过SA(Security Association,安全联盟)来实现。SA是通信双方如何保障安全协商的一个结果,包含协议、算法、密钥等内容,具体确定了如何对IP报文进行处理。
商业虚拟专用网络技术五IPSec_第9张图片

每个IPSec SA都是单向的,具有生存周期的。一个SA就是两个IPSec系统之间的一个单身逻辑连接,入站数据流和出站数据流由入站SA与出站SA分别处理。两个对等体之间的双向通信,至少需要两个SA。

一个SA由一个(SPI安全参数索引,IP目的地址,安全协议标识符)三元组唯一标识。

2.3.2、安全联盟建立方式

安全联盟建立方式:手工方式和IKE自动协商方式。二者的主要区别为:

  • 手工方式下,建立SA所需的全部参数,包括加密、验证密钥,都需要用户手工配置,也只能手工刷新,在中大型网络中,这种方式的密钥管理成本很高;
  • IKE方式下,建立SA需要的加密、验证密钥是通过DH算法生成的,可以动态刷新,因而密钥管理成本低,且安全性较高。

SA的生存时间(Life Time)一种是以时间进行限制,一种是以流量进行限制(达到多少字节进行更新)。

生存时间不同:

  • 手工方式建立的SA,一经建立永久存在;
  • IKE方式建立的SA,其生存周期由双方配置的生存周期参数控制。
    生存时间期满,SA就会被删除。

专业术语:

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

  • SPI(Security Parameter Index),安全参数索引,用于区分多个SA。

  • SPD(Security Policy Database,安全策略数据库)在RFC4301中定义,保存安全策略,在处理进入和外出包时,需查阅SPD,以判断为这个包提供哪些安全服务,具体策略包括丢弃、直接转发或应用安全服务处理等。理解为对哪些数据提供哪些服务。

  • SAD(Security Association Database,安全联盟数据库)维护IPSec协议中的所有SA。

举例:在出站口路由器A,首先与SPD中的策略作比较,有相应的安全服务项目,则对该数据对应的SA及算法进行加密。如不存相应的SA,系统就新建立一个SA。

商业虚拟专用网络技术五IPSec_第10张图片
(1)、查找SPD(安全策略数据库),有三种结果:丢弃、旁路安全服务、提供安全服务。
(2)、系统从SAD(安全联盟数据库)中查找 查找IPSec SA。如果找到,则利用此查找IPSec SA的参数对此数据包提供安全服务,并进行转发;如果没有找到,则系统需要创建一个查找IPSec SA。
(3)、系统转向IKE(因特网密钥交换)协议数据库,查找合适的IKE SA,以便为IPSec协商SA。如果找到,则利用此IPSec SA协商IPSec SA;如果没有找到,系统需要启动IKE协商进程,创建一个IKE SA。

路由器B收到隧道传送的IPSec数据包,系统会提取其SPI、IP地址、协议类型等信息,查找相应的IPSec SA,然后根据SA的协议标识符,选择合适的协议(AH或ESP)解封装,获得原IP包,再将IP包发送到对应IP地址的终端设备。
商业虚拟专用网络技术五IPSec_第11张图片

3、AH验证头协议

AH(Authentication Header,验证头)是报文验证头协议,主要提供数据源验证、数据完整性校验和有限的防报文重播功能。AH不能提供加密功能,因此不能保证机密性。标准RFC 2402(已被RFC 4302取代)。IP协议号51。

AH 协议通过使用带密钥的验证算法,对受保护的数据计算摘要。通过使用数据完整性检查,可判定数据包在传输过程中是否被修改;通过使用认证机制,终端系统或网络设备可对用户或应用进行认证,过滤通信流;认证机制还可防止地址欺骗攻击及重放攻击。

3.1、AH报文格式

商业虚拟专用网络技术五IPSec_第12张图片
1、Next Header下一个报头 :长度为8位。使用IP协议 ID来标识IP负载。例如,值 6 表示 TCP。

2、Payload Length负载长度:长度为8位,用于指示AH长度减2,单位是"32位"。这里因为AH也是一个IPv6扩展头,根据RFC2460规定,所有IPv6扩展头必须把负载长度值减去一个“64位”。

3、Reserved保留:长度16位,为将来保留,现必须设置为0

4、SPI安全参数索引 :与目标地址及安全协议(AH 或 ESP)组合使用,以确保通信的正确安全关联。接收方使用该值确定数据包使用哪一安全(SA)关联标识。

5、Sequence Number Field序数 :为该数据包提供抗重播保护。序数是 32 位、递增的数字(从 1 开始),它表示通过通信的安全关联所发送的数据包数。在快速模式安全关联的生存期内序列号不能重复。接收方将检查该字段,以确认使用该数字的安全关联数据包还没有被接收过。如果一个已经被接收,则数据包被拒绝。

6、Authentication Data身份验证数据 :包含完整性校验值 (ICV),也称为消息身份验证码,用于验证消息身份验证与完整性。接收方计算 ICV 值并对照发送方计算的值校验它,以验证完整性。ICV 是通过 IP 报头、AH 报头与 IP 负载来计算的。 为兼容性考虑,AH强制实现HMAC-MD5-96和HMAC-SHA-1-96两种验证算法。

AH使用HMAC算法计算Authentication Data身份验证数据,为确保包括IP头、AH头和载荷在内的整个包的完整性和正确来源,AH的HMAC以IP头、AH头、载荷以及共享密钥作为算法的输入,并将其ICV走入Authentication Data字段。

3.1、AH封装

3.1.1、传输模式中的AH封装

在使用AH协议时,AH协议首先在原数据前生成一个AH报文头,报文头中包括一个递增的序列号(Sequence number)与验证字段(空)、安全参数索引(SPI)等。

AH 协议将对新的数据包进行离散运算,生成一个验证字段(Authentication Data),填入AH头的验证字段。

在数据转发过程中,IP头的一些部分是变化的(如ToS优先级和服务类型、Flags标识、Fragment Offset分片偏移、TTL生存时间、Header Checksum首部校验和等),因此在计算ICV之前,必须把这些字段设置成0。Authentication Data字段也加入了ICV计算,所以在计算时,此字段也设置0。
商业虚拟专用网络技术五IPSec_第13张图片

3.1.2、传输模式中的AH封装

隧道模式,在整个原IP包将会以AH载荷的方式加入新建的隧道数据包,AH保护是整个原IP包。
商业虚拟专用网络技术五IPSec_第14张图片

4、ESP安全封装载荷

RFC 2406 为IPSec定义了ESP(Encapsulating Security Payload,安全封装载荷) 协议。ESP协议将用户数据进行加密后封装到IP包中,以保证数据的私有性。同时作为可选项,用户可以选择使用带密钥的哈希算法保证报文的完整性和真实性。ESP的隧道模式提供了对于报文路径信息的隐藏。ESP用IP协议号50标识。

ESP协议保证数据的机密性、数据的完整性校验和源验证、一定的抗重播能力。

4.1、ESP报文格式

商业虚拟专用网络技术五IPSec_第15张图片

在这里插入图片描述
ESP包含ESP头和ESP尾两部分。
1、ESP报头
(1)、SPI安全参数索引:SPI是一个任意的32位值,与目标地址及安全协议(AH 或 ESP)组合使用时,确保通信的正确安全关联。接收方使用该值确定应该使用哪个安全相关联标识此数据包。

(2)、Sequence Number串行号:为该数据包提供抗重播保护。串行号是 32 位、递增的数字(从 1 开始),它表示通过通信的快速模式安全关联所发送的数据包数。在快速模式安全关联的生存期内序列号不能重复。接收方将检查该字段,以确认使用该数字的安全关联数据包还没有被接收过。如果有已被接收的数据包,则其将被拒绝,防御重放攻击。

2、Payload Data载荷:实际要传输的数据。可变长度,它的长度是字节的整数倍。如果用于加密载荷算法需要密码同步数据,比如初始向(IV),那么这个数据可以显式地装载在载荷字段中。ESP强制实现的基本加密算法是DES-CBC。

3、ESP尾端包含下列字段

  • Padding填充:填充 0~255 个字节用来确保使用填充字节加密的负载可达加密算法所需的字节边界。
  • Pad Length填充长度:表示“填充”字段的长度(以字节为单位)。在使用填充字节的加密负载解密之后,接收方使用该字段来删除填充字节。
    下一个报头 :标识负载中的数据类型,例如 TCP 或 UDP。
  • Authentication Data身份验证数据 :包含完整性校验值 (ICV),也称为消息身份验证码,用于验证消息身份验证与完整性。接收方计算 ICV 值并对照发送方计算的值校验它,以验证完整性。ICV 是通过 ESP 报头、负载数据与 ESP 尾端计算的。

4.2、ESP封装

4.2.1、传输模式下报文封装

ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。
商业虚拟专用网络技术五IPSec_第16张图片

4.2.2、隧道模式下报文封装

与传输模式下报文封装不一样的是,隧道模式是对整个内部IP 报文进行加密。ESP提供加密服务,所以原始IP包和ESP尾以密文的形式出现。ESP在验证过程中,只对ESP头部、原始数据包IP包头、原始数据包数据进行验证;只对原始的整个数据包进行加密,而不加密验证数据。

ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。
商业虚拟专用网络技术五IPSec_第17张图片
商业虚拟专用网络技术五IPSec_第18张图片

4.2.3、AH协议和ESP协议比较

安全特性 AH ESP
协议号 51 50
数据完整性校验 支持(验证整个IP报文) 支持(不验证IP头)
数据源验证 支持 支持
数据加密 支持
防报文重播攻击 有限支持 支持
IPSec NAT-T(NAT穿越) 支持

5、IKE因特网密钥交换

IKE(Internet Key Exchange,因特网密钥交换)是由RFC2409中定义的。

IKE建立在由Internet安全联盟和密钥管理协议定义的一个框架上,沿用ISAKMP基础,Oakley模式和SKEME的共享和密钥更新技术。

IKE的精髓在于永远不在不安全的网络上直接传送密钥,而是通过一系列的数据交换,通信双方最终计算出共享密钥。其核心技术就是DH(Diffie Hellman)交换技术。

IKE使用两个阶段的ISAKMP。第一阶段建立IKE安全联盟。第二阶段利用这个安全联盟为其他协议(如IPSEC)协商具体安全联盟。
第一阶段定义了两种模式,主模式和野蛮模式。第二阶段快速模式。 

IKE 是UDP 之上的一个应用层协议,是IPSEC 的信令协议

IKE的作用

  • 双方进行认证
  • 交换公共密钥,产生密钥资源,管理密钥
  • 协商协议参数(封装、加密、验证…)

IKE的包含主要内容:

  • IKE是一种安全机制,提供端与端之间的动态认证,为IPsec提供了自动协商交换密钥、建立SA的服务,简化IPsec的使用、管理(配置和维护)工作。IKE不是在网络上直接传输密钥,而是通过一系列数据的交换,最终计算出双方共享的密钥。有了IKE,IPsec很多参数(如:密钥)都可以自动建立,降低了手工配置的复杂度。如:定时更新SA(生存周期到达指定的时间或指定的流量,SA就会失效,SA失效前,IKE将为IPsec协商建立新的SA )、定时更新密钥和允许IPSec提供反重播服务。
  • RFC 2409
  • 使用Diffie-Hellman交换
  • 完善的前向安全性 (PFS:Perfect Forward Security):是一种安全特性,指一个密钥被破解, 并不影响其他密钥的安全性,因为这些密钥间没有派生关系。
  • UDP端口500

IKE的三个组件:

  • SKEME:实现公钥加密认证的机制
  • Oakley:基于到达两个对等体间的加密密钥的机制
  • ISAKMP:在两个实体间进行分组格式及状态转换的消息交换的体系结构。

IKE有两个版本:

  • IKEV1
  • IKEV2-------华为默认

IKEv2介绍:

  • 定义在RFC4306 ,更新与 RFC 5996.
  • 不兼容IKEv1,IKEv1不支持认证,IKEv2支持认证,EAP。
  • 支持NAT穿越。
  • IKEv2支持私密性、完整性、源认证。
  • 工作在UDP 的 500 /4500端口。NAT-T用的是UDP4500端口。

5.1、 ISAKMP报文头

ISAKMP(Internet Security Association and Key Management Protocol,安全密钥管理协议)
商业虚拟专用网络技术五IPSec_第19张图片
在 IKEv1 版本中为Cookie:在IKEv2版本中Cookie为IKE的SPI,标识唯一IKE SA。

Major Version:使用的 ISAKMP 协议的主要版本。原的IKE被称为IKEv1,改进后的IKE被称为IKEv2.

Minor Version: 使用的 ISAKMP 协议的次要版本。

Exchange Type:
IKE定义的交换类型。交换类型定义了 ISAKMP消息遵循的交换顺序,后面IKEv1中的主模式、野蛮模式、快速模式,IKEv2中的初始交换、子SA交换都属于IKE定义的交换类型。

Flags:为 ISAKMP 交换设置的各种选项。

Message ID:唯一的信息标识符,用来识别第2阶段的协议状态。

Next Playload:
标识消息中下一个载荷的类型。一个ISAKMP报文可能装载多个载荷,该字段提供载荷之间"链接"能力。若当前载荷时消息中最后一个载荷,则该字段为0。

Length:全部信息(头+有效载荷)长(八位)。

ISAKMP Payload(Type Payload): 载荷类型,ISAKMP报文携带的用于协商IKE SA 和 IPSec SA 的"参数包"。载荷类型由很多种,不同在和携带的"参数包"不同。

5.2、IKE与IPSec的关系

在出站口路由器A,首先IPSec网络安全体系首先在SPD安全策略数据库查询,有相应的安全服务项目,说明需要安全服务,就会在SAD安全联盟数据库查询,是否有相应的IPSec SA。SA的建立通过两种方式:手工方式建立的SA、IKE自动协商建立的SA。
商业虚拟专用网络技术五IPSec_第20张图片
IKE与IPSec的关系:

  • IKE 为IPSEC 协商建立安全联盟,并把建立的参数及生成的密钥交给IPSEC。
  • IPSEC 使用IKE 建立的安全联盟对IP 报文加密或验证处理。
  • IPSEC 处理做为IP层的一部分,在IP 层对报文进行处理。AH 协议和ESP 协议有自己的协议号,分别是51 和50。
    商业虚拟专用网络技术五IPSec_第21张图片
  • 因为有了信令协议,很多参数(如:密钥)都可以自动建立。
  • IKE 协议中的DH 交换过程,每次的计算和产生结果都是毫无关系的。为保证每个安全联盟所使用的密钥互不相关,必须每次安全联盟的建立都运行DH 交换过程。
  • 对安全通信的各方身份的的验证和管理,将影响到 IPSEC 的部署。IPSEC 的大规模使用,必须有CA-Certification Authority(认证中心)或其他集中管理身份数据的机构的参与。
    商业虚拟专用网络技术五IPSec_第22张图片

商业虚拟专用网络技术五IPSec_第23张图片

5.3、IKEv1协商的两个阶段

IKE经过两个阶段为IPSec进行密钥协商并建立安全联盟

5.3.1、阶段1

IKE使用DH交换建立共享密钥,身份认证,在网络上建立一个IKE安全通道。
商业虚拟专用网络技术五IPSec_第24张图片

第一阶段交换有两种协商模式:

  • 主模式(Main Mode)协商,一般情况下,IKE的主模式适用于两设备的公网IP固定、且要实现设备之间点对点的环境。
  • 野蛮模式(Aggressive Mode)协商,对于例如ADSL拨号用户,其获得的公网IP不是固定的,且可能存在NAT设备的情况下,采用野蛮模式做NAT穿越,同时,由于IP不是固定的,用name作为id-type,总部采用模板的方式接收分支的IPSEC接入。

第一阶段协商建立IKE安全通道所使用的参数:

  • 加密算法
  • Hash算法
  • DH算法
  • 身份认证方法
  • 存活时间

身份认证:身份认证确认通信双方的身份(对等体的IP地址或名称),包括预共享密钥PSK(pre-shared key)认证、数字证书RSA(rsa-signature)认证和数字信封认证。

预共享密钥PSK认证:认证字作为一个输入来产生密钥,通信双方采用共享的密钥对报文进行Hash计算,判断双方的计算结果是否相同。如果相同,则认证通过;否则认证失败。

数字证书RSA认证:通信双方使用CA证书进行数字证书合法性验证,双方各有自己的公钥(网络上传输)和私钥(自己持有)。发送方对原始报文进行Hash计算,并用自己的私钥对报文计算结果进行加密,生成数字签名。接收方使用发送方的公钥对数字签名进行解密,并对报文进行Hash计算,判断计算结果与解密后的结果是否相同。如果相同,则认证通过;否则认证失败。

数字信封认证:发送方首先随机产生一个对称密钥,使用接收方的公钥对此对称密钥进行加密(被公钥加密的对称密钥称为数字信封),发送方用对称密钥加密报文,同时用自己的私钥生成数字签名。接收方用自己的私钥解密数字信封得到对称密钥,再用对称密钥解密报文,同时根据发送方的公钥对数字签名进行解密,验证发送方的数字签名是否正确。如果正确,则认证通过;否则认证失败。

5.3.2、阶段2

在阶段1建立的IKE SA的保护下完成IPSec SA的协商,建立IPSec SA。
商业虚拟专用网络技术五IPSec_第25张图片
阶段2的交换模式为快速模式(Quick Mode),其他交换模式:新组模式(New Grounp Mode)和信息交换(Informational Exchangs),前者用于协商新的DH交换组,后者用于通告SA状态和消息。

第二阶段IPSec SA的协商所使用的参数:

  • 加密模式
  • 认证算法
  • SA生存时间
  • 压缩算法
  • DH算法和参数
  • 加密密钥长度
  • 认证密钥长度

第一次协商可能都需要6个主模式消息,由于SA是有生存时间的,每次协商(更新)都会产生大量的协商消息,耗费资源,降低了网络的利用率。采用两阶段协商,只需要在网关间协商出一个IKE SA,然后用这个SA来为应用数据流协商IPSec SA,那么每个IPSec SA更新时可以节省资源,提高效率。

5.4、Cookie

商业虚拟专用网络技术五IPSec_第26张图片

进行IKE交换双方在工交换开始时,初始信息都包含一个Cookie。Cookie是通过散列算法计算出的一个结果。这个Cookie是以本地秘密和对方标识(对方IP和端口号)、当前时间,作为基本参数。

Cookie的目的是保护处理资源受到DoS攻击时,不消耗过多的CPU资源去判断其真实性。在进行高强度运算的交换操作之前,需要有一个预先的交换,以使能够阻止一些拒绝服务的攻击。

主模式中,响应双方为对方生成一个Cookie,只有在收到包含这个Cookie的下一条消息时,才开始真正的DH交换过程。

野蛮模式下,通信双方在三条消息交换中完成协商,没有机会在DH交换之前检查Cookie。因此也就无法防止DoS攻击。

Cookie提供了一种容易操作的有限保护。发起方的Cookie和响应方的Cookie可以用标识一个IKE SA。

5.5、IKEv1的主模式

第一阶段协商建立IKE安全通道所使用的SA安全联盟各种参数:

  • 加密算法:在IKE中协商使用哪一种对称加密算法中DES、3DES、AES;
  • Hash算法:在IKE中协商使用MD5、SHA哪一种具体算法;
  • DH算法:发起者和接收者交换伪随机数,计算共享密钥;
  • 身份认证方法:共享密钥(Pre-shared Key)、数字签名标准(Digital Signature Standard,DSS)、RSA公共密钥加密得到签名和验证的方法;
  • 存活时间:
    IKE协商就是要在通信双方之间找到相同的policy。

Ci:发起方cookie
Cr:接收方cookie

SAi:发起方SA负载包含IKE的Hash算法、加密算法、DH算法、认证方法、身份认证方法、SA存活期。
SAr:发起方SA负载包含IKE的Hash算法、加密算法、DH算法、认证方法、身份认证方法、SA存活期。

Ni:发起方随机数
Nr:接收方随机数
K:公共的K值

Hashi:发起方哈希算法
Hashr:接收方哈希算法

IDi:发起方标识,通常是IP地址。
IDr:接收方标识,通常是IP地址。
商业虚拟专用网络技术五IPSec_第27张图片1、第一包的作用是,协商发起发,发送IKE安全提议,给响应方。用于协商IKE SA很多参数。
2、响应方查找最先匹配的IKE安全提议,并将这个IKE安全提议回应给发起方。匹配的原则为协商双方具有相同的加密算法、认证算法、认证方法和Diffie-Hellman组标识。
3、对方发送密钥生成信息,对方用来生成IKE的秘钥。
4、协商相应方给协商发起方发送密钥生成信息,使得协议发起方能生成密钥。
5、发起方发送身份和验证数据。
6、协商响应方给发起方发送身份和验证数据。

注意:第5、6步信息已加密。

5.6、IKEv1的野蛮模式

在预共享密钥的主模式IKE交换时,通信双方必须首先确定对方的IP地址。站点到站点在应用中都有固定IP地址,但对于拨号用户就出现很大问题,拨号用户的IP不是固定的,无法预先确定,这时就要用到IKEv1的野蛮模式。

IKEv1的野蛮模式只使用三条消息,前两条负责策略、交换D-H公共值及辅助数值和身份信息,第三条消息用于验证发起者。

商业虚拟专用网络技术五IPSec_第28张图片1、发送方发起IKE安全提议、密钥生成信息和身份信息;
2、接收方查找匹配的安全提议、密钥生成信息和身份信息、发送密钥生成信息、身份信息和验证数据;
3、发送方接受提议和生成密钥、发送验证数据;
4、发送方接收验证数据。

主模式与野蛮模式的区别:

条目 主模式 野蛮模式
交换的包 6个包 3个包
NAT支持 不支持 支持
对等体标识 IP地址 IP地址或Name方式
协商能力
是否常用 常用 不推荐使用,推荐使用模板方式

5.7、IKEv1阶段2快速模式

该模式使用IKEv1协商阶段1中生成的密钥对ISAKMP消息的完整性和身份进行验证,并对ISAKMP消息进行加密,故保证了交换的安全性。
商业虚拟专用网络技术五IPSec_第29张图片
1、发送方发送IPSec安全提议、身份认证方法。
IPSec安全提议是指被保护的数据流和IPSec安全提议等需要协商的参数。身份认证方法指第一阶段计算出的密钥和第二阶段产生的密钥材料。
2、协商响应方发送确认的安全参数和身份认证信息并生成新的密钥。
IPSec SA数据传输需要的加密、验证密钥由第一阶段产生的密钥、SPI、协议等参数衍生得出,以保证每个IPSec SA都有自己独一无二的密钥。
3、发送方发送确认信息,确认与响应方可以通信,协商结束。

商业虚拟专用网络技术五IPSec_第30张图片

5.7、IKEv2简介

采用IKEv2协商安全联盟比IKEv1协商过程要简化的多。要建立一对IPSec SA,IKEv1需要经历两个阶段:“主模式+快速模式”或者“野蛮模式+快速模式”,前者至少需要交换9条消息,后者也至少需要6条消息。而IKEv2正常情况使用2次交换共4条消息就可以完成一对IPSec SA的建立,如果要求建立的IPSec SA大于一对时,每一对IPSec SA只需额外增加1次创建子SA交换,也就是2条消息就可以完成。

IKEv2定义了三种交换:

  • 初始交换(Initial Exchanges)
  • 创建子SA交换(Create_Child_SA Exchange)
  • 通知交换(Informational Exchange)。

你可能感兴趣的:(网络工程,安全,华为,网络协议,哈希算法)