VPN虚拟专用网络

VPN虚拟专用网络:Virtual Private Network,是指依靠ISP、其他NSP或者企业自身构建的专用的安全的数据通信网络,只不过这个专线网络是逻辑上的,而不是物理上的。

VPN诞生原因:

  1. 物理专线成本高,在位置不固定的情况下,难以实现
  2. 对专用网的需求越来越高,而直接将服务器开放到公网,不安全

VPN分类:

1)根据建设单位进行分类

  1. 企业自建的VPN:成本相对较低,只需要支付VPN设备的费用即可,并且因为设备为企业所有,因此控制上更具有主动性
  2. 运营商搭建的VPN:相对比较省心,其安全问题、带宽问题、管理问题都由运营商处理,仅需支付专线费用即可

2)根据组网方式进行分类

  1. Client to LAN VPN(ACCESS VPN)
  2. LAN to LAN

Intranet:内联网

Extranet:外联网

它们的区别只在于与总部的亲疏程度,所以在权限和管控上有所区别

3)根据VPN技术所实现的层次进行分类:

  1. 应用层VPN
  2. 传输层VPN
  3. 网络层VPN
  4. 网络接口层VPN

VPN常用的技术:

  1. 隧道技术
  2. 加解密技术
  3. 身份认证技术
  4. 数据认证技术
  5. 密钥管理技术

1、VPN的核心技术:隧道技术

        主要利用已有的公共网络通信方式,在隧道(虚拟通道)一端将数据进行封装,然后通过已建立的隧道进行传输。在通道另一端,进行解封装并将还原的原始数据交给端设备。

隧道技术的重要组成部分:乘客协议、封装协议和运输协议

隧道技术的核心:封装技术

1)乘客协议:是指被封装的协议,也就是VPN隧道中实际传输的数据所使用的协议

2)封装协议:用于隧道的建立、维持和断开,它负责将乘客协议的数据进行封装,以便在VPN隧道中传输

3)运输协议:是指承载经过封装后的数据包的协议,也就是VPN隧道所使用的底层网络通信协议

乘客协议

        乘客协议、封装协议和运输协议共同构成了VPN隧道技术的基础。乘客协议定义了隧道中传输的数据类型和格式,封装协议负责将乘客协议的数据进行封装以便在隧道中传输,而运输协议则负责在公共网络中传输这些封装后的数据包。这些协议的选择和配置将直接影响VPN的性能、安全性和可靠性

VPN技术所工作的层次取决于封装技术所保护数据的层次。当然这种保护,在没有加密的情况下,并不代表安全,也可以理解为乘客协议所在的层次

2、加解密技术

        加解密技术最重要的特点是可逆,即将明文通过某些算法转换成密文,用来防止网络中的被
动威胁,之后又可以将密文再通过某些算法还原明文
        GRE VPN和L2TP VPN都不存在加解密的功能
        IPSEC VPN和SSL VPN都可以提供加解密的功能

VPN中常用的加密算法分为两种:

  1. 对称加密算法
  2. 非对称加密算法

1)对称加密算法

特点:使用同一密钥进行加密和解密,速度快,但密钥的分发与交换难于管理。

常见算法:DES、3DES、AES、IDEA、RC系列算法等。

最常使用的对称加密算法:DES/3DES,AES

目前AES是安全程度最高的加密算法,适合在一些对安全要求比较高的场景,比如VPN场景, 但是,在进行大量数据加密时,可以使用DES,效率更高

对称加密算法的一些问题:

  1. 密钥共享的问题:带内传输 (不安全),带外传输(不方便)
  2. 密钥管理:N * N

        因为对称算法的加解密使用的是同一把密钥,所以双方都需要知道该密钥才可以交流。如果通过带内传输,有可能在传输的过程中会被其他人截获,导致不安全。而通过带外传输的方式,需要耗费额外的精力、时间,会导致不方便

2)非对称加密算法

