网络安全概论——虚拟专网VPN技术

一、VPN概述

1、VPN的概念

所谓虚拟专网(Virtual Private Network VPN)是指将物理上分布在不同地点的网络通过公用网络连接而构成逻辑上的虚拟子网,它采用认证、访问控制、机密性、数据完整性等安全机制在公用网络上构建专用网络。

如何理解“虚拟”和“专用”?

Virtual是针对传统的企业“专用网络”而言的。VPN则是利用公共网络资源和设备建立一个逻辑上的专用通道,尽管没有自己的专用线路,但它却可以提供和专用网络同样的功能。

Private 表示VPN是被特定企业或用户私有的,公共网络上只有经过授权的用户才可以使用。在该通道内传输的数据经过了加密和认证,保证了传输内容的完整性和机密性。

VPN技术实现了内部网信息在公用信息网中的传输,就如同在茫茫的广域网中为用户拉出一条专线。对用户来讲,公用网络起到了“虚拟”的效果,虽然他们身处世界不同地方,但感觉仿佛是在同一个局域网里工作。

2、VPN的特点

  1. 费用低
  2. 安全保障
  3. 服务质量保证(QoS)
  4. 可扩充性和灵活性
  5. 可管理性

3、VPN的分类

VPN根据访问方式不同的分类:

①移动用户远程访问VPN连接

②网关-网关的VPN连接

4、VPN的关键技术

  1. 隧道技术
  2. 加/解密技术
  3. 密钥管理技术
  4. 身份认证技术
  5. 访问控制

二、隧道协议与VPN

VPN的隧道概念指的是通过一个公用网络(通常是Internet)建立的一条穿过公用网络的安全的、逻辑上的隧道。在隧道中,数据包被重新分装发送。所谓封装,就是在原IP分组上添加新的标头,就好像将数据包装进信封一样。

现有的封装协议主要包括两类:一类是第2层的隧道协议,是对数据链路层的数据包进行封装;另一类是第3层隧道协议,是对网络层的各种协议数据包进行封装。

1、第2层隧道协议

  1. PPTP (点对点隧道协议)
  2. L2F(第2层转发协议)
  3. L2TP(第2层隧道协议)

第2层隧道协议具有简单易行的优点,但是它们的扩展性都不好。更重要的是,它们没有提供内在的安全机制,不能支持企业和企业的外部用户及供应商会话的保密性需求,

2、第3层隧道协议

  1. IPSec
  2. GRE
  3. MPLS

三、IPSec VPN

互联网安全协议(Internet Protocol Security,缩写为IPsec)

IPSec在OSI参考模型的网络层提供安全性

IPSec是种由IETF设计端到端的确保IP层通信安全的机制。不是一个单独的协议,而是一组协议。IPSec是随着IPv6的制定而产生的,后来也增加了对IPv4的支持。在前者中是必须支持的,在后者中是可选的。

IPsec作为一个第三层隧道协议实现了VPN通信,可以为IP网络通信提供透明的安全服务,免遭窃听篡改,保证数据的完整性和机密性,有效抵御网络攻击,同时保持易用性。

VPN的两种基本模式:传输模式隧道模式

1、传输模式

在整个VPN的传输过程中,IP包头并没有被封装进去。IP包头+VPN头(AH头或ESP头)+数据+VPN尾。

 

2、隧道模式

把数据报文封装进VPN数据中,再添加新IP包头

新IP包头+VPN头+(AH头或ESP头)+IP包头+数据+VPN尾

3、IPSec的工作原理

IPSec通过查询安全策略数据库决定如何对接受到的IP数据包进行处理,它对IP数据包的处理方式包括丢弃、直接转发和IPSec处理,IPSec处理使VPN提供了比包过滤防火墙更高的安全性。IPSec处理意味着对数据包进行加密和验证,保证在公共网络上传输数据的机密性、真实性和完整性。两种工作模式(传输模式-只对数据包的净荷进行加密和验证、隧道模式-对整个数据包进行加密和验证,产生一个新IP报头)

