IPSEC---VPN

文章目录

  • 目录

    文章目录

    一.TCP/IP 协议的缺点

    二.IPsec诞生背景 

     IPsec可提供安全服务

    三.IPsec协议簇

     IPsec的两种工作模式

    传输模式

    隧道模式:

    IPsec的安全协议 

    AH 协议:鉴别头协议

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

     AH与ESP对比

     AH+ESP报文:

     四.IPsec建立过程

    安全联盟SA

    手工建立SA​编辑

    动态建立SA

    IKE协议产生背景

    IKE协议用途

     IKE工作过程

     主模式协商:

    野蛮模式:

    VPN黑洞

    总结


一.TCP/IP 协议的缺点

  1. IP层不校验数据完整性:原始的IP协议(IPv4)不检查数据包的完整性。当数据包在网络中传输时,中间的路由器或交换机不会验证数据包的内容是否被篡改。这意味着,如果攻击者能够访问到网络中的数据流,他们就有可能篡改数据包的内容而不被发现。
  2. 缺乏端到端的校验:虽然TCP协议在其传输层提供了校验和机制来验证报文在传输过程中是否出现错误,但如果黑客修改了报文,并重新计算,填入校验和字段,则接收方无法判断报文是否被修改。
  3. 缺少数据加密:原始的TCP/IP协议不提供数据加密功能。这意味着,除非用户自己实现加密机制,否则在网络上传输的所有数据都是明文的,可以被任何能够访问网络的人读取

二.IPsec诞生背景 

        IPSec(IP Security)是一组开放的网络安全协议,是对IP的安全性补充,其工作在IP层,为IP网络通信提供透明的安全服务。它并不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合,这些协议和服务包括认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)两个安全协议、密钥交换和用于验证及加密的一些算法等。

 IPsec可提供安全服务

  1. 数据加密:IPsec协议使用加密技术对数据进行加密,确保数据在传输过程中的机密性。它提供了两种加密方式:ESP(Encapsulating Security Payload)和AH(Authentication Header)。ESP协议负责数据的加密,而AH协议则提供数据的完整性校验和源验证功能。通过这些加密技术,IPsec可以保护TCP/IP协议簇中传输的数据,防止数据被窃取或篡改。
  2. 认证机制:IPsec协议提供了认证机制,用于验证数据的完整性和来源。AH协议通过在每个数据包中添加一个认证头来实现这一功能。认证头包含了用于验证数据完整性的哈希值和用于验证数据来源的公钥或预共享密钥。通过验证认证头,接收方可以确保接收到的数据是完整且来自可信的发送方。
  3. 防止重放攻击:IPsec协议通过使用序列号和时间戳来防止重放攻击。每个IPsec数据包都包含一个唯一的序列号,接收方可以检查序列号的连续性来识别重放的数据包。此外,时间戳也可以用来验证数据包的时效性,确保数据包不是在过去某个时间截取的。
  4. 访问控制:IPsec协议支持访问控制功能,可以根据策略规则来允许或拒绝特定的通信连接。通过配置IPsec策略,可以实现基于源IP地址、目标IP地址、端口号等条件的访问控制,增强网络的安全性。

三.IPsec协议簇

AH算法 

DH算法的基本原理涉及以下步骤:

  1. Alice和Bob首先同意使用一个大的质数p和它的原根g。这两个数是公开的,不需要保密。
  2. Alice选择一个私有的随机数x,并计算X = | g^x | /P (图中=8)。她将X发送给Bob。
  3. Bob选择一个私有的随机数y,并计算Y = | g^y | / p (图中=4 )他将B发送给Alice。
  4. Alice计算共享密钥Z = |Y^x | /p(图中=9),而Bob计算共享密钥S = |X^y |/p(图中=9)。

假设,图中需要传输的内容为X=8 + Y=4 以及公开数 g p;以上为黑客能够知道的所有信息,即使黑客知道共享密钥的算法如:Z = |Y^x | /p  如果黑客不知道x则无法算出共享密钥,而x未经过传输是私有数,因此黑客无法获知共享密钥。

 IPsec的两种工作模式