特点:通信各方使用两个不同的密钥,一个是只有发送方知道的专用密钥(私钥),另一个则是对应的公用密钥(公钥),任何人都可以获得公用密钥。专用密钥和公用密钥在加密算法上相互关联,一个用于数据加密,另一个用于数据解密,即私钥加密的只有公钥可以解密,公钥加密的只有私钥可以解密


常见算法:RSA等。

非对称加密算法在进行运算时需要使用不可逆的算法,如取模运算等

为了保障商用密码的安全性,国家也研制了一些非对称算法:

对称算法与非对称算法的区别:

总结:我们可以使用对称加密算法来加密大量的传输数据,使用非 对称加密算法加密对称加密算法的密钥,保证密钥共享的安全性

DH算法:Diffie-Hellman,密钥交换算法

用户A与用户B通信,有两个公知数p和g,每个用户拥有一个私有数x或y。当通过两个公知数p和g以及一个私有数通过公式可以计算出一个X或Y。双方交换自己的X或Y,通过p,g,X或Y即可计算出双方需要传递的信息

3、数据认证技术

VPN的数据认证技术主要确保在VPN连接中传输的数据的完整性和真实性,防止数据被篡改或伪造,相当于在进行验货,确保数据的完整性

GRE VPN可以提供“校验和”的功能,但是,这是一个可选项,需要两边同时开启才能生效
L2TP VPN本身也不提供数据认证功能
IPSEC VPN和SSL VPN都支持数据认证功能

VPN数据认证技术的实现方式:

1)数据完整性校验

原理:通过计算数据的哈希值(如SHA-256)并在传输时附加该哈希值,接收方在收到数据后重新计算哈希值并与传输的哈希值进行比较,以验证数据在传输过程中是否完整。

2)数字签名

原理:利用私钥对数据生成一个独特的签名,接收方使用对应的公钥进行验证,确保数据在传输过程中没有被篡改。

应用:常用于确认数据的来源和完整性。

        使用HASH算法来计算摘要值,但是单纯的使用摘要值进行认证依然无法保证数据的完整性,所以需要结合加密算法来一同保证,所以我们会使用私钥对摘要值进行加密,即数字签名

        当数据传递过来后,我们会检查数据中的摘要值和数字签名,当数字签名使用公钥解密后的值与摘要值相同时,我们就可以认为该数据没有被篡改

数据源认证:数据在发送和收到的过程中,没有被人修改其中的数据。即在私钥加密后的数据和公钥解密后的数据是一致的,数据保证的范围为一对密钥的范围

总结:使用数据签名只可以保证数据源认证,但无法进行身份认证。因为它可以确定一对密钥之间的数据是无修改的,但是无法确定另一把私钥的对端是谁,即自己的密钥有可能是攻击者传过来的,此时数据未篡改的保证范围为攻击者与自己之间的传输范围

4、身份认证技术

身份认证是VPN技术中的重要组成部分,用于验证用户的身份和权限,确保只有合法用户才能访问和使用VPN网络资源。通过有效的身份认证,VPN可以防止未经授权的访问和数据泄露,保护网络的安全性。

1)预共享密钥认证

原理:通信双方事先约定一个共享的密钥,用于加密和解密通信过程中的数据。

特点:简单直接,适用于较小规模的VPN部署。

过程:在建立VPN隧道连接时,双方都要提供相同的密钥以证明对方的合法身份。

2)证书认证

原理:基于公开密钥基础设施(PKI)技术,通信双方都需要拥有自己的数字证书,证书中包含公钥和身份信息,并由可信的证书颁发机构(CA)签名。

特点:提供了更强的安全性和防止身份伪冒的能力,适用于较大规模和高安全要求的VPN环境。

过程:在建立VPN隧道时,通信双方会互相验证对方所提供的数字证书的有效性和信任度。