与包过滤防火墙类似,但增加了IPSec处理方式,保证来自内部网络的数据包不被截获,进入内部网络的数据包未被修改。

4、IPsec的主要协议

  • AH(Authentication Header)认证首部协议
  • ESP(Encapsulating  Security Payload)封装净荷安全协议
  • IKE(Internet Key Exchange)Internet密钥交换协议

 AH序列号提供了抗重放功能

IPSec核心协议中实现安全关联的是IKE

IPSec中的加密是由ESP完成的

ESP是加密封装化协议,而L2TP(第2层隧道协议)则不对分组加密。ESP的“序列号”用来区分使用同一组加密策略的不同数据包。填充数据是为了保证加密数据部分的长度满足分组加密算法的要求。

当ESP工作于传输模式时,封装包头部采用当前的IP头部。在ESP工作于隧道模式时,IPSec将整个IP数据包进行加密作为ESP净荷,并在ESP头部增添以网关地址为源地址的新的IP头部,此时IPSec可以起到NAT的作用。

IPsec的中心概念之一是“安全关联”(SA,Security Association)。所谓安全关联,是指安全服务与它服务的载体之间的一个“连接”,AH和ESP的实现都需要SA的支持,而IKE的主要功能就是建立和维护SA。提供算法和数据包,提供AH、ESP操作所需的参数

每个SA的标识由三部分组成:

  • 安全性参数索引,即SPI
  • IP目的地址
  • 安全协议标识,即AH或ESP

安全参数索引SPI是由SA接收端选定的一个32比特数值,用来唯一标识该SA

IPSec 众多的RFC通过关系图组织在一起 ,它包含了三个最重要的协议: AH、 ESP、IKE.

(1) AH 为 IP 数据包提供如下 3 种服务:

  • 无连接的数据完整性验证
  • 数据源身份认证
  • 防重放攻击

数据完整性验证通过哈希函数(如 MD5)产生的校验来保证:数据源身份认证通过在计算验证码时加入一个共享密钥来实现;AH 报头中的序列 号可以防止重放攻击。

(2)ESP 除了为 IP 数据包提供 AH 已有的 3 种服务外,还提供数据包加密数据流加密。数据包加密是指对一个IP包进行加密(整个IP包或其载荷部分),一般 用于客户端计算机:数据流加密一般用于支持 IPSec 的路由器,源端路由器并不关心IP包的内容,对整个 IP 包进行加密后传输,目的端路由器将该包解密后将 原始数据包继续转发。

AH 和 ESP 可以单独使用,也可以嵌套使用。可以在两台主机、两台安全网关(防 火墙和路由器),或者主机与安全网关之间使用。

(3)IKE 负责密钥管理,定义了通信实体间进行身份认证、协商加密算法以及生成共享的会话密钥的方法。IKE 将密钥协商的结果保留在SA中,供 AH 和 ESP 以后通信时使用。解释域(DOI)为使用 IKE 进行协商 SA 的协议统一分 配标识符。

5、IPsec VPN的构成

VPN由管理模块密钥分配和生成模块身份认证模块数据加/解密模块、数据分组封装/分解模块加密函数库等几部分组成。

四、SSL/TLS VPN

SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。

  1)工作层次:介于TCP/IP模型应用层与传输层之间
  2)协议分成两部分:
SSL握手协议:通信双方互相验证身份、以及安全协商会话密钥
SSL记录协议:定义了传输的格式,对上层传来的数据加密后传输.
  3)功能:

  • a鉴别机制:确保网站的合法性;
  • b保护隐私:采用加密机制;
  • c信息完整性:确保传输的信息不被篡改.

SSL的握手协议的四个阶段

  • 客户端发起建立连接的请求
  • 对服务器的证书进行认证
  • 对客户端的证书进行认证,这一步是可选的
  • 变更密码构建和结束握手协议

传输层安全协议(TLS )VPN。与IPSec VPN相比,最大的优点是用户不需要安装和配置客户端软件,只需要在客户端安装一个IE浏览器即可。

