IPsec 的基本框架

IPsec VPN的基本框架

首先在开始说框架之前,我们先纠正一点,IPsec VPN并不是一个协议,而他是由一系列协议来组成的协议簇,来实现建立一个网络层安全的隧道,提供端到端传输数据的安全性。
说白了就是为了保证我们的数据在公网上安全的传输,不被人抓包。

那么接下来,我们就来看看,他是怎么在公网上来保护数据报文的吧。
很简单,就是通过下面这两个协议来实现的:

  • AH (Authentication Header) 验证头
  • ESP (Encapsulating Security Payload)封装安全载荷

这两个协议对数据的保密方式是不一样的。

AH

  • 仅支持验证算法,例如: MD5,SHA1,2,3,等。
  • 不支持加密算法
    所以AH并不能保证数据的机密性。

ESP

  • 类似AH,支持验证算法,
  • 但是 他也支持加密算法: DES ,3DES,AES。
    他虽然可以对数据进行加密,但是它只支持对称加密算法

补充: AH 和 ESP 是基于网络层封装:

  • AH 协议号:51.
  • ESP 协议号: 50

那么问题来了:

我们现在已经知道了,IPSec VPN是基于规划的安全协议,AH 和 ESP 来提供数据保护,如果要对数据进行加解密,他们的密钥从哪里来的?
·
两种方式:
1,手工配置: 但是不建议,容易泄露,管理维护复杂,配置量大。
2,IKE协议分发:通过IKE协议来实现对称密钥的协商,这个过程是绝对安全的。

IKE

IKE:(Internet Key Exchange)互联网密钥交换协议。

它也并不是一个协议,它是由三子协议组成的协议簇:分别是:ISAKMP,Oakley,SKEME。

  • **ISAKMP:**定义了 IKE Peer 之间的合作关系,建立了SA安全联盟。
    Oakley ,SKEME:主要在互联网上,安全分发管理安全密钥,身份验证等,核心就是DH交换。

IKE有两个版本,IKEv1 和 IKEv2,防火墙默认v1,v2兼容版本。

IKE的实现过程

核心就是 DH算法,一个非对称的模型。
主要作用就是在互联网上两台部署了IPSec 网关设备之间动态生成和分发对称密钥。
在实现这个功能之前呢,需要先验证双方的身份信息。
最终IPsec 基于IKE在互联网上动态生成的对称密钥来实现对数据的加解密。

IKE有两种模式:主模式 和 野蛮模式。

主模式: 一共交互 9 个报文。
阶段一:交互 6 个报文,这6个报文的目的就是建立IKE SA。
·
1 <–> 2: 明文传输
前两个报文是协商保护IKE SA,IPSec SA的安全算法,两边的算法必须一致。
这里协商的加密算法,并不是对数据流进行加密的算法。
而是对自身后续5 <—>6 包交互,阶段二报文进行加密的算法
·
3 <–> 4: 明文传输
第三和四个报文就是用DH算法交换协商出保护 5 <–> 6 和阶段二,以及后续数据流的安全密钥材料。
·
5 <–> 6: 加密传输
第五和第六个包就是用来做两台设备的身份验证,防止非法设备接入。
·
阶段二:交互3个报文,该阶段是被阶段一保护协商的。
阶段二主要是用来协商保护数据流的算法,封装模式等等。

什么是SA?

Security Association 安全联盟
属于同一个安全联盟的设备要有安全要素的约定,如:采用哪些安全协议,安全算法,对数据进行保护。
·
IPSec SA:是一个逻辑上的双向通道,在每台防火墙上包含入向,出向的安全联盟。
出入两个方向构建一条IPsec SA,即单向特征。
·
那么每条SA 应该如何去标识?
通过三要素:安全参数索引(SPI),目标地址,安全协议。 来区分。

SPI是为了唯一标识SA而生成的一个32位整数。包含在AH头部和ESP头部中,其值1~255被IANA留作将来使用,0被保留,目前有效的值为256~232-1
有了SPI,相同源、目的节点的数据流可以建立多个SA
每条SA都会维护一个对数据加解密的对称密钥

下面干货来了,我们来看一看IKE主模式这6个报文的抓包。

在这里插入图片描述
第一个包和第二个包是IKE的安全提议,就是ike 安全提议 中配置的协商内容:(明文)

ike proposal 1
encryption-algorithm aes-256
dh group14
authentication-algorithm sha2-256
authentication-method pre-share
integrity-algorithm hmac-sha2-256
prf hmac-sha2-256

·
第三四个包就是交换双方的key值,也就是公钥,和Nonce 随机数。(明文)
在这里插入图片描述
第五六个包执行身份信息交互,双方执行身份验证,基于前四个协商出来的安全算法,密钥进行加密传输,这个包是加密的。
在这里插入图片描述
写的非常直白,加密数据。
我们配置的ike 对等体 就是用到这个数据包这里的。

Ike peer to_fw2
undo version 2
pre-shared-key %^%#*sd<+`>q\&GQ9ZGJ8Hi4)DcV~>e2TSfR*X4\T|D0%^%#
ike-proposal 1
remote-address 10.1.1.6

;这里的身份认证方式一共有三种:

  • PSK认证:预共享密钥方式,是默认的方式
  • PSA认证:数字证书方式
  • 数字信封方式,据说用的不多。
    ·

快速模式的包就不看了,看也没有意义,都是加密的。
快速模式这三个包里面主要就是我们在 IPSec 安全提议里面配置的加密方式和传输方式。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值