整合版>>IPSec VPN①

IPSec VPN

基本工作原理

概述

  • IPSec:为端到端的IP报文交互提供了安全保障机制

  • 利用IPSec建立的VPN

  • 功能:实现访问控制、机密性、完整性校验、数据源认证、抗重播报文攻击

  • 特点:配置复杂、消耗资源多、增加延迟、不支持组播

IPSec的安全机制

IPSec不是一个单独的协议,是一个框架性架构,是一系列为IP网络提供安全性的协议和服务的集合

image-20230924183956039

安全联盟SA

IPSec隧道建立原理:

  • IPSec隧道的建立,其实就是在隧道两端的设备上建立好SA

  • IPSec用于在协商发起方和响应方这两个端点之间提供安全的IP通信

  • IPSec为对等体间建立IPSec隧道来提供对数据流的安全保护。

  • 一对IPSec对等体间可以存在多条IPSec隧道可以针对不同的数据流各选择一条隧道对其进行保护

  • SA是IPSec对等体间对某些要素的约定(即安全策略),SA是出于安全目的而创建的一个单向逻辑连接,所有经过同一SA的数据流都会得到相同的安全服务

  • 由3元组来做唯一标识

    • SPI

    • 目的IP地址

    • 使用的安全协议

  • SA建立

    • 手工--直接在两端的IPSec设备配置好具体的安全参数

    • IKE协商

      • 首先在隧道两端建立IKE SA

        这个过程会生成认证密钥和加密密钥,无需手工配置

      • 然后再此基础上协商建立IPSec SA

        此阶段还可生成新的直接用于用户数据加密的加密密钥,最终建立IPSec隧道。

  • 分类

    • IKE SA

      • 用于保护控制流量

      • 同一对等体只有一对

    • IPSec SA

      • 用于保护业务流量

      • 单向

      • 同一对等体间可能存在多对IPSec SA

两种模式

隧道(Tunnel)模式
  • 隧道模式下的安全协议用于保护整个IP数据包

    • 用户的整个IP数据包都被用来计算安全协议头,生成的安全协议头以及加密的用户数据(仅针对ESP封装)被封装在一个新的IP数据包中。

    • 新添加的IP报头中的源IP地址是本端IPSec设备应用IPSec安全策略的接口的IP地址,目的IP地址是对端IPSec设备应用IPSec安全策略的接口的IP地址,

  • 在原始IP头部的前面插入IPSec头,并且会额外封装新的IP头

  • 应用在两个站点之间互联的场景

  • image-20230925164905954

  • image-20230925161910791

传输(Transport)模式
  • 传输模式下的安全协议主要用于保护上层协议(如传输层协议)报文,仅传输层数据被用来计算安全协议头

    • 生成的安全协议头以及加密的用户数据(仅针对ESP封装)被放置在原IP报头后面。即在传输模式下,不对原IP报文进行重封装,只是把新添加的认证头当成原始IP报文的数据部分进行传输。

  • 在原始IP头部的后面插入IPSec头

  • 应用在原始IP头部本身就可以实现路由可达的场景

  • image-20230925164851851

  • image-20230925162022570

比较
  • 传输模式应用比较少

  • 隧道模式比传输模式安全

    • 隧道模式可以完全对原始IP进行认证和加密,隐藏客户机私网IP地址

    • 传输模式数据加密不包括原始IP报头

  • 传输模式的传输效率更高 隧道模式有一个额外的IP头,占用更多带宽

  • 使用传输模式的充要条件: 要保护的数据流必须完全在发起方、响应方IP地址范围内

两种协议

AH
  • 特点

    • AH协议提供数据源认证,数据完整性校验,抗重播攻击

    • 保护数据免受篡改,但是不能防止被窃听(不会对数据进行加密)

    • 不支持NAT穿越

    • 适用于传输非机密数据

  • 工作原理:

    • 在原始数据包中添加一个身份认证报文头,为数据提供完整性保

      护。

  • 认证算法:MD5,SHA-1,SM3..

  • 报头格式:

    • 网络层,IP协议号51,在IP协议之上

    • image-20230925164701940

    • image-20230925162245748

      • 下一个头部:8位,标识AH报头之后第一个上层协议头的类型

      • 载荷长度:8位,以4个字节为单位表示接受保护的整个数据的长度。

      • 保留:16位,预留以后使用。

      • 安全参数索引spi:32位,用于唯一标识IPSec安全联盟。

      • 序列号:32位,是一个从1开始,并以1进行递增的计数器值,表示通过安全联盟所发送的数据包序号,用于抗重放攻击。

      • 认证数据:长度可变,但必须是32位的整数倍,否则要进行填充。

