揭秘IPSec

一、IPSec VPN

IPSec Virtual Private Network(VPN)是一种在公有网络上提供安全可靠的私有通信的服务。企

业的分支办公室和移动办公用户在公有Internet上使用IPSec VPN技术与企业总部建立连接。IPSec

VPN与传统的使用专线或帧中继连接的网络相比,其最大的好处就是降低了成本,增强了灵活性。

IPSev VPN大致上可以分为两种应用模式:

  • 远程访问IPSec VPN

  • 站点到站点IPSec VPN

二、实现机制

IPSec是一个公开标准的框架,工作于网络层,用于保护和鉴别IPSec对等体之间的数据包。

IETF指定的IKE(Internet Key Exchange,因特网密钥交换协议)是IPSec处理过程中对安全策略

进行协商、身份验证,以及处理会话密钥的交换协议。IKE有IKEv1IKEv2两个版本。IKEv2版本

保留了IKEv1版本的的基本功能,针对IKEv1版本存在的一些问题,兼顾简洁、高效、安全以及健

壮性的要求,通过核心功能和默认算法的最小化规定,极大提高了IPSec系统的互操作性。

IPSec可以提供数据机密性、数据完整性、起源认证、防重放保护四大功能。

1、数据机密性:数据发送方使用数学方法对数据进行加密,使数据在传输过程中变得不可读;数

据接收方对接收到的数据使用一定的算法对其进行解密,最后将数据还原成原来的样子。

加密算法大致上可以分为两类:

对称式加密:对称式加密是指每个对等体使用相同的密钥来加密和解密数据。

对称式加密算法有:DES、3DES、AES。其中,DES使用56位密钥进行加密;3DES是DES算法

的变种,使用三个独立的56位密钥对数据进行加密;AES是最新的加密标准,使用128/192/256位

密钥进行加密。从加密的强壮程度上讲,3DES优于DES,AES优于3DES。

非对称式加密:非对称式加密是指分别使用不同的密钥来加密和解密数据。

非对称式加密算法有:RSA。非对称式加密的过程是每个对等体各自生成两个密钥:私钥和公钥,

并且将公钥发送给对方(私钥自己保留)。发送方在发送数据时使用接收方的公钥进行加密,接收

方使用私钥进行解密。由于只有使用私钥才能对消息进行解密,因此整个通信过程是安全的。

由于RSA算法的运行效率不高,所以IPSec不使用RSA进行数据加密。IKE(Internet密钥交换)仅

在对等体认证阶段使用RSA进行数据加密。

DH(Diffie-Hellman)密钥交换可以为对等体生成加密所需的密钥,密匙交换方式在6800系列中包

括DH组1、2、5。

2、数据完整性:用于保证数据在传输过程中不被修改。

发送方在发送数据时,为消息附加了一个散列数,接收方在接收数据时重新计算消息的散列数。如

果计算出的散列数和消息中附加的一样,则说明数据没有被篡改。

散列算法使用共享密钥将不同长度的消息转换成固定长度的字符串,其运算过程是不可逆的,也就

是说散列是无法被还原成消息的。散列是附加在消息中发送的,如果消息在传输过程中被修改,接

收方重新计算的散列和消息中原本附加的散列就无法匹配。

目前有两种通用的散列算法:HMAC-MD5HMAC-SHA-1。其中HMAC-MD5使用128位共享密钥

进行散列计算,HMAC-SHA-1使用160位共享密钥进行散列计算。

3、起源认证:对数据发送者的身份进行识别。

起源认证的过程是单向的,在另外一个方向上,也发生着同样的认证过程。

预共享密钥比较容易配置,但是扩展性很不好,仅使用于小型VPN网络。预共享密钥是指在IPSec

对等体上预先设置好相同的密钥,当进行认证时,发送方将预共享密钥和身份信息进行散列计算,

再将计算出的散列发送给接收方。接收方对收到的消息进行散列处理,如果能生成相同的散列,则

发送方被验证。

PKI(Public Key Infrastructure,公钥基础设施)是通过使用公开密钥技术和数字证书来确保系统

信息安全,并负责验证数字证书持有者身份的一种体系。

