当前位置: 首页 > news >正文

基础笔记8.20

VPN基础

一、VPN 核心定义

虚拟私有网络(VPN, Virtual Private Network)是借助公共网络(包括 Internet、帧中继、ATM 等)构建的虚拟专用网络,其本质是在公用网络中 “虚拟” 出企业内部专线。与传统私有网络相比,VPN 能在公共网络环境下同样提供安全性、可靠性和可管理性,满足企业级数据传输需求。

二、VPN 分类详解

(一)按应用场景分类

  1. Site-Site VPN(站点到站点 VPN):主要用于固定站点间的私有网络互联,典型场景包括企业总部与分支机构的网络连接、企业与合作伙伴的专用数据交互,通过服务提供商(ISP)的公共网络实现跨地域私有通信。
  2. Access VPN(远程访问 VPN):针对移动场景设计,支持出差员工、移动用户等远程接入企业内部资源,让分散的远程用户能通过 Internet 安全访问企业内网。

(二)按网络层次分类

  • 应用层:以 SSL VPN 为代表,基于应用层协议实现安全传输;
  • 网络层:包括 IPSec、GRE 等协议,在网络层对数据进行处理以实现私有通信;
  • 链路层相关:如 L2F/L2TP、PPTP 等,基于较低层次的协议构建虚拟连接。

三、VPN 关键技术与对应场景

(一)Site-Site VPN 技术

  • 核心技术包括 GRE(通用路由封装)、IPSec(IP 安全协议),以及厂商私有协议(如深信服的专有 VPN 协议),这些技术共同支撑企业总部、分支机构、合作伙伴等固定站点间的安全互联。

(二)Access VPN 技术

  • 涵盖 IPSec、PPTP(点对点隧道协议)、L2TP+IPSec(二层隧道协议与 IPSec 结合)、SSL VPN,以及厂商私有协议,满足移动用户通过 VPN 客户端接入企业总部内网的需求。

四、VPN 的优势与风险

(一)核心优势

  • 成本更低:无需部署专用线路,依托公共网络降低通信成本;
  • 业务灵活:支持多样化接入场景,适配企业动态业务需求;
  • 管理简化:减少专用网络维护复杂度,提升管理效率;
  • 扩展性高:便于新增站点或用户,适应企业规模增长;
  • 附加优势:具备较高带宽,且支持移动性接入,满足远程办公需求。

(二)主要风险(安全性问题)

  • 身份欺骗:攻击者可能伪造通信方身份,导致数据发送给非法对象,因此需通过安全手段验证通信双方合法性;
  • 窃听攻击:数据在公共网络传输时可能被非法截取,需保障数据机密性,确保即使被截获也无法解读;
  • 篡改攻击:数据可能被恶意修改,需保证完整性,使接收端能检测篡改并拒绝处理无效数据,防止资源浪费和 DoS 攻击。

五、VPN 需解决的核心问题

  1. 私网 IP 穿越公网:通过特殊封装技术,使私网 IP(如 192.168.1.2、192.168.2.2)能在公网(如 20.10.96.112、20.10.95.112)中传输,无需依赖 NAT(网络地址转换)。
  2. 安全性保障:完善的 VPN 需实现四大安全功能:
    • 身份认证:确认通信双方真实身份;
    • 机密性:加密数据,防止被窃听解读;
    • 完整性:校验数据是否被篡改;
    • 防重放攻击:避免攻击者重复发送截获的有效数据。

IPSec 安全基础课后学习笔记

一、核心学习目标

  1. 掌握加密算法与 HASH 算法的分类及应用;
  2. 理解 AH 和 ESP 协议的封装结构与工作机制;
  3. 熟悉 AH 和 ESP 的应用场景及两种工作模式(传输模式、隧道模式)。

二、IPSec 安全基础核心技术

(一)加密算法 —— 保障数据机密性

加密算法是 IPSec 实现数据机密性的核心手段,分为两类:

  1. 对称密钥算法

    • 特点:加密与解密使用相同密钥,效率高,适用于加密用户数据。
    • 常见算法及密钥长度:
      • DES:56-bit 密钥;
      • 3DES:168-bit 密钥;
      • AES:128-bit、192-bit、256-bit 密钥(安全性更高,应用广泛)。
  2. 非对称密钥算法

    • 特点:加密用对方公钥,解密用自身私钥,适用于密钥交换和数字签名。
    • 常见算法及密钥长度:
      • RSA:512-bit、768-bit、1024-bit、2048-bit 密钥;
      • DH:768-bit、1024-bit、1536-bit 密钥(用于密钥协商)。

(二)HASH / 散列算法 —— 保障数据完整性

散列函数通过生成固定长度的哈希值(HMAC),验证数据在传输中是否被篡改,核心流程如下:

  1. 常见算法及哈希值长度

    • MD5:128-bit 哈希值;
    • SHA 系列:SHA-1(160-bit)、SHA-2(256-bit、512-bit)、SHA-3(同 SHA-2 长度)。
  2. 工作机制

    • 发送方:对 “密文数据 + 密钥” 通过 HASH 算法生成 HMAC,随密文一同发送;
    • 接收方:用相同 “密文数据 + 密钥” 和 HASH 算法生成 HMAC,与接收的 HMAC 对比,若一致则数据未被篡改,反之则被篡改。