注:不同的工作模式代表不同的数据包封装方式

传输模式

  •  封装方式:不改变原有的IP头部,在原始IP包头包头后面插入IPsec包用于将原来的数据封装成被保护的数据(网络层+传输层+应用层数据)。
  • 应用场景:用于私网内部主机与主机之间通信;(原始IP包头未加密有安全隐患)
隧道模式:

 封装方式:在原始IP包人前插入一个IPsec包头,原始IP包头作为载荷的一部风受到IPSec保护。

应用场景:经常用于私网与私网之间跨越公网通信,建立安全的 VPN通道。

IPsec的安全协议 

AH 协议:鉴别头协议

AH(Authentication Header)协议是一种为IP数据包提供数据完整性验证和数据源身份认证的安全协议。协议号:51

AH提供的安全服务:

  1. 数据源验证:AH协议通过验证数据包的完整性和身份来确保数据来自可信的源。它使用公钥加密或预共享密钥来对数据包进行加密和签名,以验证发送方的身份和数据包的完整性。

  2. 数据完整性校验:AH协议使用哈希算法(如MD5或SHA-1)来计算数据包的哈希值,并将该哈希值附加在数据包的AH头认证数据字段中。接收方在接收到数据包后,使用相同的哈希算法重新计算哈希值,并与数据包中的哈希值进行比较,以验证数据包的完整性。

  3. 防报文重放:AH协议通过序列号和时间戳等机制来防止重放攻击。每个AH数据包都包含一个唯一的序列号,接收方可以检查序列号的连续性来识别重放的数据包。此外,时间戳也可以用来验证数据包的时效性,确保数据包不是在过去某个时间截取的。

AH协议身份验证过程如下:

  1. 发送方生成一个身份验证值,使用共享密钥和AH头部中的其他字段进行计算。
  2. 发送方将生成的身份验证值填充到AH头部的身份验证数据字段中。
  3. 发送方将AH头部添加到待发送的IP包中,并将IP包发送给接收方。
  4. 接收方使用相同的共享密钥和接收到的IP包中的AH头部字段计算一个身份验证值。
  5. 接收方将计算得到的身份验证值与接收到的IP包中的AH头部中的身份验证数据字段进行比较。
  6. 如果两者相等,则验证成功,否则验证失败。

AH报文:

Next Header:指定AH头后面的协议头类型,例如ESP、TCP或UDP等。
Payload Length:表示AH头后面的数据负载长度(不包括AH头本身)。
Reserved:保留字段,通常为0。
Security Parameters Index (SPI):安全参数索引,用于标识通信双方需要协商的安全参数。如:工作模式类型;协议类型
Sequence Number:序列号,用于防止重放攻击和数据包的乱序到达。
Authentication Data:认证数据,包含了用于验证数据完整性和身份的哈希值。

传输模式AH封装范围

 隧道模式下AH封装范围:

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

        ESP(Encapsulating Security Payload)协议是IPsec协议族中的一个重要组件,主要用于为IP数据包提供加密、数据源认证、数据完整性校验和防报文重放等功能。与AH协议不同,ESP协议主要关注数据的机密性,通过加密技术来保护数据的内容不被泄露。协议号:50