PKI的功能是通过签发数字证书来绑定证书持有者的身份和相关的公开密钥,为用户获取证书、访

问证书和宣告证书作废提供了方便的途径。同时利用数字证书和相关的各种服务(证书发布、黑名

单发布等)实现通信过程中各实体的身份认证,保证了通信数据的机密性、完整性和不可否认性。

4、防重放保护:AH(Authentication Header)和ESP(Encapsulation Security Payload)都包含

一个32位的序列数,IPSec通过比较目标主机上的滑动窗口和接收到的数据包中的序列数来辨别数

据包是否是被复制的,这样就可以防止攻击者截取IPSec数据包后又将数据包重新插入会话。

三、IPSec的两种模式

IPSec可以使用两种模式来传输IP数据包:传输模式(Transport mode)和隧道模式(Tunnel

Mode)。

  • 传输模式主要用于主机到主机之间的端到端连接,使用原始IP包头中的地址进行寻址。

  • 隧道模式主要用于两个安全网关(如路由器)之间的连接,通过将新的IP包头添加到原始IP包

       头之前来实现IP-in-IP的封装。原始IP包头在隧道中传输的时候被保留,直到隧道终端删除附

       加包头时才使用。 

四、IPSec的两种主要框架协议

IPSec使用两种主要的框架协议如下:

  • 认证头(Authentication Header,AH):AH可以确保数据完整性、提供起源认证和防重放保

       护,但是AH不提供数据机密性。AH对整个数据包进行验证,因此如果网络中存在NAT的话,

       应在AH封装之前使用NAT,否则AH验证将无法通过。

       AH支持HMAC-MD5HMAC-SHA-1算法。

  • 封装安全载荷(Encapsulation Security Payload,ESP):ESP可以保证数据完整性和机密

       性、提供起源认证和防重放保护。

       ESP不对最前面的IP包头进行检查。因此即使在ESP封装之后对数据包进行NAT(Network

       Address Transport),也不会对ESP的认证造成影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/766905.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】union 关键字

在C语言中,union关键字用于定义联合体。联合体是一种特殊的数据结构,它允许不同的数据类型共享同一段内存。所有联合体成员共享同一个内存位置,因此联合体的大小取决于其最大成员的大小。 定义和使用联合体 基本定义 定义一个联合体类型时…

【MySQL】MySQL锁冲突排障纪要

【MySQL】MySQL锁冲突排障纪要 开篇词:干货篇:1.查看当前innodb status,里面包含事务,锁占用情况2.查看mysql进程状态3.查看innodb事务,锁,锁等待情况4.定位持有锁的线程信息 总结篇:一、锁冲突的原因二、锁冲突的表现…

【Python】列表

目录 一、列表的概念 二、列表的创建 1.变量名 [ ] ..... 2.通过Python内置 的I ist类的构造函数来创建列表 三、操作列表元素的方法 1. 修改 2. 增加元素 3. 删除 4. 其他操作 四、遍历列表 五、列表排序 六、列表切片(list slicing) 七、…

Python入门 2024/7/2

目录 格式化的精度控制 字符串格式化 对表达式进行格式化 小练习(股票计算小程序) 数据输入 布尔类型和比较运算符 if语句 小练习(成人判断) if-else语句 if-elif-else语句 练习:猜猜心里数字 嵌套语句 猜…

JavaScript中的Array(数组)对象

