ipsec协议簇(详解)

IPSEC协议簇

IPSEC协议簇 --- 基于网络层的,应用密码学的安全通信协议组

IPV6中,IPSEC是要求强制使用的,但是,IPV4中作为可选项使用

IPSEC可以提供的安全服务

机密性 --- 数据加密

完整性 --- 防篡改可用性

数据源鉴别 -- 身份认证数字证书

PSK -- 预共享密钥

不可否认性 --- 数据源鉴别重传攻击保护 --- 通过添加序列号 --- 一个一次性的数字 --- 用来防重放攻击

有限的流量保密 --- 在IPSEC中可以抓取感兴趣流,即可以设定哪些流量需要进入IPSEC隧道,继续保密传输,哪些流量不需要进入到通道中。

IPSEC 协议簇

安全协议

两种工作模式

                传输模式

传输模式封装方式:不改变原有的IP包头,在原始的数据包头后面添加IPSEC包头,将原来的数据封装成被保护的数据

因为没有添加新的IP头部,所以,无法跨越公网建立隧道,适合在私网内部,数据传输时进行安全保障。

隧道模式

封装方式:需要增加新的IP头部,其后面是IPSEC的包头,之后,将原来的整个数据包进行分装保护。

适用于需要跨越公网的环境。

两个安全协议

                AH --- 鉴别头协议

AH --- 鉴别头协议 --- 属于网络层协议,但是,封装在IP协议之上 --- 协议号:51

可以提供的安全服务

1,数据的完整性保证 --- 其最主要的工作是保证数据传输的完整性,所以,没有办法对数据进行加密保护

2,数据源认证 --- 身份认证

3,抗重放攻击

AH的包头

安全参数索引(SPI) --- 用来唯一的标识SA --- 安全联盟、

SA -- 安全联盟 --- IPSEC在建立通道之前,双方需要协商安全参数,安全参数协商完成后,则建立对应的SA --- IPSEC SA

注意:IPSEC SA是分方向的,要想构建一个双向的安全通道,则需要建立两条方

向相反的SA,则不同的SA需要使用不同的SPI来进行标识,相当于是SA的一个

ID。

序列号 --- 用来防重放攻击

AH的保护范围传输模式

隧道模式

因为AH在进行完整性校验时会包含IP头部的内容,所以,在IP头部中,有一些在传输过程中就会发生变化的数据,比如TTL,TOS这样的数据将不做校验。

因为会校验IP地址,所以,AH无法应用在NAT环境下。

ESP --- 封装安全载荷协议

ESP --- 封装安全载荷协议 --- 属于网络层协议,但是,封装在IP协议之上 --- 协议号:50

可以提供的安全服务

1,数据的完整性校验

2,数据源认证

3,抗重放的保护

4,数据保密 --- 注意,这个是AH所不具备的一个安全服务 --- 可以进行选择性加密

ESP的头部

保护范围 --- 加密的范围是除了最外层的IP头部,ESP的头部以及最后ESP的认证数据部分不进行加密,其他内容都需要进行加密;

   完整性校验的范围是加密的内容再增加ESP的头部内容传输模式

隧道模式

AH和ESP也可以同时使用

AH+ESP传输模式

AH+ESP隧道模式

注意:只要有AH参与的封装,就会导致IP头部的信息被校验,就无法应对NAT环境。

IKE--互联网密钥交换

IPSEC SA是可以手工创建的

IKE -- 互联网密钥交换 --- 动态建立IPSEC SA --- IKEV1,IKEV2

IKE协议中包含三个协议

SKEME

OAKLEY

ISAKMP  --- 互联网安全联盟密钥管理协议 --- UDP 500 --- 要求源和目标端口都必须是UDP的500

阶段1

阶段1 --- 协商构建IKE SA(ISAKMP SA)--- 不区分源和目标 --- 其主要目的是获得建立IPSEC SA时参数协商过程中的安全通道,对协商参数进行安全保护。 --- 做身份认证

主模式

主模式 --- 默认使用IP地址作为身份标识,需要经过6个数据包交互来完成IKE SA 的建立,安全性较高

第一,二个数据包:SA的交换

1,Ci,Cr --- cookie --- 这个是IKEV1版本中的做法,到了V2版本,这里使用的是SPI,在V1版本中,其作用是相似

2,Sai,Sar --- 进行安全参数协商 --- “五元组”

加密算法,哈希算法,身份认证,DH组,SA存活时间

     DES                MD5         PSK        DH2      86400S

注意:这里协商的所有参数,是为了构建IKE SA使用参数

注意:如果是手工建立的SA,则将永久有效,但是,如果使用IKE建立的SA,则将存在老化时间,默认是86400S,如果时间到了,则将拆除通道,重新建立。

注意:DH算法分组,常用分组为DH1,DH2,DH5,DH14,组号越大,则安全性越高

注意:这里的身份认证是在协商身份认证的方式

如果对方在回复时,发现里面的参数本地不支持,则将回复一个负载拒绝报文,则中断SA的构建。但是,其中的SA存活时间可以不同,如果不同,则按照较小的来执行

第三,四个数据包