原理:在企业防火墙后放置一个TLS代理服务器,如果用户想安全连接到公司网络,现在浏览器输入url,该请求被TLS获取,身份验证后,服务器将提供连接。

 TLS VPN的配置简单,加密已经内嵌在浏览器中,无须增加额外的软件。但TLS VPN局限性很大,只能采用证书,只对通信双方所使用的应用通道进行加密,不能对应用层的消息进行数字签名,LAN-LAN的链接缺少理想的TLS解决方案。

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

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

相关文章

mobilenetv2-inceptionv3-resnet50三大模型对比实现人脸识别反欺诈系统【带UI界面】

完整项目包获取→点击文章末尾名片! 关于数据集:超大规模人脸欺诈数据集。共70多G。 关于模型对比: inceptionv3: mobilenetv2: resnet50: 关于系统: 界面:

十一、e2studio VS STM32CubeIDE之宏函数展开

目录 一、概述/目的 二、复杂宏函数举例 三、编译-预处理 四、stm32cubeide和e2studio的预处理 五、source insight和vscode 一、概述/目的 复杂宏函数如何快速展开 二、复杂宏函数举例 #define R_BSP_MODULE_START(ip, channel) {FSP_CRITICAL_SECTION_DEFI…

FreeRTOS的任务调度

1.启动任务调度器 vTaskStartScheduler void vTaskStartScheduler( void ) { BaseType_t xReturn;/* Add the idle task at the lowest priority. */#if ( INCLUDE_xTaskGetIdleTaskHandle 1 ){/* Create the idle task, storing its handle in xIdleTaskHandle so it canbe …

【Java基础面试题024】Java中包装类型和基本类型的区别是什么?

回答重点 基本类型: Java中有8种基本数据类型(byte、short、int、long、float、double、char、boolean)他们是直接存储数值的变量,位于栈上(局部变量在栈上、成员变量在堆上,静态字段/类在方法区&#xf…

SpringBoot3+Vue3开发在线考试系统

项目介绍 项目分为3种角色,分别为:超级管理员、老师、学生。超级管理员,负责系统的设置、角色的创建、菜单的管理、老师的管理等功能,也可以叫做系统管理员;老师角色,负责系统业务的管理,包括学…

第3节 测试套件数据驱动

创建Excel、 CSV测试数据 1. 从主菜单中选择 File > New > Test Data。将显示新的测试数据对话框。输入测试数据的名称并选择数据类型作为Excel File/ CSV File 。单击OK。 2. 浏览到要导入Katalon Studio的Excel File, 选择Excel中的sheetName,或者CSV文件…

跨站点请求伪造(Cross Sites Request Forgery)类漏洞攻击方式与防御措施|软件安全测试技术系列

本系列文章分享JavaScript语言常见的安全漏洞,漏洞的原理,可能导致的安全问题,以及如何防御与避免。本文分享的是跨站点请求伪造(Cross Sites Request Forgery)。 跨站点请求伪造,指利用用户身份操作用户账…

【图像分类实用脚本】数据可视化以及高数量类别截断

图像分类时,如果某个类别或者某些类别的数量远大于其他类别的话,模型在计算的时候,更倾向于拟合数量更多的类别;因此,观察类别数量以及对数据量多的类别进行截断是很有必要的。 1.准备数据 数据的格式为图像分类数据集…

飞牛os使用ddns-go配合华为云实现内网穿透

DDNS-Go 是一个开源的动态域名解析工具,它支持多种操作系统,包括 Windows、Mac 和 Linux,并且支持 ARM 和 x86 架构。以下是使用 DDNS-Go 的基本步骤: 1. 下载和安装: 访问 DDNS-Go 的 GitHub 仓库(&#x…

易语言OCR证件照文字识别

一.引言 文字识别,也称为光学字符识别(Optical Character Recognition, OCR),是一种将不同形式的文档(如扫描的纸质文档、PDF文件或数字相机拍摄的图片)中的文字转换成可编辑和可搜索的数据的技术。随着技…

二八(vue2-04)、scoped、data函数、父子通信、props校验、非父子通信(EventBus、provideinject)、v-model进阶

1. 组件的三大组成部分(结构/样式/逻辑) 1.1 scoped 样式冲突 App.vue <template><!-- template 只能有一个根元素 --><div id"app"><BaseOne></BaseOne><BaseTwo></BaseTwo></div> </template><script…

3D工具显微镜的测量范围

一、测量尺寸范围 样品尺寸&#xff1a; 3D工具显微镜通常能够测量各种尺寸和形状的样品&#xff0c;从小至微米级别的微小结构到大至几厘米甚至更大的物体。具体的测量尺寸范围取决于显微镜的载物台大小、镜头焦距以及软件处理能力。测量精度&#xff1a; 3D工具显微镜的测量…

C#—扩展方法

扩展方法 扩展方法是C#中一种特殊的静态方法&#xff0c;它定义在一个静态类中&#xff0c;但是可以像实例方法一样被调用&#xff0c;使得代码看起来更为直观和易于阅读。扩展方法允许你在不修改原始类的情况下&#xff0c;添加新的方法到现有的类型中。 有↓箭头的是扩展方…

vertx idea快速使用

目录 1.官网下载项目 2.修改代码 2.1拷贝代码方式 为了能够快速使用&#xff0c;我另外创建一个新的maven项目&#xff0c;将下载项目的src文件和pom文件拷贝到新建的maven项目。 2.2删除.mvn方式 3.更新配置 4.配置application 5.idea启动项目 1.官网下载项目 从vert…

分布式全文检索引擎ElasticSearch-数据的写入存储底层原理

一、数据写入的核心流程 当向 ES 索引写入数据时&#xff0c;整体流程如下&#xff1a; 1、客户端发送写入请求 客户端向 ES 集群的任意节点&#xff08;称为协调节点&#xff0c;Coordinating Node&#xff09;发送一个写入请求&#xff0c;比如 index&#xff08;插入或更…

android EditText密码自动填充适配

android上的密码&#xff08;其实不仅仅是密码&#xff0c;可以是用户名也可以是邮箱&#xff09;自动填充&#xff0c;是需要考虑适配的。 官方文档&#xff1a;https://developer.android.com/identity/autofill/autofill-optimize?hlzh-cn 什么是自动填充 手机厂商一般会…

【MySQL】非聚簇索引和聚簇索引,索引的创建、查询、删除

目录 存储引擎是MyISAM 非聚簇索引 主键索引&#xff1a; 普通(辅助)索引&#xff1a; 存储引擎是InnoDB 聚簇索引 主键索引&#xff1a; 普通(辅助)索引&#xff1a; 回表查询 创建索引 创建主键索引 主键索引的特点&#xff1a; 创建唯一索引 唯一索引的特点&am…

list的常用操作

list的介绍 list是序列容器&#xff0c;它允许在常数范围O&#xff08;1&#xff09;进行插入和删除在这段序列的任意位置&#xff0c;并且可以双向遍历 它是弥补vector容器的缺点&#xff0c;与vector有互补的韵味&#xff0c; 这里我们可以将其进行与vector进行对比 vect…

C# opencvsharp 流程化-脚本化-(2)ROI

ROI ROI也是经常需要使用的方法。特别是在图像编辑中。ROI又称感兴趣的区域&#xff0c;但是图像是矩阵是矩形的&#xff0c;感兴趣的是乱八七糟的&#xff0c;所以还有一个Mask需要了解一下的。 public class RoiStep : IImageProcessingStep{public ImageProcessingStepType…

极狐GitLab 正式发布安全补丁版本 17.6.2、17.5.4、 17.4.6

本分分享极狐GitLab 补丁版本 17.6.2, 17.5.4, 17.4.6 的详细内容。这几个版本包含重要的缺陷和安全修复代码&#xff0c;我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLab SaaS&#xff0c;技术团队已经进行了升级&#xff0c;无需用户采取任何…