目录 一、Array数组对象 1、介绍 2、创建数组对象并赋值 3、访问数组元素 二、Array对象属性 1、constructor属性 2、length属性 3、prototype属性 三、Array对象的常用方法 1、isArray() 2、concat() 3、pop() 4、shift() 5、push() 6、unshift() 7、reverse(…

前端进阶:Vue.js

目录 框架&#xff1a; 助解&#xff1a; 框架&#xff1a; VUE 什么是Vue.js? Vue.js优点 Vue安装 方式一&#xff1a;直接用<script>引入 方式二&#xff1a;命令行工具 第一个Vue程序 代码 代码解释&#xff1a; 运行 Vue指令 v-text v-html v-tex…

git 中有关 old mode 100644、new mode 10075的问题解决小结

问题&#xff1a; 同一个文件被修改后&#xff0c;最后代码没有变&#xff08;代码刚开始修改了&#xff0c;最后又删除还原了&#xff09;&#xff0c;文件变了&#xff0c;导致提交了一个空文件 git diff 提示 filemode 发生改变&#xff08;old mode 100644、new mode 1007…

RabbitMQ进阶篇

文章目录 发送者的可靠性生产者重试机制实现生产者确认 MQ的可靠性数据持久化交换机持久化队列持久化消息持久化 Lazy Queue(可配置~)控制台配置Lazy模式代码配置Lazy模式更新已有队列为lazy模式 消费者的可靠性消费者确认机制失败重试机制失败处理策略 业务幂等性唯一消息ID业…

layui-页面布局

1.布局容器 分为固定和完整宽度 class layui-container 是固定宽度 layui-fluid是完整宽度

傻瓜交换机多网段互通组网、设备无法配置网关案例

记录一下&#xff1a; 一、傻瓜交换机多网段互通组网 1、客户在核心交换机上创建了VLAN10&#xff0c;VLAN20。 VLAN10&#xff1a;IP192.168.10.254 VLAN20&#xff1a;IP192.168.20.254 在核心交换机下挂了一台傻瓜交换机&#xff0c;傻瓜交换机接入了一台OA服务器IP&#…

从零开始:在Windows上部署大型模型

这是一个超详细安装教程&#xff0c;介绍了在 Window 电脑上如何部署 Qwen1.5 大模型。本文还涉及到 Python 及其环境的配置。 适合对象&#xff1a;有点后端编程基础&#xff0c;没有 Python 基础。 需要环境&#xff1a;Window10/11&#xff0c;支持 Cuda 的 Nvidia 显卡。…

数据结构与算法-动态规划-最长回文子串

最长回文子串 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xff1a;s "…

识图ACWP.BCWS.BCWP

将三个概念想象成三个角色&#xff08;如&#xff1a;勇士、法师、盗贼&#xff09;&#xff0c;其中&#xff1a; ACWP是勇士&#xff0c;代表实际力量&#xff08;实际成本&#xff09;&#xff1b;BCWS是法师&#xff0c;代表预期魔法&#xff08;预算成本工作量预测&#x…

vscode移动侧边栏到右边

vscode移动侧边栏到右边&#xff0c;的简单办法 直接在侧栏上单击右键&#xff0c;选择向右移动主侧栏

有哪些好的 Stable Diffusion 提示词(Prompt)可以参考?

Docker 作图咒语生成器 docker-prompt-generator 是一个开源项目&#xff0c;可以利用模型反推出提示词&#xff0c;让你偷偷懒&#xff0c;无需琢磨怎么写prompt&#xff0c;只需要找一个差不多的模型反推一下&#xff0c;直接用就好了&#xff0c;支持支持 MidJourney、Stab…

Go - 9.struct 使用指南

目录 一.引言 二.struct 定义 三.struct 实践 1. 初始化 struct 2. 嵌套 struct 3. func 与 struct 四.struct 进阶 1.Json Tags 2.Other Tags 五.总结 一.引言 在编程中&#xff0c;结构体&#xff08;struct&#xff09;是一种聚合数据类型&#xff0c;用于将多个…

文献解读-长读长测序-第十四期|《作为了解棉花驯化的资源,印度棉(Gossypium herbaceum L. Wagad)基因组》

关键词&#xff1a;基因组&#xff1b;长读长测序&#xff1b;棉花基因组&#xff1b; 文献简介 标题&#xff08;英文&#xff09;&#xff1a;The Gossypium herbaceum L. Wagad genome as a resource for understanding cotton domestication标题&#xff08;中文&#xff…

【HTML入门】列表与表格

文章目录 前言一、列表与表格是什么&#xff1f;列表表格 二、使用标签列表标签表格标签 三、组合情况列表的组合表格的组合 四、示例代码总结 好的&#xff0c;以下是一个关于HTML列表与表格的文章示例&#xff1a; 前言 随着网页开发的普及&#xff0c;HTML成为了构建网页的…

零基础学习MySQL---MySQL入门

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、什么是数据库 问&#xff1a;存储数据用文件就可以了&#xff0c;为什么还要弄个数据库呢&#xff1f; 这就不得不提…