Ni,Nr --- 是两端发送时携带的一个随机数

X,Y --- DH算法中需要交换的两个参数

SKEYID 种子密钥 ---- 计算时里面包含了预共享密钥所有其他密钥在计算时,都需要加入种子密钥

SKEYID_e --- 加密密钥 --- 用于第5.6个数据包以及第二阶段IPSEC SA协商过程中的数据加密 --- g^ir --- DH算法中计算出的Z

CKY_I,CKY_R --- 前面过程中传递的cookie值

SKEYID_a --- 验证密钥 --- 在第一阶段5,6个数据包以及第二个阶段中进行 HASH算法时使用的密钥 ---- 哈希算法也可以结合密钥一起使用,其技术叫做HMAC,这样做安全性更高

SKEYID_d --- 推导密钥 --- 用来计算最终密钥(用来加密数据的密钥)的一个参数

第五,六个数据包 --- 用来进行身份认证以及数据验证 --- 这两个数据包是进行加密的

Idi/Idr  --- 身份标识

Hashi/Hashr --- 使用哈希算法来校验之前传递的安全参数 --- 通过HMAC来进行运算,使用之前计算的验证密钥

野蛮模式

野蛮模式 --- 可以自定义身份标识,并且,速度较快,仅需使用3个数据包就可以完成IKE SA的建立

注意:野蛮模式前两个数据包中的参数用来协商密钥信息,则第三个数据包可以进行加密传输,因为,身份信息是通过明文传递的,所以,安全性较低

阶段2

阶段2 --- 通过阶段一构建的安全通道,传递需要建立IPSEC SA使用的安全参数,用来协商最终的密钥。 --- 快速模式 -- quick mode --- UDP 500

第二阶段需要协商的安全参数

1,加密算法 --- 最终进行数据加密使用的算法(协商完加密算法之后,需要计算

出最终使用的加密密钥,需要根据第一阶段计算出来的推导密钥计算得出)

2,Hash算法 --- 最终进行数据传输时使用的hash算法

3,安全协议 --- AH/ESP

4,封装模式 --- 隧道/传输

5,存活时间

PFS --- 密钥完美向前保密

PFS --- 密钥完美向前保密 --- 正常情况下,第二阶段计算的加密密钥是通过第一阶段计算出的推导密钥衍生出来的,但这样,可能导致第一阶段密钥泄露影响第二阶段密钥,所以,可以开启PFS的功能,之后,将不再使用之前的推导密钥,将重新使用DH算法计算出一个新的密钥

注意:PFS功能需要两边同时开启,方可生效

数据传输阶段通过AH或者ESP来传输数据

VPN黑洞

VPN黑洞 --- 隧道建立之后,如果其中一台设备出现异常,另一端还在SA的有效期内,则数据将出现有去无回的情况,形成VPN黑洞

解决方案 --- DPD死亡对等体检测类似于心跳检测机制

利用的是空闲计时器原理 --- 两边同时开启一个计时器,有数据包通过时,直接刷新计时器,如果计时器归0,则会开始发送DPD的探测报文,对方收到后,将回复应答,正常回复则刷新计时器,如果没有应答,则连续发送5次,都没有应答,则将拆掉通道;

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

拼多多海外版temu平台官网,temu平台官网入口

在跨境电商领域,拼多多旗下的Temu平台正以惊人的速度崛起,成为众多卖家和消费者关注的焦点。今天,我们将深入探索拼多多海外版Temu平台的官网及其入口,带您领略这一跨境电商新蓝海的魅力。 做TEMU看数据用特喵数据,热…

中小银行数字化转型该怎么进行?银行数字化案例鉴赏

中小银行在发展中面临五大困境,国内“zx”(这里以简称代替)银行通过数字化转型进行破局,通过实施组织敏捷、提升数字化应用能力、运营模式向商业模式创新这三步法,引导公司走出一条数字化、智能化之路。 随着数字化技…

【java】力扣 跳跃游戏

文章目录 题目链接题目描述代码1.动态规划2.贪心 题目链接 55.跳跃游戏 题目描述 代码 1.动态规划 1.1 dp数组的含义 dp[i]:从[0,i]的任意一点处出发,你最大可以跳跃到的位置。 例如nums[2,3,1,1,4]中: dp[0]2 dp[1]4 dp[2]4 dp[3]4 dp[4]8&#xff…

基于Docker安装elasticsearch和kibana 8.14.3

需要先安装好Docker和DockerCompose 安装的是单机版本的elasticsearch 一、安装elasticsearch 8.14.3 复制下面的内容到elasticsearch-compose.yaml中services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:8.14.3container_name: elasticsearchenvi…

开源XDR-SIEM一体化平台 Wazuh (1)基础架构

简介 Wazuh平台提供了XDR和SIEM功能,保护云、容器和服务器工作负载。这些功能包括日志数据分析、入侵和恶意软件检测、文件完整性监控、配置评估、漏洞检测以及对法规遵从性的支持。详细信息可以参考Wazuh - Open Source XDR. Open Source SIEM.官方网站 Wazuh解决…