ESP提供的安全服务:

  1. 数据机密性保护:ESP协议使用对称加密算法(如DES、3DES、AES等)对IP数据包的内容进行加密,确保数据在传输过程中不被未授权访问。加密后的数据以密文形式传输,只有拥有正确密钥的接收方才能解密并获取原始数据。这提供了数据的机密性保护,防止了数据的泄露和非法获取。
  2. 数据源认证:ESP协议还提供了数据源认证功能,用于验证数据包的来源。这通过使用公钥加密或预共享密钥来生成认证标签(通常是哈希值)实现。发送方在生成ESP报文时,会将认证标签附加在ESP尾中。接收方收到报文后,会使用相同的密钥和算法重新计算认证标签,并与报文中的标签进行比较。如果两者一致,则说明数据包来自可信的发送方,没有被篡改。
  3. 数据完整性校验:ESP协议使用哈希算法(如MD5或SHA-1)来计算数据包的哈希值,并将其附加在ESP尾中。这个哈希值用于校验数据包的完整性,确保数据在传输过程中没有被篡改。接收方在收到数据包后,会使用相同的哈希算法重新计算哈希值,并与报文中的哈希值进行比较。如果哈希值一致,则说明数据包的内容没有被篡改,保持了数据的完整性。
  4. 防报文重放:ESP协议通过序列号机制来防止报文的重放攻击。每个ESP数据包都包含一个唯一的序列号,接收方可以检查序列号的连续性来识别重放的数据包。这种机制确保了每个数据包都是新鲜的,没有被重复发送,从而防止了重放攻击。

注意:ESP尾部主要目的是进行数据的填充。因为数据进行加密主要使用的对称加密算 法,而其中分组加密需要针对固定长度的分组进行加密,如果最后分组的长度不足, 则需要填充。满足加密的条件。还有就是下一头部因为包含数据信息,所以,也放在 尾部进行保护,因为负载部分和尾部部分是会进行加密的。 

 ESP在传输模式下封装:

ESP在隧道模式下封装:

 AH与ESP对比

 AH+ESP报文:

传输模式:

 隧道模式:

 四.IPsec建立过程

安全联盟SA

        IPsec中的安全联盟SA是确保IP通信安全的关键组件由SPI作为唯一标识,它提供了通信对等体之间关于如何安全地交换数据的协定。通过正确配置和管理SA,IPsec能够提供强大的安全保护,包括数据加密、完整性验证和身份认证等,从而确保数据的机密性、完整性和可靠性。

SA特点:

  • 安全联盟SA是IPSec提供安全服务数据流的一个单向逻辑关系。因为SA是单向的,所以对于双向通信,需要两个SA。SA是通信对等方之间对某些要素的一种协定,这些要素包括使用何种安全协议、需要保护的数据流特征、传输的数据的封装模式、协议采用的加密和验证算法,以及用于数据安全转换、传输的密钥和SA的生存周期等。
  • IPSec对等体(即运行IPSec协议的两个端点)之间成功建立安全联盟后,IPSec可以对传输的数据进行加密和/或完整性验证,以确保数据的安全性。每个SA都由一个三元组来唯一标识,这个三元组包括安全参数索引(SPI)、目的IP地址和使用的安全协议号(如AH或ESP)

手工建立SA

动态建立SA

IKE协议产生背景
  • IPsec保护数据包的前提是建立安全联盟(SA)
  • 手工配置繁琐且易错
IKE协议用途
  • IKE用于动态地建立和管理IPsec SA
  • 负责进行密钥交换和协商,以生成用于IPsec加密和认证的密钥

 IKE工作过程

  • 阶段一:使用DH算法获得能够加密通信双方建立SA过程中需要协商参数的密钥并建立IKE SA(双向通道)用于双方身份认证。点击此处了解DH算法
  • 阶段二:基于已建立的安全通道来协商IPsec SA的安全参数

 阶段一:协商过程

  •  主模式协商:
  • IP地址作为身份标识

第二次交换(消息3和消息4)

  • 1:NI,Nr--- 代表的是随机数
  • 2:X,Y --- DH算法中需要公开的参数

第三次交换(消息5和6):对等体验证

ISAKMP/IKE阶段1主要任务就是认证,第三阶段即在安全的环境下进行认证,前面两个步骤四个数据包的传输都是为了第三阶段第5和第6个数据包交换的认证做铺垫。第1-2包交换为认证准备好策略(例如:认证策略、加密策略和散列函数等),第3-4包交换为保护5-6的安全算法提供密钥资源。

野蛮模式:

阶段二: 

基于已经建立的安全通道,来协商建立IPSEC SA的安全参数,完成后,则标 志着IPSEC SA的建立。---快速模式(Quickmode)---UDP 500

