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

ssl代理

目录

SSL 握手过程(核心步骤)

SSL 代理的工作原理

1. 透传模式(非解密转发)

2. 中间人模式(解密转发)

SSL 代理的类型(按部署位置)

1. 正向 SSL 代理(客户端侧代理)

2. 反向 SSL 代理(服务器侧代理)

SSL 握手过程(核心步骤)

SSL 连接建立前需通过 “握手过程” 协商加密参数、交换密钥并验证身份,具体步骤如下(以客户端 - 服务器单向认证为例,即仅验证服务器身份):

  1. 客户端发起请求(Client Hello) 客户端向服务器发送:支持的 SSL/TLS 版本(如 TLS 1.3)、可选加密套件(如 ECDHE-RSA-AES256-GCM-SHA384)、客户端随机数(Client Random)、会话 ID(可选,用于复用会话)等。

  2. 服务器回应(Server Hello) 服务器确认:选择的 SSL 版本和加密套件、服务器随机数(Server Random),并发送数字证书(含服务器公钥),同时可选发送 “服务器密钥交换” 消息(如使用 ECDHE 等密钥交换算法时,需传递额外参数)。

  3. 客户端验证服务器身份 客户端检查服务器证书:

    • 验证证书是否由信任的 CA 签发(客户端内置信任的 CA 列表);

    • 检查证书是否过期、是否被吊销;

    • 通过 CA 公钥验证证书上的 CA 签名,确认证书未被篡改,最终获取服务器公钥。

  4. 客户端发送预主密钥(Pre-Master Secret) 客户端生成预主密钥(Pre-Master Secret),用服务器公钥加密后发送给服务器(仅服务器私钥可解密)。

  5. 双方生成会话密钥 服务器用私钥解密得到预主密钥,双方基于 “预主密钥 + 客户端随机数 + 服务器随机数” 通过相同算法生成主密钥(Master Secret),再从主密钥派生出:

    • 会话密钥(对称加密密钥,用于后续数据加密);

    • MAC 密钥(用于验证数据完整性)。

  6. 验证握手完整性 客户端发送 “Finished” 消息:用会话密钥加密,包含此前所有握手消息的哈希值(验证握手未被篡改)。服务器验证通过后,发送自己的 “Finished” 消息。

  7. 加密通信开始 握手完成,后续客户端与服务器的所有数据均用会话密钥(对称加密)加密传输,同时通过 MAC 校验确保完整性。

SSL 代理的工作原理

根据是否解密流量,SSL 代理分为两种模式:

1. 透传模式(非解密转发)

代理仅作为 “流量中转站”,不解析 SSL 内容,直接转发客户端与服务器之间的加密数据包。

  • 适用场景:负载均衡(如反向代理将 SSL 流量分发到后端服务器)、简单流量路由,无需检查内容。

  • 特点:不接触明文数据,不要求代理拥有证书,客户端与服务器直接完成 SSL 握手。

2. 中间人模式(解密转发)

代理分别与客户端、服务器建立独立的 SSL 连接,实现 “解密 - 处理 - 再加密” 的全流程:

  • 步骤 1:客户端向代理发起 SSL 连接,代理使用自己的证书(需客户端信任)与客户端完成握手,客户端的加密流量被代理用私钥解密为明文;

  • 步骤 2:代理对明文数据进行处理(如安全审计、内容过滤);

  • 步骤 3:代理用服务器的公钥(或代理自身证书)与服务器建立 SSL 连接,将处理后的明文重新加密后发送给服务器。

  • 核心要求:客户端需信任代理的 CA 证书(否则浏览器会提示 “证书无效”);代理需持有可用于解密的私钥。

SSL 代理的类型(按部署位置)

根据代理服务的对象(客户端 / 服务器),SSL 代理可分为正向 SSL 代理反向 SSL 代理

1. 正向 SSL 代理(客户端侧代理)

部署在客户端与互联网之间,为客户端提供 SSL 连接代理服务。

  • 场景:企业内部管控(如员工通过代理访问外部 HTTPS 网站,代理解密流量检查是否有数据泄露)、突破网络限制(通过代理访问加密内容)。

  • 示例:企业内网的安全代理服务器,员工浏览器配置代理后,所有 HTTPS 请求先发送到代理,代理解密检查后再转发到目标服务器。

2. 反向 SSL 代理(服务器侧代理)

部署在服务器集群前端,接收客户端的 SSL 连接,再转发到后端服务器。

  • 核心作用

    • SSL 卸载:由代理处理加密解密,减轻后端服务器的计算负担;

    • 负载均衡:解密后将请求分发到多个后端服务器(如电商网站的负载均衡器);

    • 安全防护:隐藏后端服务器 IP,集中处理证书管理和安全策略。

  • 示例:CDN 节点或负载均衡器,客户端的 HTTPS 请求先到代理,代理用网站证书与客户端握手,解密后将明文转发给后端业务服务器(代理与后端服务器可再建立 SSL 连接确保内部通信安全)。

http://www.xdnf.cn/news/1334413.html

相关文章:

  • 面试记录5 .net
  • MySQL 8.x的性能优化文档整理
  • 深入理解与应用向量嵌入(Vector Embeddings):原理、实现与多场景实践
  • linux 内核 - 内存管理单元(MMU)与地址翻译(一)
  • 【GPT入门】第49课 LlamaFacotory 训练千问
  • macos 多个版本的jdk
  • 从ioutil到os:Golang在线客服聊天系统文件读取的迁移实践
  • Linux 文件系统权限管理(补充)
  • 技术半衰期悖论:AI时代“不可替代领域“的深耕地图
  • 【Day 30】Linux-SQL语句
  • 23种设计模式——模板方法模式(Template Method Pattern)详解
  • JavaScript 性能优化实战:从原理到落地的完整指南
  • 深入解析RAGFlow六阶段架构
  • element table 表格多选框选中高亮
  • 实现自己的AI视频监控系统-第一章-视频拉流与解码2
  • 【网络运维】Linux 文本处理利器:sed 命令
  • Obsidian 1.9.10升级
  • Lecture 6 Kernels, Triton 课程笔记
  • python-使用鼠标对图片进行涂抹自定义绘图
  • React框架超详细入门到实战项目演练【前端】【React】
  • 玳瑁的嵌入式日记D21-08020(数据结构)
  • 河南萌新联赛2025第六场 - 郑州大学
  • 一种数字相机中的自动曝光算法
  • Java 性能优化实战(二):JVM 调优的 5 个核心维度
  • ABAP OOP革命:ALV报表面向对象改造深度实战
  • 基于Python的反诈知识科普平台 Python+Django+Vue.js
  • 49 C++ STL模板库18-类模板-pair
  • 解决前端项目启动时找不到esm文件的问题
  • PostgreSQL 流程---更新
  • 力扣面试150(61/100)