ESP
  • 特点:提供数据加密、数据源认证、数据完整性校验和防报文重放功能

  • 支持NAT穿越

  • 工作原理:在原始数据包中添加一个ESP报文头,并在数据包后面追加一个ESP尾和可选的ESP认证数据。

  • 认证算法:DES,3DES,AES,SM1

  • 报头格式:

    • 网络层,IP协议号50,IP协议之上

    • image-20230925164643813

    • image-20230925162540868

      • 安全参数索引:32位,用于唯一标识IPSec安全联盟。

      • 序列号:32位,是一个从1开始,并以1进行递增的计数器值,表示通过通信的安全联盟所发送的数据包数,用于抗重放攻击

      • 负载数据:包含由下一头部字段所包括整个的可变长数据。

      • 填充:0~255个字节,确保所加密的数据块长度达到加密算法所需的字节要求

      • 填充长度:表示“填充”字段的长度(以字节为单位)。

      • 下一个头部:8位,标识ESP报文头后面的下一个负载协议类型。

      • 认证数据:长度为32比特的整数倍,通常为96比特。

比较
  • 在实际的应用中,更多的是选择ESP协议

    • 一是因为AH无法提供数据加密,所以数据传输的安全性较差,而ESP提供数据加密;

    • 二是因为AH协议的认证范围包括整个IP数据包

      • IPSec设备间存在NAT设备会导致数据包的IP报头中的IP地址

        发生改变,从而最终导致认证失败,无法实现NAT穿越

      • ESP协议的认证范围是不包括最外层的IP报头的,所以即使IP报头部分的地址信息发生改变,也不会导致最终的认证失败,即可以实现NAT穿越,应用范围更广。

  • image-20230925162935100

IKE密钥交换原理

IKE动态协商综述

密钥交换,基于UDP500,降低手工部署的复杂度

为IPSec自动协商密钥,更新密钥,建立安全联盟

好处
  • 降低配置复杂度 SPI、认证密钥和加密密钥等参数将自动生成,不需要分别指定

  • 提供抗重放功能:

    • 使用AH或ESP报头中的序列号实现抗重放(不接受序列号相同的数据包)

    • 当AH或ESP报头中的序列号溢出(要进行重新编号),为实现抗重放,SA需要重新建立,这个过程需要IKE协议的配合,所以手工方式下不支持抗重放功能。

  • 支持协商发起方地址动态情况下的身份验证

    手工方式不支持,只能适用于在两端都采用专线连接方式接入Internet情形。

  • 支持认证中心CA:在线对对等体身份的认证和集中管理,有利于IPSec的大规模部署,手工方式不支持在线认证方式。

  • 通过IKE协商的SA有生存周期 可以实时更新,降低了SA被破解的风险,提高了安全性。

IKE和IPSec的关系
  • IKE 协议建立在 ISAKMP定义的框架上,基于UDP的应用层协议(端口号500)

  • 它为IPSec提供了自动协商交换密钥、建立SA的服务,能够简化IPSec的使用和管理。

  • IKE包括三大协议

    • ISAKMP: 主要定义了IKE对等体(IKE Peer)之间合作关系,建立IKE SA。

    • Oakley:是一个产生和交换IPSec密钥材料并协调IPSec参数的框架

    • SKEME:决定了IKE密钥交换的方式,主要采用DH算法。

  • image-20230925163157647

    • IKE是IPSec的信令协议;IKE为IPSec协商建立SA,并把建立的参数及生成的密钥交给IPSec;IPSec使用IKE建立的SA对IP报文加密或认证处理。

    • 对等体之间建立一个IKE SA后,在IKE SA保护了IPSec隧道的情况下,再根据配置的AH、ESP安全协议等参数协商出一对IPSec SA,用于对等体间的数据在IPSec隧道中的安全数据传输。

IKE的安全机制

身份认证机制

IKE在对等体间进行信息交换时,首先要识别对方的合法性

  • 1.预共享密钥认证

  • 2.数字证书认证

  • 3.数字信封认证

数据加密机制
  • 数据加密用在两个方面

    • ike协商阶段,保护所传输的用于身份认证的数据信息(共享密钥,证书,认证密钥等)

    • IPSec隧道建立后保护在隧道传输中的用户数据.

  • 支持的算法

    • DES、3DES、AES-128、AES-192、AES-256、SM1和SM4等

    • 加密算法的安全级别由高到低的顺序是:SM4 > SM1 > AES-256 > AES-192 > AES-128 > 3DES > DES

DH密钥交换算法
  • DH是一种非对称密钥算法--基于单向函数A=g^a mod p

    mod就是求余数 这个函数有一个特点,在g和p都很大的情况下,已知a求A会很快得到结果,但是已知A求a无法完成

  • DH主要用于IKE动态协商时重新生成新的IPSec SA所用的密钥,因为它可以通过一系列数据的交换,最终计算出双方共享的密钥,而不依赖于在前期生成的密钥生成材料。

  • 但DH没有提供双方身份的任何信息,所以IKE还需要身份认证来对对等体身份进行认证。

