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

IPSEC安全基础前篇

二、IPSec VPN工作原理

1. 加密算法(保障机密性)

   对称加密:加解密使用相同密钥,用于加密用户数据。

        常见算法:DES(56位)、3DES(168位)、AES(128/192/256位)。

   非对称加密:使用公钥加密、私钥解密,用于密钥交换和数字签名。

        常见算法:RSA(512/768/1024/2048位)、DH(768/1024/1536位)。

2. 哈希算法(保障完整性)

    用于验证数据是否被篡改。

    常见算法:

        MD5(长度128位)

        SHA系列(SHA-1:160位;SHA-2/3:256/512位)

    使用HMAC(Hash-based Message Authentication Code)结合密钥进行完整性校验。

3. 身份认证(防中间人攻击)

设备身份认证:预共享密钥(PSK)、RSA数字证书;

用户身份认证:短信验证、USB Key、用户名密码等。

三、封装安全协议

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

    提供数据完整性、来源认证(身份确认)、防重放;

    不提供加密;

    使用HMAC-MD5或HMAC-SHA1进行认证。

2. ESP协议(Encapsulating Security Payload,协议号50)

    提供加密、完整性、来源认证、防重放;

    使用DES/3DES/AES加密,HMAC-MD5/SHA1认证。

3. 两种工作模式

传输模式

隧道模式

四、AH与ESP封装结构对比

AH(51):完整性校验,身份认证,防重放

     传输模式

发送方:网络层+AH头+传输层+应用层+完整性校验密钥--->HASH1

              网络层+AH头(HASH1)+传输层+应用层

接收方:网络层+AH头+传输层+应用层+完整性校验密钥--->HASH2

              对比HASH1和HASH2

     隧道模式

发送方:新网络层+AH头+原始网络层+传输层+应用层+完整性校验密钥--->HASH1

              新网络层+AH头(HASH1)+原始网络层+传输层+应用层

接收方:新网络层+AH头+原始网络层+传输层+应用层+完整性校验密钥--->HASH2

              对比HASH1和HASH2

ESP(50):数据加密,完整性校验,身份认证,防重放

     传输模式

发送方:(传输层+应用层)+ESP尾部+数据加密密钥--->加密数据

              网络层,(ESP头+加密数据)+完整性校验密钥--->HASH1

              网络层+ESP头+加密数据+ESP认证(HASH1)

接收方:网络层+ESP头+加密数据+ESP认证(HASH1)

              ESP头+加密数据+完整性校验密钥--->HASH2

              对比HASH1和HASH2

     隧道模式

发送方:(原始网络层+传输层+应用层)+ESP尾部+数据加密密钥--->加密数据

              新网络层,(ESP头+加密数据)+完整性校验密钥--->HASH1

              新网络层+ESP头+加密数据+ESP认证(HASH1)

接收方:新网络层+ESP头+加密数据+ESP认证(HASH1)

              ESP头+加密数据+完整性校验密钥--->HASH2

              对比HASH1和HASH2

AH保护IP数据
ESP保护IP数据
http://www.dtcms.com/a/341055.html

相关文章:

  • 七十三、【Linux数据库】MySQL数据库PXC 集群概述与演示
  • mvdr波束形成
  • week3-[分支结构]2023
  • STM32F407VGT6从零建立一个标准库工程模板+VSCode或Keil5
  • 【电气工程学习】
  • 可传参配置的同步异步fifo
  • PyTorch 社区贡献 和 设计原则
  • Web 安全之延迟攻击(Delay Attack)详解
  • PyCharm2025无法启动Powershell.exe的解决办法
  • 发那科机器人程序调整功能
  • 好家园房产中介网后台管理完整(python+flask+mysql)
  • 【图论】拓扑排序
  • 48 C++ STL模板库17-容器9-关联容器-映射(map)多重映射(multimap)
  • Spring Boot如何配置Liveness和Readiness探针
  • 【Android】Activity 如何进行数据传输
  • java17学习笔记-switch总结
  • 使用 GraalVM Native Image 将 Spring Boot 应用编译为跨平台原生镜像:完整指南
  • linux 内核 - 内存管理单元(MMU)与地址翻译(一)
  • yolo_RK3588系列(三)
  • mac电脑软件左上角的关闭/最小化/最大化按钮菜单的宽度和高度是多少像素
  • ijkplayer Android 编译
  • strncpy 函数使用及其模拟实现
  • AI重塑软件测试:质量保障的下一站
  • 成本管控:餐饮利润的隐形守护者
  • Zemax光学设计输出3D
  • 4位量化:常规的线性层被替换成了4位线性层(48)
  • 酶 EC number 预测工具CLEAN的安装和使用
  • QT官方库头文件找不到(添加模块方法)
  • C++模板元编程:从SFINAE到Concepts的进化史
  • mac 搭建docker-compose,部署docker应用