SpringBoot原理解析(二)- Spring Bean的生命周期以及后处理器和回调接口

SpringBoot原理解析(二)- Spring Bean的生命周期以及后处理器和回调接口 文章目录 SpringBoot原理解析(二)- Spring Bean的生命周期以及后处理器和回调接口1.Bean的实例化阶段1.1.Bean 实例化的基本流程1.2.Bean 实例化图例1.3.实…

redis的学习(二):常见数据结构及其方法

简介 redis常见的数据结构和他们的常用方法 redis的数据结构 redis是一个key-value的nosql,key一般是字符串,value有很多的类型。 j基本类型: stringhashlistsetsortedSet 特殊类型: GEOBitMapHyperLog key的结构 可以使用…

常用的网络爬虫工具推荐

在推荐常用的网络爬虫工具时,我们可以根据工具的易用性、功能强大性、用户口碑以及是否支持多种操作系统等多个维度进行考量。以下是一些常用的网络爬虫工具推荐: 1. 八爪鱼 简介:八爪鱼是一款免费且功能强大的网站爬虫,能够满足…

mysql练习3

1.修改student 表中年龄(sage)字段属性,数据类型由int 改变为smallint 2.为Course表中Cno 课程号字段设置索引,并查看索引 3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 4.创建一视图 stu info,查询全体学生的姓名&#…

MinIO使用基础教程

MinIO使用基础教程 一、背景二、快速安装2.1 虚拟机安装2.2 Windows安装2.2.1 下载MinIO服务器2.2.2 启动 MinIO Server2.2.3 通过浏览器访问MinIO服务控制台 三、使用介绍3.1 创建存储桶3.2 上传和下载文件3.3 设置文件公开访问 四、实战SpringBoot Minio实现文件上传和查询五…

思维+01背包,LeetCode LCP 47. 入场安检

一、题目 1、题目描述 「力扣挑战赛」 的入场仪式马上就要开始了,由于安保工作的需要,设置了可容纳人数总和为 M 的 N 个安检室,capacities[i] 记录第 i 个安检室可容纳人数。安检室拥有两种类型: 先进先出:在安检室中…

Git之repo sync -c与repo sync -dc用法区别四十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

看准JS逆向案例:webpack逆向解析

🔍 逆向思路与步骤 抓包分析与参数定位 首先,我们通过抓包工具对看准网的请求进行分析。 发现请求中包含加密的参数b和kiv。 为了分析这些加密参数,我们需要进一步定位JS加密代码的位置。 扣取JS加密代码 定位到JS代码中的加密实现后&a…

[@Aspect注解爆红]

在SpringAOP的实现过程中&#xff0c;定义切面中通过注解Aspect来声明当前类是一个切面&#xff0c;但是Aspec注解爆红。 上网查询了一下相关原因&#xff0c;才发现在仓库中复制的Spring AOP依赖不正确。 <!--Spring AOP--> <!-- https://mvnrepository.com/artifact…

ARM架构(二)—— arm v7-a/v8/v9寄存器介绍

1、ARM v7-A寄存器 1.1 通用寄存器 V7 V8开始 FIQ个IRQ优先级一样&#xff0c; 通用寄存器&#xff1a;31个 1.2 程序状态寄存器 CPSR是程序状态毒存器&#xff0c;保存条件标志位&#xff0c;中断禁止位&#xff0c;当前处理器模式等控制和状态位。每种异常模式下还存在SPS…

数学建模学习(2)——决策树

import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score dfpd.read_excel(股票客户流失.xlsx) xdf.drop(columns是否流失)#x等于除是否流失这一列以外的数据…

在Windows安装、部署Tomcat的方法

本文介绍在Windows操作系统中&#xff0c;下载、配置Tomcat的方法。 Tomcat是一个开源的Servlet容器&#xff0c;由Apache软件基金会的Jakarta项目开发和维护&#xff1b;其提供了执行Servlet和Java Server Pages&#xff08;JSP&#xff09;所需的所有功能。其中&#xff0c;S…

Java | Leetcode Java题解之第275题H指数II

题目&#xff1a; 题解&#xff1a; class Solution {public int hIndex(int[] citations) {int n citations.length;int left 0, right n - 1;while (left < right) {int mid left (right - left) / 2;if (citations[mid] > n - mid) {right mid - 1;} else {lef…

uniapp中出现Uncaught runtime errors

项目中运行出现上面的错误信息&#xff0c;使用uniapp发现&#xff0c;其实我只是跨域了&#xff0c;控制台报错&#xff0c;但是不想屏幕上显示&#xff1b; 解决办法是在vue.config.js增加如下配置即可 devServer: {client: {overlay: false,errors:true},}, 错误信息也不想…

【杰理蓝牙开发】AC695x 音频部分

本文主要记录 杰理蓝牙audio接口的使用&#xff0c;包括ADC和DAC原理的介绍和API接口的使用。 【杰理蓝牙开发】AC695x 音频部分 0. 个人简介 && 授权须知1. ADC【音频数据采集】硬件部分1.1 单片机引脚1.2 硬件电路设计1.3 MIC 输入通路解释 2. 【DAC】音频信号编解码…