CA可信机构:是一个受信任的第三方机构,负责在公钥基础设施(PKI)中发放和管理数字证书。这些数字证书用于确认公钥所有者的身份,并确保在电子交易中的通信保密性和完整性。

常见的证书类型:

  1. 数字证书
  2. 根证书:CA机构自己给自己办法的证书
  3. 用户证书
  4. 设备证书:服务器证书

每个人首先都会具有CA的公钥,CA作为中间人来颁发对方的公钥,以此来保证双方的身份。数字证书包含身份信息、身份验证机构信息和公钥信息等

        当Bob接受Alice的数据时,会查看CA颁发的数字证书,找到Alice的数字证书,并使用证书中的公钥来进行解密。比对公钥解密后的值是否与发送的摘要值是否相同,如果相同则代表该数据没有被篡改过。

5、密钥管理技术

数据的安全传输

        在VPN连接建立之前,密钥需要在安全的环境中生成。这些密钥通常是随机生成的,并且具有足够的复杂性,以确保难以被猜测或破解。密钥的生成过程应该遵循安全最佳实践,并使用经过验证的加密算法。

        一旦密钥生成完成,就需要将其安全地分发给VPN设备或用户。这通常涉及使用安全的通信协议(如HTTPS、IPsec等)来传输密钥。在分发过程中,必须确保密钥的机密性,以防止未经授权的访问。此外,分发过程应该进行记录,以便在需要时进行审计和追踪。

密码学

古典加密算法:算法保密

近/现代加密算法:算法公开,密钥保密

对称加密算法:加密和解密,使用的是同一把密钥,使用的是一种双向函数,可逆的算法

异或算法(不进位加法):相同为0,不同为1

流加密算法:需要使用一串和明文流相同长度的密钥流进行加密,得到密文流

流加密的典型代表:RC4

分组加密算法(块加密算法)

6、数据安全传输全过程

        发送者Alice将数据的信息摘要使用Alice秘钥生成数字签名,然后将数据、Alice数字签名和Alice证书用对称加密算法加密成加密信息后发送给Bob,然后将对称算法的密钥使用Bob公钥进行加密成密钥信封后发送给Bob。

        Bob将收到的密钥信封使用Bob私钥解密,拿出对称算法的密钥,将传输过来的加密信息进行解密。使用Alice证书中包含的Alice公钥进行验证签名,与信息摘要值进行比对,比对成功则表示数据安全传输。

相关推荐

  1. 虚拟专用网络VPN)技术的研究与应用

    2024-07-20 23:34:04       25 阅读
  2. VPS入门指南:理解并有效利用虚拟专用服务器

    2024-07-20 23:34:04       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 23:34:04       106 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 23:34:04       116 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 23:34:04       95 阅读
  4. Python语言-面向对象

    2024-07-20 23:34:04       103 阅读

热门阅读

  1. django 应用目录介绍

    2024-07-20 23:34:04       27 阅读
  2. 探索 PDF 转 Markdown 的项目:MinerU 和 pdfParser

    2024-07-20 23:34:04       28 阅读
  3. Jackson 库简介--以及数据脱敏

    2024-07-20 23:34:04       24 阅读
  4. cdh社区版免费替代方案。

    2024-07-20 23:34:04       29 阅读
  5. HJ99 自守数

    2024-07-20 23:34:04       31 阅读
  6. vue-print-nb 前端打印的一个实现方案

    2024-07-20 23:34:04       29 阅读
  7. 【Linux的线程篇章 - 线程基础知识储备】

    2024-07-20 23:34:04       24 阅读
  8. 解决网络游戏频繁掉线的策略与实践

    2024-07-20 23:34:04       25 阅读
  9. Qt项目:基于Qt实现的网络聊天室---好友申请

    2024-07-20 23:34:04       23 阅读
  10. 微软全球大蓝屏:必须手工修复

    2024-07-20 23:34:04       32 阅读
  11. 25、气象填色图绘制

    2024-07-20 23:34:04       24 阅读