需要协商的安全参数:

  • 加密算法---正式传输数据时使用的加密算法(加密算法协商完成后,会计算密钥
  • 第一阶段计算出来的推导密钥会加入到该密钥的计算中)
  • HASH算法--- 正式传输数据时进行完整性校验的算法
  • 安全协议---AH/ESP 封装模式---传输模式/隧道模式 存活时间 
VPN黑洞

隧道建立之后,如果其中一段的设备异常重启,另一端还在有效期内,则他发 送的数据将有去无回,就形成了VPN黑洞。 解决方法---DPD死亡对等体检测。 类似于心跳检测机制---采用空闲计时器原理---两边同时开启一个固定时间的计时 器,期间数据值直接发过去,如果计时器超时,则数据发送前,先发送一个DPD检测 报文,如果收到对方的DPD应答报文,则将重置计时器。如果没有收到,并且,连续 5次都没有收到,则将拆掉安全通道。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】Python注册微服务到nacos

Python注册微服务到Nacos 1.Nacos部署 github 的nacos项目的发布页(Releases alibaba/nacos GitHub ),选择所要下载的nacos版本,在nacos下方的assets中选择安装包进行下载。 解压nacos安装包到指定目录。 tar -zxvf nacos-ser…

国产通讯芯片D3232介绍,要用于工控主板、工业控制器、程序烧录下载器、仿真器、新能源充电桩等众多涉及RS232通讯的产品

一、应用领域 D3232芯片主要用于工控主板、工业控制器、程序烧录下载器、仿真器、新能源充电桩等众多涉及RS232通讯的产品。 二、基本特性 D3232芯片由两个线路驱动器、两个线路接收器和双电荷泵电路组成,具有HBM>15kV、CDM>2kV的ESD保护能力,并且…

element-ui plus v2.60 终于修复了 radio checkbox 取值不明确的问题,label value 值

element-ui plus v2.60 终于修复了 radio checkbox 取值不明确的问题,label value 值 昨天想反馈这个关于 label 和 value 的问题的时候,发现新版本已经修正这个问题了。 一、ElementUI 旧版关于 label 和 value 的问题 从之前 element-ui 用过来的&a…

两天学会微服务网关Gateway-Gateway网关限流

锋哥原创的微服务网关Gateway视频教程: Gateway微服务网关视频教程(无废话版)_哔哩哔哩_bilibiliGateway微服务网关视频教程(无废话版)共计17条视频,包括:1_Gateway简介、2_Gateway工作原理、3…

Sublime Text 格式化Json文件 之 Pretty Json

需要使用到 Pretty Json插件。 一、安装方法 sublime 下,按快捷键 Comand control p, 输入install Package,然后回车 等几秒钟,加载启动进程完毕后弹出的页面中输入pretty json, 然后回车 等待几秒钟,可以查看Sublime 最下面的…

HUAWEI 华为交换机 配置 MAC 防漂移 防MAC伪造示例

组网需求 某企业网络中,用户需要访问企业的服务器。如果某些非法用户从其他接口假冒服务器的MAC 地址发送报文,则服务器的 MAC 地址将在其他接口学习到。这样用户发往服务器的报文就会发往非法用户,不仅会导致用户与服务器不能正常通信&…

【粉丝福利】一本书讲透ChatGPT,实现从理论到实践的跨越!大模型技术工程师必读

🌼一、前言 OpenAI 在 2022 年 11 月推出了人工智能聊天应用—ChatGPT。它具有广泛的应用场景,在多项专业和学术基准测试中表现出的智力水平,不仅接近甚至有时超越了人类的平均水平。这使得 ChatGPT 在推出之初就受到广大用户的欢迎&#xf…

在Windows 10和11中打开事件查看器的11种方法,总有一种适合你

Windows事件查看器是一个功能强大的工具,可以记录电脑从启动到关机的所有过程。你可以使用它查看有关应用程序错误、不同系统服务生成的警告的详细信息,以及有关驱动程序和服务状态的信息。这就是为什么当你需要识别或解决计算机或设备上的问题时,Windows 11和Windows 10事件…