PFS机制

PFS(Perfect Forward Secrecy,完善的前向安全性)

  • 指一个密钥被破解后并不影响其他密钥的安全性,因为这些密钥间没有派生关系。

IKE密钥交换和协商:第一阶段(IKE SA)

IKEv1的第一阶段的最终目的是在对等体之间创建了一条安全通道,建立对等体的IKESA。

主模式

image-20230925163752336

  • 第一个步骤(1.2包)

    • 消息①和②用于IKE策略交换,是一个协商确认双方IKE安全策略的过程

    • 交换过程的框架由isakmp定义,为sa的属性和协商,修改,删除sa的方法提供一个通用框架,并没有定义具体SA格式

    • 为后面能在一个安全的环境之下协商IPSec SA打下基础,因为这些IKE

      策略会直接提供对第二阶段的IPSec SA协商的加密保护。

  • 第二个步骤(3.4包)

    • 消息③和④用于密钥信息交换,是一个产生各种所需密钥的过程。

    • 对等体间通过DH算法交换彼此的密钥生成所需的参数信息,建立两端相同的一系列共享密钥,认证密钥用于在IKE第二阶段协商中为信道中传输的协商数据(非用户数据)进行认证;加密密钥用于在IKE第二阶段协商中为信道中传输的协商数据进行加密

  • 第三个 步骤(5.6包)

    • 消息⑤和⑥用于对等体间的身份信息(如对等体的IP地址或名称)和验证数据(所采用的身份认证方式中的密钥,或证书数据等),双方进行身份认证

    • 用前面已创建好的加密密钥彼此相互发送各自的身份(如对等体的IP地址或名称)和验证数据(所采用的身份认证方式中的密钥,或证书数据

      等)最终完成IKE SA的建立。

  • 身份信息被加密

野蛮模式

image-20230925163923370

  • 华为华三中:地址不固定且使用预共享密钥做身份验证场景

  • 主模式3-4包交互,需要用预共享密钥做密钥计算,固定地址站点在3-4包就需要确认与对端站点用哪个预共享密钥,但标识对应预共享密钥的主机名在5-6包才交互,导致无法确认用哪个预共享密钥和对端做密钥计算,协商失败

  • 野蛮模式,地址不固定站点在第一个包直接将他的主机名明文传递给固定站点,固定站点收到对端的主机名之后,就可以确认用哪个预共享密钥做计算

  • 预共享密钥配置对端IP全0的情况下,对端地址不固定也可以使用主模式

  • 消息1-2

    • 消息①和②用于在对等体间协商IKE安全策略,交换DH公钥、必需的辅助信息和身份信息(通常不以IP地址进行标识,而是以主机名进行标识的)。

  • 消息③是发起方根据已确定的IKE策略,把自己的验证数据(包括所采用的身份认证机制中的密钥、证书等)发给响应方,让响应方最终完成对发起方的身份验证。

  • 身份信息明文传递

对比
  • 主模式和野蛮模式在确定预共享密钥的方式不同。主模式只能基于IP地址来确定预共享密钥。而野蛮模式是基于ID信息(主机名或IP地址)来确定预共享密钥。

    • 当两端都是以主机名标识的时候一定要用野蛮模式

      • 主模式交换完第3-4包后需要使用预共享密钥来计算密钥,双方的身份信息在5-6包才会发送

      • 野蛮模式1-2包就已经发送了,对方可以根据id信息查找对应的预共享密钥

  • 与主模式相比,野蛮模式减少了交换信息的数目,提高了协商的速度,但是没有对身份信息和验证数据进行加密保护(野蛮模式1-2包不加密的,对应主模式5-6包是加密的)

  • 虽然野蛮模式不提供身份保护,但是仍然可以满足某些特点的网络环境需求

    • NAT穿越-改变对等体IP地址,野蛮模式不依赖于IP地址标识身份

    • 发起方IP地址不固定或无法预知

    • 如果发起方已知响应方的策略采用野蛮模式更快建立ike sa

IKE密钥交换和协商:第二阶段

在第一 阶段的基础上建立一对IPSec SA

快速模式

协商是受IKE SA保护的

image-20230925164124331

  • 在IKE SA的保护下完成的

  • 快速模式的协商主要完成的IPSec SA安全策略的确定

    • 使用哪种IPSec安全协议:AH或ESP。

    • 使用哪种HASH算法(认证算法):MD5或SHA。

    • 使用哪种IPSec工作模式:隧道模式或传输模式

    • 是否要求加密,若是,选择加密算法:3DES或DES。

    • 可选支持PFS(Perfect Forward Secrecy,完善的前向安全性)。

  • 在几方面达成一致后,将建立起两个IPSec SA,分别用于入站和出站通信。

工作流程

image-20230925170009429

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值