(三)身份认证 —— 防止中间人攻击

身份认证用于确认通信双方的合法性,分为两类:

  1. 设备身份认证

    • 预共享密钥(Pre-Shared Keys):双方预先约定密钥进行验证;
    • RSA 签名认证:通过 RSA 算法的公私钥对实现设备身份确认。
  2. 用户身份认证

    • 常见方式:短信验证码、USB-Key、用户名 + 密码等。

(四)IPSec 封装协议:AH 与 ESP

IPSec 通过 AH 或 ESP 协议保护 IP 报文,两者的核心区别在于是否支持数据加密。

  1. AH 协议(Authentication Header,协议号 51)

    • 功能:提供数据完整性确认、数据来源确认、防重放攻击,但不支持数据加密
    • 实现方式:通过 HMAC-MD5 或 HMAC-SHA1 生成哈希值验证完整性。
  2. ESP 协议(Encapsulating Security Payload,协议号 50)

    • 功能:除支持 AH 的所有功能外,额外提供数据加密,是 IPSec 的核心协议。
    • 实现方式:
      • 加密:使用 DES、3DES、AES 等对称算法;
      • 完整性验证:使用 HMAC-MD5 或 HMAC-SHA1。

(五)IPSec 的两种工作模式

AH 和 ESP 均支持传输模式和隧道模式,适用场景不同:

  1. 传输模式

    • 封装范围:仅对 IP 报文的数据部分(payload)进行保护,保留原 IP 头部。
    • 适用场景:同一私有网络内的主机间通信(如企业内网两台服务器直接通信)。
  2. 隧道模式

    • 封装范围:对整个原 IP 报文(包括原 IP 头部和数据部分)进行保护,并添加新的 IP 头部。
    • 适用场景:跨公共网络的站点间通信(如 Site-Site VPN 中总部与分支机构互联)。

(六)AH 与 ESP 的封装结构示例

  1. 传输模式 AH:原 IP 头部 → AH 头部 → 数据部分
  2. 传输模式 ESP:原 IP 头部 → ESP 头部 → 加密数据 → ESP 尾部 → ESP 认证(哈希值)
  3. 隧道模式 AH:新 IP 头部 → AH 头部 → 原 IP 头部 → 数据部分
  4. 隧道模式 ESP:新 IP 头部 → ESP 头部 → 加密数据(含原 IP 头部 + 数据 + ESP 尾部) → ESP 认证(哈希值)

三、总结

IPSec 通过 “加密算法(机密性)+ HASH 算法(完整性)+ 身份认证(合法性)+ AH/ESP 协议(封装保护)” 四大机制,结合传输模式 / 隧道模式,构建了一套完整的安全传输体系。其中,ESP 因支持加密成为主流选择,而隧道模式更适合跨公网的私有网络互联场景,是 VPN 安全通信的核心技术支撑。

http://www.lryc.cn/news/627139.html

相关文章:

  • 8.20网络编程——sqlite3数据库
  • lua入门以及在Redis中的应用
  • 技术干货|使用Prometheus+Grafana监控redis实例详解
  • 自学嵌入式第二十三天:数据结构(3)-双链表
  • Java 性能优化实战(二):JVM 调优的 5 个核心维度
  • c#入门笔记(3)
  • Netty HashedWheelTimer设计原理:从时间轮算法到源码实现
  • 基于SpringBoot的蜗牛兼职网平台
  • RabbitMQ 基础
  • 使用安卓平板,通过USB数据线(而不是Wi-Fi)来控制电脑(版本1)
  • 豆秒数科集团:汽车消费金融市场的领跑者
  • 《P1967 [NOIP 2013 提高组] 货车运输》
  • 层在init中只为创建线性层,forward的对线性层中间加非线性运算。且分层定义是为了把原本一长个代码的初始化和运算放到一个组合中。
  • 常见开源协议详解:哪些行为被允许?哪些被限制?
  • [GraphRAG]完全自动化处理任何文档为向量知识图谱:AbutionGraph如何让知识自动“活”起来?
  • 我从零开始学习C语言(12)- 循环语句 PART1
  • word——如何给封面、目录、摘要、正文设置不同的页码
  • 非同步BUCK和同步BUCK
  • 8.20 打卡 DAY 47 注意力热图可视化
  • 创建Vue项目的不同方式及项目规范化配置
  • Preprocessing Model in MPC 2 - 背景、基础原语和Beaver三元组
  • Web网站的运行原理2
  • prometheus监控kubernetes集群并使用 grafana展示数据
  • Web 安全之延迟攻击(Delay Attack)详解
  • Windows 命令行:dir 命令
  • VG技术下,美术在资源制作时的规范
  • 读者写者问题
  • 深入理解C++ std::shared_ptr:现代C++内存管理的艺术与实践
  • Python文件操作与异常处理详解 :基础方法、注意事项及os模块常用功能
  • MySQL数据库安全配置核心指南