【金九银十】,架构师花费近一年时间整理出来的安卓核心知识

面试经历 主要是根据回忆总结的(会有遗漏点)。 1. 腾讯(QQ音乐) 腾讯面试涉及到的范围也很广,甚至问到了C、Kotlin Flutter ,也具有一定挑战性的,以下包括腾讯腾讯安卓客户端三面&#xff0c…

国创证券|降准对股市的影响,利好哪些板块?

降准是指央行下调金融机构存款准备金率,是一种宽松的钱银政策,会添加社会上的流动资金,然后推动股市上涨,对股市来说是一种利好,其间利好以下板块: 1、利好房地产板块 央行降准会进步银行可贷资金&#x…

每日一题-链表的中间结点

🌈个人主页: 会编辑的果子君 💫个人格言:“成为自己未来的主人~” 上面是解题题目: 解题思路:快慢指针法--慢指针一次指向下一个,快指针一次指向下两个 解答过程: /*** Definition for singly-linked…

Linux学习-指针与数组

目录 数组和指针的关系 数组指针: 数组和指针的关系代码 指针数组 指针和二维数组的关系 数组传参 数组和指针的关系 一维数组和指针的关系: int a[5] {1,43,5,3,2,}; 数组的数组名a是指向数组第一个元素a[0]的指针常量; a &a…

JRebel and XRebel 插件在IDEA中的安装、激活和使用

1、JRebel安装 1、打开idea->setting->plugins->Marketplace 2、搜索插件JRebel and XRebel,点击安装,然后重启idea 如果左侧出现JRebel & XRebel代表已安装 3.离线安装JRebel 根据自己安装的idea版本进行下载电影的jrebel https://plugi…

1.Zookeeper理论基础

1.Zookeeper的基本概念 是一个分布式应用协调框架 ,java编写的。客户端 /服务端 的架构模式。CP设计(一致性,分区容错) 它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:服务注册服务、状态同步服务、集群管理、分布…

WordPress建站入门教程:忘记数据库名称、用户名和密码了怎么办?

有时候我们需要进入phpMyAdmin管理一些数据库,但是登录phpMyAdmin时却需要我们输入数据库的用户名和密码,但是我们不记得了应该怎么办呢? 其实,我们只需要进入WordPress网站根目录找到并打开wp-config.php文件,就可以…

Git 进阶 高级用法,重要命令记录

本篇文章用于记录Git高级用法,新手可以看我的另一篇文章:Git基础教学。 Git git fetch 是git pull 的细分步骤,git pull 包含了git fetch git pull origin master 上述命令其实相当于git fetch git merge 在实际使用中,git fetc…

如何使用ArcGIS Pro进行坡度分析

坡度分析是地理信息系统中一种常见的空间分析方法,用于计算地表或地形的坡度,这里为大家介绍一下如何使用ArcGIS Pro进行坡度分析,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的DEM数据,除了DEM数据&…

uniapp报错:request:fail abort statusCode:-1 Chain validation failed

uniapp报错信息记录 场景: 半年没碰过的app,今个儿突然无法登录了。 打开控制台,报错信息如下 {msg: request:fail abort statusCode:-1 Chain validation failed}奇怪的是用 apifox 调用相关的接口,可以正常运行,app却不行。 好…

防坑指南!说说Six Sigma咨询公司排名的那些事

在企业管理领域,六西格玛(Six Sigma)已成为一种流行的质量管理方法。然而,面对众多的Six Sigma咨询公司,如何选择一家真正专业、有实力的合作伙伴,成为了许多企业面临的难题。本文,天行健咨询将…

JVM相关知识

JVM相关知识 🌳1.JVM概述🪴1.1 JVM作用:🪴1.2JVM构成🪴1.3JVM整体结构图 🌳2.类加载子系统🪴2.1作用🪴2.2类加载过程🌱2.2.1加载:🌱2.2.2连接🌱2.2.3初始化 &…